Files
usher-exploring/pyproject.toml
gbanyan f33b048635 feat(01-04): add CLI entry point with setup and info commands
- Create click-based CLI with command group (--config, --verbose options)
- Add 'info' command displaying pipeline version, config hash, data source versions
- Add 'setup' command orchestrating full infrastructure flow:
  - Load config -> create store/provenance
  - Fetch gene universe (with checkpoint-restart)
  - Map Ensembl IDs to HGNC + UniProt
  - Validate mapping quality gates
  - Save to DuckDB with provenance sidecar
- Update pyproject.toml entry point to usher_pipeline.cli.main:cli
- Add .gitignore for data/, *.duckdb, build artifacts, provenance files
2026-02-11 16:39:50 +08:00

56 lines
1.3 KiB
TOML

[build-system]
requires = ["setuptools>=61.0", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "usher-pipeline"
version = "0.1.0"
description = "Reproducible pipeline for discovering under-studied cilia/Usher candidate genes"
requires-python = ">=3.11"
authors = [
{name = "Research Team"}
]
readme = "README.md"
license = {text = "MIT"}
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Scientific/Engineering :: Bio-Informatics",
]
dependencies = [
"mygene>=3.2.0",
"requests>=2.31.0",
"requests-cache>=1.1.0",
"tenacity>=8.2.0",
"pydantic>=2.0",
"pydantic-yaml>=1.2.0",
"duckdb>=0.9.0",
"click>=8.1.0",
"polars>=0.19.0",
"pyarrow>=14.0.0",
"pyyaml>=6.0",
]
[project.optional-dependencies]
dev = [
"pytest>=7.4.0",
"pytest-cov>=4.1.0",
]
[project.scripts]
usher-pipeline = "usher_pipeline.cli.main:cli"
[tool.setuptools]
packages = ["usher_pipeline"]
package-dir = {"" = "src"}
[tool.pytest.ini_options]
testpaths = ["tests"]
python_files = ["test_*.py"]
python_functions = ["test_*"]
addopts = "-v --strict-markers"