1import os 2import numpy 3 4from sklearn._build_utils import gen_from_templates 5 6 7def configuration(parent_package="", top_path=None): 8 from numpy.distutils.misc_util import Configuration 9 10 config = Configuration("linear_model", parent_package, top_path) 11 12 libraries = [] 13 if os.name == "posix": 14 libraries.append("m") 15 16 config.add_extension( 17 "_cd_fast", 18 sources=["_cd_fast.pyx"], 19 include_dirs=numpy.get_include(), 20 libraries=libraries, 21 ) 22 23 config.add_extension( 24 "_sgd_fast", 25 sources=["_sgd_fast.pyx"], 26 include_dirs=numpy.get_include(), 27 libraries=libraries, 28 ) 29 30 # generate sag_fast from template 31 templates = ["sklearn/linear_model/_sag_fast.pyx.tp"] 32 gen_from_templates(templates) 33 34 config.add_extension( 35 "_sag_fast", sources=["_sag_fast.pyx"], include_dirs=numpy.get_include() 36 ) 37 38 # add other directories 39 config.add_subpackage("tests") 40 config.add_subpackage("_glm") 41 config.add_subpackage("_glm/tests") 42 43 return config 44 45 46if __name__ == "__main__": 47 from numpy.distutils.core import setup 48 49 setup(**configuration(top_path="").todict()) 50