Skip to main content

alpin-api

Every night, this project turns posts from dedicated Alpine ski-resort forum topics into a public GeoJSON map of the latest construction and infrastructure progress.

View the live GeoJSON map

For developers

You can install the alpin_api Python package from PyPI: its forum scrapers, AlpinAPI, data types, and deterministic resort/topic constants. The installed package reads live forum pages. The repository's Groq analysis, map generation, nightly automation, and file-writing application are not included in the published package.

pip install alpin-api

Or add it to a uv project:

uv add alpin-api

Examples

Choose the path that matches what you already know.

If you want updates for one registered resort, fetch recent posts from every topic assigned to its marker:

from alpin_api import AlpinAPI

posts_by_resort = AlpinAPI().fetch_posts(
    resort_ids=["hintertuxer_gletscher"],  # None fetches all registered resorts
    days_old_max=5,
)
hintertux_posts = posts_by_resort["hintertuxer_gletscher"]

If you first want to see what people are discussing on a forum, discover its latest topics:

from alpin_api import AlpinAPI, Forum

api = AlpinAPI()
latest_topics = api.fetch_latest_topics(
    forum=Forum.ALPINFANS,
    topic_limit=20,
)
for topic in latest_topics:
    print(topic.topic_id, topic.title)

Then select an interesting result and fetch its recent posts:

selected_topic = latest_topics[0]
topic_posts = api.fetch_topic_posts(
    forum=selected_topic.forum,
    topic_identifier=selected_topic.topic_id,
    days_old_max=5,
)

Retrieval boundaries

days_old_max is a rolling clock window, so 1 means exactly 24 hours backward. It intentionally reads the newest page and at most the immediately preceding page. topic_limit applies separately to every discovery listing configured for a forum news and construction topics.

Development

Install the locked development environment and the repository's Git hooks:

uv sync --extra tracker
uv run pre-commit install

Run every configured hook with uv run pre-commit run --all-files. Repository-wide coding guidance lives in AGENTS.md.

Metadata

Release files for alpin-api 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for alpin-api 0.1.0
File Size Uploaded Provenance
alpin_api-0.1.0.tar.gz 38.4 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for alpin-api 0.1.0
File Interpreter ABI Platform
alpin_api-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 77.6 kB

Release files / alpin_api-0.1.0.tar.gz

Download URL alpin_api-0.1.0.tar.gz
Size 38.4 kB
Tags Source
SHA-256 checksum
How to use checksums
c0228629ea7388965771c479af487dc7c2b646829436269a5f43021845510646
BLAKE2b-256 checksum
How to use checksums
3b45d08d5aa1342d7b25a19b61c2a037ea8d9fe7947e7dd1fc6d91af405b12f7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 25, 2026.

Transparency log

Release files / alpin_api-0.1.0-py3-none-any.whl

Download URL alpin_api-0.1.0-py3-none-any.whl
Size 39.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2e37455d994ba29bcb099691f78c5c170fc12149e975969d6c6f4d79106a2966
BLAKE2b-256 checksum
How to use checksums
6ef42dbca8ff32f3902ee60bd5ea06433f16f3e8f528ed487545127c54749c0c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 25, 2026.

Transparency log

Security for alpin-api 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for alpin_api-0.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 25, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page