A tool for generating time series data related to energy systems and building operations
Project description
A simple tool for generating time series data related to energy systems and building operations.
License |
|
Package |
|
Build Status |
|
Documentation |
|
Development |
|
Community |
Introduction
EnTiSe (En-ergy Ti-me Se-ries) is a Python package designed to generate realistic time series data for various energy systems and building operations. It provides a flexible, pipeline- and strategy-based approach to create time series for different applications including HVAC, domestic hot water, electricity, mobility, and occupancy patterns.
Key Features
Multiple time series types including DHW, HVAC, PV, and more in the works.
Flexible pipeline- and strategy-based architecture for customizable time series generation.
Support for dependent methods to create related time series.
Two access patterns: batch processing via TimeSeriesGenerator or direct method imports for individual control.
Getting Started
To get started, follow these steps:
Requirements
Installation
EnTiSe can be installed directly from PyPI:
pip install entise
For faster installation, you can use uv:
pip install uv
uv pip install entise
For development or the latest features, you can install directly from the repository:
pip install git+https://github.com/tum-ens/need/entise.git
Or clone the repository and install in development mode:
git clone https://github.com/tum-ens/need/entise.git
cd entise
pip install -e ".[dev]"
Now you’re ready to use EnTiSe! Check the examples directory for usage examples.
Repository Structure
entise/: Main project code organized in a Python package.
constants/: Definitions of time series types and other constants.
core/: Core functionality and base classes.
data/: Data files and data handling utilities.
methods/: Implementation of various time series generation methods.
tests/: Folder for tests; structured by functionality.
docs/: Documentation source files.
examples/: Example scripts demonstrating usage of the package.
Usage Guidelines
Basic Usage
EnTiSe provides two flexible ways to generate time series data:
Batch Processing
For generating multiple time series at once:
from entise.core.generator import TimeSeriesGenerator
# Initialize the generator
gen = TimeSeriesGenerator()
# Add objects (e.g., buildings)
gen.add_objects({
"id": "building1",
"hvac": "1R1C",
"resistance": 2.0,
"capacitance": 1e5,
"temp_min": 20.0,
"temp_max": 24.0,
})
# Prepare input data (e.g., weather)
data = {
"weather": pd.DataFrame({
"temp_out": [0.0] * 24,
}, index=pd.date_range("2025-01-01", periods=24, freq="h"))
}
# Generate time series
summary, df = gen.generate(data)
Direct Method Access
For working with individual methods directly:
from entise.methods.pv import PVLib
# Create an instance
pvlib = PVLib()
# Generate time series
result = pvlib.generate(
latitude=48.1,
longitude=11.6,
power=5000,
weather=weather_df
)
# Access results
summary = result["summary"]
timeseries = result["timeseries"]
For more detailed examples, check the examples directory.
Supported or Planned Time Series Types
EnTiSe supports generating time series for the following types:
Integrated:
Domestic Hot Water (DHW)
HVAC (Heating, Ventilation, and Air Conditioning)
Occupancy data
Solar Photovoltaic (PV)
Planned:
Concentrated Solar Power (CSP)
Electricity demand or supply
Geothermal energy
Hydroelectric power
Mobility (transportation-related data)
Tidal energy
Wave energy
Wind energy
Documentation
Please see the documentation for further information.
Contribution and Code Quality
Everyone is invited to develop this repository. Please follow the workflow described in the CONTRIBUTING.md.
Coding Standards
This repository follows consistent coding styles. Refer to CONTRIBUTING.md for detailed standards.
Changelog
The changelog is maintained in the CHANGELOG.md file. It lists all changes made to the repository. Follow instructions there to document any updates.
License and Citation
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file entise-0.2.1.tar.gz.
File metadata
- Download URL: entise-0.2.1.tar.gz
- Upload date:
- Size: 7.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8c6d79d487b9592611c15c84ed0879783e64b938a9a44ca8d978a0b2f77a85a6
|
|
| MD5 |
023dcb341adaa3dde824236d5f5206b0
|
|
| BLAKE2b-256 |
e66327429d46e80cdc968924f7955846cec8eaf4942ddf0b65a79230072272e7
|
File details
Details for the file entise-0.2.1-py3-none-any.whl.
File metadata
- Download URL: entise-0.2.1-py3-none-any.whl
- Upload date:
- Size: 74.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8a6a95a17a4c1be00f040c4d4aa714c176512f7f0989d5e71bcf8c0b69f16918
|
|
| MD5 |
61c20c4f5fc0b4f3a971de23290b90c9
|
|
| BLAKE2b-256 |
07b2b0e028b50d3f852bae26b8ef525377b4cd2cc216866421fc710a42ab377f
|