|
| 1 | +# ────────────── build backend ────────────── |
| 2 | +[build-system] |
| 3 | +requires = [ |
| 4 | + "setuptools>=68", # modern PEP 621 support |
| 5 | + "wheel", |
| 6 | + "setuptools-scm>=8" # derive version from Git tags |
| 7 | +] |
| 8 | +build-backend = "setuptools.build_meta" |
| 9 | + |
| 10 | +# ────────────── project metadata (PEP 621) ────────────── |
| 11 | +[project] |
| 12 | +name = "pySingleCellNet" |
| 13 | +dynamic = ["version"] # setuptools-scm will fill this in |
| 14 | +description = "Single-cell classification and analysis, optimized for embryonic and fetal development" |
| 15 | +readme = "README.md" |
| 16 | +requires-python = ">=3.9" |
| 17 | +license = {text = "MIT"} |
| 18 | + |
| 19 | +authors = [ |
| 20 | + {name = "Patrick Cahan", email = "patrick.cahan@gmail.com"}, |
| 21 | + {name = "Yuqi Tan", email = "ytan19@jhmi.edu"} |
| 22 | +] |
| 23 | + |
| 24 | +# Runtime dependencies (same list you had in setup.py; keep them lowercase & PEP 440 compliant) |
| 25 | +dependencies = [ |
| 26 | + "pandas", |
| 27 | + "numpy", |
| 28 | + "scikit-learn", |
| 29 | + "scanpy", |
| 30 | + "statsmodels", |
| 31 | + "scipy", |
| 32 | + "matplotlib", |
| 33 | + "seaborn", |
| 34 | + "umap-learn", |
| 35 | + "mygene", |
| 36 | + "palettable", |
| 37 | + "gseapy", |
| 38 | + "alive_progress", |
| 39 | + "python-igraph", |
| 40 | + "marsilea" |
| 41 | +] |
| 42 | + |
| 43 | +[project.urls] |
| 44 | +Documentation = "https://pysinglecellnet.readthedocs.io/en/latest/" |
| 45 | +Source = "https://github.com/CahanLab/PySingleCellNet" |
| 46 | +Issues = "https://github.com/CahanLab/PySingleCellNet/issues" |
| 47 | + |
| 48 | +# ────────────── setuptools-specific settings ────────────── |
| 49 | +[tool.setuptools] |
| 50 | +package-dir = {"" = "src"} # tells setuptools to look in src/ |
| 51 | +# auto-discover everything under src/ (same behaviour as find_packages()) |
| 52 | +packages = ["pySingleCellNet"] |
| 53 | + |
| 54 | +# Alternative: use the finder (uncomment if you prefer) |
| 55 | +# [tool.setuptools.packages.find] |
| 56 | +# where = ["src"] |
| 57 | +# exclude = ["tests*"] |
| 58 | + |
| 59 | +# ────────────── setuptools-scm tweaks (optional) ────────────── |
| 60 | +[tool.setuptools_scm] |
| 61 | +version_scheme = "post-release" # 0.3.0 → 0.3.1.devN after the tag |
| 62 | +local_scheme = "no-local" # omit +g<hash> in wheels uploaded to PyPI |
0 commit comments