Releases: ugr-sail/sinergym
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.
Update v1.2.1 - Github Actions
GitHub Actions is here!
❌ Travis has been deactivated due to its temporal interruption service. (in any case, travis conf will be in repository)
✔️ GitHub Action will do this job instead and more!
Patch Notes
- There is a bot checking autopep8 format in python code during pull request (automated commits).
- There is another bot building repository environment with Dockerfile, Executing tests with that and updating Docker Hub the latest tag if all tests have been passed.
- Release event is caught in order to update Docker Hub with specified tag for repository. (repared)
Update v1.1.0
EnergyPlus 9.5.0 can be used by Energym!
Patch Notes
- IDF files included in Energym have been updated using EnergyPlus IDF converter. Thanks, @miguems and @jajimer for that information.
- This update to Energyplus 9.5.0 changes some variable names such as
Facility Total HVAC Electric Demand Power
; its new name isFacility Total HVAC Electricity Demand Rate
. This has been changed where needed. opyplus
library doesn't contain the new IDD file for Energyplus 9.5.0, so this file has been manually specified in the code (using an ENV variable).- The IDF update changes runperiods, so year start and end are specified now. The simulator has been updated in order to manage this correctly.
- The Dockerfile and devcontainer now use Energyplus version 9.5.0.
- Some tests have been updated in order to respect compatibility.
Update v1.0.0 - Energym loggers
This is the first version of Energym!
close #35, #37, #40, #41, #42, #43, #44
Patch Notes:
- Range getter is developed in energym/utils/common.py in order to obtain absolute ranges in a set of Energym outputs. This information is used to normalize observation according to each type of environment.
- Added normalized observation to Tensorboard when environment is correctly wrapped.
- Improved Tensorboard custom callback code and developed compatibility with OnPolicy/OffPolicy algorithms
- Fixed some bug issues.
- More docstring documentation.
- Modified gym action space in continuous environments. Now is [-1,1] in all environments. Energym has setpoint_ranges for each value which will be transformed into Energym simulation action space correctly.
- New gym action space brings some bugs with Rule Based Controller. They have been solved.
- Adapted tests to this new repository version.