Metadata-Version: 2.5
Name: geopipe
Version: 0.1.0
Summary: Geographical energy system modelling data pipeline
Project-URL: Homepage, https://github.com/EINS-TUDa/geopipe
Project-URL: Documentation, https://eins-tuda.github.io/geopipe/
Project-URL: Repository, https://github.com/EINS-TUDa/geopipe
Author: Carolin Ayasse, Alexander Christ
License-Expression: GPL-3.0-or-later
License-File: LICENSE
Keywords: data pipeline,district heating,energy system modelling,gis,optimisation
Requires-Python: <3.14,>=3.11
Requires-Dist: contextily>=1.7.0
Requires-Dist: geopandas>=1.0.1
Requires-Dist: matplotlib>=3.10.3
Requires-Dist: networkx>=3.0
Requires-Dist: numpy>=2.2.5
Requires-Dist: openpyxl>=3.1.5
Requires-Dist: osm2geojson>=0.3.1
Requires-Dist: pandas>=2.2.3
Requires-Dist: psycopg[binary]>=3.2
Requires-Dist: pydantic-settings>=2.14.0
Requires-Dist: pydantic>=2.13.3
Requires-Dist: python-dotenv>=1.0.0
Requires-Dist: pyyaml>=6.0
Requires-Dist: requests>=2.32.3
Requires-Dist: shapely>=2.1.0
Requires-Dist: sqlalchemy>=2.0.44
Provides-Extra: cesm
Requires-Dist: gurobipy<13.0; extra == 'cesm'
Requires-Dist: plotly>=6.0; extra == 'cesm'
Description-Content-Type: text/markdown

# README
## GeoPipe

**Geo**graphical energy system modeling data **pipe**line

> [!WARNING]  
> This repo currently is under development and the API is not stable yet. Please contact us if you want to use it in your research.

## Installation
### Using CESM 
Using the [Compact Energy System Modeling Tool](https://github.com/EINS-TUDa/CESM) as backend for the energy system optimization. Requires Gurobi.
```bash
pip install "geopipe[cesm]"
pip install git+https://github.com/EINS-TUDa/CESM.git@578e0bb
```


### Using other optimization frameworks
```bash
tbd
```

## What `geopipe` does
`geopipe` is an automated, open-source data processing pipeline that transforms geospatial data on energy demand and supply and techno-economic data into a structured energy system representation. The structured energy system representation can be passed to modern multi investment energy system models via lightweight Python interfaces. Detailed documentation can be found [here](https://eins-tuda.github.io/geopipe).

The most important concepts are:
```mermaid
flowchart TD
    streets["Street network"] -- "register_streets" --> dr["DataRegistry"]
    datasets["Datasets"] -- "register" --> dr
    dr -- "streets" --> tb["TopologyBuilder"]
    tb -- "topology" --> esb["EnergySystemBuilder"]
    subgraph inputs["Energy system inputs"]
        direction TB
        techs["Technologies"] --- demands["DemandTypes"] --- ie["Commodity<br/>data"]
    end
    inputs --> esb
    dr -- "demand annual values, demand time profiles, technology shares" --> esb
    esb -- "EnergySystem" --> ob["OptimizationBackend"]
    scenario["Scenario"] --> ob
    ob -- "Solution" --> out["Results, Report, Plots"]

    linkStyle 4,5 stroke:none,stroke-width:0px
```

See
[`examples/urban_heat_planning/main.py`](https://github.com/EINS-TUDa/geopipe/blob/main/examples/urban_heat_planning/main.py)
for an end-to-end reference.


## Contribution
Clone the repo and run
```bash
uv sync
```
to set up the development environment.

## Contact
Carolin Ayasse, [carolin.ayasse@eins.tu-darmstadt.de](mailto:carolin.ayasse@eins.tu-darmstadt.de)

[Energy Information Networks and Systems (EINS)](https://www.eins.tu-darmstadt.de) at Technical University of Darmstadt, Germany


