diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..86330e9 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,64 @@ +[build-system] +requires = ["setuptools>=61.0", "wheel"] +build-backend = "setuptools.build_meta" + +[project] +name = "cellhub" +dynamic = ["version"] +description = "cellhub: Python pipelines for large-scale multimodal single-cell data analysis on HPC clusters" +authors = [ + {name = "Sansom lab", email = "stephen.sansom@kennedy.ox.ac.uk"} +] +license = {text = "MIT"} +classifiers = [ + "Development Status :: 3 - Alpha", + "Intended Audience :: Science/Research", + "Intended Audience :: Developers", + "License :: MIT License", + "Programming Language :: Python :: 3", + "Topic :: Software Development", + "Topic :: Scientific/Engineering", + "Operating System :: POSIX", + "Operating System :: Unix", + "Operating System :: MacOS" +] +keywords = ["computational genomics"] +requires-python = ">=3.0" +dependencies = [ + "numpy==1.26.4", + "anndata", + "argparse", + "bbknn", + "h5py", + "harmonypy", + "loompy", + "matplotlib", + "pandas", + "ruffus", + "scanorama", + "scanpy", + "scvelo", + "scipy", + "scrublet", + "pyyaml", + "GMM-demux", + "hnswlib", + "sqlalchemy", + "drmaa", + "leidenalg", + "sphinx", + "tables", + "cgatcore", + "gevent", + "apsw", + "sphinx_rtd_theme" +] + +[project.scripts] +cellhub = "cellhub.entry:main" + +[tool.setuptools] +packages = ["cellhub"] + +[tool.setuptools.dynamic] +version = {attr = "cellhub.version.__version__"} diff --git a/setup.py b/setup.py index e6625f5..fc1f76c 100644 --- a/setup.py +++ b/setup.py @@ -1,76 +1,3 @@ -import sys -import os -import re -import setuptools -from setuptools import setup, find_packages, Extension +from setuptools import setup -from distutils.version import LooseVersion -if LooseVersion(setuptools.__version__) < LooseVersion('1.1'): - print("Version detected:", LooseVersion(setuptools.__version__)) - raise ImportError( - "the cellhub requires setuptools 1.1 higher") - -######################################################################## -######################################################################## -IS_OSX = sys.platform == 'darwin' - -######################################################################## -######################################################################## -# collect version -print(sys.path.insert(0, "cellhub")) -import cellhub.version as version - -version = version.__version__ - -############################################################### -############################################################### -# Define dependencies -# -major, minor1, minor2, s, tmp = sys.version_info - -if major < 3: - raise SystemExit("""Requires Python 3 or later.""") - -cellhub_packages = find_packages() -cellhub_package_dirs = {'cellhub': 'cellhub'} - -########################################################## -########################################################## -# Classifiers -classifiers = """ -Development Status :: 3 - Alpha -Intended Audience :: Science/Research -Intended Audience :: Developers -License :: OSI Approved -Programming Language :: Python -Topic :: Software Development -Topic :: Scientific/Engineering -Operating System :: POSIX -Operating System :: Unix -Operating System :: MacOS -""" - -setup( - # package information - name='cellhub', - version=version, - description='cellhub: pipelines for warehousing single-cell data', - author='Sansom lab', - author_email='stephen.sansom@kennedy.ox.ac.uk', - license="MIT", - platforms=["any"], - keywords="computational genomics", - long_description='''cellhub : pipelines for warehouse single-cell data''', - classifiers=[_f for _f in classifiers.split("\n") if _f], - url="", - # package contents - packages=cellhub_packages, - package_dir=cellhub_package_dirs, - include_package_data=True, - entry_points={ - "console_scripts": ["cellhub = cellhub.entry:main"] - }, - # other options - zip_safe=False, - test_suite="tests", -) +setup() \ No newline at end of file