
Security News
Deno Goes the Way of the Dinosaur
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.
fonts-andorra
Advanced tools
An educational catalog and small Python clients for finding and querying public sources in Andorra. It documents the endpoint shapes, reuse terms, verified behavior and practical traps, then exposes selected live data through Python, an MCP server and a cited assistant.
Aquest projecte educatiu reuneix fonts públiques d'Andorra, amb exemples i clients per consultar-les. És independent i no està afiliat al Govern d'Andorra.
This project adapts ideas and code from BquantFinance/Administracion-fuentes-publicas, an upstream project released under CC0-1.0.
Independent educational project. Not affiliated with the Govern d'Andorra or any listed institution.
| ID | Source | Sector | Access | Licence |
|---|---|---|---|---|
afa-feeds | Andorran Financial Authority feeds | finance | feed | Feed redistribution terms were not checked; use for live retrieval and link to the original item. |
bopa | Butlletí Oficial del Principat d'Andorra | legislation | api, downloads | Reuse including copying, adaptation, extraction, redistribution and public communication is allowed subject to preserving metadata and update dates, not distorting meaning, and not implying BOPA endorsement. |
carburants | Fuel stations and reference prices | energy | arcgis-rest | All rights reserved under Govern d'Andorra terms; this project fetches the layers live and cites links without redistributing their content. |
cass-estadistiques | CASS statistics downloads | social-security | downloads | Reuse terms were not checked; consult the publisher before redistributing files. |
consell-general-feeds | Consell General news feeds | parliament | feed | Feed redistribution terms were not checked; use for live retrieval and link to the original item. |
e-tramits | e-tramits procedures | public-services | html | All rights reserved under Govern d'Andorra terms; this project fetches pages live and cites them, and does not redistribute their content. |
estadistica-api | Andorra Department of Statistics API | statistics | api | Creative Commons Attribution 4.0 International for statistics owned by the Department; third-party data may have other terms. |
govern-ad | Govern d'Andorra information pages | public-services | html | All rights reserved under Govern d'Andorra terms; this project fetches pages live and cites them, and does not redistribute page content. Its local index stores titles, URLs and section headings only. |
meteo-ad | meteo.ad station charts | meteorology | html | No usable legal notice was found; legal page was empty, so reuse terms are unknown. |
sig-arcgis | Govern d'Andorra ArcGIS Enterprise | geography | arcgis-rest | All rights reserved under Govern d'Andorra terms; layer licenses were not stated, so this project fetches live and cites links without redistributing layer content. |
transparencia | Transparency portal | transparency | html, downloads | All rights reserved under Govern d'Andorra terms; this project fetches pages live and cites them, and does not redistribute their content. |
Python 3.10 or newer:
python -m venv .venv
.venv/bin/pip install -e ".[dev]"
.venv/bin/fonts-andorra-mcp
The MCP server communicates over stdio. Configure Claude Desktop, Claude Code or Cursor with the installed command:
{
"mcpServers": {
"andorra-fonts-publiques": {
"command": "/absolute/path/to/andorra-fonts-publiques/.venv/bin/fonts-andorra-mcp"
}
}
}
Run the published server with uvx:
uvx fonts-andorra
Claude Desktop configuration:
{
"mcpServers": {
"andorra": {
"command": "uvx",
"args": ["fonts-andorra"]
}
}
}
Ask a cited question using Gemini REST. Set GEMINI_API_KEY in the environment; it is never stored in this repository:
GEMINI_API_KEY=... .venv/bin/fonts-andorra-ask "Quant triga l'autorització inicial de residència i treball?"
.venv/bin/fonts-andorra-ask "Where can I find official unemployment statistics?" --lang en --json
The clients can also be imported directly:
from fonts_andorra.clients.estadistica import data, search
tables = search("atur")
rows = data(1070) # Defaults to startDate=1900 and endDate=2100.
This repository's own code and catalog are dedicated to the public domain under CC0-1.0. That does not relicense the source material:
The catalog marks sources and terms individually. Verify the terms that apply to each item before using it commercially or republishing it.
sources/<id>.yaml contains the source fiches.schema/source.schema.json and schema/vocab.yaml define the fiche contract and closed vocabularies.indices/dead-routes.yaml lists unresolved domains checked on 2026-10-02.catalog.json, llms.txt and llms-full.txt are generated by python scripts/build.py.python scripts/validate.py checks source schema, vocabularies and related source IDs.fonts_andorra/data/index.json contains e-tramits titles and URLs, plus Govern page titles, URLs and section headings only; all page bodies are fetched live and cited because the source content is all rights reserved. Assistant procedure and Govern retrieval use local BM25 search and fetch matching pages live; Govern's disallowed site search is not used.
Rebuild it from live e-tramits and the Catalan Govern sitemap with .venv/bin/python scripts/build_index.py; this networked builder is intentionally not part of CI.
The test suite is offline and uses saved public response fixtures:
.venv/bin/ruff check .
.venv/bin/pytest -q
python scripts/validate.py
python scripts/build.py
ci.yml runs lint, offline tests, validation and generated-file checks on pushes and pull requests; live.yml runs weekly live checks and uploads a report.
The assistant check in live.yml requires a repository GEMINI_API_KEY secret.
evals/procedures.yaml has 10 real procedures with ground truth (price, maximum resolution time, application period, in-person requirement) taken from the live e-tramits pages on 2026-10-02. Run it with:
GEMINI_API_KEY=... .venv/bin/python evals/run.py --baseline
Latest result (evals/results-2026-10-03.md, gemini-2.5-flash): 10/10 cases pass with the right procedure cited and 18/18 facts correct. The same model answering closed-book got 3/18 facts. These 10 cases were also used while tuning retrieval, so treat this as a regression set rather than a held-out benchmark.
evals/heldout.yaml has 20 more cases written after tuning ended: 15 procedures not used for tuning (ca/es/fr/en) and 5 questions no source here can answer (weather, ski pass prices, border queues, a minister's personal phone, the user's own vacation days), which must be declined without stating any amount.
GEMINI_API_KEY=... .venv/bin/python evals/run.py --cases evals/heldout.yaml --baseline
evals/results-heldout-2026-10-03-first-run.md): 15/20 as scored. Three failures were scorer bugs (citations written as [1, 2] were not parsed, and "no se encontró" was not recognised as declining). Rescoring the same answers gives 18/20. The two real failures:
23-09-2026 as phone numbers, so the assistant could not state an application period. Now fixed.evals/results-heldout-2026-10-03.md): 20/20, 23/23 facts, 5/5 unanswerable questions declined, 0 bad citations. The same model closed-book got 6/23 facts. The habitability case passed because retrieval returned a different set of procedures, not because of a fix. Keyword generation is not fully deterministic, so expect that case to flip.From here this set is no longer strictly held out: one bug fix was found with it. New failures should be fixed against new cases.
The one-page proposal for the Govern is in docs/pitch.md.
FAQs
Educational clients and an MCP catalog for public sources in Andorra
The pypi package fonts-andorra receives a total of 43 weekly downloads. As such, fonts-andorra popularity was classified as not popular.
We found that fonts-andorra demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.

Security News
Anthropic’s free OSS Scanner uses Mythos and other Claude models to find open source vulnerabilities and send maintainers reports with proposed fixes.

Security News
On Front Lines’ Early Adopters: CISO podcast, Andrew Becherer shares lessons from Datadog, weighs the long-term costs of AI-built tools, and explains how founders can actually gain a CISO’s trust.