BESOS
A collection of modules for the simulation and optimization of buildings and urban energy systems.
https://gitlab.com/energyincities/besos
Category: Consumption
Sub Category: Buildings and Heating
Last synced: about 4 hours ago
JSON representation
Repository metadata
Core functionality of the BESOS platform (besos.uvic.ca), including building energy simulation via EnergyPlus, optimization via Platypus and surrogate-modelling via scikit-learn.
- Host: gitlab.com
- URL: https://gitlab.com/energyincities/besos
- Owner: energyincities
- License: gpl-3.0
- Created: 2018-03-06T18:44:04.135Z (about 7 years ago)
- Default Branch: master
- Last Synced: 2025-04-17T23:53:58.799Z (10 days ago)
- Stars: 12
- Forks: 5
- Open Issues: 20
- Releases: 0
https://gitlab.com/energyincities/besos/blob/master/
 BESOS: Building and Energy Systems Optimization and Surrogate-modelling ===== [](https://pypi.org/project/besos/) [](https://pypi.org/project/besos/) [](https://pypi.org/project/besos/) [](https://www.gnu.org/licenses/gpl-3.0) [](https://doi.org/10.5281/zenodo.4633738) [](https://doi.org/10.21105/joss.02677) [](https://besos.readthedocs.io/en/stable/) [](https://gitlab.com/energyincities/besos/-/commits/master) [](https://gitlab.com/energyincities/besos/) [](https://github.com/psf/black) [](https://github.com/pre-commit/pre-commit) BESOS is a collection of modules for the simulation and optimization of buildings and urban energy systems. BESOS is designed to help researchers and practitioners to design more sustainable, district-integrated buildings. It integrates [EnergyPlus](https://energyplus.net/) and [EnergyHub](https://gitlab.com/energyincities/python-ehub) simulation software with optimization and machine learning functionality. this includes lots of help with 'surrogate modelling', where machine learning models are fitted to data generated by parametric runs of detailed simulation models. BESOS facilitates running large-scale parametric analyses of EnergyPlus or EnergyHub models with output in a pandas DataFrame and using this to train machine learning surrogate models with scikit-learn or TensorFlow. We provide access to commonly used optimization algorithms via existing optimization toolboxes. Installing BESOS ------------ Ensure that you have Python 3.7+ and the corresponding version of pip. ```pip install besos[complete]``` (If you do not want to run the example notebooks, you can use `pip install besos`, which will install with less dependencies.) ### Install Dependencies We use third party software to run building models (`EnergyPlus`), to solve EnergyHub models (a MILP solver), and make use of Rbfopt (via `Bonmin`). To use this functionality you need to install the software for the corresponding the task. GLPK and Bonmin are optional, it is possible to use Besos without them. #### Install Energyplus Download EnergyPlus [here](https://energyplus.net/downloads). (`BESOS` is currently supporting versions from 8.8-9.3+). **For windows**: After downloading the installation file, double click the setup file to start installing. After setup is complete, navigate to your `System Properties` and in the `Advanced` tab, select `Environment Variables`. In either your `User Variables` or `System Variables` (Depending on your permissions), double click on `Path` and add the location of your `EnergyPlus` folder to the end of it. Ensure the path is C:\EnergyPlusV{version} for proper integration with Besos. **For linux**: Run the downloaded script, and accept the prompt to add symlinks. Ensure the path is /usr/local/EnergyPlus-{version} for proper integration with Besos. #### TensorFlow (only required to use TensorFlow) TensorFlow is a machine learning library of which we have provided some examples. This package is quite large 300 mb therefore we have not added this to the requirements. To install TensorFlow use pip install. ```pip install tensorflow``` #### MILP solver (only required to use EnergyHub) [EnergyHub](https://gitlab.com/energyincities/python-ehub) modelling requires a linear programming solver that is supported by [PuLP](https://pypi.org/project/PuLP/), such as `GLPK`, `CPlex`, or `Gurobi`. To learn about how to setup a custom solver please review the readthedocs page on [Customizing EnergyHub Solver](https://besos.readthedocs.io/en/stable/setting_a_custom_solver.html). `GLPK` is free and open source. It can be found [here](https://www.gnu.org/software/glpk/). If you are using a Debian based operating system, you can install GLPK with `sudo apt install glpk-utils` #### Optional: Bonmin (only required to use RBFopt) `Bonmin` is required to use the `RBFopt` optimizer. How to install `Bonmin` can be found [here](https://ampl.com/products/solvers/open-source/#bonmin). ### Running Example Notebooks Examples of Besos' functionality are provided through example notebooks. The notebooks can be viewed as Python scripts or through a Jupyter notebook. You can run notebooks from the [Besos platform](https://besos.uvic.ca/), which has the besos library and all dependencies pre-installed, or you can install Jupyter locally. To run the notebooks you need [Juptyer](https://jupyter.org/) installed. Jupyter can be installed using: `pip install juptyer` and launched from the current directory with `jupyter notebook`. Contributing and Support ------------ When creating gitlab issues, please search the existing [gitlab issues](https://gitlab.com/energyincities/besos/-/issues) to see if someone else has already made the same request. ### Feature Requests To request a feature open a new issue with your feature request. ### Bug reports/Questions If you have found a bug, please open a gitlab issue describing the bug. Make sure to include steps to reproduce the bug. Ideally, include a small bit of code that causes the bug. If the bug causes an error, please include the traceback. If the bug causes the wrong behaviour, please mention what besos should do in this situation. ### Code contributions If you are interested in contributing to the code please review the readthedocs page on [contributing to the code](https://besos.readthedocs.io/en/stable/contribute_to_the_code.html). ### Example notebooks A good way to start is using the example notebooks. They are described in the [examples overview](https://gitlab.com/energyincities/besos-examples/-/blob/master/besos/examples/ExamplesOverview.ipynb)
Committers metadata
Last synced: 6 months ago
Total Commits: 1,339
Total Committers: 28
Avg Commits per committer: 47.821
Development Distribution Score (DDS): 0.684
Commits in past year: 25
Committers in past year: 4
Avg Commits per committer in past year: 6.25
Development Distribution Score (DDS) in past year: 0.32
Name | Commits | |
---|---|---|
Will Beckett | w****t@u****a | 423 |
Peter Wilson | P****9@g****m | 197 |
Theo Christiaanse | t****i@u****a | 168 |
Paul Kovacs | p****s@u****a | 89 |
Evan Guo | e****7@u****a | 78 |
Mark Hills | m****6@u****a | 64 |
peterrwilson99 | p****9@g****m | 53 |
Chase | p****3@g****m | 50 |
Goh Sato | g****o@o****m | 46 |
Bryan Eriksson | b****3@g****m | 37 |
Ross Alexandra | r****s@h****m | 34 |
Unknown | j****h@s****a | 28 |
Cameron Kwan | c****n@g****m | 26 |
westerm | p****n@u****a | 8 |
unknown | T****o@D****a | 7 |
Boris Kudryavtsev | b****k@g****m | 6 |
AndersWoodruff | a****1@g****m | 4 |
Ralph Evins | r****s@u****a | 4 |
Aum Pandya | a****2@g****m | 2 |
Florent Herbinger | f****r@o****m | 2 |
Paul | p****n@u****a | 2 |
Wes | w****b@l****a | 2 |
bryaneriksson | b****n@u****a | 2 |
theochristiaanse | t****e@g****m | 2 |
Dylan | d****p@h****m | 2 |
Peter Wilson | p****m | 1 |
Stefan Pfenninger | s****n@p****g | 1 |
Wesley | w****1@g****m | 1 |
Committer domains:
- uvic.ca: 9
- pfenninger.org: 1
- live.ca: 1
- desktop-ce61no1.uvic.ca: 1
- shaw.ca: 1
Issue and Pull Request metadata
Last synced: 6 months ago
Total issues: 20
Total pull requests: 100
Average time to close issues: 3 months
Average time to close pull requests: 2 months
Total issue authors: 10
Total pull request authors: 7
Average comments per issue: 1.1
Average comments per pull request: 0.55
Merged pull request: 0
Bot issues: 0
Bot pull requests: 0
Past year issues: 0
Past year pull requests: 0
Past year average time to close issues: N/A
Past year average time to close pull requests: N/A
Past year issue authors: 0
Past year pull request authors: 0
Past year average comments per issue: 0
Past year average comments per pull request: 0
Past year merged pull request: 0
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- bryaneriksson3 (4)
- peterrwilson99 (4)
- KCant (2)
- mohammad.shamsi (2)
- theochri (2)
- will0 (2)
- benincalf (1)
- kh.lari (1)
- LorenzoBottaccioli (1)
- lukasallan (1)
Top Pull Request Authors
- will0 (45)
- theochri (20)
- peterrwilson99 (17)
- bryaneriksson3 (13)
- pkovacs (2)
- xm-evanguo (2)
- sjpfenninger (1)
Top Issue Labels
- Priority :: Medium (7)
- Priority :: Low (4)
- Type :: Bug (4)
- Type :: Feature (4)
- Type :: Maintenance (4)
- Status :: In Progress (3)
- Status :: Accepted (2)
- For New Co-Ops (2)
- Type :: Question (1)
- Status :: Blocked (1)
- Type :: Documentation (1)
- Priority :: High (1)
Top Pull Request Labels
- Type :: Maintenance (5)
- Priority :: Medium (4)
- Priority :: Low (2)
- Status :: Accepted (2)
- Type :: Feature (2)
- Type :: Bug (2)
- Status :: In Progress (2)
- Status :: Review (1)
Package metadata
- Total packages: 2
-
Total downloads:
- pypi: 1,268 last-month
- Total docker downloads: 32
- Total dependent packages: 2 (may contain duplicates)
- Total dependent repositories: 6 (may contain duplicates)
- Total versions: 40
- Total maintainers: 1
pypi.org: besos
A library for Building and Energy Simulation, Optimization and Surrogate-modelling
- Homepage: https://gitlab.com/energyincities/besos
- Documentation: https://besos.readthedocs.io/
- Licenses: GNU General Public License (GPL)
- Latest release: 2.2.3 (published 11 months ago)
- Last Synced: 2025-04-26T14:37:00.596Z (1 day ago)
- Versions: 34
- Dependent Packages: 1
- Dependent Repositories: 5
- Downloads: 1,098 Last month
- Docker Downloads: 16
-
Rankings:
- Dependent packages count: 3.244%
- Docker downloads count: 3.552%
- Dependent repos count: 6.742%
- Average: 9.796%
- Downloads: 12.693%
- Forks count: 15.416%
- Stargazers count: 17.131%
- Maintainers (1)
pypi.org: besos-examples
A collection of examples for the besos python package
- Homepage: https://gitlab.com/energyincities/besos
- Documentation: https://besos-examples.readthedocs.io/
- Licenses: GNU General Public License (GPL)
- Latest release: 0.1.0 (published over 2 years ago)
- Last Synced: 2025-04-26T14:37:00.742Z (1 day ago)
- Versions: 6
- Dependent Packages: 1
- Dependent Repositories: 1
- Downloads: 170 Last month
- Docker Downloads: 16
-
Rankings:
- Dependent packages count: 3.244%
- Docker downloads count: 3.552%
- Forks count: 15.416%
- Average: 16.92%
- Stargazers count: 17.131%
- Dependent repos count: 22.088%
- Downloads: 40.09%
- Maintainers (1)
Dependencies
- Sphinx *
- besos *
- ipython *
- sphinx_rtd_theme *
- SALib *
- besos-examples *
- distributed *
- ipysheet *
- ipywidgets *
- joblib *
- jupyter *
- openpyxl *
- papermill *
- pvlib *
- pyKriging *
- scikit-learn *
- scipy *
- seaborn *
- black * development
- ipykernel * development
- openpyxl * development
- pyKriging * development
- pytest * development
- pytest-cov * development
- pytest-regtest * development
- setuptools * development
- toolz * development
- xlrd ==1.2.0 development
- Deprecated *
- PyYAML *
- Shapely *
- dask *
- eppy *
- geomeppy *
- matplotlib ==3.2.2
- numpy *
- packaging *
- pandas *
- platypus-opt *
- pyDOE2 *
- pyehub *
- rbfopt *
- tqdm *
Score: 13.97648589673863