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://nrel.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/NREL/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 pyproject.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.3.0.tar.gz (12.0 MB view details)

Uploaded Source

Built Distribution

ThermalNetwork-0.3.0-py3-none-any.whl (12.1 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: thermalnetwork-0.3.0.tar.gz
  • Upload date:
  • Size: 12.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for thermalnetwork-0.3.0.tar.gz
Algorithm Hash digest
SHA256 fa0ad62ec2670bd52b68386034a5ca017e8fb2df003dae5d2994d358b3d76e5f
MD5 699f9f3653fa42f3d04b1d5f5b5f8067
BLAKE2b-256 98a3996f698808767fbb81339fd1f8915b6206691ded2451dfc259bca78b5500

See more details on using hashes here.

Provenance

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

Publisher: pypi_release.yml on NREL/ThermalNetwork

Attestations:

File details

Details for the file ThermalNetwork-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ThermalNetwork-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e85972d5c59fa995a31a2f4f797893644feb821b9ca44d35e6d0ac8cb45771c4
MD5 20f8de5a974e15f13efc27c353171131
BLAKE2b-256 977c8eba6939fc75ed953a526d414348ea7760d0a2bb2d8cbf7f401025ec8587

See more details on using hashes here.

Provenance

The following attestation bundles were made for ThermalNetwork-0.3.0-py3-none-any.whl:

Publisher: pypi_release.yml on NREL/ThermalNetwork

Attestations:

Supported by

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