Metadata-Version: 2.4
Name: climbing-science
Version: 0.4.1
Summary: Open-source Python library for evidence-based climbing training analysis
Author-email: Gerolf Ziegenhain <gerolf.ziegenain@gmail.com>
License-Expression: GPL-3.0-or-later
Project-URL: Homepage, https://github.com/8cH9azbsFifZ/climbing-science
Project-URL: Repository, https://github.com/8cH9azbsFifZ/climbing-science
Project-URL: Documentation, https://8cH9azbsFifZ.github.io/climbing-science/
Project-URL: Issues, https://github.com/8cH9azbsFifZ/climbing-science/issues
Project-URL: Changelog, https://github.com/8cH9azbsFifZ/climbing-science/blob/main/CHANGELOG.md
Keywords: climbing,science,hangboard,bouldering,finger-strength,training,sports-science,critical-force,periodization,mvc,rohmert,grade-conversion
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Classifier: Typing :: Typed
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pydantic>=2.0
Requires-Dist: eval_type_backport>=0.2.0; python_version < "3.10"
Provides-Extra: plot
Requires-Dist: matplotlib>=3.8; extra == "plot"
Provides-Extra: notebooks
Requires-Dist: matplotlib>=3.8; extra == "notebooks"
Requires-Dist: pandas>=2.0; extra == "notebooks"
Requires-Dist: jupyter>=1.0; extra == "notebooks"
Provides-Extra: dev
Requires-Dist: pytest>=8.0; extra == "dev"
Requires-Dist: pytest-cov>=5.0; extra == "dev"
Requires-Dist: ruff>=0.4; extra == "dev"
Requires-Dist: bump-my-version>=0.24; extra == "dev"
Requires-Dist: mkdocs>=1.6; extra == "dev"
Requires-Dist: mkdocs-material>=9.5; extra == "dev"
Requires-Dist: mkdocstrings[python]>=0.25; extra == "dev"
Requires-Dist: mkdocs-bibtex>=2.16; extra == "dev"
Provides-Extra: docs
Requires-Dist: mkdocs>=1.6; extra == "docs"
Requires-Dist: mkdocs-material>=9.5; extra == "docs"
Requires-Dist: mkdocstrings[python]>=0.25; extra == "docs"
Requires-Dist: mkdocs-bibtex>=2.16; extra == "docs"
Dynamic: license-file

# climbing-science

**Open-source Python library for evidence-based climbing training analysis.**

[![CI](https://github.com/8cH9azbsFifZ/climbing-science/actions/workflows/ci.yml/badge.svg)](https://github.com/8cH9azbsFifZ/climbing-science/actions/workflows/ci.yml)
[![Docs](https://github.com/8cH9azbsFifZ/climbing-science/actions/workflows/docs.yml/badge.svg)](https://8cH9azbsFifZ.github.io/climbing-science/)
[![PyPI](https://img.shields.io/pypi/v/climbing-science)](https://pypi.org/project/climbing-science/)
[![Python](https://img.shields.io/pypi/pyversions/climbing-science)](https://pypi.org/project/climbing-science/)
[![License: GPL-3.0-or-later](https://img.shields.io/badge/license-GPL--3.0--or--later-blue.svg)](LICENSE)
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/8cH9azbsFifZ/climbing-science/main?labpath=notebooks%2Fgrade_conversion.ipynb)

## Why this project exists

1. **Open Source** — Existing climbing analysis tools hide behind paywalls or proprietary code. This library is open, peer-reviewable, and citable.
2. **Reproducible** — Every formula traces back to a published reference (BibTeX in `docs/references.bib`), not a black-box implementation.
3. **Validatable** — Unit tests verify results against published benchmarks (Giles et al., Levernier & Laffaye, Lattice Research).
4. **End-to-end** — Raw force-gauge data flows through a complete assessment pipeline: import → clean → analyse → report.
5. **Dual purpose** — A Python library you can `pip install` *and* a mathematically rigorous, auto-generated reference manual.

## Installation

```bash
pip install -e .
```

For development (includes docs, linting, testing, versioning):

```bash
pip install -e ".[dev]"
```

With plotting support:

```bash
pip install -e ".[plot]"
```

## Usage

```python
import climbing_science
```

## Documentation

Full auto-generated documentation: [User Manual](https://8cH9azbsFifZ.github.io/climbing-science/)

Build locally:

```bash
make docs
```

## Development

```bash
make test        # run tests
make lint        # run linter
make docs        # build documentation
make bump-patch  # bump patch version (0.1.0 → 0.1.1)
make bump-minor  # bump minor version (0.1.0 → 0.2.0)
```

## References

All algorithms and formulas cite peer-reviewed sources. See [`docs/references.bib`](docs/references.bib) for the complete bibliography.

## License

GPL-3.0-or-later — see [LICENSE](LICENSE).
