Utilities for interacting with climbing board APIs
Project description
BoardLib 🧗♀️
Utilities for interacting with (undocumented) climbing board APIs.
Installation 🦺
python3 -m pip install boardlib
Usage ⌨️
Databases 💾
To download the climb database for a given board:
boardlib database <board_name> <database_path>
This command will first download a sqlite database file to the given path. After downloading, the database will then use the undocumented sync API to synchronize it with the latest available data. The database contains only the publicly available data. User data is not synchronized. If a database already exists as database_path
, the command will skip the download step and only perform the synchronization.
NOTE: The Moonboard is not currently supported for the database command. Contributions are welcome.
Supported Boards 🛹
All Aurora Climbing based boards (Kilter, Tension, etc.).
Logbooks 📚
To download your logbook entries for a given board:
boardlib logbook <board_name> --username=<username> --output=<output_file_name>.csv --grade-type="hueco" --database=<local_database_file>
This outputs a CSV file with the following fields:
["board", "angle", "climb_name", "date", "logged_grade", "displayed_grade", "difficulty", "tries", "is_mirror", "sessions_count", "tries_total", "is_repeat", "is_ascent", "comment"]
For example, the command
boardlib tension --username="Luke EF" --output="tension.csv" --grade-type="hueco" --database="tension.db"
would output a file named tension.csv
with the following contents:
board,angle,climb_name,date,logged_grade,displayed_grade,difficulty,tries,is_mirror,sessions_count,tries_total,is_repeat,is_ascent,comment
tension,40,trash bag better,2024-06-17 16:21:23,V3,V3,16.0,3,False,1,3,False,True,
tension,40,Bumble,2024-06-17 16:28:23,V3,V3,16.0,1,True,1,1,False,True,
tension,40,sender2,2024-06-17 16:38:06,V5,V5,20.0,2,False,1,2,False,True,
...
When no local database is provided, displayed_grade and difficulty remain empty.
See boardlib --help
for a full list of supported board names and feature flags.
Supported Boards 🛹
Currently all Aurora Climbing based boards (Kilter, Tension, etc.) and all variations of the Moonboard should be supported.
Bugs 🐞 and Feature Requests 🗒️
Please create an issue in the issue tracker to report bugs or request additional features. Contributions are welcome and appreciated.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file boardlib-0.7.0.tar.gz
.
File metadata
- Download URL: boardlib-0.7.0.tar.gz
- Upload date:
- Size: 13.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a196b4db237f57b4f33b6c72e84b3e5a0b35493dbf239f9a8f68bb52d564d319 |
|
MD5 | 16518d479a3356dd51710fc779e88f47 |
|
BLAKE2b-256 | d863d579d1a2ecf5cd7ad4b568f90d59f6f716191c5738d689fe5649a79b6004 |
File details
Details for the file boardlib-0.7.0-py3-none-any.whl
.
File metadata
- Download URL: boardlib-0.7.0-py3-none-any.whl
- Upload date:
- Size: 13.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dffc1f4cfa5b73ee6c4eaadafef9a854570a93c9242ae3813bc600daae193d32 |
|
MD5 | 7cbc0e0e5e60260f4de4414c8a53bebe |
|
BLAKE2b-256 | 5cecf1a7b399cc76383a245bdb864201bc3ecd25590868a1858dfed58423e604 |