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.0.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.0.0
File Size Uploaded
cable_thermal_model-2.0.0.tar.gz 83.7 kB Details

Built distribution (wheel)

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

Total release size: 198.0 kB

Release files / cable_thermal_model-2.0.0.tar.gz

Download URL cable_thermal_model-2.0.0.tar.gz
Size 83.7 kB
Tags Source
SHA-256 checksum
How to use checksums
b934fadbccbadf49674b13ab4a03766bfea7081a0dc585053d2736840d8c1660
BLAKE2b-256 checksum
How to use checksums
26744e69298bbffae0a7728eb4a5236ed92dfc20a36d3dbd469ff56f0444c52d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

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

Download URL cable_thermal_model-2.0.0-py3-none-any.whl
Size 114.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
73d01b69f6906b74e5dc04f7a0c4cdc99bb2095f5e96cc3bbdcc779c15ccca30
BLAKE2b-256 checksum
How to use checksums
7c68b34882bc0b6ffc9fcfbe6b11256f65984680a884f5f0ee02c23206a07952
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":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

2.2.1

2 release files

2.2.0

2 release files

2.1.1

2 release files

2.1.0

2 release files

This release

2.0.0 This release

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