Projet de traitement et de publication de meilleures données sur les marchés publics attribués en France. Ce projet prend sa source dans la complexité de la publication des données faite par le Ministère des Finances :
- code source de l'agrégation des données fermé
- documentation incomplète et éparpillée
- schéma de données DECP 2 complexe à utiliser
Ce projet se veut collaboratif et à l'écoute des besoins des usagers potentiels : entreprises, acteurs publics, journalistes, chercheurs et chercheuses, citoyens et citoyennes.
Pour me contacter vous pouvez ouvrir un "issue" sur Github ou me contacter par email colin+decp@maudry.com.
Les données produites sont les mêmes données que celles publiées par le Ministère des Finances sur data.economie.gouv.fr. J'ai choisi de prendre ces données comme source et non les DECP au format réglementaire JSON car les premières ont été nettoyées et améliorées (code) par le Ministère, ce qui me fait moins de travail.
Elles sont mises à dispositions aux formats CSV, Parquet et SQLite.
Vous pouvez...
- les télécharger sur data.gouv.fr (vous trouverez aussi plus d'informations sur ces données)
- les visualiséer, les filtrer et télécharger sur decp.info
- Python 3.8 ou plus récent
- cargo (installation rapide)
- fichier .env avec l'adresse des fichiers source
Je vous recommande d'utiliser un environnement virtuel Python pour isoler l'installation des dépendances :
virtualenv .venv
Activez l'environnement virtuel :
source .venv/bin/activate
Installez les dépendances :
pip install .
Installez les dépendances de développement :
pip install .[dev]
# sous zsh
pip install .'[dev]'
Faites une copie de template.env, renommez-la en .env et adaptez les valeurs :
cp template.env .env
nano .env
Construire et lancer le container
./script/docker_build_and_run.bat
Démarrer le serveur prefect une fois dans le container
./script/start_server_in_docker.sh
Le serveur est accessible sur le navigateur à l'adresse http://127.0.0.1:4200/
Lancer le script
python src/flows.py
Pour lancer les tests unitaires :
pytest