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

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.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 cable-thermal-model 2.2.0
File Size Uploaded
cable_thermal_model-2.2.0.tar.gz 84.2 kB Details

Built distribution (wheel)

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

Total release size: 199.0 kB

Release files / cable_thermal_model-2.2.0.tar.gz

Download URL cable_thermal_model-2.2.0.tar.gz
Size 84.2 kB
Tags Source
SHA-256 checksum
How to use checksums
6cc9247e7a449e0ae5a50e2a66a1f55257d2995a620aa5abeb3e9f042eb6c3fe
BLAKE2b-256 checksum
How to use checksums
4bd921a07f057195efa0a120575757c8469425615051515ff2f2dc3052e10f45
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.0-py3-none-any.whl

Download URL cable_thermal_model-2.2.0-py3-none-any.whl
Size 114.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4a29b2a70ce61f60996c948d65a331646acb32c811b9c382f00730697b7f6ceb
BLAKE2b-256 checksum
How to use checksums
941ef1277856703669d11aa7d6b61163506994cfc8de382e472f5a74352c480e
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

2.2.1

2 release files

This release

2.2.0 This release

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