Skip to main content

Tools to manipulate energy time-series and contracts, and to perform forecasts.

Project description

enda

PyPI Poetry Imports: isort Code style: black pre-commit

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

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

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

enda-1.0.2.tar.gz (58.3 kB view hashes)

Uploaded Source

Built Distribution

enda-1.0.2-py3-none-any.whl (67.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page