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

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 respository 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
  • 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 will be reported to stdout.

Test files are in thermalnetwork/tests/

Test output will be written to thermalnetwork/tests/test_output/

Releasing

Increment the version in thermalnetwork/__init__.py. Use semantic versioning. When a new release from the main branch is made in GitHub, a workflow automatically releases 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.2.3.tar.gz (14.3 kB view details)

Uploaded Source

Built Distribution

ThermalNetwork-0.2.3-py3-none-any.whl (18.1 kB view details)

Uploaded Python 3

File details

Details for the file ThermalNetwork-0.2.3.tar.gz.

File metadata

  • Download URL: ThermalNetwork-0.2.3.tar.gz
  • Upload date:
  • Size: 14.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for ThermalNetwork-0.2.3.tar.gz
Algorithm Hash digest
SHA256 e50347427a4f5d8118dceb7dda01c426b92bfd5b7e1892a7606ece54d12d1184
MD5 effc5e4cdf527b4f83fee20afc87cf9a
BLAKE2b-256 13a8c7f253dbe62744dcbeeb4687da51b8f61c39430d56d451bd410d349db7d1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ThermalNetwork-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 7e02717e3b3e87b857fe13355a1f464974f6077c9ed089f40db20f9914575a5a
MD5 a41419171e2953ca31bda3fd0fac0c95
BLAKE2b-256 1d7f7e8b0a0de6b520a83a5d875bd46eee57cb2fe7c2cd31c2013d832351ddd9

See more details on using hashes here.

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