diff --git a/Makefile b/Makefile index c2fbf9c..1097f65 100644 --- a/Makefile +++ b/Makefile @@ -33,6 +33,7 @@ clean-build: ## remove build artifacts rm -fr .eggs/ find . -name '*.egg-info' -exec rm -fr {} + find . -name '*.egg' -exec rm -f {} + + find . -name '*.so' -exec rm -f {} + clean-pyc: ## remove Python file artifacts find . -name '*.pyc' -exec rm -f {} + diff --git a/mlsauce.egg-info/PKG-INFO b/mlsauce.egg-info/PKG-INFO deleted file mode 100644 index 2ed7c37..0000000 --- a/mlsauce.egg-info/PKG-INFO +++ /dev/null @@ -1,36 +0,0 @@ -Metadata-Version: 2.1 -Name: mlsauce -Version: 0.15.1 -Summary: Miscellaneous Statistical/Machine Learning tools -Maintainer: T. Moudiki -Maintainer-email: thierry.moudiki@gmail.com -License: BSD3 Clause Clear -Platform: linux -Platform: macosx -Platform: windows -Classifier: Development Status :: 2 - Pre-Alpha -Classifier: Intended Audience :: Developers -Classifier: License :: OSI Approved :: BSD License -Classifier: Natural Language :: English -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.5 -Classifier: Programming Language :: Python :: 3.6 -Classifier: Programming Language :: Python :: 3.7 -Classifier: Programming Language :: Python :: 3.8 -Requires-Python: >=3.5 -License-File: LICENSE -Requires-Dist: numpy -Requires-Dist: Cython -Requires-Dist: joblib -Requires-Dist: pandas -Requires-Dist: requests -Requires-Dist: scikit-learn -Requires-Dist: scipy -Requires-Dist: tqdm -Requires-Dist: jax -Requires-Dist: jaxlib -Provides-Extra: alldeps -Requires-Dist: numpy>=1.13.0; extra == "alldeps" -Requires-Dist: scipy>=0.19.0; extra == "alldeps" - -Miscellaneous Statistical/Machine Learning tools diff --git a/mlsauce.egg-info/SOURCES.txt b/mlsauce.egg-info/SOURCES.txt deleted file mode 100644 index 66e2723..0000000 --- a/mlsauce.egg-info/SOURCES.txt +++ /dev/null @@ -1,64 +0,0 @@ -LICENSE -README.md -setup.cfg -setup.py -mlsauce/__init__.py -mlsauce/_config.py -mlsauce/setup.py -mlsauce.egg-info/PKG-INFO -mlsauce.egg-info/SOURCES.txt -mlsauce.egg-info/dependency_links.txt -mlsauce.egg-info/not-zip-safe -mlsauce.egg-info/requires.txt -mlsauce.egg-info/top_level.txt -mlsauce/adaopt/__init__.py -mlsauce/adaopt/_adaopt.py -mlsauce/adaopt/_adaoptc.c -mlsauce/adaopt/fallbacksetup.py -mlsauce/adaopt/setup.py -mlsauce/booster/__init__.py -mlsauce/booster/_booster_classifier.py -mlsauce/booster/_booster_regressor.py -mlsauce/booster/_boosterc.c -mlsauce/booster/fallbacksetup.py -mlsauce/booster/setup.py -mlsauce/datasets/__init__.py -mlsauce/datasets/dowload.py -mlsauce/encoders/__init__.py -mlsauce/encoders/target_encoders.py -mlsauce/lasso/__init__.py -mlsauce/lasso/_lasso.py -mlsauce/lasso/_lassoc.c -mlsauce/lasso/fallbacksetup.py -mlsauce/lasso/setup.py -mlsauce/nonconformist/__init__.py -mlsauce/nonconformist/acp.py -mlsauce/nonconformist/base.py -mlsauce/nonconformist/cp.py -mlsauce/nonconformist/evaluation.py -mlsauce/nonconformist/icp.py -mlsauce/nonconformist/nc.py -mlsauce/nonconformist/util.py -mlsauce/predictioninterval/__init__.py -mlsauce/predictioninterval/predictioninterval.py -mlsauce/ridge/__init__.py -mlsauce/ridge/_ridge.py -mlsauce/ridge/_ridgec.c -mlsauce/ridge/fallbacksetup.py -mlsauce/ridge/setup.py -mlsauce/stump/__init__.py -mlsauce/stump/_stump_classifier.py -mlsauce/stump/_stumpc.c -mlsauce/stump/fallbacksetup.py -mlsauce/stump/setup.py -mlsauce/tests/__init__.py -mlsauce/tests/test_adaopt.py -mlsauce/utils/__init__.py -mlsauce/utils/get_beta.py -mlsauce/utils/progress_bar.py -mlsauce/utils/memoryuse/__init__.py -mlsauce/utils/memoryuse/mem_usage.py -mlsauce/utils/misc/__init__.py -mlsauce/utils/misc/misc.py -mlsauce/utils/sampling/__init__.py -mlsauce/utils/sampling/rowsubsampling.py \ No newline at end of file diff --git a/mlsauce.egg-info/dependency_links.txt b/mlsauce.egg-info/dependency_links.txt deleted file mode 100644 index 8b13789..0000000 --- a/mlsauce.egg-info/dependency_links.txt +++ /dev/null @@ -1 +0,0 @@ - diff --git a/mlsauce.egg-info/not-zip-safe b/mlsauce.egg-info/not-zip-safe deleted file mode 100644 index 8b13789..0000000 --- a/mlsauce.egg-info/not-zip-safe +++ /dev/null @@ -1 +0,0 @@ - diff --git a/mlsauce.egg-info/requires.txt b/mlsauce.egg-info/requires.txt deleted file mode 100644 index b3f1862..0000000 --- a/mlsauce.egg-info/requires.txt +++ /dev/null @@ -1,14 +0,0 @@ -numpy -Cython -joblib -pandas -requests -scikit-learn -scipy -tqdm -jax -jaxlib - -[alldeps] -numpy>=1.13.0 -scipy>=0.19.0 diff --git a/mlsauce.egg-info/top_level.txt b/mlsauce.egg-info/top_level.txt deleted file mode 100644 index 2ccd09c..0000000 --- a/mlsauce.egg-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -mlsauce diff --git a/mlsauce/adaopt/_adaopt.py b/mlsauce/adaopt/_adaopt.py index d113ed5..6f5b45b 100644 --- a/mlsauce/adaopt/_adaopt.py +++ b/mlsauce/adaopt/_adaopt.py @@ -1,3 +1,4 @@ +import os import pickle import numpy as np import pandas as pd @@ -13,15 +14,11 @@ from ..utils import cythonize_file try: - from . import _adaoptc as adaoptc -except ModuleNotFoundError: - try: - cythonize_file("./_adaoptc.pyx") - import _adaoptc - except ModuleNotFoundError: - subprocess.run(['python3', './fallbacksetup.py', 'build_ext', '--inplace']) - import _adaoptc - + from . import _adaoptc as adaoptc +except ImportError: + import pyximport; pyximport.install() + import _adaoptc + class AdaOpt(BaseEstimator, ClassifierMixin): """AdaOpt classifier. diff --git a/mlsauce/booster/_booster_classifier.py b/mlsauce/booster/_booster_classifier.py index e526181..3fdc712 100644 --- a/mlsauce/booster/_booster_classifier.py +++ b/mlsauce/booster/_booster_classifier.py @@ -12,12 +12,8 @@ try: from . import _boosterc as boosterc except ModuleNotFoundError: - try: - cythonize_file("./_boosterc.pyx") - import _boosterc - except ModuleNotFoundError: - subprocess.run(['python3', './fallbacksetup.py', 'build_ext', '--inplace']) - import _boosterc + import pyximport; pyximport.install() + import _boosterc class LSBoostClassifier(BaseEstimator, ClassifierMixin): diff --git a/mlsauce/booster/_booster_regressor.py b/mlsauce/booster/_booster_regressor.py index 91a023a..328b9e2 100644 --- a/mlsauce/booster/_booster_regressor.py +++ b/mlsauce/booster/_booster_regressor.py @@ -12,12 +12,8 @@ try: from . import _boosterc as boosterc except ModuleNotFoundError: - try: - cythonize_file("./_boosterc.pyx") - import _boosterc - except ModuleNotFoundError: - subprocess.run(['python3', './fallbacksetup.py', 'build_ext', '--inplace']) - import _boosterc + import pyximport; pyximport.install() + import _boosterc class LSBoostRegressor(BaseEstimator, RegressorMixin): """LSBoost regressor. diff --git a/mlsauce/booster/fallbacksetup.py b/mlsauce/booster/fallbacksetup.py index 5bcdc84..e3e5c8c 100644 --- a/mlsauce/booster/fallbacksetup.py +++ b/mlsauce/booster/fallbacksetup.py @@ -4,5 +4,5 @@ dir_path = os.path.dirname(os.path.realpath(__file__)) -setup(ext_modules=cythonize(os.path.join(dir_path, "_stumpc.pyx"), +setup(ext_modules=cythonize(os.path.join(dir_path, "_boosterc.pyx"), compiler_directives={'language_level' : "3"})) \ No newline at end of file diff --git a/mlsauce/lasso/_lasso.py b/mlsauce/lasso/_lasso.py index 35da544..766de27 100644 --- a/mlsauce/lasso/_lasso.py +++ b/mlsauce/lasso/_lasso.py @@ -17,12 +17,8 @@ try: from . import _lassoc as mo except ModuleNotFoundError: - try: - cythonize_file("./_lassoc.pyx") - import _lassoc - except ModuleNotFoundError: - subprocess.run(['python3', './fallbacksetup.py', 'build_ext', '--inplace']) - import _lassoc + import pyximport; pyximport.install() + import _lassoc class LassoRegressor(BaseEstimator, RegressorMixin): diff --git a/mlsauce/ridge/_ridge.py b/mlsauce/ridge/_ridge.py index 8238a42..cc6eaa8 100644 --- a/mlsauce/ridge/_ridge.py +++ b/mlsauce/ridge/_ridge.py @@ -16,12 +16,8 @@ try: from . import _ridgec as mo except ModuleNotFoundError: - try: - cythonize_file("./_ridgec.pyx") - import _ridgec - except ModuleNotFoundError: - subprocess.run(['python3', './fallbacksetup.py', 'build_ext', '--inplace']) - import _ridgec + import pyximport; pyximport.install() + import _ridgec class RidgeRegressor(BaseEstimator, RegressorMixin): diff --git a/mlsauce/stump/_stump_classifier.py b/mlsauce/stump/_stump_classifier.py index 77bec40..6850ba5 100644 --- a/mlsauce/stump/_stump_classifier.py +++ b/mlsauce/stump/_stump_classifier.py @@ -7,12 +7,8 @@ try: from . import _stumpc as stumpc except ModuleNotFoundError: - try: - cythonize_file("./_stumpc.pyx") - import _stumpc - except ModuleNotFoundError: - subprocess.run(['python3', './fallbacksetup.py', 'build_ext', '--inplace']) - import _stumpc + import pyximport; pyximport.install() + import _stumpc class StumpClassifier(BaseEstimator, ClassifierMixin): diff --git a/setup.py b/setup.py index e3c1a19..3418e71 100644 --- a/setup.py +++ b/setup.py @@ -38,7 +38,7 @@ MAINTAINER_EMAIL = 'thierry.moudiki@gmail.com' LICENSE = 'BSD3 Clause Clear' -__version__ = '0.15.3' +__version__ = '0.15.4' VERSION = __version__ @@ -200,4 +200,18 @@ def setup_package(): setup(**metadata) if __name__ == "__main__": - setup_package() \ No newline at end of file + + # /!\ do not change the order of execution of the following commands + + setup_package() + + dir_path = os.path.dirname(os.path.realpath(__file__)) + folders = ['adaopt', 'booster', 'lasso', 'ridge', 'stump'] + + for folder in folders: + + filename = os.path.join(dir_path, "mlsauce", folder, 'fallbacksetup.py') + + print(f"\n\n Running command: {filename} \n\n") + + subprocess.run(['python3', filename, 'build_ext', '--inplace']) \ No newline at end of file