Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/make-open-data/make-open-data
make-open-data
https://github.com/make-open-data/make-open-data
Last synced: 3 months ago
JSON representation
make-open-data
- Host: GitHub
- URL: https://github.com/make-open-data/make-open-data
- Owner: make-open-data
- Created: 2024-04-03T10:37:58.000Z (10 months ago)
- Default Branch: staging
- Last Pushed: 2024-10-29T08:44:01.000Z (4 months ago)
- Last Synced: 2024-10-29T09:56:55.165Z (4 months ago)
- Language: Python
- Homepage:
- Size: 1.54 MB
- Stars: 51
- Watchers: 3
- Forks: 12
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-dbt - Make Open Data - A production grade ELT with tests, documentation and CI/CD (GHA) about french open data (housing, demography, geography, etc). Can be used to learn with voluminous and ambiguous data. Contributions are welcome. (Sample Projects)
README
# Bienvenue sur Make Open Data.
Ici pour la [documentation complète](https://make-open-data.fr/).
## Intégrez les données libres en France à votre Base De Données.
Make Open Data est un repo de code ouvert qui :
- *Extrait* les fichiers sources (data.gouv, INSEE, Etalab, etc.) les plus adaptés et les récents ;
- *Transforme* ces données selon des règles transparentes et le moins irreversibles possibles ;
- *Stocke* ces données dans une base de données PostgreSQL (avec PostGIS) ;
- *Teste* des présuposés sur ces données. Un prix par transaction immobilières sur DVF par exemple.## Déploiement avec GitHub Actions
- Foucher (*fork*) le projet dans un nouveau Repo [ici](https://github.com/make-open-data/make-open-data/fork)
- Renseigner les clés d'une BDD Postgres dans le Cloud
- Executer le workflow "Manually Deploy Data in a Postgres Database"
- Les tables sources et préparées sont disponibles dans la BDD
## Dépoilement sur une machine
Idéal pour déployer les nouvelles tables de données publiques sans tracas une BDD Postgres hébérgée dans le cloud.
- Cloner le repo
```
git clone [email protected]:make-open-data/make-open-data.git
```
- Installer et activer un envirnoment virtuel```
python3 -m venv dbt-env
source dbt-env/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
```- Exporter les clés d'une instance PostgreSQL avec l'extention PostGIS de 10 GB min
```
export POSTGRES_USER=
export POSTGRES_PASSWORD=
export POSTGRES_HOST=
export POSTGRES_PORT=
export POSTGRES_DB=
```- A faire une fois : installer les extensions PostGis et unaccent et vérifier
```
psql postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST:$POSTGRES_PORT/$POSTGRES_DB
CREATE EXTENSION postgis;
SELECT PostGIS_Version();
CREATE EXTENSION unaccent;```
- Connecter DBT à la base de données
```
export DBT_PROFILES_DIR=.
dbt debug
dbt deps
```- Extraire les données des sources à la base de données
```
python -m extract
```- Réaliser et tester les transformations pour avoir obtenir les tables finales
```
dbt seed
dbt run
dbt test
```- Les tables sources et préparées sont disponibles dans la BDD