{"id":8861,"name":"dss-simpy-rl","description":"This repository is an Reinforcement Learning Platform for learning agents to control cyber-physical Power Distribution Systems resiliently. The cyber environment in based on SimPy Discrete Event Simulator, while the distribution system is backened by Open-DSS.","url":"https://github.com/nrel/dss-simpy-rl","last_synced_at":"2025-09-04T20:18:03.643Z","repository":{"id":232537890,"uuid":"626003568","full_name":"NREL/DSS-SimPy-RL","owner":"NREL","description":"This repository is an Reinforcement Learning Platform for learning agents to control cyber-physical Power Distribution Systems resiliently. The cyber environment in based on SimPy Discrete Event Simulator, while the distribution system is backened by Open-DSS.","archived":false,"fork":false,"pushed_at":"2023-05-08T16:30:21.000Z","size":12948,"stargazers_count":29,"open_issues_count":0,"forks_count":11,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-11T14:18:21.296Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NREL.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-04-10T15:34:40.000Z","updated_at":"2025-03-06T08:24:11.000Z","dependencies_parsed_at":"2024-04-10T07:08:21.564Z","dependency_job_id":"8045ae95-9447-4ab8-98d7-9a135b6ba645","html_url":"https://github.com/NREL/DSS-SimPy-RL","commit_stats":null,"previous_names":["nrel/dss-simpy-rl"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/NREL/DSS-SimPy-RL","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NREL%2FDSS-SimPy-RL","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NREL%2FDSS-SimPy-RL/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NREL%2FDSS-SimPy-RL/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NREL%2FDSS-SimPy-RL/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NREL","download_url":"https://codeload.github.com/NREL/DSS-SimPy-RL/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NREL%2FDSS-SimPy-RL/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273666382,"owners_count":25146364,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-04T02:00:08.968Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"NREL","name":"National Renewable Energy Laboratory","uuid":"1906800","kind":"organization","description":"","email":null,"website":"http://www.nrel.gov","location":"Golden, CO","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/1906800?v=4","repositories_count":599,"last_synced_at":"2024-12-18T09:41:07.898Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/NREL","funding_links":[],"total_stars":9633,"followers":943,"following":0,"created_at":"2022-11-02T20:42:15.539Z","updated_at":"2024-12-18T09:41:07.898Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NREL","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NREL/repositories"},"packages":[],"commits":{"message":"Repository syncing started."},"issues_stats":{"full_name":"nrel/dss-simpy-rl","html_url":"https://github.com/nrel/dss-simpy-rl","last_synced_at":null,"status":null,"issues_count":null,"pull_requests_count":null,"avg_time_to_close_issue":null,"avg_time_to_close_pull_request":null,"issues_closed_count":null,"pull_requests_closed_count":null,"pull_request_authors_count":null,"issue_authors_count":null,"avg_comments_per_issue":null,"avg_comments_per_pull_request":null,"merged_pull_requests_count":null,"bot_issues_count":null,"bot_pull_requests_count":null,"past_year_issues_count":null,"past_year_pull_requests_count":null,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":null,"past_year_pull_requests_closed_count":null,"past_year_pull_request_authors_count":null,"past_year_issue_authors_count":null,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":null,"past_year_bot_pull_requests_count":null,"past_year_merged_pull_requests_count":null,"created_at":"2025-09-04T20:17:32.369Z","updated_at":"2025-09-04T20:17:32.369Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/nrel%2Fdss-simpy-rl","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/nrel%2Fdss-simpy-rl/issues","issue_labels_count":{},"pull_request_labels_count":{},"issue_author_associations_count":{},"pull_request_author_associations_count":{},"issue_authors":{},"pull_request_authors":{},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-04T00:00:25.939Z","repositories_count":10081260,"issues_count":31307470,"pull_requests_count":96173836,"authors_count":10693646,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{},"past_year_pull_request_author_associations_count":{},"past_year_issue_authors":{},"past_year_pull_request_authors":{},"maintainers":[],"active_maintainers":[]},"events":{"total":{"WatchEvent":9,"ForkEvent":9},"last_year":{"WatchEvent":9,"ForkEvent":9}},"keywords":[],"dependencies":[{"ecosystem":"pypi","filepath":"environment.yaml","sha":null,"kind":"manifest","created_at":"2024-04-10T07:08:14.560Z","updated_at":"2024-04-10T07:08:14.560Z","repository_link":"https://github.com/NREL/DSS-SimPy-RL/blob/main/environment.yaml","dependencies":[{"id":17341521031,"package_name":"absl-py","ecosystem":"pypi","requirements":"==0.15.0","direct":true,"kind":"runtime","optional":false},{"id":17341521032,"package_name":"astor","ecosystem":"pypi","requirements":"==0.8.1","direct":true,"kind":"runtime","optional":false},{"id":17341521033,"package_name":"astunparse","ecosystem":"pypi","requirements":"==1.6.3","direct":true,"kind":"runtime","optional":false},{"id":17341521034,"package_name":"cached-property","ecosystem":"pypi","requirements":"==1.5.2","direct":true,"kind":"runtime","optional":false},{"id":17341521035,"package_name":"cachetools","ecosystem":"pypi","requirements":"==4.2.4","direct":true,"kind":"runtime","optional":false},{"id":17341521036,"package_name":"cffi","ecosystem":"pypi","requirements":"==1.15.0","direct":true,"kind":"runtime","optional":false},{"id":17341521037,"package_name":"charset-normalizer","ecosystem":"pypi","requirements":"==2.0.12","direct":true,"kind":"runtime","optional":false},{"id":17341521038,"package_name":"clang","ecosystem":"pypi","requirements":"==5.0","direct":true,"kind":"runtime","optional":false},{"id":17341521039,"package_name":"cloudpickle","ecosystem":"pypi","requirements":"==1.2.2","direct":true,"kind":"runtime","optional":false},{"id":17341521040,"package_name":"colorama","ecosystem":"pypi","requirements":"==0.4.5","direct":true,"kind":"runtime","optional":false},{"id":17341521041,"package_name":"cvxopt","ecosystem":"pypi","requirements":"==1.2.1","direct":true,"kind":"runtime","optional":false},{"id":17341521042,"package_name":"cycler","ecosystem":"pypi","requirements":"==0.11.0","direct":true,"kind":"runtime","optional":false},{"id":17341521043,"package_name":"dataclasses","ecosystem":"pypi","requirements":"==0.8","direct":true,"kind":"runtime","optional":false},{"id":17341521044,"package_name":"decorator","ecosystem":"pypi","requirements":"==4.4.2","direct":true,"kind":"runtime","optional":false},{"id":17341521045,"package_name":"docopt","ecosystem":"pypi","requirements":"==0.6.2","direct":true,"kind":"runtime","optional":false},{"id":17341521046,"package_name":"dss-python","ecosystem":"pypi","requirements":"==0.10.7.post1","direct":true,"kind":"runtime","optional":false},{"id":17341521061,"package_name":"flatbuffers","ecosystem":"pypi","requirements":"==1.12","direct":true,"kind":"runtime","optional":false},{"id":17341521062,"package_name":"gast","ecosystem":"pypi","requirements":"==0.2.2","direct":true,"kind":"runtime","optional":false},{"id":17341521063,"package_name":"google-auth","ecosystem":"pypi","requirements":"==1.35.0","direct":true,"kind":"runtime","optional":false},{"id":17341521064,"package_name":"google-auth-oauthlib","ecosystem":"pypi","requirements":"==0.4.6","direct":true,"kind":"runtime","optional":false},{"id":17341521065,"package_name":"google-pasta","ecosystem":"pypi","requirements":"==0.2.0","direct":true,"kind":"runtime","optional":false},{"id":17341521066,"package_name":"grpcio","ecosystem":"pypi","requirements":"==1.47.0","direct":true,"kind":"runtime","optional":false},{"id":17341521067,"package_name":"gym","ecosystem":"pypi","requirements":"==0.19.0","direct":true,"kind":"runtime","optional":false},{"id":17341521068,"package_name":"h5py","ecosystem":"pypi","requirements":"==3.1.0","direct":true,"kind":"runtime","optional":false},{"id":17341521069,"package_name":"importlib-metadata","ecosystem":"pypi","requirements":"==4.8.3","direct":true,"kind":"runtime","optional":false},{"id":17341521070,"package_name":"importlib-resources","ecosystem":"pypi","requirements":"==5.4.0","direct":true,"kind":"runtime","optional":false},{"id":17341521071,"package_name":"intel-openmp","ecosystem":"pypi","requirements":"==2022.1.0","direct":true,"kind":"runtime","optional":false},{"id":17341521072,"package_name":"keras","ecosystem":"pypi","requirements":"==2.2.4","direct":true,"kind":"runtime","optional":false},{"id":17341521073,"package_name":"keras-applications","ecosystem":"pypi","requirements":"==1.0.8","direct":true,"kind":"runtime","optional":false},{"id":17341521074,"package_name":"keras-preprocessing","ecosystem":"pypi","requirements":"==1.1.2","direct":true,"kind":"runtime","optional":false},{"id":17341521075,"package_name":"kiwisolver","ecosystem":"pypi","requirements":"==1.3.1","direct":true,"kind":"runtime","optional":false},{"id":17341521076,"package_name":"markdown","ecosystem":"pypi","requirements":"==3.3.7","direct":true,"kind":"runtime","optional":false},{"id":17341521077,"package_name":"matplotlib","ecosystem":"pypi","requirements":"==2.2.3","direct":true,"kind":"runtime","optional":false},{"id":17341521078,"package_name":"mkl","ecosystem":"pypi","requirements":"==2022.1.0","direct":true,"kind":"runtime","optional":false},{"id":17341521079,"package_name":"networkx","ecosystem":"pypi","requirements":"==2.3","direct":true,"kind":"runtime","optional":false},{"id":17341521080,"package_name":"numpy","ecosystem":"pypi","requirements":"==1.19.5","direct":true,"kind":"runtime","optional":false},{"id":17341521081,"package_name":"oauthlib","ecosystem":"pypi","requirements":"==3.2.0","direct":true,"kind":"runtime","optional":false},{"id":17341521082,"package_name":"opendssdirect-py","ecosystem":"pypi","requirements":"==0.6.1","direct":true,"kind":"runtime","optional":false},{"id":17341521093,"package_name":"opt-einsum","ecosystem":"pypi","requirements":"==3.3.0","direct":true,"kind":"runtime","optional":false},{"id":17341521094,"package_name":"pandas","ecosystem":"pypi","requirements":"==0.25.0","direct":true,"kind":"runtime","optional":false},{"id":17341521095,"package_name":"pillow","ecosystem":"pypi","requirements":"==8.4.0","direct":true,"kind":"runtime","optional":false},{"id":17341521096,"package_name":"pipreqs","ecosystem":"pypi","requirements":"==0.4.11","direct":true,"kind":"runtime","optional":false},{"id":17341521097,"package_name":"protobuf","ecosystem":"pypi","requirements":"==3.19.4","direct":true,"kind":"runtime","optional":false},{"id":17341521098,"package_name":"pyasn1","ecosystem":"pypi","requirements":"==0.4.8","direct":true,"kind":"runtime","optional":false},{"id":17341521099,"package_name":"pyasn1-modules","ecosystem":"pypi","requirements":"==0.2.8","direct":true,"kind":"runtime","optional":false},{"id":17341521100,"package_name":"pyparsing","ecosystem":"pypi","requirements":"==3.0.9","direct":true,"kind":"runtime","optional":false},{"id":17341521101,"package_name":"pyqt5","ecosystem":"pypi","requirements":"==5.12.3","direct":true,"kind":"runtime","optional":false},{"id":17341521102,"package_name":"pyqt5-sip","ecosystem":"pypi","requirements":"==12.9.1","direct":true,"kind":"runtime","optional":false},{"id":17341521184,"package_name":"pyqtgraph","ecosystem":"pypi","requirements":"==0.11.1","direct":true,"kind":"runtime","optional":false},{"id":17341521185,"package_name":"pyyaml","ecosystem":"pypi","requirements":"==6.0","direct":true,"kind":"runtime","optional":false},{"id":17341521186,"package_name":"requests-oauthlib","ecosystem":"pypi","requirements":"==1.3.1","direct":true,"kind":"runtime","optional":false},{"id":17341521187,"package_name":"rsa","ecosystem":"pypi","requirements":"==4.8","direct":true,"kind":"runtime","optional":false},{"id":17341521188,"package_name":"sb3-contrib","ecosystem":"pypi","requirements":"==1.3.0","direct":true,"kind":"runtime","optional":false},{"id":17341521189,"package_name":"scipy","ecosystem":"pypi","requirements":"==1.4.0","direct":true,"kind":"runtime","optional":false},{"id":17341521190,"package_name":"seaborn","ecosystem":"pypi","requirements":"==0.11.0","direct":true,"kind":"runtime","optional":false},{"id":17341521191,"package_name":"six","ecosystem":"pypi","requirements":"==1.15.0","direct":true,"kind":"runtime","optional":false},{"id":17341521192,"package_name":"stable-baselines3","ecosystem":"pypi","requirements":"==1.3.0","direct":true,"kind":"runtime","optional":false},{"id":17341521193,"package_name":"tbb","ecosystem":"pypi","requirements":"==2021.6.0","direct":true,"kind":"runtime","optional":false},{"id":17341521194,"package_name":"tensorboard","ecosystem":"pypi","requirements":"==1.15.0","direct":true,"kind":"runtime","optional":false},{"id":17341521195,"package_name":"tensorboard-data-server","ecosystem":"pypi","requirements":"==0.6.1","direct":true,"kind":"runtime","optional":false},{"id":17341521196,"package_name":"tensorboard-plugin-wit","ecosystem":"pypi","requirements":"==1.8.1","direct":true,"kind":"runtime","optional":false},{"id":17341521197,"package_name":"tensorflow","ecosystem":"pypi","requirements":"==1.15.0","direct":true,"kind":"runtime","optional":false},{"id":17341521198,"package_name":"tensorflow-estimator","ecosystem":"pypi","requirements":"==1.15.1","direct":true,"kind":"runtime","optional":false},{"id":17341521199,"package_name":"termcolor","ecosystem":"pypi","requirements":"==1.1.0","direct":true,"kind":"runtime","optional":false},{"id":17341521200,"package_name":"torch","ecosystem":"pypi","requirements":"==1.10.2","direct":true,"kind":"runtime","optional":false},{"id":17341521201,"package_name":"torchvision","ecosystem":"pypi","requirements":"==0.4.1","direct":true,"kind":"runtime","optional":false},{"id":17341521202,"package_name":"tqdm","ecosystem":"pypi","requirements":"==4.64.0","direct":true,"kind":"runtime","optional":false},{"id":17341521203,"package_name":"typing-extensions","ecosystem":"pypi","requirements":"==3.7.4.3","direct":true,"kind":"runtime","optional":false},{"id":17341521204,"package_name":"urllib3","ecosystem":"pypi","requirements":"==1.26.10","direct":true,"kind":"runtime","optional":false},{"id":17341521205,"package_name":"werkzeug","ecosystem":"pypi","requirements":"==2.0.3","direct":true,"kind":"runtime","optional":false},{"id":17341521206,"package_name":"wrapt","ecosystem":"pypi","requirements":"==1.12.1","direct":true,"kind":"runtime","optional":false},{"id":17341521207,"package_name":"yarg","ecosystem":"pypi","requirements":"==0.1.9","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"requirements.txt","sha":null,"kind":"manifest","created_at":"2024-04-10T07:08:17.886Z","updated_at":"2024-04-10T07:08:17.886Z","repository_link":"https://github.com/NREL/DSS-SimPy-RL/blob/main/requirements.txt","dependencies":[{"id":17341521208,"package_name":"cvxopt","ecosystem":"pypi","requirements":"==1.2.1","direct":true,"kind":"runtime","optional":false},{"id":17341521209,"package_name":"gym","ecosystem":"pypi","requirements":"==0.19.0","direct":true,"kind":"runtime","optional":false},{"id":17341521210,"package_name":"Keras","ecosystem":"pypi","requirements":"==2.2.4","direct":true,"kind":"runtime","optional":false},{"id":17341521211,"package_name":"matplotlib","ecosystem":"pypi","requirements":"==2.2.3","direct":true,"kind":"runtime","optional":false},{"id":17341521212,"package_name":"networkx","ecosystem":"pypi","requirements":"==2.3","direct":true,"kind":"runtime","optional":false},{"id":17341521213,"package_name":"numpy","ecosystem":"pypi","requirements":"==1.19.5","direct":true,"kind":"runtime","optional":false},{"id":17341521214,"package_name":"OpenDSSDirect.py","ecosystem":"pypi","requirements":"==0.6.1","direct":true,"kind":"runtime","optional":false},{"id":17341521215,"package_name":"pandas","ecosystem":"pypi","requirements":"==0.25.0","direct":true,"kind":"runtime","optional":false},{"id":17341521216,"package_name":"pyomo","ecosystem":"pypi","requirements":"==6.4.1","direct":true,"kind":"runtime","optional":false},{"id":17341521221,"package_name":"PyQt5","ecosystem":"pypi","requirements":"==5.15.7","direct":true,"kind":"runtime","optional":false},{"id":17341521222,"package_name":"pyqtgraph","ecosystem":"pypi","requirements":"==0.11.1","direct":true,"kind":"runtime","optional":false},{"id":17341521223,"package_name":"seaborn","ecosystem":"pypi","requirements":"==0.11.0","direct":true,"kind":"runtime","optional":false},{"id":17341521224,"package_name":"simpy","ecosystem":"pypi","requirements":"==4.0.1","direct":true,"kind":"runtime","optional":false},{"id":17341521245,"package_name":"six","ecosystem":"pypi","requirements":"==1.15.0","direct":true,"kind":"runtime","optional":false},{"id":17341521246,"package_name":"stable_baselines3","ecosystem":"pypi","requirements":"==1.3.0","direct":true,"kind":"runtime","optional":false},{"id":17341521247,"package_name":"tensorflow","ecosystem":"pypi","requirements":"==1.15.0","direct":true,"kind":"runtime","optional":false},{"id":17341521248,"package_name":"torch","ecosystem":"pypi","requirements":"==1.10.2","direct":true,"kind":"runtime","optional":false},{"id":17341521249,"package_name":"tqdm","ecosystem":"pypi","requirements":"==4.64.0","direct":true,"kind":"runtime","optional":false},{"id":17341521250,"package_name":"wandb","ecosystem":"pypi","requirements":"==0.12.21","direct":true,"kind":"runtime","optional":false}]}],"score":null,"created_at":"2025-09-04T15:50:29.351Z","updated_at":"2025-10-07T08:06:24.227Z","avatar_url":"https://github.com/NREL.png","language":"Python","category":null,"sub_category":null,"monthly_downloads":0,"funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://science.ecosyste.ms/api/v1/projects/8861","html_url":"https://science.ecosyste.ms/projects/8861","bibtex_url":"https://science.ecosyste.ms/projects/8861/export.bibtex","apalike_url":"https://science.ecosyste.ms/projects/8861/export.apalike"}