ThermalNetwork
A library for sizing multiple ground heat exchangers distributed around a single-pipe thermal network.
Installation
pip install ThermalNetwork
Documentation
Available at https://natlabrockies.github.io/ThermalNetwork/
Usage
This package has a command-line interface, intended to be used via URBANopt. To access the CLI directly, after installing call thermalnetwork --help for all the commands.
Developer installation
- Clone the repository:
git clone https://github.com/NatLabRockies/ThermalNetwork.git - Change directories into the repository:
cd ThermalNetwork - We recommend using virtual environments on principle to avoid dependencies colliding between your Python projects. venv is the Python native solution that will work everywhere, though other options may be more user-friendly.
- Some popular alternatives are:
- pyenv and the virtualenv plugin work together nicely for Linux/Mac machines
- virtualenv
- miniconda
- uv
- Some popular alternatives are:
Once you have set up your environment:
- Update pip and setuptools:
pip install -U pip setuptools - Install the repository with developer dependencies:
pip install -e .[dev] - Activate pre-commit (only once, after making a new venv):
pre-commit install- Runs automatically on your staged changes before every commit
- Includes linting and formatting via ruff
- To check the whole repo, run
pre-commit run --all-files- Settings and documentation links for pre-commit and ruff are in .pre-commit-config.yaml and ruff.toml
- Pre-commit will run automatically during CI, linting and formatting the entire repository.
Testing
Once you are set up as a developer, run pytest from the root dir. Increase verbosity with -v and -vv.
Test coverage results will be saved to htmlcov/index.html.
Test files are in tests/
Test output will be written to tests/test_output/
Releasing
Versioning is done by GitHub tag, thanks to SetupTools-SCM. Use semantic versioning when tagging. When a new release is made in GitHub, a workflow automatically publishes to PyPI.
Metadata
Release files for ThermalNetwork 0.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| thermalnetwork-0.5.0.tar.gz | 12.6 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| thermalnetwork-0.5.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 25.3 MB
Release files / thermalnetwork-0.5.0.tar.gz
| Download URL | thermalnetwork-0.5.0.tar.gz |
|---|---|
| Size | 12.6 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2206a0a4ac862c6c647fff1f77582bd320db925386350ac6ed49504e73aa7d89
|
|
BLAKE2b-256 checksum How to use checksums |
fbc22d3c1d30313eca935c52077a3a2b105e7326429674aa8756d5b73251aaee
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Jan 27, 2026.
Transparency logRelease files / thermalnetwork-0.5.0-py3-none-any.whl
| Download URL | thermalnetwork-0.5.0-py3-none-any.whl |
|---|---|
| Size | 12.8 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
249e3bd50d75d51e15bea2803c7ffc2e6b80f0c6ddc5848e03799cf1d6de200c
|
|
BLAKE2b-256 checksum How to use checksums |
37927781207245c38b8f815fef91e9e99b8eb3abbc0b95287bbe527c257da4c3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Jan 27, 2026.
Transparency log