ThermalNetwork
A library for sizing multiple ground heat exchangers distributed around a single-pipe thermal network.
https://github.com/NREL/ThermalNetwork
Category: Renewable Energy
Sub Category: Geothermal Energy
Keywords from Contributors
energyplus urban-energy-modeling
Last synced: about 21 hours ago
JSON representation
Repository metadata
- Host: GitHub
- URL: https://github.com/NREL/ThermalNetwork
- Owner: NREL
- License: bsd-3-clause
- Created: 2023-07-13T19:16:05.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-12-17T21:58:05.000Z (24 days ago)
- Last Synced: 2025-12-18T06:10:32.024Z (24 days ago)
- Language: Python
- Size: 33.2 MB
- Stars: 4
- Watchers: 5
- Forks: 9
- Open Issues: 2
- Releases: 20
-
Metadata Files:
- Readme: README.md
- License: LICENSE
README.md
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.
- 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.
Owner metadata
- Name: National Renewable Energy Laboratory
- Login: NREL
- Email:
- Kind: organization
- Description:
- Website: http://www.nrel.gov
- Location: Golden, CO
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/1906800?v=4
- Repositories: 599
- Last ynced at: 2024-12-18T09:41:07.898Z
- Profile URL: https://github.com/NREL
GitHub Events
Total
- Create event: 27
- Release event: 6
- Issues event: 14
- Watch event: 3
- Delete event: 16
- Member event: 1
- Issue comment event: 49
- Push event: 95
- Pull request review comment event: 71
- Pull request review event: 74
- Pull request event: 48
- Fork event: 7
Last Year
- Create event: 14
- Issues event: 1
- Release event: 3
- Watch event: 2
- Delete event: 7
- Issue comment event: 13
- Push event: 67
- Pull request review comment event: 55
- Pull request review event: 54
- Pull request event: 24
- Fork event: 6
Committers metadata
Last synced: 3 days ago
Total Commits: 245
Total Committers: 7
Avg Commits per committer: 35.0
Development Distribution Score (DDS): 0.527
Commits in past year: 64
Committers in past year: 5
Avg Commits per committer in past year: 12.8
Development Distribution Score (DDS) in past year: 0.172
| Name | Commits | |
|---|---|---|
| Nathan Moore | n****e@n****v | 116 |
| Matt Mitchell | m****l@n****v | 67 |
| brianlball | b****l@n****v | 45 |
| Tanushree | t****n@n****v | 7 |
| Chris Mackey | c****s@l****s | 5 |
| Nicholas Long | n****g@n****v | 3 |
| dependabot[bot] | 4****] | 2 |
Committer domains:
- nrel.gov: 5
- ladybug.tools: 1
Issue and Pull Request metadata
Last synced: 4 days ago
Total issues: 17
Total pull requests: 93
Average time to close issues: 9 days
Average time to close pull requests: 12 days
Total issue authors: 4
Total pull request authors: 4
Average comments per issue: 0.35
Average comments per pull request: 1.23
Merged pull request: 74
Bot issues: 0
Bot pull requests: 0
Past year issues: 1
Past year pull requests: 26
Past year average time to close issues: N/A
Past year average time to close pull requests: 6 days
Past year issue authors: 1
Past year pull request authors: 4
Past year average comments per issue: 0.0
Past year average comments per pull request: 1.04
Past year merged pull request: 18
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- vtnate (8)
- tanushree04 (5)
- chriswmackey (3)
- mitchute (1)
Top Pull Request Authors
- vtnate (70)
- mitchute (14)
- chriswmackey (8)
- kflemin (1)
Top Issue Labels
- bug (4)
- enhancement (3)
- tests (2)
- ignore for release (2)
Top Pull Request Labels
- enhancement (45)
- ignore for release (13)
- tests (12)
- bug (11)
- documentation (6)
- question (2)
Package metadata
- Total packages: 1
-
Total downloads:
- pypi: 140 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 16
- Total maintainers: 3
pypi.org: thermalnetwork
A thermal network solver for GHE sizing.
- Homepage: https://github.com/NREL/ThermalNetwork
- Documentation: https://thermalnetwork.readthedocs.io/
- Licenses: bsd-3-clause
- Latest release: 0.4.1 (published 4 months ago)
- Last Synced: 2026-01-07T09:15:53.420Z (4 days ago)
- Versions: 16
- Dependent Packages: 0
- Dependent Repositories: 0
- Downloads: 140 Last month
-
Rankings:
- Dependent packages count: 7.519%
- Average: 31.408%
- Dependent repos count: 55.297%
- Maintainers (3)
Score: 8.700514248543275