PyBoulder
is an open-source tool designed for analyzing and improving bouldering techniques through video analysis.
The project leverages computer vision and pose detection technologies to provide valuable insights into climbing movements.
Whether you're a climber looking to refine your technique or a coach seeking to assess performance, PyBoulder
offers an easy-to-use interface and detailed metrics to help you achieve your goals.
Before you begin, ensure you have the following prerequisites installed:
git clone https://github.com/xKabbe/pyboulder.git
Set up and activate a virtual environment:
# On linux
python -m venv path/to/venv
source path/to/venv/bin/activate
# On windows
python -m venv path/to/venv
source path/to/venv/Scripts/activate
editable
mode:
pip install -e .
pip install -r requirements.txt
pip install -r requirements-dev.txt
To run PyBoulder
, use the following command:
pyboulder
This will start the application and allow you to load and analyze climbing videos.
PyBoulder
uses pytest for testing. Here are some common commands:
Command | Description |
---|---|
pytest |
Run all tests in the current directory and its subdirectories. |
pytest test_module.py |
Run tests in a specific module. |
pytest test_module.py::test_fn |
Run a specific test function in a module. |
pytest -k expression |
Run tests that match the given keyword expression. |
pytest -m marker |
Run tests that have a specific marker. |
pytest --headless |
Run tests in headless mode (doesn't show browser window). |
pytest --fixtures |
Show available fixtures. |
pytest --cov=your_module |
Measure code coverage for your module. Requires the pytest-cov plugin. |
pytest --junitxml=result.xml |
Generate JUnit-style XML reports. |
pytest --html=report.html |
Generate an interactive HTML report. Requires the pytest-html plugin. |
pytest --durations=n |
Show n slowest test durations. |
pytest --markers |
Show available markers. |
pytest -h |
Display help message and exit. |
PyBoulder
uses MkDocs for documentation. Here are some common commands:
Command | Description |
---|---|
mkdocs serve |
This command will start a local development server, and you can access the documentation at http://127.0.0.1:8000/. As you make changes to the documentation files, MkDocs will automatically update the rendered content in your browser |
mkdocs build |
This command will build the documentation site |
mkdocs -h |
This command will print the help message and exit |
This project is licensed under the MIT License - see the LICENSE file for details.
For any questions or support, please reach out to Steven "Kabbe" Karbjinsky via Email.