habitable

🏑 Habitable

Habitable is a data engineering project designed to qualify living zones within a given territory. By cross-referencing multiple data layers (climate, infrastructure, weather, etc.), it empowers individuals to find their ideal place to live based on their own unique criteria. 🎯

Currently, this repository targets metropolitan France, but the architecture is built for continuous improvement and global expansion. Future objectives include multiplying data sources and implementing a custom scoring system. πŸš€

Note: The GeoJSON dataset generated by this repository is designed to be consumed by a frontend application, which is developed and maintained as a separate, parallel project. πŸ’»

πŸ—οΈ System Architecture

πŸ”„ Data Pipeline

  1. base_grid.py: Generates the H3 spatial reference grid from territorial boundaries.
  2. Domain Scripts (e.g., data_nuclear.py, data_weather.py): Interpolate or calculate metrics over the base grid.
  3. assemble.py: Joins Parquet files via h3_index, strictly filters columns through the schema, and serializes the final GeoJSON.

πŸš€ Deployment

The system is asynchronous and automated via CI/CD. Modifying any data script triggers an isolated regeneration of its respective Parquet file. Upon completion of these data workflows, the assembly workflow automatically runs to generate a new GitHub Release containing the final dataset. πŸ“¦