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.4.tar.gz (61.2 kB view details)

Uploaded Source

Built Distribution

enda-1.0.4-py3-none-any.whl (70.4 kB view details)

Uploaded Python 3

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

Hashes for enda-1.0.4.tar.gz
Algorithm Hash digest
SHA256 7e762deae5e3968ff42c96dc43c797b37909aa9583674a8f9087fb2e8c9cd7df
MD5 0da7c80af60aa8be31ad957b0feeea16
BLAKE2b-256 e004fa2660532287c8fef95e4c2ace8cb78c8fa25239ad90b8d297e19cd0768d

See more details on using hashes here.

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

Hashes for enda-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 b3147d21e55967dcb1e6a4f57da2c618ab24046b371d2e9fbef4941531584749
MD5 13118bb9fcf79af521c4cbf3e539f36b
BLAKE2b-256 660056f2c7f097f38a3c7f3600b57603933adf7e5784b3a7e4996de784f7f827

See more details on using hashes here.

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