Skip to main content

Cable thermal model

Quality Gate Status Code Smells Coverage Duplicated Lines (%) Maintainability Rating

Cable Thermal Model is a physical model which can be used to calculate cable temperature profiles in situations with dynamic profiles for loads, ambient temperature, soil properties. The model uses an implicit Euler finite difference approach to discretize the heat equation. Moreover, it relies on the NEN-IEC norms for cable ratings. Cable Thermal Model supports different bonding types, circuit types and environments in soil as well as in air.

Getting started

System Requirements

  • Python Version: Python 3.11 or higher
  • Operating System: Windows, Linux, or macOS
  • Package Manager: uv

Installation

For Users

Installation via pip

Install the package from PyPI:

pip install cable-thermal-model

Installation via uv (Recommended)

For better dependency management, use uv:

Adding to an Existing uv Project:

uv add cable-thermal-model

Creating a New uv Project:

If you're starting from scratch, first create a new uv project:

# Create a new uv project
uv init my-cable-thermal-model
cd my-cable-thermal-model

# Add cable-thermal-model
uv add cable-thermal-model

# Install the project dependencies
uv sync

For Developers

If you plan to contribute to the Cable Thermal Model, follow these steps to set up your development environment:

1. Clone the Repository

git clone https://github.com/alliander-opensource/cable-thermal-model
cd cable-thermal-model

2. Install Dependencies with uv

We recommend using uv for development:

# Install all dependencies including development tools
uv sync --group dev

3. Enable Pre-commit Hooks

Pre-commit hooks ensure code quality and proper licensing headers:

# Install pre-commit hooks
pre-commit install --install-hooks

The reuse pre-commit hook ensures that all files have proper copyright headers (MPL-2.0 license).

Verifying Your Installation

After installation, verify that the package is correctly installed by importing some of the main classes:

from cable_thermal_model import CircuitType, BondingType, StaticEnvSoil, StaticEnvAir, ModelFactory, CableKey

# Check the installed version
from cable_thermal_model import __version__

print(f"Cable Thermal Model version: {__version__}")

If the import succeeds without errors, your installation is complete!

Documentation

For more information regarding the model, technical documentation and working examples, please visit the documentation:

https://alliander-opensource.github.io/cable-thermal-model/

Metadata

Release files for cable-thermal-model 2.2.1

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

Source distribution (sdist)

Source distribution for cable-thermal-model 2.2.1
File Size Uploaded
cable_thermal_model-2.2.1.tar.gz 84.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cable-thermal-model 2.2.1
File Interpreter ABI Platform
cable_thermal_model-2.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 199.0 kB

Release files / cable_thermal_model-2.2.1.tar.gz

Download URL cable_thermal_model-2.2.1.tar.gz
Size 84.2 kB
Tags Source
SHA-256 checksum
How to use checksums
aaf348f21c7993d151458e7d69543f2e42cb5b1960f5ea299c831dea6bc4e4b6
BLAKE2b-256 checksum
How to use checksums
c74ca9c1ad97aa07255a6ea499ae98d367db2bef345783bc1ac0732dacbdd30f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Release files / cable_thermal_model-2.2.1-py3-none-any.whl

Download URL cable_thermal_model-2.2.1-py3-none-any.whl
Size 114.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8344b364e0ec609b5f19bbbb22985f3b478d740d63d2496bc7d306f861f20ac4
BLAKE2b-256 checksum
How to use checksums
051c4ba733d932ac293c863a827c1990106ade4a738f11f741b4698b5344ee24
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

2.2.1 This release

2 release files

2.2.0

2 release files

2.1.1

2 release files

2.1.0

2 release files

2.0.0

2 release files

1.15.2

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