Tools to manipulate energy time-series and contracts, and to perform forecasts.
Project description
enda
What is it?
enda is a Python package that provides tools to manipulate timeseries data in conjunction with contracts data for analysis and forecasting.
Initially, it has been developed to help Rescoop.eu members build various applications, such as short-term electricity load and production forecasts, specifically for the RescoopVPP project. Hence some tools in this package perform TSO (transmission network operator) and DNO (distribution network operator) data wrangling as well as weather data management. enda is mainly developed by Enercoop.
Main Features
Here are some things enda does well:
- Provide robust machine learning algorithms for short-term electricity load and production forecasts. enda provides a convenient wrapper around the popular multipurpose machine-learning backends Scikit and H2O. The load forecast was originally based on Komi Nagbe's thesis (http://www.theses.fr/s148364).
- Manipulate timeseries data, such as load curves. enda handles timeseries-specific detection of missing data, like time gaps, frequency changes, extra values, as well as various resampling methods.
- Provide several backtesting and scoring methods to ensure the quality of the trained algorithm on almost real conditions.
- Manipulate contracts data coming from your ERP and turn it into timeseries you can use for analysis, visualisation and machine learning.
- Date-time feature engineering robust to timezone hazards.
Where to get it
The source code is currently hosted on GitHub at: https://github.com/enercoop/enda. If you wish to run the examples it contains, you can clone enda from the Github repository
Binary installers for the latest released version are available at the Python Package Index (PyPI) (for now it is not directly on Conda).
pip install enda
or using poetry:
poetry add enda
Documentation and API
The complete API is available online here.
How to get started?
For a more comprehensive approach to enda, several Jupyter notebooks have been proposed in the [guides](https://github.com/enercoop/enda/tree/main/guides.).
Some dependencies are needed to run these examples, that you can easily install with poetry, running poetry install enda[examples]
Dependencies
Hard dependencies
- Pandas
- Scikit-learn
- H2O
- Numpy
- Statsmodels
- Libraries that are recommended by the previous packages: datatable, polars, numexpr, unidecode
- Libraries meant to get calendar data: jours-feries-france, vacances-scolaires-france
Optional dependencies
If you want to run the examples, you may need extra dependencies. These dependencies can be installed using poetry:
poetry install --with examples
or manually:
pip install numexpr bottleneck pandas enda jupyter h2o scikit-learn statsmodels joblib matplotlib
Accordingly, if you wish to develop into enda, we suggest some tools and linters that can be used.
poetry install --with dev
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file enda-1.0.4.tar.gz
.
File metadata
- Download URL: enda-1.0.4.tar.gz
- Upload date:
- Size: 61.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.2 Darwin/21.6.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7e762deae5e3968ff42c96dc43c797b37909aa9583674a8f9087fb2e8c9cd7df |
|
MD5 | 0da7c80af60aa8be31ad957b0feeea16 |
|
BLAKE2b-256 | e004fa2660532287c8fef95e4c2ace8cb78c8fa25239ad90b8d297e19cd0768d |
File details
Details for the file enda-1.0.4-py3-none-any.whl
.
File metadata
- Download URL: enda-1.0.4-py3-none-any.whl
- Upload date:
- Size: 70.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.2 Darwin/21.6.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b3147d21e55967dcb1e6a4f57da2c618ab24046b371d2e9fbef4941531584749 |
|
MD5 | 13118bb9fcf79af521c4cbf3e539f36b |
|
BLAKE2b-256 | 660056f2c7f097f38a3c7f3600b57603933adf7e5784b3a7e4996de784f7f827 |