Skip to main content

A thermal network solver for GHE sizing.

Project description

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.

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

thermalnetwork-0.5.0.tar.gz (12.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

thermalnetwork-0.5.0-py3-none-any.whl (12.8 MB view details)

Uploaded Python 3

File details

Details for the file thermalnetwork-0.5.0.tar.gz.

File metadata

  • Download URL: thermalnetwork-0.5.0.tar.gz
  • Upload date:
  • Size: 12.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for thermalnetwork-0.5.0.tar.gz
Algorithm Hash digest
SHA256 2206a0a4ac862c6c647fff1f77582bd320db925386350ac6ed49504e73aa7d89
MD5 ea65774f329388d4345971399b8c2e2e
BLAKE2b-256 fbc22d3c1d30313eca935c52077a3a2b105e7326429674aa8756d5b73251aaee

See more details on using hashes here.

Provenance

The following attestation bundles were made for thermalnetwork-0.5.0.tar.gz:

Publisher: pypi_release.yml on NatLabRockies/ThermalNetwork

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file thermalnetwork-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: thermalnetwork-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 12.8 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for thermalnetwork-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 249e3bd50d75d51e15bea2803c7ffc2e6b80f0c6ddc5848e03799cf1d6de200c
MD5 6584a90e5accf2e94bbf2b85aab3cbea
BLAKE2b-256 37927781207245c38b8f815fef91e9e99b8eb3abbc0b95287bbe527c257da4c3

See more details on using hashes here.

Provenance

The following attestation bundles were made for thermalnetwork-0.5.0-py3-none-any.whl:

Publisher: pypi_release.yml on NatLabRockies/ThermalNetwork

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page