Dependencies
Python & OS
As of the moment, Backtide supports the following Python versions:
And operating systems:
- Linux (Ubuntu, Fedora, etc...)
- Windows 8.1+
- macOS
Python packages
Required
- click (>=8.3.1)
- cloudpickle (>=3.1.2)
- numpy (>=2.0.0)
- pandas (>=2.3.3)
- plotly (>=6.7.0)
- pyyaml (>=6.0.3)
- streamlit (>=1.56.0)
- streamlit-code-editor (>=0.1.22)
- tzlocal (>=5.0)
Optional
Some utilities or configuration options require the installation of additional
libraries. You can install all the optional dependencies using pip install backtide[full].
- polars (>=1.0)
Development
The development dependencies are not installed with the package, and are not
required for any of its functionalities. These libraries are only necessary to
contribute to the project. Install them running uv sync --all-groups.
Dev
Linting
- pre-commit (>=4.5.1)
- pre-commit-uv (>=4.2.1)
- ruff (>=0.15.7)
- ty (>=0.0.30)
Testing
- pytest (>=8.1.1)
- pytest-cov (>=4.1.0)
- pytest-mock (>=3.12.0)
- pytest-xdist (>=3.5.0)
Documentation
- kaleido (>=1.2.0)
- mike (>=2.1.4)
- mkdocs (>=1.6.1)
- mkdocs-autorefs (>=1.4.4)
- mkdocs-material (>=9.7.6)
- mkdocs-material-extensions (>=1.3.1)
- mkdocs-simple-hooks (>=0.1.5)
- pymdown-extensions (>=10.21)
- pyyaml (>=6.0.3)
- regex (>=2026.2.28)
Rust crates
Runtime
- async-trait (0.1.89)
- chrono (0.4.44)
- chrono-tz (0.10.4)
- duckdb (1.10502.0)
- futures (0.3.32)
- indexmap (2.14.0)
- indicatif (0.18.4)
- itertools (0.14)
- moka (0.12.15)
- pyo3 (0.28.3)
- pythonize (0.28.0)
- rayon (1.12.0)
- reqwest (0.13.3)
- serde (1.0.228)
- serde_json (1.0.149)
- serde_yml (0.0.12)
- serde_with (3.18.0)
- strum (0.28.0)
- thiserror (2.0.18)
- tokio (1.52.1)
- toml (1.1.2)
- tracing (0.1.44)
- tracing-subscriber (0.3.23)
- uuid (1.23.1)