Export climbing route data from OpenBeta to Apache Parquet format.
Latest export: Releases
Download openbeta-climbs.parquet and use it with any Parquet-compatible tool:
# Python with DuckDB
import duckdb
df = duckdb.execute("SELECT * FROM 'openbeta-climbs.parquet' LIMIT 10").fetchdf()
print(df)# R with arrow
library(arrow)
df <- read_parquet('openbeta-climbs.parquet')-- DuckDB
SELECT * FROM 'openbeta-climbs.parquet'
WHERE country = 'USA' AND state_province = 'California'
LIMIT 10;python parquet2json.py climbs.json # JSON
python parquet2json.py climbs.geojson # GeoJSON (auto-detected from extension)Each row represents one climbing route. See schema.sql for column definitions.
Want different fields or filters? You can customize and run your own export!
- Python 3.9+
- pip
git clone https://github.com/OpenBeta/parquet-exporter.git
cd parquet-exporter
pip install -r requirements.txtEdit config.yaml to change:
- Geographic regions to export
- Output filename
- Compression type (snappy, gzip, zstd)
export:
regions:
- USA # Change to your preferred regions
- Canada
output:
filename: "my-custom-export.parquet"
compression: "zstd" # or snappy, gzipEdit schema.sql to reshape the data:
-- Example: Filter to sport routes only
SELECT
uuid AS climb_id,
name AS climb_name,
grades.yds AS grade,
metadata.lat AS latitude,
metadata.lng AS longitude
FROM climbs
WHERE type.sport = truepython export.pyOutput will be saved to the filename specified in config.yaml.
The examples/ directory contains ready-to-use schema variations:
cp examples/schema-minimal.sql schema.sql
python export.pyJust climb name, grade, and coordinates. Smallest possible file size.
cp examples/schema-extended.sql schema.sql
python export.pyAll available fields including descriptions, multiple grade systems, and full location hierarchy.
cp examples/schema-usa-sport-only.sql schema.sql
python export.pyFiltered to just sport climbing routes in the United States.
This export runs weekly (Sundays at midnight UTC). Each release is versioned by date: v2024-11-19.
To get the latest:
# Download latest release programmatically
curl -s https://api.github.com/repos/OpenBeta/parquet-exporter/releases/latest \
| grep "browser_download_url.*parquet" \
| cut -d : -f 2,3 \
| tr -d \" \
| wget -qi -All data comes from the OpenBeta GraphQL API.
OpenBeta is a free, crowd-sourced climbing route database. Learn more at openbeta.io.
- Code: MIT License
- Data: OpenBeta data is available under CC0 (Public Domain)
You can use this data for any purpose, including commercial applications, without restriction.
- Issues: GitHub Issues
- OpenBeta Discord: discord.gg/ptpnWWNkJx
- API Docs: docs.openbeta.io
PRs welcome! Especially for:
- Additional example schemas
- Performance improvements
- Better error handling
- Documentation improvements
Built with ❤️ by the OpenBeta community