swh:1:snp:72a4c465b82ec18a5d1f703821d91720268b476f
Raw File
Tip revision: 9cab8cfa4033d3f47a36c7bb816b2c9fae5cfdc6 authored by Philipp A on 07 June 2023, 13:46:06 UTC
Convert issue report templates to forms (#2503)
Tip revision: 9cab8cf
pyproject.toml
[build-system]
build-backend = "flit_core.buildapi"
requires = [
    "flit_core >=3.4,<4",
    "setuptools_scm",
    "tomli",
    "importlib_metadata>=0.7; python_version < '3.8'",
]

[project]
name = "scanpy"
description = "Single-Cell Analysis in Python."
requires-python = ">=3.8"
license = {file = "LICENSE"}
authors = [
    {name = "Alex Wolf"},
    {name = "Philipp Angerer"},
    {name = "Fidel Ramirez"},
    {name = "Isaac Virshup"},
    {name = "Sergei Rybakov"},
    {name = "Gokcen Eraslan"},
    {name = "Tom White"},
    {name = "Malte Luecken"},
    {name = "Davide Cittaro"},
    {name = "Tobias Callies"},
    {name = "Marius Lange"},
    {name = "Andrés R. Muñoz-Rojas"},
]
maintainers = [
    {name = "Isaac Virshup", email = "ivirshup@gmail.com"},
    {name = "Philipp Angerer", email = "phil.angerer@gmail.com"},
    {name = "Alex Wolf", email = "f.alex.wolf@gmx.de"},
]
readme = {file = "README.md", content-type="text/markdown"}
classifiers = [
    "License :: OSI Approved :: BSD License",
    "Development Status :: 5 - Production/Stable",
    "Environment :: Console",
    "Framework :: Jupyter",
    "Intended Audience :: Developers",
    "Intended Audience :: Science/Research",
    "Natural Language :: English",
    "Operating System :: MacOS :: MacOS X",
    "Operating System :: Microsoft :: Windows",
    "Operating System :: POSIX :: Linux",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.8",
    "Programming Language :: Python :: 3.9",
    "Programming Language :: Python :: 3.10",
    "Topic :: Scientific/Engineering :: Bio-Informatics",
    "Topic :: Scientific/Engineering :: Visualization",
]
dependencies = [
    "anndata>=0.7.4",
    # numpy needs a version due to #1320
    "numpy>=1.17.0",
    "matplotlib>=3.4",
    "pandas>=1.0",
    "scipy>=1.4",
    "seaborn",
    "h5py>=3",
    "tqdm",
    "scikit-learn>=0.22",
    "statsmodels>=0.10.0rc2",
    "patsy",
    "networkx>=2.3",
    "natsort",
    "joblib",
    "numba>=0.41.0",
    "umap-learn>=0.3.10",
    "packaging",
    "session-info",
    # for getting the stable version
]
dynamic = ["version"]

[project.urls]
Documentation = "https://scanpy.readthedocs.io/"
Source = "https://github.com/scverse/scanpy"
Home-page = "https://scanpy.org"
Discourse = "https://discourse.scverse.org/c/help/scanpy/37"
Twitter = "https://twitter.com/scverse_team"

[project.scripts]
scanpy = "scanpy.cli:console_main"

[project.optional-dependencies]
test-min = [
    "pytest>=4.4",
    "pytest-nunit",
    "profimp",
]
test = [
    "scanpy[test-min]",
    # Optional but important dependencies
    "scanpy[leiden]",
    "zarr",
    "scanpy[dask]",
]
test-full = [
    "scanpy[test]",
    # tested algorithms
    "scanpy[leiden]",
    "scanpy[magic]",
    "scanpy[skmisc]",
    "scanpy[harmony]",
    "scanpy[scanorama]",
    "scanpy[scrublet]",
]
doc = [
    "sphinx>=4.4,<5", # remove upper bound when theme supports dark mode
    "scanpydoc[typehints]>=0.7.7",
    "myst-parser",
    "myst-nb",
    "sphinx-book-theme",
    "sphinx-design",
    "sphinxext-opengraph", # for nice cards when sharing on social
    "sphinx-copybutton",
    "nbsphinx",
    "ipython>=7.20",  # for nbsphinx code highlighting
    "matplotlib!=3.6.1",
    "scanpy[paga]",
]
dev = [
    # getting the dev version
    "setuptools_scm",
    # static checking
    "black>=20.8b1",
    "docutils",
]
# Algorithms
paga = ["python-igraph"]
louvain = ["python-igraph", "louvain>=0.6,!=0.6.2"]  # Louvain community detection
leiden = ["python-igraph", "leidenalg"]  # Leiden community detection
bbknn = ["bbknn"]  # Batch balanced KNN (batch correction)
magic = ["magic-impute>=2.0"]  # MAGIC imputation method
skmisc = ["scikit-misc>=0.1.3"]  # highly_variable_genes method 'seurat_v3'
harmony = ["harmonypy"]  # Harmony dataset integration
scanorama = ["scanorama"]  # Scanorama dataset integration
scrublet = ["scrublet"]  # Doublet detection
# Acceleration
rapids = ["cudf>=0.9", "cuml>=0.9", "cugraph>=0.9"]  # GPU accelerated calculation of neighbors
dask = ["dask[array]!=2.17.0"]  # Use the Dask parallelization engine

[tool.flit.sdist]
exclude = [
    "scanpy/tests",
    "setup.py",
]

[tool.pytest.ini_options]
python_files = "test_*.py"
testpaths = "scanpy/tests/"
nunit_attach_on = "fail"
markers = [
    "internet: tests which rely on internet resources (enable with `--internet-tests`)",
]

[tool.coverage.run]
source = ["scanpy"]
omit = ["*/tests/*"]

[tool.black]
line-length = 88
target-version = ["py38"]
skip-string-normalization = true
exclude = """
/build/.*
"""
back to top