diff --git a/setup.py b/setup.py index 8eea61f7d..a61b69dcd 100644 --- a/setup.py +++ b/setup.py @@ -1,39 +1,18 @@ #! /usr/bin/env python import platform import os.path as op -import os import subprocess import shutil -from setuptools import setup, find_packages, Command +from setuptools import setup, Command from setuptools.command.build_py import build_py -descr = """Code for biophysical simulation of a cortical column using Neuron""" - -DISTNAME = 'hnn-core' -DESCRIPTION = descr -MAINTAINER = 'Mainak Jas' -MAINTAINER_EMAIL = 'mainakjas@gmail.com' -URL = '' -LICENSE = 'BSD (3-clause)' -DOWNLOAD_URL = 'http://github.com/jonescompneurolab/hnn-core' - -# get the version -version = None -with open(os.path.join('hnn_core', '__init__.py'), 'r') as fid: - for line in (line.strip() for line in fid): - if line.startswith('__version__'): - version = line.split('=')[1].strip().strip('\'') - break -if version is None: - raise RuntimeError('Could not determine version') - - -# test install with: +# test the build of wheel and sdist: +# First remove residual mod files # $ rm -rf hnn_core/mod/x86_64/ -# $ python setup.py clean --all install -# -# to make sure there are no residual mod files +# or for Apple silicon +# $ rm -rf hnn_core/mod/mod64/ +# $ python -m build # # also see following link to understand why build_py must be overridden: # https://stackoverflow.com/questions/51243633/python-setuptools-setup-py-install-does-not-automatically-call-build @@ -72,59 +51,5 @@ def run(self): build_py.run(self) +setup(cmdclass={'build_py': build_py_mod, 'build_mod': BuildMod}) -if __name__ == "__main__": - extras = { - 'opt': ['scikit-learn'], - 'parallel': ['joblib', 'psutil'], - 'test': ['flake8', 'pytest', 'pytest-cov', ], - 'docs': ['mne', 'nibabel', 'pooch', 'tdqm', - 'sphinx', 'sphinx-gallery', - 'sphinx_bootstrap_theme', 'sphinx-copybutton', - 'pillow', 'numpydoc', - ], - 'gui': ['ipywidgets>=8.0.0', 'ipykernel', 'ipympl', 'voila', ], - } - extras['dev'] = (extras['opt'] + extras['parallel'] + extras['test'] + - extras['docs'] + extras['gui'] - ) - - - setup(name=DISTNAME, - maintainer=MAINTAINER, - maintainer_email=MAINTAINER_EMAIL, - description=DESCRIPTION, - license=LICENSE, - url=URL, - version=version, - download_url=DOWNLOAD_URL, - long_description=open('README.rst').read(), - classifiers=[ - 'Intended Audience :: Science/Research', - 'Intended Audience :: Developers', - 'License :: OSI Approved', - 'Programming Language :: Python', - 'Topic :: Software Development', - 'Topic :: Scientific/Engineering', - 'Operating System :: Microsoft :: Windows', - 'Operating System :: POSIX', - 'Operating System :: Unix', - 'Operating System :: MacOS', - ], - platforms='any', - install_requires=[ - 'numpy >=1.14', - 'NEURON >=7.7; platform_system != "Windows"', - 'matplotlib>=3.5.3', - 'scipy', - 'h5io' - ], - extras_require=extras, - python_requires='>=3.8', - packages=find_packages(), - package_data={'hnn_core': [ - 'param/*.json', - 'gui/*.ipynb']}, - cmdclass={'build_py': build_py_mod, 'build_mod': BuildMod}, - entry_points={'console_scripts': ['hnn-gui=hnn_core.gui.gui:launch']} - )