SunPeek

Implements a dynamic, in situ test methodology for large solar thermal plants.
https://gitlab.com/sunpeek/sunpeek

Category: Renewable Energy
Sub Category: Photovoltaics and Solar Energy

Last synced: about 4 hours ago
JSON representation

Repository metadata

Please see the README for an overview of the project, or here for software documentation: https://docs.sunpeek.org

https://gitlab.com/sunpeek/sunpeek/blob/main/

          ![Logo_Transparent_wide.svg](https://gitlab.com/sunpeek/sunpeek/-/raw/main/sunpeek/static_assets/logos/svg/SunPeek_Logo_dark.svg?inline=false)

# About SunPeek

![Supported Python](https://img.shields.io/pypi/pyversions/sunpeek)
[![Docker Image Version (latest semver)](https://img.shields.io/docker/v/sunpeek/sunpeek?label=image&logo=docker&sort=semver)](https://hub.docker.com/r/sunpeek/sunpeek)
[![PyPI](https://img.shields.io/pypi/v/sunpeek?logo=PyPi&logoColor=yellow)](https://pypi.org/project/sunpeek/)

SunPeek implements a dynamic, in situ test methodology for large solar thermal plants, packaged as an open source software application and Python library. It includes the first open source implementation of the ISO 24194 Power Check procedure for verifying the performance of solar thermal collector fields.

## What SunPeek is Used For

SunPeek can be applied to solar thermal plants *in operation* when measurement data is available. The following use cases are supported:

- **Performance Assessment**:
  SunPeek estimates the expected power output of solar thermal collector fields based on certified collector parameters (ISO 9806) and measured operating conditions. The estimated power in certain valid intervals (criteria defined in ISO 24194) is compared with measured power to assess whether the plant works as expected. This can be used for quality assurance, performance guarantees, or acceptance testing.

- **Performance Monitoring**:
  By continuously computing the ratio of measured versus estimated power over time, SunPeek enables identification of performance degradation, anomalies, and maintenance needs. This is particularly valuable for detecting the effects of collector soiling and verifying the impact of cleaning operations.

For detailed information about the Power Check methodology and workflow, see the [Power Check FAQs](https://docs.sunpeek.org/quick_start/overview/power_check_faq.html).

## Who SunPeek is For

SunPeek is designed for solar thermal plant operators, performance engineers, researchers, and equipment manufacturers. Serving as the reference software implementation of ISO 24194, it makes professional-grade solar thermal testing accessible, transparent, and auditable for everyone—from large commercial installations to smaller systems and developing markets.

## Handling Real-World Conditions

Unlike idealized lab testing, SunPeek handles real-world operational challenges including data gaps, sensor failures, diverse collector configurations, varying measurement setups, and complex plant hydraulics. The software implements comprehensive data validation, automated quality checks, and flexible sensor mapping to work with the data you actually have.

## Flexible Deployment

SunPeek is available in two complementary forms:

- **Web Application**, the [SunPeek WebUI](https://gitlab.com/sunpeek/web-ui): A complete, containerized web interface that makes configuration and ongoing monitoring of one or several solar thermal plants simple and intuitive. Designed for plant operators and engineers who need a ready-to-use solution accessible from any browser, with guided plant configuration, interactive data visualization, and automated report generation.

- **Python Library**, in this repository: Direct programmatic access to all SunPeek functionality for researchers, automation workflows, and integration into other tools. Enables custom analysis, algorithm development, and flexible data processing pipelines.

Both modes use the same underlying calculation engine, ensuring consistent and reproducible results across deployment types.

## Resources

| Resource                         | Link                                                                                          |
|----------------------------------|-----------------------------------------------------------------------------------------------|
| **Documentation & Installation** | [docs.sunpeek.org](https://docs.sunpeek.org)                                                  |
| **Website**                      | [sunpeek.org](https://sunpeek.org)                                                            |
| **SunPeek FAQs**                 | [SunPeek Overview](https://docs.sunpeek.org/quick_start/overview/sunpeek_faq.html)           |
| **Publications**                 | [Zenodo community](https://zenodo.org/communities/sunpeek)                                    |


## License and Copyright

Except where specifically noted otherwise, SunPeek is made available under the GNU Lesser General Public License. This means
that you can use the software, copy it, redistribute it and include it in other software, including commercial, proprietary
software, for free, as long as you abide by the terms of the GNU GPL, with the exceptions provided by the LGPL. In particular,
if you redistribute a modified version of the software, you must make the source code of your modifications available, and
if you include the software in another piece of software or physical product, you must give users notice that SunPeek is
used, and inform them where to obtain a copy of the SunPeek source code and license.

Note that the [SunPeek WebUI](https://gitlab.com/sunpeek/web-ui) is covered by a separate license, the BSD-3-Clause, see:
[BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause)

For copyright and license information, see:
* [AUTHORS.md](AUTHORS.md) - Copyright holders
* [NOTICES.md](NOTICES.md) - License notices and third-party attributions
* [COPYING.LESSER](COPYING.LESSER) and [COPYING](COPYING) - License text

## Contributing

Contributions are welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for developer setup instructions.

        

Owner metadata


Committers metadata

Last synced: 6 days ago

Total Commits: 259
Total Committers: 7
Avg Commits per committer: 37.0
Development Distribution Score (DDS): 0.575

Commits in past year: 65
Committers in past year: 7
Avg Commits per committer in past year: 9.286
Development Distribution Score (DDS) in past year: 0.477

Name Email Commits
Philip Ohnewein p****n@g****m 110
Lukas Feierl l****l@s****t 59
Marnoch Hamilton-Jones d****v@m****u 58
Philip Ohnewein p****n@a****t 15
Peter Zauner p****r@a****t 8
m.hamilton-jones m****s@a****t 7
Léo Bonal l****l@v****t 2

Committer domains:


Issue and Pull Request metadata

Last synced: 4 days ago


Package metadata

pypi.org: sunpeek

Large Solar Thermal Monitoring Tool. Implements the Power Check Method of ISO 24194

  • Homepage: https://gitlab.com/sunpeek/sunpeek
  • Documentation: https://docs.sunpeek.org
  • Licenses: gpl-3.0+
  • Latest release: 0.7.10 (published 13 days ago)
  • Last Synced: 2026-03-05T15:00:51.673Z (4 days ago)
  • Versions: 214
  • Dependent Packages: 1
  • Dependent Repositories: 1
  • Downloads: 1,283 Last month
  • Rankings:
    • Dependent packages count: 3.242%
    • Downloads: 5.24%
    • Average: 14.219%
    • Forks count: 15.414%
    • Dependent repos count: 22.077%
    • Stargazers count: 25.121%
  • Maintainers (3)

Dependencies

Dockerfile docker
  • python 3.8-slim build
  • sunpeek/poetry py3.8-slim build
deploy/docker-compose.yml docker
  • sunpeek/sunpeek latest
  • sunpeek/web-ui latest
  • timescale/timescaledb latest-pg14
  • traefik v2.8
dev-utils/docker-compose.yml docker
  • sunpeek/web-ui latest
  • timescale/timescaledb latest-pg14
tests/docker-compose.yml docker
  • timescale/timescaledb latest-pg14
poetry.lock pypi
  • 177 dependencies
pyproject.toml pypi
  • coolprop ~6.4
  • fastapi >=0.92
  • httpx *
  • kaleido 0.2.1
  • lxml *
  • metpy *
  • numpy *
  • onnxruntime *
  • pandas ^2
  • pint >=0.19.2
  • pint-pandas >=0.2
  • protobuf <4
  • psycopg2-binary *
  • pvlib *
  • pydantic ^1.10.5
  • pyephem *
  • pyproj <3.5.0
  • python ~3.8
  • python-dotenv *
  • python-multipart *
  • scikit-learn <1.2
  • scipy >=1.10
  • skl2onnx 1.13
  • sqlalchemy ^1.4
  • sqlalchemy-utils *
  • statsmodels *
  • sunpeek-exampledata >=0.1.0
  • times *
  • timezonefinder *
  • tomli ^2.0.1
  • trio *
  • uvicorn <0.18
  • yamlloader *

Score: 14.048398478328917