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
- As general guidance, we recommend using virtual environments to avoid dependencies colliding between your Python projects. [venv](https://docs.python.org/3/library/venv.html) is the Python native solution that will work everywhere, though other options may be more user-friendly.
- Some popular alternatives are:
[pyenv](https://github.com/pyenv/pyenv) and [the virtualenv plugin](https://github.com/pyenv/pyenv-virtualenv) work together nicely for Linux/Mac machines
[virtualenv](https://virtualenv.pypa.io/en/latest/)
[miniconda](https://docs.conda.io/projects/miniconda/en/latest/)
Activate pre-commit (only once, after making a new venv): pre-commit install
Runs automatically on your staged changes before every commit
Update pip and setuptools: pip install -U pip setuptools
Install the respository with developer dependencies: pip install -e .[dev]
- 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
# Testing
Once you are set up as a developer, run pytest from the root dir. Increase verbosity with -v and -vv.
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](https://semver.org/). When a new release is made in GitHub, a [workflow](https://github.com/marketplace/actions/pypi-publish) automatically releases to PyPI.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file ThermalNetwork-0.2.3rc1.tar.gz
.
File metadata
- Download URL: ThermalNetwork-0.2.3rc1.tar.gz
- Upload date:
- Size: 14.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e14e478726127ef7477b763c251fb483afecae5d2b68e88f04bf2a8f3d5a4ea7 |
|
MD5 | 661648c29e05d7f50351fd7742b8ed8a |
|
BLAKE2b-256 | b2298be0cf7f03cf3845f2241b4a57c4e7a1425cd12ea5a6b5a1e83b0f3d2e20 |
File details
Details for the file ThermalNetwork-0.2.3rc1-py3-none-any.whl
.
File metadata
- Download URL: ThermalNetwork-0.2.3rc1-py3-none-any.whl
- Upload date:
- Size: 18.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba1f5d947c4aea03e4f3fab537f76da253d33e07ea0d60fbb3664e4c117cbc52 |
|
MD5 | cad9ad8f977603af4853b02dc42ea666 |
|
BLAKE2b-256 | adf1470864230f25ba264edb7b3199e979d334e3c74b9cca798e8f0b6c8f44a3 |