Skip to content

Commit

Permalink
build: simplify setup.py
Browse files Browse the repository at this point in the history
Removed metadata that is now contained in the pyproject.toml. setup.py  now only serves to house the custom build steps related to building Neuron's mod files.
  • Loading branch information
gtdang committed Nov 21, 2024
1 parent 165b44e commit 104cf3e
Showing 1 changed file with 7 additions and 82 deletions.
89 changes: 7 additions & 82 deletions setup.py
Original file line number Diff line number Diff line change
@@ -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 = '[email protected]'
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
Expand Down Expand Up @@ -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']}
)

0 comments on commit 104cf3e

Please sign in to comment.