Skip to main content
EnTiSe logo

License PyPI Python Version Documentation

A simple tool for generating time series data related to energy systems and building operations.

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

  • Python (3.10 or newer)

  • Git for version control (optional, only for development)

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/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.

    • services/: Auxiliary services supporting the core functionality.

  • 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, you can use the Generator and either add objects one by one or in bulk using DataFrames or dictionaries:

from entise import Generator

# Initialize the generator
gen = Generator()

# 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 more granular access you can work with the 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:

  • Electricity demand

  • Domestic Hot Water (DHW)

  • Heat pump (COP)

  • HVAC (Heating, Ventilation, and Air Conditioning)

  • Occupancy data

  • Solar Photovoltaic (PV)

  • Wind energy

Planned:

Documentation

Please see the documentation for further information.

Contribution and Code Quality

We are happy if you want to contribute to this repository! Have a look at the guides in our docs for more information on how to contribute and our coding standards.

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

The code of this repository is licensed under the MIT License (MIT).
See LICENSE for rights and obligations.
Copyright: EnTiSe (c) TU Munich - ENS | MIT

Metadata

Release files for entise 1.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for entise 1.3.0
File Size Uploaded
entise-1.3.0.tar.gz 135.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for entise 1.3.0
File Interpreter ABI Platform
entise-1.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 307.3 kB

Release files / entise-1.3.0.tar.gz

Download URL entise-1.3.0.tar.gz
Size 135.6 kB
Tags Source
SHA-256 checksum
How to use checksums
977e18fe2b01ff6ae5bb331412374939fec5faa7a6ba53ea7ef5afbb1d6de740
BLAKE2b-256 checksum
How to use checksums
62fa564f81c5dfb1dfd770677dcb9a4f03b9e4d7574e4227602850081fb24a39
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.6 {"installer":{"name":"uv","version":"0.10.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / entise-1.3.0-py3-none-any.whl

Download URL entise-1.3.0-py3-none-any.whl
Size 171.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9a12f1b78d28fd76203ae49f93b317209cb0abe01262c60abee55a44159413c0
BLAKE2b-256 checksum
How to use checksums
bd3f57e16ffeed232aeb06dcc5cd5a7e791628661eb7e0c4cafad55f3ac3c9c6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.6 {"installer":{"name":"uv","version":"0.10.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

1.3.0 This release

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page