Skip to content

Releases: ugr-sail/sinergym

Update v1.7.6

16 Feb 09:02
14bbc82
Compare
Choose a tag to compare

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 to 1.7.6

Update v1.7.5

14 Feb 16:03
Compare
Choose a tag to compare

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 and sinergym/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

31 Jan 09:17
Compare
Choose a tag to compare

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

28 Jan 12:30
6a69afe
Compare
Choose a tag to compare

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

28 Dec 10:30
ff03a80
Compare
Choose a tag to compare

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

04 Nov 11:05
0510f7f
Compare
Choose a tag to compare

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)

closes #77 #79 #80 #85 #88

Bugs Solved

Fix #86, #87, #89, #90, #92 and #93

Update v1.3.0 - Rebranding Energym to Sinergym

29 Sep 14:45
9b49b9c
Compare
Choose a tag to compare

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

09 Sep 11:43
Compare
Choose a tag to compare

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

26 Aug 10:25
54d8eef
Compare
Choose a tag to compare

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 is Facility 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

10 Jun 07:39
c7f656e
Compare
Choose a tag to compare

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.