Busabase
Busabase 是一个开源(MIT)数据库与 AI 智能体工作空间——将数据、文档、技能和应用集成于一体。您可以本地运行、在网络内自托管或使用 Busabase Cloud,从而开启新时代。
AI 翻译
尚未检测到更新。GitHub 发布版本后会显示在这里。
制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Étude de l'évolution du climat à partir de données ouvertes, publiée sous forme de tableau de bord. Chaque chiffre affiché est traçable jusqu'à sa source et au script qui l'a produit.
Sources ouvertes ──► ETL Python (GitHub Actions, mensuel) ──► data/processed/*.json ──► Site Next.js (Vercel)
télécharge, contrôle, calcule contrat validé affiche, ne calcule rien
| Dossier | Rôle |
|---|---|
etl/ | Calcul scientifique. schema.py = contrat de données, pipeline.py = orchestrateur, config/indicators.yaml = registre des indicateurs |
data/processed/ | Résultats publiés (JSON + manifest.json, rapports validation-<phase>.json). Seule interface entre l'ETL et le site |
data/raw/ | Cache des téléchargements, hors Git |
web/ | Site Next.js (App Router, TypeScript, Tailwind, ECharts, zod) |
.github/workflows/ | ci.yml (tests à chaque push), etl.yml (exécution mensuelle) |
docs/ | Sources, méthode, journal des phases |
Le contrat de données existe en deux exemplaires qui doivent rester identiques :
etl/schema.py (pydantic) et web/lib/schema.ts (zod). Un JSON non conforme est refusé
par la CI côté Python, puis par le build côté site.
etl/sources/<source>.py exposant build(ctx) -> Indicator.etl/config/indicators.yaml.python -m etl.pipeline --only <id> puis python -m etl.validate.La page /<échelle>/<id> apparaît automatiquement au build suivant. Aucun code côté site. Un nouveau thème
ajoute de même son bouton et sa page /<échelle>/themes/<thème>, dans la famille « Autres » tant qu'il n'est pas
rattaché à une famille dans web/lib/family.ts.
Pour rattacher l'indicateur à une famille (matrice, superposition, carte, navigation entre lieux),
le constructeur renseigne variable (vocabulaire etl/config/variables.yaml) et place (station ou
composite). Une nouvelle variable s'ajoute au vocabulaire ; le site n'en connaît aucune à l'avance.
Couleurs dans web/app/globals.css. Les couleurs de données (échelles, chaud/froid, bandes) ne suivent pas le thème.
Photo de l'accueil : web/public/accueil/vallee-glaciaire.jpg, Unsplash.
pip install -r etl/requirements.txt
python -m etl.pipeline && python -m etl.validate
python -m pytest etl/tests
cd web && npm install && npm run dev # http://localhost:3000
Projet Vercel relié à ce dépôt, Root Directory = web, option « Include files outside the
root directory » activée (le build lit ../data/processed). Chaque commit sur main,
y compris ceux de l'ETL mensuel, redéploie le site.
docs/validation-p1.md.