From fa600b6753362c62e277af9cf6016709a8f488f3 Mon Sep 17 00:00:00 2001 From: Alex Rogozhnikov Date: Tue, 27 Feb 2024 18:47:45 -0800 Subject: [PATCH] move to pyproject and use hatch --- pyproject.toml | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++ setup.py | 24 ----------------- 2 files changed, 73 insertions(+), 24 deletions(-) create mode 100644 pyproject.toml delete mode 100644 setup.py diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..dc1838b --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,73 @@ +[build-system] +requires = ["hatchling>=1.21.0"] +build-backend = "hatchling.build" + +[project] +name = "demuxalot" + +description = "Scalable and reliable demulitplexing for single-cell RNA sequencing." +readme = "README.md" +requires-python = ">=3.8" + +keywords = [ + "genotype learning", + "single cell RNA sequencing", + "demultiplexing", + "bayesian modelling", +] + +license = { text = "MIT" } + +classifiers = [ + "Programming Language :: Python :: 3", + "License :: OSI Approved :: MIT License", +] + +dependencies = [ + "pysam", # reads BAM files (alignment) + "scipy", + "numpy", + "joblib", # multiprocessing in separate processes + "pandas", + "pyarrow", # required to read and write parquet files +] +dynamic = ["version"] +authors = [{ name = "Alex Rogozhnikov, System1 Biosciences" }] + +[project.urls] +Homepage = "https://github.com/arogozhnikov/demuxalot" + +[tool.setuptools] +packages = ["demuxalot"] + +[tool.hatch.version] +path = "demuxalot/__init__.py" + +[tool.hatch.build.targets.sdist] +exclude = [ + "/.github", + "/.idea", + "/.pytest_cache", + "/build", + "/dist", + "/tests", + "/examples", +] + +[tool.hatch.build.targets.wheel] +# should use packages from main section + + +[tool.hatch.envs.pypi.scripts] +# hatch run pypi:deploy_test +deploy_test = "hatch build --clean && hatch publish -r test" +deploy = "hatch build --clean && hatch publish" + + +[tool.hatch.envs.testing.scripts] +# hatch run testing:test +test = "pytest tests" + + +[tool.ruff] +line-length = 120 \ No newline at end of file diff --git a/setup.py b/setup.py deleted file mode 100644 index 00cc6ef..0000000 --- a/setup.py +++ /dev/null @@ -1,24 +0,0 @@ -from setuptools import setup - -setup( - name="demuxalot", - version='0.4.0', - description="Scalable and reliable demultiplexing for single-cell RNA sequencing that refines genotypes", - long_description=open('README.md', encoding='utf-8').read(), - long_description_content_type='text/markdown', - author='Alex Rogozhnikov', - packages=['demuxalot'], - classifiers=[ - 'Intended Audience :: Science/Research', - 'Programming Language :: Python :: 3 ', - ], - keywords='genotype learning, single cell RNA sequencing, demultiplexing, bayesian modelling', - install_requires=[ - 'pysam', # reads BAM files (alignment) - 'scipy', - 'numpy', - 'joblib', # multiprocessing in separate processes - 'pandas', - 'pyarrow', # required to read and write parquet files - ], -) \ No newline at end of file