Releases: ugr-sail/sinergym
Update v1.8.2
Patch Notes
Fixes #192
Fixes #191
Fixes #166
Fixes #194
Fixes #198
Fixes #155
Fixes #151
Changelog
- Added try_env.py to workspace in Dockerfile.
- Deleted default parameter for dictionary in Normalize wrapper and add that dictionary specification to load_model.py.
- Added conda environment file to configure automatically with python 3.9 version and Sinergym module (and pip dependencies).
- Fix datacenter-cool-X environments name in Sinergym register.
- Re-estructure documentation order, installation explanation re-estructured too, added config tests, more examples about how to use Sinergym.
- Added
year
field to Sinergym in order to define runperiods. - Added runperiod extra_parameter (changes in common, controller, wrappers, rewards, eplus_env in order to adapt it to new year field in environmets).
- New documentation in extra configuration.
- README.md synchronized with the Sinergym documentation.
- Tests adapted to new version.
- Modify .devcontainer.
- Deleted default python version (python3 command) from Dockerfile.
- Now it is defined a base reward class,
BaseReward
, which receives the environment as input as well as other parameters to be used. Then, the__call__
method calculates the reward, based on the attributes of the environment.
Update v1.7.8
Patch Notes
Fixes #180
Fixes #185
Fixes #187
Fixes #182
Fixes #5
Fixes #189
Fixes #190
Changelog
- Added docs/build/ to .gitignore.
- Deleted docs/build/ from repository.
- Added gh-pages to commit and push documentation workflow.
- Edited documentation with this new feature.
- Edited the gh-pages branch by removing the entire repository except for the documentation compilation.
- Modified merge workflow, documentation build in folder called compilation in main branch and added new path to index.html.
- Update documentation with new functionality.
- Added a python script to load trained models in local storage.
- Added stable-baselines3 module to test tag in setup.py extra_requires packages.
- Changed names generated in
DRL_battery.py
in order to solve #187 - Added act_repeat and max_data_store_num parameters to env constructor (for simulator).
- Added checked new weathers using Sinergym automatic adaptation IDF (#119)
- Added Eplus-datacenter-cool-X environments to available registered ID's.
- Added news Eplus-datacenter-cool-X ID's to documentation.
- Adapted tests in order to be independent between them.
Update v1.7.7
Patch Notes
Fixes #169
Fixes #171
Fixes #173
Fixes #168
Fixes #175
Fixes #176
Fixes #178
- Updated RBC according to FSEC standard setpoints. Now both outdoor air drybulb temperature and hour (day, evening, night) are considered in order to update setpoints.
- A new function has been added to utils/common.py in order to avoid repeated code when obtaining seasonal comfort ranges.
- This new function has been added in rewards.py methods as well as in the updated RBC in controllers.py.
- Changed name .vscode to .vscode_conf in order to not affect current Visual Studio Code IDE.
- Updated merge_pr.yml workflow in order to solve #168
- Deleted
ERROR: Energyplus Completed Succesfully
message in Energyplus log. - Fixed duplicated
progress.csv
lines in Sinergym logger. - Stable Baselines algorithms don't implement an
env.close()
when training ends. Thisenv.close()
has been added inDRL_battery.py
accordingly. DRL_battery.py
total timesteps training with MINUS 1 in order to not generate an empty episode at the end.- Re-structuration of Evaluation Callback.
- Separated training env of evaluation env in
DRL_battery.py
in order to not merge logs and outputs of both processes. - Fixed tests to integrate all bug fixes explained above.
- Modified MANIFEST.in in order to include sinergym/data in PyPi distribution and solve #176
- Solved #178
Update v1.7.6
Issues
Fixes #137
Fixes #161
Fixes #159
Changelog
- Updated DDY and EPW files from energyplus instead of onbuild.org.
- Updated environments registered with new filenames.
- Minor change: Solved label bug in feature request issue template.
- ci skip possibility when
[ci skip]
string is present in commit message (pull request). - Trying to solve PyPi workflow.
- Updating version from
1.7.5
to1.7.6
Update v1.7.5
Fix
Fixes #132
Fixes #120
Fixes #136
Fixes #142
Fixes #135
Fixes #141
Fixes #147
Fixes #148
Fixes #154
Fixes #156
Fixes #146
Changelog
-
Setup.cfg has been included in repository root.
-
Setup.py and Setup.cfg include more Sinergym package information such as packages, license, authors, email, description, GitHub URL, project keywords, long description, classifiers...
-
MANIFEST.in is included in order to detect
requirements.txt
andsinergym/version.txt
in PyPi package. -
Documentation generated about PyPi installation:
pip install sinergym[extras]
. -
README.md updated in consequence.
-
Added CITATION.bib to repository root.
-
Added CODE_OF_CONDUCT.md to repository root.
-
Added CONTRIBUTING.md to repository root.
-
Added PULL_REQUEST_TEMPLATE.md
-
Added ISSUE_TEMPLATES
-
Modified protection.yml workflow; test changes raise a warning instead of an error.
-
Added if statement for source documentation changes in documentation_check.yml workflow
-
Added same improvement to the documentation job in merge_pr.yml workflow
-
Update GitHub actions section in documentation accordingly.
-
Added a job in create release workflow. Whether there are secrets configured, then PyPi will be updated with the new version.
-
Added documentation for GitHub Actions section in order to include this PyPi automatization.
-
Apply isort standard to Sinergym code (whole project).
-
Included isort in requirements.txt
-
Added isort functionality in format check (create PR workflows) and bot format commit (merge workflow).
-
Unified all pull request workflow in a yml file (create_pr.yml)
-
Added documentation in GitHub Action section.
-
Added isort info in CONTRIBUTING.md
-
Module sinergym has been typed in inputs/outputs using pytype
-
Added .pytype/ and .pytest_cache to gitignore.
-
Added pytype to Contributing.md
-
Added pytype workflow in pull request event.
-
Documentation for pytype workflow.
-
Added contributing reference to documentation.
-
Pull request template update with pytype and isort checklist.
-
Updated tests for simulator changes with pytype.
-
Updated docstring with pytypes specification (Google Standard).
-
Specified google standard for docstring in CONTRIBUTING.md
-
Bots workflows to commit changes are synchronized now.
-
Added
enchant
C library to Dockerfile in order to enable sphinx-spelling extension. -
Added sphinxcontrib-spelling and pyenchant to doc and extra tag in setup.py
-
Created spelling_wordlist.txt in order to ignore words relational with Sinergym project.
-
Fixed Spelling errors in documentation (docstring too)
-
(Workflows have been checked in forked repository).
-
Created spelling workflow in create_pr.yml and merge_pr.yml.
-
Updated CONTRIBUTING.md and PR template checklist with new functionality.
-
Updated Sinergym version to
v1.7.5
Update v1.7.2 - workflows update
Patch Notes
- Workflows have been updated in order to support pull requests from forked repositories.
- Now workflow in pull request check code format (warnings), documentation and tests.
- Protection workflow is created in order to check users have no modified workflows or tests (this workflow use code base PR always).
- When a pull request is merged or there is a commit pushed in main branch, a workflow will update documentation and code format using a bot commit and it will update container latest tag in Docker Hub
- Github Action documentation has been updated.
Update v1.7.0 - Config class in simulator
Patch Notes
- Close #110 #118 #117 #115 #113 #112 #111 #109 #108
- Get runperiod info uses opyplus functionality.
- Get episode length uses opyplus functionality.
- Class Config created and integrated in Sinergym simulator like instance.
- IDF's specific for each weather have been deleted (only original IDF's are in the repository).
- DDY's files added to repository to get Location and DesignDays about each weather file.
- Tests have been updated for new simulator structure and some tests about Config class have been added.
Config Class
- Config class has all models like python objects (using opyplus module for that purpose):
- Building (IDF)
- Weather (EPW)
- Energyplus dictionary (IDD)
- Location and Designday available for each weather (DDY)
- Config class has functionality to save EPW and IDF version files in episodes dir_path output from python models.
- Currently, Config class manages experiments directory path and subdirectories (migrated from simulator).
- Get runperiod, get episode length and all functionality which depends on building models (opyplus object) have been migrated from simulator too.
- Config can modify building in order to apply weather location and designdays (adaptation to a specific EPŴ functionality) and apply extra configuration in simulation with a dictionary parameter (documentation will be updated).
- Auto-delete episodes directories when number of them is upper than maximum is migrated to config too.
- Config apply variation to EPW and store the file in episode folder.
Common
- Added sinergym.utils.common.py functionality to read and update building model:
- Get opyplus record keys.
- Prepare a batch of records.
Simulator
- Deleted all functionality integrated in Config.
Dockerfile
- Dockerfile has been updated with python
3.9.10
in order to close #115 BUG.
GitHub Workflows
- Workflow update the latest tag in Docker Hub has been separated from testing process (now is executed when pull request is merged definitively).
Documentation
- Documentation for this pull request has been written.
Update v1.6.0
Patch notes
- [BUGFIX] Solved documentation workflow bug with API reference compilation (Sphinx).
- [BUGFIX] ZeroDivision Exception managed in normalization wrapper.
- Added gcloud modules in [extras] packages from setup.py.
- Added Documentation for Google Cloud Credentials
- Added Exception management when MLFLOW_TRACKING_URI is an invalid IP.
- Enhanced some docstring code.
- Added docs/source/_build to gitignore (this directory is generated by visual studio code preview).
- Update README.md
DRL_battery.py
- Configuration for remote_store and/or mlflow_store.
- Added artifact management in mlflow server.
Update v1.4.0 - Google Cloud Update
Patch Notes
- Remote containers auto-delete when their experiments finish.
- Dockerfile has been updated in order to support Mlflow functionality and solve #87.
- Added DRL dependency to container registry built from
setup.py
. - cloud_manager.py create a remote bucket if it doesn't exist to store experiments results.
- Added
autopep8
to repository requirements. - Added functionality to sinergym/utils/gcloud.py in order to manage buckets and Google cloud Command from remote containers.
- Experiments now have better names.
- Ternsorboard log path can be customized.
- Mlflow script to set up a Mlflow tracking server in Google Cloud.
- Migrate eplus_old to eplus in simulator script
- Set version variable in sinergym package
- Documentation (some details of this pull request have been added too)
Bugs Solved
Update v1.3.0 - Rebranding Energym to Sinergym
Patch Notes
- The name of this project and tool will be Sinergym!
- All documentation and script have been adaped to this new name.
- Third party accounts and tools have been adapted accordingly as well such as Google Cloud Platform, Docker Hub, container registry, etc.