Installation & Setupο
This page covers the recommended environment setup for running the benchmark, developing methods, and building the documentation.
Install: pipο
If the external dependencies such as pypsupertime or sceptic are not needed, you can install the benchmark with pip as follows:
pip install -e ".[benchmark]"
This installs the benchmark dependencies used for the default pipeline. For method development, install without the extra benchmarking requirements with:
pip install -e .
Additional optional dependency groups are defined in the pyproject.toml file.
Install: UVο
The repository also supports uv, which is useful for managing the benchmark and method environments. Install uv and then run:
uv sync
This creates the default environment for running the benchmark code and the shared runners inside scTimeBench.
If you only need a lighter environment, for example for a specific method, you can use:
uv sync --no-dev
For local development or testing, install one or more extra groups as needed:
uv sync --extra test --extra dev --extra benchmark
or:
uv sync --all-extras
Python Versionο
The project targets Python 3.10. Use:
uv python install 3.10
uv python pin 3.10
before running uv sync.
Repository Layoutο
configs/ contains example benchmark YAML files.
docs/source/ contains the documentation source files.
extern/ contains vendored external code used by some methods.
methods/ contains method wrappers and their setup scripts.
src/ contains the scTimeBench package itself.
test/ contains the benchmarkβs test suite.
Example Runο
Run the benchmark with a configuration file such as configs/scNODE/gex.yaml:
scTimeBench --config configs/scNODE/gex.yaml
You can also run the package entrypoint directly:
python src/scTimeBench/main.py --config configs/scNODE/gex.yaml
Contributingο
If you want to contribute, install the development and benchmark dependencies with one of the following:
pip install -e ".[dev, benchmark]"
or:
uv sync --extra dev --extra benchmark
To enable the autoformatter and pre-commit hooks, run:
pre-commit install
Testingο
Run the benchmark test suite with:
pytest test
from the repository root, or simply run pytest from inside test/.
See the pytest documentation for more information. A useful flag is -s to view full output.