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 interactive 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

Forum access requirements

Some forums require FlareSolverr listening on localhost:8191; the package connects to that service. Start FlareSolverr before using:

docker run --rm --detach --name flaresolverr --publish 8191:8191 ghcr.io/flaresolverr/flaresolverr:latest

Examples

Choose the path that matches what you already know.

If you want updates for one registered resort, fetch recent posts from all assigned topics or restrict the request to one forum:

from alpin_api import AlpinAPI, Forum, SKI_RESORTS

# List all registered resorts and their names
print("\n".join(f"{resort_id}: {resort.name}" for resort_id, resort in SKI_RESORTS.items()))

posts_by_resort = AlpinAPI().fetch_posts(
    resort_ids=["hintertuxer_gletscher"],  # None fetches all registered resorts
    days_old_max=14,
    forum=Forum.ALPINFANS,  # None fetches every forum assigned to the resort
)
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.canonical_url,
    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.
  • forum filters topics to the selected forum before any request and requires every selected resort to have a registered topic there. None reads every assigned forum.
  • 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.

Metadata

Release files for alpin-api 0.3.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.3.0
File Size Uploaded Provenance
alpin_api-0.3.0.tar.gz 40.1 kB With provenance Details

Built distribution (wheel)

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

Total release size: 81.0 kB

Release files / alpin_api-0.3.0.tar.gz

Download URL alpin_api-0.3.0.tar.gz
Size 40.1 kB
Tags Source
SHA-256 checksum
How to use checksums
8661192e4196f671f1d6c4af5cafe1ca08d4400b9a4a58d34f2a98f9de8ca822
BLAKE2b-256 checksum
How to use checksums
a50414d9369b31620b8abead7402b5b40b89b2fee3f89d6f9825a83c54b2210c
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.3.0-py3-none-any.whl

Download URL alpin_api-0.3.0-py3-none-any.whl
Size 40.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2cad261ab79d76d0ab83f261b91a20bdcf49119849d44ac262f940904a065222
BLAKE2b-256 checksum
How to use checksums
b58de57494345c64e11fcd6928bf7fc4f42b998c228041cd247be5c2f38bb930
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.3.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.3.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