Skip to main content

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", "is_benchmark", "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,is_benchmark,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,False,3,False,1,3,False,True,
tension,40,Bumble,2024-06-17 16:28:23,V3,V3,16.0,True,1,True,1,1,False,True,
tension,40,sender2,2024-06-17 16:38:06,V5,V5,20.0,False,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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

boardlib-0.9.0.tar.gz (13.3 kB view details)

Uploaded Source

Built Distribution

boardlib-0.9.0-py3-none-any.whl (13.6 kB view details)

Uploaded Python 3

File details

Details for the file boardlib-0.9.0.tar.gz.

File metadata

  • Download URL: boardlib-0.9.0.tar.gz
  • Upload date:
  • Size: 13.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for boardlib-0.9.0.tar.gz
Algorithm Hash digest
SHA256 c2ff34a7981435847de07bafadb71c7fff31779c457c72bcd587bec41bd521f3
MD5 caaf3b0306df072551fb619b88082904
BLAKE2b-256 569c97693f72a6fa471d51c39699e771107d797a55839f019bfd8b211bd1156e

See more details on using hashes here.

File details

Details for the file boardlib-0.9.0-py3-none-any.whl.

File metadata

  • Download URL: boardlib-0.9.0-py3-none-any.whl
  • Upload date:
  • Size: 13.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for boardlib-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 389ec4ab9efba3e591da50a2b8ff907a000b61302dc9b9f7fefaad60a2683592
MD5 e4318ce3bdcdd33bd7a7527002b1287c
BLAKE2b-256 3259959c9aa7a90d6ea7695ce9b405b7305611d2e23986697245110a32931a4d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page