swh:1:snp:72a4c465b82ec18a5d1f703821d91720268b476f
Tip revision: 9cab8cfa4033d3f47a36c7bb816b2c9fae5cfdc6 authored by Philipp A on 07 June 2023, 13:46:06 UTC
Convert issue report templates to forms (#2503)
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/.*
"""