{"id":19906,"name":"nempy","description":"Aims to enhance the Australian electricity industries modeling and analytical capabilities.","url":"https://github.com/UNSW-CEEM/nempy","last_synced_at":"2026-05-12T15:30:15.787Z","repository":{"id":43423971,"uuid":"255511032","full_name":"UNSW-CEEM/nempy","owner":"UNSW-CEEM","description":"A Python package for modelling the Australian National Electricity Market dispatch procedure","archived":false,"fork":false,"pushed_at":"2025-10-22T00:13:17.000Z","size":11581,"stargazers_count":68,"open_issues_count":6,"forks_count":37,"subscribers_count":10,"default_branch":"master","last_synced_at":"2026-04-23T06:08:50.512Z","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":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/UNSW-CEEM.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-04-14T04:36:37.000Z","updated_at":"2026-03-28T04:34:01.000Z","dependencies_parsed_at":"2024-01-08T01:44:39.347Z","dependency_job_id":"cc954289-a173-4466-ac1f-5b35b912b0bb","html_url":"https://github.com/UNSW-CEEM/nempy","commit_stats":{"total_commits":386,"total_committers":6,"mean_commits":64.33333333333333,"dds":0.08549222797927458,"last_synced_commit":"bbeffad812ffbf3e28480fa2e4eaddda4b1c31ef"},"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/UNSW-CEEM/nempy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/UNSW-CEEM","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/sbom","scorecard":{"id":145357,"data":{"date":"2025-08-11","repo":{"name":"github.com/UNSW-CEEM/nempy","commit":"276797ad9aa6aadcc8e111f5088f6f1a8c28a9e8"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.8,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/cicd.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Code-Review","score":0,"reason":"Found 1/19 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/cicd.yml:42"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cicd.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/UNSW-CEEM/nempy/cicd.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/cicd.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/UNSW-CEEM/nempy/cicd.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cicd.yml:55: update your workflow using https://app.stepsecurity.io/secureworkflow/UNSW-CEEM/nempy/cicd.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/cicd.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/UNSW-CEEM/nempy/cicd.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/cicd.yml:69: update your workflow using https://app.stepsecurity.io/secureworkflow/UNSW-CEEM/nempy/cicd.yml/master?enable=pin","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   3 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 14 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T09:17:33.098Z","repository_id":43423971,"created_at":"2025-08-16T09:17:33.098Z","updated_at":"2025-08-16T09:17:33.098Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32492594,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"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":"UNSW-CEEM","name":"Collaboration on Energy and Environmental Markets (CEEM)","uuid":"33536784","kind":"organization","description":"","email":null,"website":"http://ceem.unsw.edu.au/","location":"Sydney Australia","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/33536784?v=4","repositories_count":27,"last_synced_at":"2024-05-11T05:45:05.583Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/UNSW-CEEM","funding_links":[],"total_stars":218,"followers":36,"following":0,"created_at":"2022-11-12T23:54:35.200Z","updated_at":"2024-05-11T05:45:12.704Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/UNSW-CEEM","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/UNSW-CEEM/repositories"},"packages":[{"id":2815482,"name":"nempy","ecosystem":"pypi","description":"A flexible tool kit for modelling Australia's National Electricity Market dispatch procedure.","homepage":null,"licenses":"bsd-3-clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/UNSW-CEEM/nempy","keywords_array":[],"namespace":null,"versions_count":18,"first_release_published_at":"2020-10-01T06:24:54.000Z","latest_release_published_at":"2025-03-07T03:18:46.000Z","latest_release_number":"3.0.3","last_synced_at":"2026-05-09T14:02:13.120Z","created_at":"2022-04-10T11:43:30.107Z","updated_at":"2026-05-09T14:02:13.120Z","registry_url":"https://pypi.org/project/nempy/","install_command":"pip install nempy --index-url https://pypi.org/simple","documentation_url":"https://nempy.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":[],"normalized_name":"nempy","project_status":null},"repo_metadata":{"id":43423971,"uuid":"255511032","full_name":"UNSW-CEEM/nempy","owner":"UNSW-CEEM","description":"A Python package for modelling the Australian National Electricity Market dispatch procedure","archived":false,"fork":false,"pushed_at":"2024-07-09T19:26:38.000Z","size":9805,"stargazers_count":50,"open_issues_count":8,"forks_count":27,"subscribers_count":11,"default_branch":"master","last_synced_at":"2024-10-29T22:31:12.405Z","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":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/UNSW-CEEM.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-14T04:36:37.000Z","updated_at":"2024-10-14T01:30:31.000Z","dependencies_parsed_at":"2024-01-08T01:44:39.347Z","dependency_job_id":"de1006cc-f145-4932-b2d3-53a864282165","html_url":"https://github.com/UNSW-CEEM/nempy","commit_stats":{"total_commits":369,"total_committers":6,"mean_commits":61.5,"dds":0.08672086720867211,"last_synced_commit":"3b751619386a8858c4d0901ca74d3c36243e6210"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/UNSW-CEEM","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222155707,"owners_count":16940393,"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","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_record":{"login":"UNSW-CEEM","name":"Collaboration on Energy and Environmental Markets (CEEM)","uuid":"33536784","kind":"organization","description":"","email":null,"website":"http://ceem.unsw.edu.au/","location":"Sydney Australia","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/33536784?v=4","repositories_count":27,"last_synced_at":"2024-05-11T05:45:05.583Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/UNSW-CEEM","funding_links":[],"total_stars":218,"followers":36,"following":0,"created_at":"2022-11-12T23:54:35.200Z","updated_at":"2024-05-11T05:45:12.704Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/UNSW-CEEM","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/UNSW-CEEM/repositories"},"tags":[{"name":"v2.1.0","sha":"2d3dda821515c677cea49938281628c889f36041","kind":"commit","published_at":"2023-12-11T05:23:27.000Z","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/v2.1.0","html_url":"https://github.com/UNSW-CEEM/nempy/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v2.1.0/manifests"},{"name":"v2.0.1","sha":"ff486021cfacf6246c8a46a6380c55104aa27144","kind":"commit","published_at":"2023-10-17T10:51:35.000Z","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/v2.0.1","html_url":"https://github.com/UNSW-CEEM/nempy/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v2.0.1/manifests"},{"name":"v1.1.6","sha":"2ce3d926a1ab98231fba5ca2d3dc4b8ceb6432e4","kind":"commit","published_at":"2023-01-13T04:10:25.000Z","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/v1.1.6","html_url":"https://github.com/UNSW-CEEM/nempy/releases/tag/v1.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.1.6/manifests"},{"name":"v1.1.5","sha":"73609a0552eff1a0dc500f9d5b9d94f40eca0f9c","kind":"commit","published_at":"2022-04-29T04:24:57.000Z","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/v1.1.5","html_url":"https://github.com/UNSW-CEEM/nempy/releases/tag/v1.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.1.5/manifests"},{"name":"v1.1.4","sha":"0134c470bd7661d2b5a3d837dc5828746efdd139","kind":"commit","published_at":"2022-04-21T01:36:22.000Z","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/v1.1.4","html_url":"https://github.com/UNSW-CEEM/nempy/releases/tag/v1.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.1.4/manifests"},{"name":"v1.1.3","sha":"4613a25717cf5b117db2a37db400c7e80fe0b7cc","kind":"commit","published_at":"2022-02-15T04:47:07.000Z","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/v1.1.3","html_url":"https://github.com/UNSW-CEEM/nempy/releases/tag/v1.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.1.3/manifests"},{"name":"v1.1.2","sha":"16b1a2bc81c6e054d15ce9c39e38685ccb56ba47","kind":"commit","published_at":"2022-02-07T00:22:45.000Z","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/v1.1.2","html_url":"https://github.com/UNSW-CEEM/nempy/releases/tag/v1.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.1.2/manifests"},{"name":"v1.1.1","sha":"a8be8886ae184ca617ed9d2cd41b549b44c38ff6","kind":"commit","published_at":"2021-12-01T21:34:29.000Z","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/v1.1.1","html_url":"https://github.com/UNSW-CEEM/nempy/releases/tag/v1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.1.1/manifests"},{"name":"v1.1.0","sha":"587c2f9ea373a11713f4288b6a631fcdf22eb8e8","kind":"commit","published_at":"2021-10-19T03:51:00.000Z","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/v1.1.0","html_url":"https://github.com/UNSW-CEEM/nempy/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.1.0/manifests"},{"name":"v1.0.1","sha":"ffc6c3e1a0becde8cbf6ba56d5885768dc1c0a37","kind":"commit","published_at":"2020-10-16T05:16:01.000Z","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/v1.0.1","html_url":"https://github.com/UNSW-CEEM/nempy/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"02d74b0b15da53ccf138432974e2e0ad88205da6","kind":"commit","published_at":"2020-10-16T03:33:38.000Z","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/v1.0.0","html_url":"https://github.com/UNSW-CEEM/nempy/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.0.0/manifests"}]},"repo_metadata_updated_at":"2024-10-30T02:58:55.631Z","dependent_packages_count":1,"downloads":552,"downloads_period":"last-month","dependent_repos_count":1,"rankings":{"downloads":8.407350419663683,"dependent_repos_count":22.068010499262627,"dependent_packages_count":3.2401412941006194,"stargazers_count":11.046114791193617,"forks_count":8.925250004400626,"docker_downloads_count":null,"average":10.737373401724234},"purl":"pkg:pypi/nempy","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/nempy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/nempy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/nempy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2024-10-29T21:02:28.680Z","issues_count":13,"pull_requests_count":16,"avg_time_to_close_issue":5782059.4,"avg_time_to_close_pull_request":3601452.7,"issues_closed_count":10,"pull_requests_closed_count":10,"pull_request_authors_count":7,"issue_authors_count":7,"avg_comments_per_issue":2.3076923076923075,"avg_comments_per_pull_request":1.0625,"merged_pull_requests_count":8,"bot_issues_count":0,"bot_pull_requests_count":7,"past_year_issues_count":2,"past_year_pull_requests_count":6,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":764.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.16666666666666666,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":5,"past_year_merged_pull_requests_count":1,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/issues","maintainers":[{"login":"nick-gorman","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/nick-gorman"}],"active_maintainers":[{"login":"nick-gorman","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/nick-gorman"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/nempy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/nempy/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/nempy/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/nempy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/nempy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/nempy/codemeta","maintainers":[{"uuid":"nickg","login":"nickg","name":null,"email":null,"url":null,"packages_count":7,"html_url":"https://pypi.org/user/nickg/","role":null,"created_at":"2023-02-24T18:50:37.940Z","updated_at":"2023-02-24T18:50:37.940Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/nickg/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":861189,"maintainers_count":367890,"namespaces_count":0,"keywords_count":271316,"github":"pypi","metadata":{"funded_packages_count":53172},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2026-04-09T05:08:03.587Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}},{"id":4140201,"name":"github.com/UNSW-CEEM/nempy","ecosystem":"go","description":"","homepage":null,"licenses":"bsd-3-clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/UNSW-CEEM/nempy","keywords_array":[],"namespace":"github.com/UNSW-CEEM","versions_count":16,"first_release_published_at":"2020-10-16T03:33:38.000Z","latest_release_published_at":"2025-03-07T03:11:02.000Z","latest_release_number":"v3.0.3+incompatible","last_synced_at":"2026-05-09T14:02:14.968Z","created_at":"2022-04-12T16:35:55.358Z","updated_at":"2026-05-09T14:02:14.968Z","registry_url":"https://pkg.go.dev/github.com/UNSW-CEEM/nempy","install_command":"go get github.com/UNSW-CEEM/nempy","documentation_url":"https://pkg.go.dev/github.com/UNSW-CEEM/nempy#section-documentation","metadata":{},"repo_metadata":{"id":43423971,"uuid":"255511032","full_name":"UNSW-CEEM/nempy","owner":"UNSW-CEEM","description":"A Python package for modelling the Australian National Electricity Market dispatch procedure","archived":false,"fork":false,"pushed_at":"2025-10-22T00:13:17.000Z","size":11581,"stargazers_count":64,"open_issues_count":5,"forks_count":35,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-10-29T04:27:20.620Z","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":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/UNSW-CEEM.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-04-14T04:36:37.000Z","updated_at":"2025-10-28T04:40:31.000Z","dependencies_parsed_at":"2024-01-08T01:44:39.347Z","dependency_job_id":"de1006cc-f145-4932-b2d3-53a864282165","html_url":"https://github.com/UNSW-CEEM/nempy","commit_stats":{"total_commits":386,"total_committers":6,"mean_commits":64.33333333333333,"dds":0.08549222797927458,"last_synced_commit":"bbeffad812ffbf3e28480fa2e4eaddda4b1c31ef"},"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/UNSW-CEEM/nempy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/UNSW-CEEM","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/sbom","scorecard":{"id":145357,"data":{"date":"2025-08-11","repo":{"name":"github.com/UNSW-CEEM/nempy","commit":"276797ad9aa6aadcc8e111f5088f6f1a8c28a9e8"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.8,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/cicd.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Code-Review","score":0,"reason":"Found 1/19 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/cicd.yml:42"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cicd.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/UNSW-CEEM/nempy/cicd.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/cicd.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/UNSW-CEEM/nempy/cicd.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cicd.yml:55: update your workflow using https://app.stepsecurity.io/secureworkflow/UNSW-CEEM/nempy/cicd.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/cicd.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/UNSW-CEEM/nempy/cicd.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/cicd.yml:69: update your workflow using https://app.stepsecurity.io/secureworkflow/UNSW-CEEM/nempy/cicd.yml/master?enable=pin","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   3 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 14 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T09:17:33.098Z","repository_id":43423971,"created_at":"2025-08-16T09:17:33.098Z","updated_at":"2025-08-16T09:17:33.098Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281600615,"owners_count":26528905,"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-10-29T02:00:06.901Z","response_time":59,"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_record":{"login":"UNSW-CEEM","name":"Collaboration on Energy and Environmental Markets (CEEM)","uuid":"33536784","kind":"organization","description":"","email":null,"website":"http://ceem.unsw.edu.au/","location":"Sydney Australia","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/33536784?v=4","repositories_count":27,"last_synced_at":"2024-05-11T05:45:05.583Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/UNSW-CEEM","funding_links":[],"total_stars":218,"followers":36,"following":0,"created_at":"2022-11-12T23:54:35.200Z","updated_at":"2024-05-11T05:45:12.704Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/UNSW-CEEM","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/UNSW-CEEM/repositories"},"tags":[{"name":"v3.0.3","sha":"276797ad9aa6aadcc8e111f5088f6f1a8c28a9e8","kind":"commit","published_at":"2025-03-07T03:11:02.000Z","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/v3.0.3","html_url":"https://github.com/UNSW-CEEM/nempy/releases/tag/v3.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/UNSW-CEEM/nempy@v3.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v3.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v3.0.3/manifests"},{"name":"v3.0.2","sha":"12bdf61cbcc4395bca465a6ff99a134601d7cbd3","kind":"commit","published_at":"2025-02-07T03:20:47.000Z","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/v3.0.2","html_url":"https://github.com/UNSW-CEEM/nempy/releases/tag/v3.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/UNSW-CEEM/nempy@v3.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v3.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v3.0.2/manifests"},{"name":"v3.0.1","sha":"b5cc830f8fb984fde5f22ee3b784bcac76d35b74","kind":"commit","published_at":"2025-02-02T03:36:59.000Z","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/v3.0.1","html_url":"https://github.com/UNSW-CEEM/nempy/releases/tag/v3.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/UNSW-CEEM/nempy@v3.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v3.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v3.0.1/manifests"},{"name":"v3.0.0","sha":"2c255bbe9c2d5bad16ab496c2aec0ec7c4b68e79","kind":"commit","published_at":"2025-01-27T05:33:23.000Z","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/v3.0.0","html_url":"https://github.com/UNSW-CEEM/nempy/releases/tag/v3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/UNSW-CEEM/nempy@v3.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v3.0.0/manifests"},{"name":"v2.2.0","sha":"bbeffad812ffbf3e28480fa2e4eaddda4b1c31ef","kind":"commit","published_at":"2024-06-04T03:02:10.000Z","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/v2.2.0","html_url":"https://github.com/UNSW-CEEM/nempy/releases/tag/v2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/UNSW-CEEM/nempy@v2.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v2.2.0/manifests"},{"name":"v2.1.0","sha":"2d3dda821515c677cea49938281628c889f36041","kind":"commit","published_at":"2023-12-11T05:23:27.000Z","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/v2.1.0","html_url":"https://github.com/UNSW-CEEM/nempy/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/UNSW-CEEM/nempy@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v2.1.0/manifests"},{"name":"v2.0.1","sha":"ff486021cfacf6246c8a46a6380c55104aa27144","kind":"commit","published_at":"2023-10-17T10:51:35.000Z","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/v2.0.1","html_url":"https://github.com/UNSW-CEEM/nempy/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/UNSW-CEEM/nempy@v2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v2.0.1/manifests"},{"name":"v1.1.6","sha":"2ce3d926a1ab98231fba5ca2d3dc4b8ceb6432e4","kind":"commit","published_at":"2023-01-13T04:10:25.000Z","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/v1.1.6","html_url":"https://github.com/UNSW-CEEM/nempy/releases/tag/v1.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/UNSW-CEEM/nempy@v1.1.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.1.6/manifests"},{"name":"v1.1.5","sha":"73609a0552eff1a0dc500f9d5b9d94f40eca0f9c","kind":"commit","published_at":"2022-04-29T04:24:57.000Z","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/v1.1.5","html_url":"https://github.com/UNSW-CEEM/nempy/releases/tag/v1.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/UNSW-CEEM/nempy@v1.1.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.1.5/manifests"},{"name":"v1.1.4","sha":"0134c470bd7661d2b5a3d837dc5828746efdd139","kind":"commit","published_at":"2022-04-21T01:36:22.000Z","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/v1.1.4","html_url":"https://github.com/UNSW-CEEM/nempy/releases/tag/v1.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/UNSW-CEEM/nempy@v1.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.1.4/manifests"},{"name":"v1.1.3","sha":"4613a25717cf5b117db2a37db400c7e80fe0b7cc","kind":"commit","published_at":"2022-02-15T04:47:07.000Z","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/v1.1.3","html_url":"https://github.com/UNSW-CEEM/nempy/releases/tag/v1.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/UNSW-CEEM/nempy@v1.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.1.3/manifests"},{"name":"v1.1.2","sha":"16b1a2bc81c6e054d15ce9c39e38685ccb56ba47","kind":"commit","published_at":"2022-02-07T00:22:45.000Z","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/v1.1.2","html_url":"https://github.com/UNSW-CEEM/nempy/releases/tag/v1.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/UNSW-CEEM/nempy@v1.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.1.2/manifests"},{"name":"v1.1.1","sha":"a8be8886ae184ca617ed9d2cd41b549b44c38ff6","kind":"commit","published_at":"2021-12-01T21:34:29.000Z","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/v1.1.1","html_url":"https://github.com/UNSW-CEEM/nempy/releases/tag/v1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/UNSW-CEEM/nempy@v1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.1.1/manifests"},{"name":"v1.1.0","sha":"587c2f9ea373a11713f4288b6a631fcdf22eb8e8","kind":"commit","published_at":"2021-10-19T03:51:00.000Z","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/v1.1.0","html_url":"https://github.com/UNSW-CEEM/nempy/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/UNSW-CEEM/nempy@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.1.0/manifests"},{"name":"v1.0.1","sha":"ffc6c3e1a0becde8cbf6ba56d5885768dc1c0a37","kind":"commit","published_at":"2020-10-16T05:16:01.000Z","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/v1.0.1","html_url":"https://github.com/UNSW-CEEM/nempy/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/UNSW-CEEM/nempy@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"02d74b0b15da53ccf138432974e2e0ad88205da6","kind":"commit","published_at":"2020-10-16T03:33:38.000Z","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/v1.0.0","html_url":"https://github.com/UNSW-CEEM/nempy/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/UNSW-CEEM/nempy@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.0.0/manifests"}]},"repo_metadata_updated_at":"2025-10-29T09:55:08.772Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":9.345852080216646,"dependent_packages_count":6.999148183520997,"stargazers_count":null,"forks_count":null,"average":8.172500131868823},"purl":"pkg:golang/github.com/%21u%21n%21s%21w-%21c%21e%21e%21m/nempy","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/UNSW-CEEM/nempy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/UNSW-CEEM/nempy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/UNSW-CEEM/nempy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-10-22T20:00:16.530Z","issues_count":14,"pull_requests_count":28,"avg_time_to_close_issue":5782059.4,"avg_time_to_close_pull_request":7085248.555555556,"issues_closed_count":10,"pull_requests_closed_count":18,"pull_request_authors_count":10,"issue_authors_count":9,"avg_comments_per_issue":2.2857142857142856,"avg_comments_per_pull_request":1.1071428571428572,"merged_pull_requests_count":13,"bot_issues_count":0,"bot_pull_requests_count":10,"past_year_issues_count":3,"past_year_pull_requests_count":9,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":4562557.25,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":4,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":3,"past_year_avg_comments_per_issue":0.6666666666666666,"past_year_avg_comments_per_pull_request":1.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/issues","maintainers":[{"login":"nick-gorman","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/nick-gorman"}],"active_maintainers":[{"login":"nick-gorman","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/nick-gorman"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FUNSW-CEEM%2Fnempy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FUNSW-CEEM%2Fnempy/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FUNSW-CEEM%2Fnempy/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FUNSW-CEEM%2Fnempy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FUNSW-CEEM%2Fnempy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FUNSW-CEEM%2Fnempy/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2133553,"maintainers_count":0,"namespaces_count":782439,"keywords_count":112823,"github":"golang","metadata":{"funded_packages_count":53495},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-04-19T05:14:45.920Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}},{"id":4148909,"name":"github.com/unsw-ceem/nempy","ecosystem":"go","description":"","homepage":null,"licenses":"bsd-3-clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/unsw-ceem/nempy","keywords_array":[],"namespace":"github.com/unsw-ceem","versions_count":16,"first_release_published_at":"2020-10-16T03:33:38.000Z","latest_release_published_at":"2025-03-07T03:11:02.000Z","latest_release_number":"v3.0.3+incompatible","last_synced_at":"2026-05-09T14:02:16.205Z","created_at":"2022-04-12T16:56:03.171Z","updated_at":"2026-05-09T14:02:16.206Z","registry_url":"https://pkg.go.dev/github.com/unsw-ceem/nempy","install_command":"go get github.com/unsw-ceem/nempy","documentation_url":"https://pkg.go.dev/github.com/unsw-ceem/nempy#section-documentation","metadata":{},"repo_metadata":{"id":43423971,"uuid":"255511032","full_name":"UNSW-CEEM/nempy","owner":"UNSW-CEEM","description":"A Python package for modelling the Australian National Electricity Market dispatch procedure","archived":false,"fork":false,"pushed_at":"2025-10-22T00:13:17.000Z","size":11581,"stargazers_count":64,"open_issues_count":5,"forks_count":35,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-10-29T04:27:20.620Z","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":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/UNSW-CEEM.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-04-14T04:36:37.000Z","updated_at":"2025-10-28T04:40:31.000Z","dependencies_parsed_at":"2024-01-08T01:44:39.347Z","dependency_job_id":"de1006cc-f145-4932-b2d3-53a864282165","html_url":"https://github.com/UNSW-CEEM/nempy","commit_stats":{"total_commits":386,"total_committers":6,"mean_commits":64.33333333333333,"dds":0.08549222797927458,"last_synced_commit":"bbeffad812ffbf3e28480fa2e4eaddda4b1c31ef"},"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/UNSW-CEEM/nempy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/UNSW-CEEM","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/sbom","scorecard":{"id":145357,"data":{"date":"2025-08-11","repo":{"name":"github.com/UNSW-CEEM/nempy","commit":"276797ad9aa6aadcc8e111f5088f6f1a8c28a9e8"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.8,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/cicd.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Code-Review","score":0,"reason":"Found 1/19 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/cicd.yml:42"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cicd.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/UNSW-CEEM/nempy/cicd.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/cicd.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/UNSW-CEEM/nempy/cicd.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cicd.yml:55: update your workflow using https://app.stepsecurity.io/secureworkflow/UNSW-CEEM/nempy/cicd.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/cicd.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/UNSW-CEEM/nempy/cicd.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/cicd.yml:69: update your workflow using https://app.stepsecurity.io/secureworkflow/UNSW-CEEM/nempy/cicd.yml/master?enable=pin","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   3 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 14 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T09:17:33.098Z","repository_id":43423971,"created_at":"2025-08-16T09:17:33.098Z","updated_at":"2025-08-16T09:17:33.098Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281600615,"owners_count":26528905,"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-10-29T02:00:06.901Z","response_time":59,"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_record":{"login":"UNSW-CEEM","name":"Collaboration on Energy and Environmental Markets (CEEM)","uuid":"33536784","kind":"organization","description":"","email":null,"website":"http://ceem.unsw.edu.au/","location":"Sydney Australia","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/33536784?v=4","repositories_count":27,"last_synced_at":"2024-05-11T05:45:05.583Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/UNSW-CEEM","funding_links":[],"total_stars":218,"followers":36,"following":0,"created_at":"2022-11-12T23:54:35.200Z","updated_at":"2024-05-11T05:45:12.704Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/UNSW-CEEM","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/UNSW-CEEM/repositories"},"tags":[{"name":"v3.0.3","sha":"276797ad9aa6aadcc8e111f5088f6f1a8c28a9e8","kind":"commit","published_at":"2025-03-07T03:11:02.000Z","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/v3.0.3","html_url":"https://github.com/UNSW-CEEM/nempy/releases/tag/v3.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/UNSW-CEEM/nempy@v3.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v3.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v3.0.3/manifests"},{"name":"v3.0.2","sha":"12bdf61cbcc4395bca465a6ff99a134601d7cbd3","kind":"commit","published_at":"2025-02-07T03:20:47.000Z","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/v3.0.2","html_url":"https://github.com/UNSW-CEEM/nempy/releases/tag/v3.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/UNSW-CEEM/nempy@v3.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v3.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v3.0.2/manifests"},{"name":"v3.0.1","sha":"b5cc830f8fb984fde5f22ee3b784bcac76d35b74","kind":"commit","published_at":"2025-02-02T03:36:59.000Z","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/v3.0.1","html_url":"https://github.com/UNSW-CEEM/nempy/releases/tag/v3.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/UNSW-CEEM/nempy@v3.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v3.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v3.0.1/manifests"},{"name":"v3.0.0","sha":"2c255bbe9c2d5bad16ab496c2aec0ec7c4b68e79","kind":"commit","published_at":"2025-01-27T05:33:23.000Z","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/v3.0.0","html_url":"https://github.com/UNSW-CEEM/nempy/releases/tag/v3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/UNSW-CEEM/nempy@v3.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v3.0.0/manifests"},{"name":"v2.2.0","sha":"bbeffad812ffbf3e28480fa2e4eaddda4b1c31ef","kind":"commit","published_at":"2024-06-04T03:02:10.000Z","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/v2.2.0","html_url":"https://github.com/UNSW-CEEM/nempy/releases/tag/v2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/UNSW-CEEM/nempy@v2.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v2.2.0/manifests"},{"name":"v2.1.0","sha":"2d3dda821515c677cea49938281628c889f36041","kind":"commit","published_at":"2023-12-11T05:23:27.000Z","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/v2.1.0","html_url":"https://github.com/UNSW-CEEM/nempy/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/UNSW-CEEM/nempy@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v2.1.0/manifests"},{"name":"v2.0.1","sha":"ff486021cfacf6246c8a46a6380c55104aa27144","kind":"commit","published_at":"2023-10-17T10:51:35.000Z","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/v2.0.1","html_url":"https://github.com/UNSW-CEEM/nempy/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/UNSW-CEEM/nempy@v2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v2.0.1/manifests"},{"name":"v1.1.6","sha":"2ce3d926a1ab98231fba5ca2d3dc4b8ceb6432e4","kind":"commit","published_at":"2023-01-13T04:10:25.000Z","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/v1.1.6","html_url":"https://github.com/UNSW-CEEM/nempy/releases/tag/v1.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/UNSW-CEEM/nempy@v1.1.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.1.6/manifests"},{"name":"v1.1.5","sha":"73609a0552eff1a0dc500f9d5b9d94f40eca0f9c","kind":"commit","published_at":"2022-04-29T04:24:57.000Z","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/v1.1.5","html_url":"https://github.com/UNSW-CEEM/nempy/releases/tag/v1.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/UNSW-CEEM/nempy@v1.1.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.1.5/manifests"},{"name":"v1.1.4","sha":"0134c470bd7661d2b5a3d837dc5828746efdd139","kind":"commit","published_at":"2022-04-21T01:36:22.000Z","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/v1.1.4","html_url":"https://github.com/UNSW-CEEM/nempy/releases/tag/v1.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/UNSW-CEEM/nempy@v1.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.1.4/manifests"},{"name":"v1.1.3","sha":"4613a25717cf5b117db2a37db400c7e80fe0b7cc","kind":"commit","published_at":"2022-02-15T04:47:07.000Z","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/v1.1.3","html_url":"https://github.com/UNSW-CEEM/nempy/releases/tag/v1.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/UNSW-CEEM/nempy@v1.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.1.3/manifests"},{"name":"v1.1.2","sha":"16b1a2bc81c6e054d15ce9c39e38685ccb56ba47","kind":"commit","published_at":"2022-02-07T00:22:45.000Z","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/v1.1.2","html_url":"https://github.com/UNSW-CEEM/nempy/releases/tag/v1.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/UNSW-CEEM/nempy@v1.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.1.2/manifests"},{"name":"v1.1.1","sha":"a8be8886ae184ca617ed9d2cd41b549b44c38ff6","kind":"commit","published_at":"2021-12-01T21:34:29.000Z","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/v1.1.1","html_url":"https://github.com/UNSW-CEEM/nempy/releases/tag/v1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/UNSW-CEEM/nempy@v1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.1.1/manifests"},{"name":"v1.1.0","sha":"587c2f9ea373a11713f4288b6a631fcdf22eb8e8","kind":"commit","published_at":"2021-10-19T03:51:00.000Z","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/v1.1.0","html_url":"https://github.com/UNSW-CEEM/nempy/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/UNSW-CEEM/nempy@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.1.0/manifests"},{"name":"v1.0.1","sha":"ffc6c3e1a0becde8cbf6ba56d5885768dc1c0a37","kind":"commit","published_at":"2020-10-16T05:16:01.000Z","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/v1.0.1","html_url":"https://github.com/UNSW-CEEM/nempy/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/UNSW-CEEM/nempy@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"02d74b0b15da53ccf138432974e2e0ad88205da6","kind":"commit","published_at":"2020-10-16T03:33:38.000Z","download_url":"https://codeload.github.com/UNSW-CEEM/nempy/tar.gz/v1.0.0","html_url":"https://github.com/UNSW-CEEM/nempy/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/UNSW-CEEM/nempy@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/tags/v1.0.0/manifests"}]},"repo_metadata_updated_at":"2025-10-29T09:55:17.509Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":9.345852080216646,"dependent_packages_count":6.999148183520997,"stargazers_count":null,"forks_count":null,"average":8.172500131868823},"purl":"pkg:golang/github.com/unsw-ceem/nempy","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/unsw-ceem/nempy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/unsw-ceem/nempy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/unsw-ceem/nempy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-10-22T20:00:16.530Z","issues_count":14,"pull_requests_count":28,"avg_time_to_close_issue":5782059.4,"avg_time_to_close_pull_request":7085248.555555556,"issues_closed_count":10,"pull_requests_closed_count":18,"pull_request_authors_count":10,"issue_authors_count":9,"avg_comments_per_issue":2.2857142857142856,"avg_comments_per_pull_request":1.1071428571428572,"merged_pull_requests_count":13,"bot_issues_count":0,"bot_pull_requests_count":10,"past_year_issues_count":3,"past_year_pull_requests_count":9,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":4562557.25,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":4,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":3,"past_year_avg_comments_per_issue":0.6666666666666666,"past_year_avg_comments_per_pull_request":1.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/issues","maintainers":[{"login":"nick-gorman","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/nick-gorman"}],"active_maintainers":[{"login":"nick-gorman","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/nick-gorman"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Funsw-ceem%2Fnempy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Funsw-ceem%2Fnempy/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Funsw-ceem%2Fnempy/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Funsw-ceem%2Fnempy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Funsw-ceem%2Fnempy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Funsw-ceem%2Fnempy/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2133553,"maintainers_count":0,"namespaces_count":782439,"keywords_count":112823,"github":"golang","metadata":{"funded_packages_count":53495},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-04-19T05:14:45.920Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}}],"commits":{"id":617232,"full_name":"UNSW-CEEM/nempy","default_branch":"master","total_commits":426,"total_committers":8,"total_bot_commits":2,"total_bot_committers":1,"mean_commits":53.25,"dds":0.11267605633802813,"past_year_total_commits":14,"past_year_total_committers":1,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":14.0,"past_year_dds":0.0,"last_synced_at":"2026-05-09T14:01:34.386Z","last_synced_commit":"2d3cef0e5545c820067fecddfa2e2fd984ac5583","created_at":"2023-03-09T07:44:48.507Z","updated_at":"2026-05-09T14:01:31.854Z","committers":[{"name":"nick-gorman","email":"40549624+nick-gorman","login":"nick-gorman","count":378},{"name":"prakaa","email":"abiprakash007@gmail.com","login":"prakaa","count":22},{"name":"Gabriel Hackebeil","email":"gabe.hackebeil@gmail.com","login":"ghackebeil","count":14},{"name":"Michael Lee","email":"michaelleeacc@gmail.com","login":"mlee94","count":6},{"name":"yueXiao2","email":"57817476+yueXiao2","login":"yueXiao2","count":2},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":2},{"name":"Zhou32","email":"zihaozhou95@gmail.com","login":"Zhou32","count":1},{"name":"Ben Elliston","email":"bje@air.net.au","login":"bje-","count":1}],"past_year_committers":[{"name":"Gabriel Hackebeil","email":"gabe.hackebeil@gmail.com","login":"ghackebeil","count":14}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-05-11T00:00:23.725Z","repositories_count":6232738,"commits_count":895111512,"contributors_count":34897090,"owners_count":1151575,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"UNSW-CEEM/nempy","html_url":"https://github.com/UNSW-CEEM/nempy","last_synced_at":"2026-04-15T02:01:32.145Z","status":"active","issues_count":15,"pull_requests_count":28,"avg_time_to_close_issue":5782059.4,"avg_time_to_close_pull_request":7085248.555555556,"issues_closed_count":10,"pull_requests_closed_count":18,"pull_request_authors_count":10,"issue_authors_count":10,"avg_comments_per_issue":2.1333333333333333,"avg_comments_per_pull_request":1.1071428571428572,"merged_pull_requests_count":13,"bot_issues_count":0,"bot_pull_requests_count":10,"past_year_issues_count":2,"past_year_pull_requests_count":5,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":16257910.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":1.8,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":1,"created_at":"2023-05-09T10:29:02.978Z","updated_at":"2026-04-15T02:01:32.145Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNSW-CEEM%2Fnempy/issues","issue_labels_count":{},"pull_request_labels_count":{"dependencies":10},"issue_author_associations_count":{"NONE":10,"MEMBER":4,"CONTRIBUTOR":1},"pull_request_author_associations_count":{"CONTRIBUTOR":17,"NONE":6,"MEMBER":5},"issue_authors":{"nick-gorman":4,"mlee94":3,"spyj-1989":1,"andrewhn":1,"ghackebeil":1,"dehorsley":1,"jpolyy":1,"seb9291":1,"MattAmos":1,"dec-heim":1},"pull_request_authors":{"dependabot[bot]":10,"nick-gorman":5,"yueXiao2":2,"mlee94":2,"Zhou32":2,"ghackebeil":2,"cchristiansen":2,"prakaa":1,"bje-":1,"dec-heim":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-05-03T00:00:29.752Z","repositories_count":14485314,"issues_count":34262963,"pull_requests_count":112280605,"authors_count":11252871,"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":{"NONE":2},"past_year_pull_request_author_associations_count":{"MEMBER":1},"past_year_issue_authors":{"jpolyy":1,"seb9291":1},"past_year_pull_request_authors":{"nick-gorman":1},"maintainers":[{"login":"nick-gorman","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/nick-gorman"}],"active_maintainers":[{"login":"nick-gorman","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/nick-gorman"}]},"events":{"total":{"ReleaseEvent":6,"DeleteEvent":4,"PullRequestEvent":9,"ForkEvent":10,"IssuesEvent":4,"WatchEvent":10,"IssueCommentEvent":13,"PushEvent":23,"CreateEvent":7},"last_year":{"ForkEvent":7,"IssuesEvent":1,"WatchEvent":2,"IssueCommentEvent":4,"CreateEvent":1}},"keywords":[],"dependencies":[{"ecosystem":"pypi","filepath":"docs/requirements.txt","sha":null,"kind":"manifest","created_at":"2022-08-26T00:20:30.678Z","updated_at":"2022-08-26T00:20:30.678Z","repository_link":"https://github.com/UNSW-CEEM/nempy/blob/master/docs/requirements.txt","dependencies":[{"id":2748772165,"package_name":"autodocsumm","ecosystem":"pypi","requirements":"==0.1.13","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/test.yml","sha":null,"kind":"manifest","created_at":"2023-02-09T14:30:19.872Z","updated_at":"2023-02-09T14:30:19.872Z","repository_link":"https://github.com/UNSW-CEEM/nempy/blob/master/.github/workflows/test.yml","dependencies":[{"id":7495142410,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7495142411,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"pypi","filepath":"poetry.lock","sha":null,"kind":"lockfile","created_at":"2023-09-21T19:47:51.141Z","updated_at":"2023-09-21T19:47:51.141Z","repository_link":"https://github.com/UNSW-CEEM/nempy/blob/master/poetry.lock","dependencies":[{"id":13856928540,"package_name":"alabaster","ecosystem":"pypi","requirements":"0.7.13","direct":false,"kind":null,"optional":false},{"id":13856928541,"package_name":"autodocsumm","ecosystem":"pypi","requirements":"0.2.11","direct":false,"kind":null,"optional":false},{"id":13856928542,"package_name":"babel","ecosystem":"pypi","requirements":"2.12.1","direct":false,"kind":null,"optional":false},{"id":13856928543,"package_name":"certifi","ecosystem":"pypi","requirements":"2023.7.22","direct":false,"kind":null,"optional":false},{"id":13856928544,"package_name":"cffi","ecosystem":"pypi","requirements":"1.15.1","direct":false,"kind":null,"optional":false},{"id":13856928545,"package_name":"charset-normalizer","ecosystem":"pypi","requirements":"3.2.0","direct":false,"kind":null,"optional":false},{"id":13856928546,"package_name":"colorama","ecosystem":"pypi","requirements":"0.4.6","direct":false,"kind":null,"optional":false},{"id":13856928547,"package_name":"docutils","ecosystem":"pypi","requirements":"0.19","direct":false,"kind":null,"optional":false},{"id":13856928548,"package_name":"exceptiongroup","ecosystem":"pypi","requirements":"1.1.3","direct":false,"kind":null,"optional":false},{"id":13856928549,"package_name":"idna","ecosystem":"pypi","requirements":"3.4","direct":false,"kind":null,"optional":false},{"id":13856928550,"package_name":"imagesize","ecosystem":"pypi","requirements":"1.4.1","direct":false,"kind":null,"optional":false},{"id":13856928551,"package_name":"importlib-metadata","ecosystem":"pypi","requirements":"6.8.0","direct":false,"kind":null,"optional":false},{"id":13856928552,"package_name":"iniconfig","ecosystem":"pypi","requirements":"2.0.0","direct":false,"kind":null,"optional":false},{"id":13856928553,"package_name":"jinja2","ecosystem":"pypi","requirements":"3.1.2","direct":false,"kind":null,"optional":false},{"id":13856928554,"package_name":"markupsafe","ecosystem":"pypi","requirements":"2.1.3","direct":false,"kind":null,"optional":false},{"id":13856928555,"package_name":"mip","ecosystem":"pypi","requirements":"1.15.0","direct":false,"kind":null,"optional":false},{"id":13856928556,"package_name":"numpy","ecosystem":"pypi","requirements":"1.24.4","direct":false,"kind":null,"optional":false},{"id":13856928557,"package_name":"numpy","ecosystem":"pypi","requirements":"1.25.2","direct":false,"kind":null,"optional":false},{"id":13856928558,"package_name":"packaging","ecosystem":"pypi","requirements":"23.1","direct":false,"kind":null,"optional":false},{"id":13856928559,"package_name":"pandas","ecosystem":"pypi","requirements":"2.0.3","direct":false,"kind":null,"optional":false},{"id":13856928560,"package_name":"pluggy","ecosystem":"pypi","requirements":"1.3.0","direct":false,"kind":null,"optional":false},{"id":13856928561,"package_name":"pycparser","ecosystem":"pypi","requirements":"2.21","direct":false,"kind":null,"optional":false},{"id":13856928562,"package_name":"pygments","ecosystem":"pypi","requirements":"2.16.1","direct":false,"kind":null,"optional":false},{"id":13856928563,"package_name":"pytest","ecosystem":"pypi","requirements":"7.4.2","direct":false,"kind":null,"optional":false},{"id":13856928564,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"2.8.2","direct":false,"kind":null,"optional":false},{"id":13856928565,"package_name":"pytz","ecosystem":"pypi","requirements":"2023.3.post1","direct":false,"kind":null,"optional":false},{"id":13856928566,"package_name":"requests","ecosystem":"pypi","requirements":"2.31.0","direct":false,"kind":null,"optional":false},{"id":13856928567,"package_name":"six","ecosystem":"pypi","requirements":"1.16.0","direct":false,"kind":null,"optional":false},{"id":13856928568,"package_name":"snowballstemmer","ecosystem":"pypi","requirements":"2.2.0","direct":false,"kind":null,"optional":false},{"id":13856928569,"package_name":"sphinx","ecosystem":"pypi","requirements":"5.3.0","direct":false,"kind":null,"optional":false},{"id":13856928570,"package_name":"sphinxcontrib-applehelp","ecosystem":"pypi","requirements":"1.0.4","direct":false,"kind":null,"optional":false},{"id":13856928571,"package_name":"sphinxcontrib-devhelp","ecosystem":"pypi","requirements":"1.0.2","direct":false,"kind":null,"optional":false},{"id":13856928572,"package_name":"sphinxcontrib-htmlhelp","ecosystem":"pypi","requirements":"2.0.1","direct":false,"kind":null,"optional":false},{"id":13856928573,"package_name":"sphinxcontrib-jsmath","ecosystem":"pypi","requirements":"1.0.1","direct":false,"kind":null,"optional":false},{"id":13856928574,"package_name":"sphinxcontrib-qthelp","ecosystem":"pypi","requirements":"1.0.3","direct":false,"kind":null,"optional":false},{"id":13856928575,"package_name":"sphinxcontrib-serializinghtml","ecosystem":"pypi","requirements":"1.1.5","direct":false,"kind":null,"optional":false},{"id":13856928576,"package_name":"tomli","ecosystem":"pypi","requirements":"2.0.1","direct":false,"kind":null,"optional":false},{"id":13856928577,"package_name":"tzdata","ecosystem":"pypi","requirements":"2023.3","direct":false,"kind":null,"optional":false},{"id":13856928578,"package_name":"urllib3","ecosystem":"pypi","requirements":"2.0.4","direct":false,"kind":null,"optional":false},{"id":13856928579,"package_name":"xmltodict","ecosystem":"pypi","requirements":"0.12.0","direct":false,"kind":null,"optional":false},{"id":13856928580,"package_name":"zipp","ecosystem":"pypi","requirements":"3.16.2","direct":false,"kind":null,"optional":false}]},{"ecosystem":"pypi","filepath":"pyproject.toml","sha":null,"kind":"manifest","created_at":"2023-09-21T19:47:52.076Z","updated_at":"2023-09-21T19:47:52.076Z","repository_link":"https://github.com/UNSW-CEEM/nempy/blob/master/pyproject.toml","dependencies":[{"id":13856928737,"package_name":"python","ecosystem":"pypi","requirements":"\u003e=3.8,\u003c3.12","direct":true,"kind":"runtime","optional":false},{"id":13856928738,"package_name":"pandas","ecosystem":"pypi","requirements":"\u003c3.0.0","direct":true,"kind":"runtime","optional":false},{"id":13856928739,"package_name":"mip","ecosystem":"pypi","requirements":"\u003e=1.11.0,\u003c2.0.0","direct":true,"kind":"runtime","optional":false},{"id":13856928740,"package_name":"xmltodict","ecosystem":"pypi","requirements":"==0.12.0","direct":true,"kind":"runtime","optional":false},{"id":13856928741,"package_name":"requests","ecosystem":"pypi","requirements":"\u003e=2.0.0, \u003c3.0.0","direct":true,"kind":"runtime","optional":false}]}],"score":12.70247474863044,"created_at":"2023-09-11T14:52:07.991Z","updated_at":"2026-05-12T15:30:15.797Z","avatar_url":"https://github.com/UNSW-CEEM.png","language":"Python","category":"Energy Systems","sub_category":"Global and Regional Energy System Models","monthly_downloads":552,"total_dependent_repos":1,"total_dependent_packages":1,"readme":"# Nempy\n\n[![Current build](https://github.com/UNSW-CEEM/nempy/actions/workflows/test.yml/badge.svg)](https://github.com/UNSW-CEEM/nempy/actions/workflows/test.yml)\n[![Documentation](https://readthedocs.org/projects/nempy/badge/?version=latest)](https://nempy.readthedocs.io/en/latest/?badge=latest)\n[![DOI](https://joss.theoj.org/papers/10.21105/joss.03596/status.svg)](https://doi.org/10.21105/joss.03596)\n\n## Table of Contents\n- [Introduction](https://github.com/UNSW-CEEM/nempy#introduction)\n- [Installation](https://github.com/UNSW-CEEM/nempy#installation)\n- [Documentation](https://github.com/UNSW-CEEM/nempy#documentation)\n- [Community](https://github.com/UNSW-CEEM/nempy#community)\n- [Author](https://github.com/UNSW-CEEM/nempy#author)\n- [Citation](https://github.com/UNSW-CEEM/nempy#citation)\n- [License](https://github.com/UNSW-CEEM/nempy#license)\n- [Examples](https://github.com/UNSW-CEEM/nempy#examples)\n\n## Introduction\n\nNempy is a Python package for modelling the dispatch procedure of the Australian National Electricity Market (NEM). The idea is \nthat you can start simple and grow the complexity of your model by adding features such as \nramping constraints, interconnectors, FCAS markets and more. See the [examples](https://github.com/UNSW-CEEM/nempy#examples) below.\n\n| ![nempy-accuracy](https://github.com/prakaa/nempy/assets/40549624/6a994cee-3255-4e3d-b04b-6d4d7e155065) | \n|:--:| \n| *Dispatch price results from the New South Wales region for 1000 randomly selected intervals in the 2019 calendar year. The actual prices, prior to scaling or capping, are also shown for comparison. Results from two Nempy models are shown, one with a full set of dispatch features, and one without FCAS markets or generic constraints (network and security constraints). Actual prices, results from the full featured model, and the simpler model are shown in descending order for actual prices, results from the simpler model are also shown resorted.* |\n\nFor further details, refer to the [documentation](https://nempy.readthedocs.io/en/latest/intro.html#).\n\nFor a brief introduction to the NEM, refer to this [ document](https://aemo.com.au/-/media/Files/Electricity/NEM/National-Electricity-Market-Fact-Sheet.pdf).\n\n## Installation\nInstalling Nempy to use in your project is easy.\n\n```bash\npip install nempy\n```\n\n## Documentation\n\nA more detailed introduction to Nempy, examples, and reference documentation can be found on the \n[readthedocs](https://nempy.readthedocs.io/en/latest/) page.\n\n## Community\n\nNempy is open-source and we welcome all forms of community engagement.\n\n### Support\n\nYou can seek support for using Nempy using the [discussion tab on GitHub](https://github.com/UNSW-CEEM/nempy/discussions), checking the [issues register](https://github.com/UNSW-CEEM/nempy/issues), or by contacting Nick directly (n.gorman at unsw.edu.au).\n\nIf you cannot find a pre-existing issue related to your enquiry, you can submit a new one via the [issues register](https://github.com/UNSW-CEEM/nempy/issues). Issue submissions do not need to adhere to any particular format.\n\n### Future support and maintenance\n\nCEEM continues to support and maintain Nempy! If Nempy is useful to your work, research, \nor business, please reach out and inform us so we can consider your use case and needs.\n\n### Contributing\n\nContributions via pull requests are welcome. Contributions should:\n\n1. Follow the PEP8 style guide (with exception of line length up to 120 rather than 80)\n2. Ensure that all existing automated tests continue to pass (unless you are explicitly changing intended behavour; if you are, please highlight this in your pull request description)\n3. Implement automated tests for new features\n4. Provide doc strings for public interfaces\n\n#### Installation for development\n\nTo install Nempy for development:\n\n1. Clone or fork the repo\n2. Install [`uv`](https://github.com/astral-sh/uv)\n3. Install `nempy` using `uv` by running `uv sync` in the project directory\n4. uv will create .venv, which you can configure your IDE to use, or you can use explicity to run a python file by running `uv run your_code.py`\n\n## Author\n\nNempy's development was led by Nick Gorman as part of his PhD candidature at the Collaboration on Energy and Environmental\nMarkets at the University of New South Wales' School of Photovoltaics and Renewable Energy Engineering. (https://www.ceem.unsw.edu.au/). \n\n## Citation\n\nIf you use Nempy, please cite the package via the [JOSS paper](https://doi.org/10.5281/zenodo.7397514) (suggested citation below):\n\u003e Gorman et al., (2022). Nempy: A Python package for modelling the Australian National Electricity Market dispatch procedure. Journal of Open Source Software, 7(70), 3596, https://doi.org/10.21105/joss.03596\n\n## License\n\nNempy was created by Nicholas Gorman. It is licensed under the terms of [the BSD 3-Clause Licence](./LICENSE).\n\n## Examples\n\u003cdetails\u003e\n\n\u003csummary\u003eA simple example\u003c/summary\u003e\n\n```python\nimport pandas as pd\nfrom nempy import markets\n\n# Volume of each bid, number of bands must equal number of bands in price_bids.\nvolume_bids = pd.DataFrame({\n    'unit': ['A', 'B'],\n    '1': [20.0, 50.0],  # MW\n    '2': [20.0, 30.0],  # MW\n    '3': [5.0, 10.0]  # More bid bands could be added.\n})\n\n# Price of each bid, bids must be monotonically increasing.\nprice_bids = pd.DataFrame({\n    'unit': ['A', 'B'],\n    '1': [50.0, 50.0],  # $/MW\n    '2': [60.0, 55.0],  # $/MW\n    '3': [100.0, 80.0]  # . . .\n})\n\n# Other unit properties\nunit_info = pd.DataFrame({\n    'unit': ['A', 'B'],\n    'region': ['NSW', 'NSW'],  # MW\n})\n\n# The demand in the region\\s being dispatched\ndemand = pd.DataFrame({\n    'region': ['NSW'],\n    'demand': [120.0]  # MW\n})\n\n# Create the market model\nmarket = markets.SpotMarket(unit_info=unit_info, \n                            market_regions=['NSW'])\nmarket.set_unit_volume_bids(volume_bids)\nmarket.set_unit_price_bids(price_bids)\nmarket.set_demand_constraints(demand)\n\n# Calculate dispatch and pricing\nmarket.dispatch()\n\n# Return the total dispatch of each unit in MW.\nprint(market.get_unit_dispatch())\n#   unit service  dispatch\n# 0    A  energy      40.0\n# 1    B  energy      80.0\n\n# Return the price of energy in each region.\nprint(market.get_energy_prices())\n#   region  price\n# 0    NSW   60.0\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\n\u003csummary\u003eA detailed example\u003c/summary\u003e\n\nThe example demonstrates the broad range of market features that can be implemented with Nempy and the use of auxiliary \nmodelling tools for accessing historical market data published by AEMO and preprocessing it for compatibility with Nempy.\n\n\u003e [!WARNING]  \n\u003e This example downloads approximately 54 GB of data from AEMO.\n\n```python\n# Notice:\n# - This script downloads large volumes of historical market data (~54 GB) from AEMO's nemweb\n#   portal. You can also reduce the data usage by restricting the time window given to the\n#   xml_cache_manager and in the get_test_intervals function. The boolean on line 22 can\n#   also be changed to prevent this happening repeatedly once the data has been downloaded.\n\nimport sqlite3\nfrom datetime import datetime, timedelta\nimport random\nimport pandas as pd\nfrom nempy import markets\nfrom nempy.historical_inputs import loaders, mms_db, \\\n    xml_cache, units, demand, interconnectors, constraints\n\ncon = sqlite3.connect('D:/nempy_2024_07/historical_mms.db')\nmms_db_manager = mms_db.DBManager(connection=con)\n\nxml_cache_manager = xml_cache.XMLCacheManager('D:/nempy_2024_07/xml_cache')\n\n# The second time this example is run on a machine this flag can\n# be set to false to save downloading the data again.\ndownload_inputs = True\n\nif download_inputs:\n    # This requires approximately 4 GB of storage.\n    mms_db_manager.populate(start_year=2024, start_month=7,\n                            end_year=2024, end_month=7)\n\n    # This requires approximately 50 GB of storage.\n    xml_cache_manager.populate_by_day(start_year=2024, start_month=7, start_day=1,\n                                      end_year=2024, end_month=8, end_day=1)\n\nraw_inputs_loader = loaders.RawInputsLoader(\n    nemde_xml_cache_manager=xml_cache_manager,\n    market_management_system_database=mms_db_manager)\n\n\n# A list of intervals we want to recreate historical dispatch for.\ndef get_test_intervals(number=100):\n    start_time = datetime(year=2024, month=7, day=1, hour=0, minute=0)\n    end_time = datetime(year=2024, month=8, day=1, hour=0, minute=0)\n    difference = end_time - start_time\n    difference_in_5_min_intervals = difference.days * 12 * 24\n    random.seed(1)\n    intervals = random.sample(range(1, difference_in_5_min_intervals), number)\n    times = [start_time + timedelta(minutes=5 * i) for i in intervals]\n    times_formatted = [t.isoformat().replace('T', ' ').replace('-', '/') for t in times]\n    return times_formatted\n\n\n# List for saving outputs to.\noutputs = []\nc = 0\n# Create and dispatch the spot market for each dispatch interval.\nfor interval in get_test_intervals(number=100):\n\n    c += 1\n    print(str(c) + ' ' + str(interval))\n    raw_inputs_loader.set_interval(interval)\n    unit_inputs = units.UnitData(raw_inputs_loader)\n    interconnector_inputs = interconnectors.InterconnectorData(raw_inputs_loader)\n    constraint_inputs = constraints.ConstraintData(raw_inputs_loader)\n    demand_inputs = demand.DemandData(raw_inputs_loader)\n\n    unit_info = unit_inputs.get_unit_info()\n    market = markets.SpotMarket(market_regions=['QLD1', 'NSW1', 'VIC1',\n                                                'SA1', 'TAS1'],\n                                unit_info=unit_info)\n\n    # Set bids\n    volume_bids, price_bids = unit_inputs.get_processed_bids()\n    market.set_unit_volume_bids(volume_bids)\n    market.set_unit_price_bids(price_bids)\n\n    # Set bid in capacity limits\n    unit_bid_limit = unit_inputs.get_unit_bid_availability()\n    cost = constraint_inputs.get_constraint_violation_prices()['unit_capacity']\n    market.set_unit_bid_capacity_constraints(unit_bid_limit, violation_cost=cost)\n\n    # Set limits provided by the unconstrained intermittent generation\n    # forecasts. Primarily for wind and solar.\n    unit_uigf_limit = unit_inputs.get_unit_uigf_limits()\n    cost = constraint_inputs.get_constraint_violation_prices()['uigf']\n    market.set_unconstrained_intermittent_generation_forecast_constraint(\n        unit_uigf_limit, violation_cost=cost\n    )\n\n    # Set unit ramp rates.\n    ramp_rates = unit_inputs.get_bid_ramp_rates()\n    scada_ramp_rates = unit_inputs.get_scada_ramp_rates()\n    fast_start_profiles = unit_inputs.get_fast_start_profiles_for_dispatch()\n    cost = constraint_inputs.get_constraint_violation_prices()['ramp_rate']\n    market.set_unit_ramp_rate_constraints(\n        ramp_rates, scada_ramp_rates, fast_start_profiles,\n        run_type=\"fast_start_first_run\", violation_cost=cost\n    )\n\n    # Set unit FCAS trapezium constraints.\n    unit_inputs.add_fcas_trapezium_constraints()\n    cost = constraint_inputs.get_constraint_violation_prices()['fcas_max_avail']\n    fcas_availability = unit_inputs.get_fcas_max_availability()\n    market.set_fcas_max_availability(fcas_availability, violation_cost=cost)\n    cost = constraint_inputs.get_constraint_violation_prices()['fcas_profile']\n    regulation_trapeziums = unit_inputs.get_fcas_regulation_trapeziums()\n    market.set_energy_and_regulation_capacity_constraints(regulation_trapeziums,\n                                                          violation_cost=cost)\n    scada_ramp_rates = unit_inputs.get_scada_ramp_rates(inlude_initial_output=True)\n    market.set_joint_ramping_constraints_reg(\n        scada_ramp_rates, fast_start_profiles, run_type=\"fast_start_first_run\",\n        violation_cost=cost\n    )\n    contingency_trapeziums = unit_inputs.get_contingency_services()\n    market.set_joint_capacity_constraints(contingency_trapeziums, violation_cost=cost)\n\n    # Set interconnector definitions, limits and loss models.\n    interconnectors_definitions = \\\n        interconnector_inputs.get_interconnector_definitions()\n    loss_functions, interpolation_break_points = \\\n        interconnector_inputs.get_interconnector_loss_model()\n    market.set_interconnectors(interconnectors_definitions)\n    market.set_interconnector_losses(loss_functions,\n                                     interpolation_break_points)\n\n    # Add generic constraints and FCAS market constraints.\n    fcas_requirements = constraint_inputs.get_fcas_requirements()\n    cost = constraint_inputs.get_violation_costs()\n    market.set_fcas_requirements_constraints(fcas_requirements, violation_cost=cost)\n    generic_rhs = constraint_inputs.get_rhs_and_type_excluding_regional_fcas_constraints()\n    market.set_generic_constraints(generic_rhs, violation_cost=cost)\n    unit_generic_lhs = constraint_inputs.get_unit_lhs()\n    market.link_units_to_generic_constraints(unit_generic_lhs)\n    interconnector_generic_lhs = constraint_inputs.get_interconnector_lhs()\n    market.link_interconnectors_to_generic_constraints(interconnector_generic_lhs)\n\n    # Set the operational demand to be met by dispatch.\n    regional_demand = demand_inputs.get_operational_demand()\n    cost = constraint_inputs.get_constraint_violation_prices()['regional_demand']\n    market.set_demand_constraints(regional_demand, violation_cost=cost)\n\n    # Set tiebreak constraint to equalise dispatch of equally priced bids.\n    cost = constraint_inputs.get_constraint_violation_prices()['tiebreak']\n    market.set_tie_break_constraints(cost)\n\n    # Get unit dispatch without fast start constraints and use it to\n    # make fast start unit commitment decisions.\n    market.dispatch()\n    dispatch = market.get_unit_dispatch()\n\n    cost = constraint_inputs.get_constraint_violation_prices()['fast_start']\n    fast_start_profiles = unit_inputs.get_fast_start_profiles_for_dispatch(dispatch)\n    cols = ['unit', 'end_mode', 'time_in_end_mode', 'mode_two_length',\n            'mode_four_length', 'min_loading']\n    fsp = fast_start_profiles.loc[:, cols]\n    market.set_fast_start_constraints(fsp, violation_cost=cost)\n\n    ramp_rates = unit_inputs.get_bid_ramp_rates()\n    scada_ramp_rates = unit_inputs.get_scada_ramp_rates()\n    cols = ['unit', 'end_mode', 'time_since_end_of_mode_two', 'min_loading']\n    fsp = fast_start_profiles.loc[:, cols]\n    cost = constraint_inputs.get_constraint_violation_prices()['ramp_rate']\n    market.set_unit_ramp_rate_constraints(\n        ramp_rates, scada_ramp_rates, fsp,\n        run_type=\"fast_start_second_run\", violation_cost=cost\n    )\n    cost = constraint_inputs.get_constraint_violation_prices()['fcas_profile']\n    scada_ramp_rates = unit_inputs.get_scada_ramp_rates(inlude_initial_output=True)\n    market.set_joint_ramping_constraints_reg(\n        scada_ramp_rates, fsp, run_type=\"fast_start_second_run\", violation_cost=cost\n    )\n\n    # If AEMO historically used the over constrained dispatch rerun\n    # process then allow it to be used in dispatch. This is needed\n    # because sometimes the conditions for over constrained dispatch\n    # are present but the rerun process isn't used.\n    if constraint_inputs.is_over_constrained_dispatch_rerun():\n        market.dispatch(allow_over_constrained_dispatch_re_run=True,\n                        energy_market_floor_price=-1000.0,\n                        energy_market_ceiling_price=17500.0,\n                        fcas_market_ceiling_price=1000.0)\n    else:\n        # The market price ceiling and floor are not needed here\n        # because they are only used for the over constrained\n        # dispatch rerun process.\n        market.dispatch(allow_over_constrained_dispatch_re_run=False)\n\n    # Save prices from this interval\n    prices = market.get_energy_prices()\n    prices['time'] = interval\n\n    # Getting historical prices for comparison. Note, ROP price, which is\n    # the regional reference node price before the application of any\n    # price scaling by AEMO, is used for comparison.\n    historical_prices = mms_db_manager.DISPATCHPRICE.get_data(interval)\n\n    prices = pd.merge(prices, historical_prices,\n                      left_on=['time', 'region'],\n                      right_on=['SETTLEMENTDATE', 'REGIONID'])\n\n    outputs.append(\n        prices.loc[:, ['time', 'region', 'price', 'ROP']])\n\ncon.close()\n\noutputs = pd.concat(outputs)\n\noutputs['error'] = outputs['price'] - outputs['ROP']\n\noutputs.to_csv(\"bdu_prices.csv\")\n\nprint('\\n Summary of error in energy price volume weighted average price. \\n'\n      'Comparison is against ROP, the price prior to \\n'\n      'any post dispatch adjustments, scaling, capping etc.')\nprint('Mean price error: {}'.format(outputs['error'].mean()))\nprint('Median price error: {}'.format(outputs['error'].quantile(0.5)))\nprint('5% percentile price error: {}'.format(outputs['error'].quantile(0.05)))\nprint('95% percentile price error: {}'.format(outputs['error'].quantile(0.95)))\n\n# Summary of error in energy price volume weighted average price.\n# Comparison is against ROP, the price prior to\n# any post dispatch adjustments, scaling, capping etc.\n# Mean price error: 0.13818277307210394\n# Median price error: 0.0\n# 5% percentile price error: -0.13335830516772942\n# 95% percentile price error: 0.013533539900288811\n```\n\u003c/details\u003e\n    \n","funding_links":[],"readme_doi_urls":["https://doi.org/10.21105/joss.03596","https://doi.org/10.5281/zenodo.7397514"],"works":{"https://doi.org/10.21105/joss.03596":{"id":"https://openalex.org/W4211164564","doi":"https://doi.org/10.21105/joss.03596","title":"Nempy: A Python package for modelling the Australian National Electricity Market dispatch procedure","display_name":"Nempy: A Python package for modelling the Australian National Electricity Market dispatch procedure","publication_year":2022,"publication_date":"2022-02-10","ids":{"openalex":"https://openalex.org/W4211164564","doi":"https://doi.org/10.21105/joss.03596"},"language":"en","primary_location":{"is_oa":true,"landing_page_url":"https://doi.org/10.21105/joss.03596","pdf_url":"https://joss.theoj.org/papers/10.21105/joss.03596.pdf","source":{"id":"https://openalex.org/S4210214273","display_name":"Journal of open source software","issn_l":"2475-9066","issn":["2475-9066"],"is_oa":true,"is_in_doaj":true,"host_organization":"https://openalex.org/P4310315853","host_organization_name":"Open Journals","host_organization_lineage":["https://openalex.org/P4310315853"],"host_organization_lineage_names":["Open Journals"],"type":"journal"},"license":"cc-by","version":"publishedVersion","is_accepted":true,"is_published":true},"type":"article","type_crossref":"journal-article","open_access":{"is_oa":true,"oa_status":"gold","oa_url":"https://joss.theoj.org/papers/10.21105/joss.03596.pdf","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5021364029","display_name":"Nicholas Gorman","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Nicholas Gorman","raw_affiliation_string":"","raw_affiliation_strings":[]},{"author_position":"middle","author":{"id":"https://openalex.org/A5000864932","display_name":"Anna Bruce","orcid":"https://orcid.org/0000-0003-1820-4039"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Anna Bruce","raw_affiliation_string":"","raw_affiliation_strings":[]},{"author_position":"last","author":{"id":"https://openalex.org/A5011121078","display_name":"Iain MacGill","orcid":"https://orcid.org/0000-0002-9587-6835"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Iain MacGill","raw_affiliation_string":"","raw_affiliation_strings":[]}],"countries_distinct_count":0,"institutions_distinct_count":0,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":{"value":0,"currency":"USD","value_usd":0,"provenance":"doaj"},"apc_paid":{"value":0,"currency":"USD","value_usd":0,"provenance":"doaj"},"has_fulltext":true,"fulltext_origin":"pdf","cited_by_count":1,"cited_by_percentile_year":{"min":72,"max":81},"biblio":{"volume":"7","issue":"70","first_page":"3596","last_page":"3596"},"is_retracted":false,"is_paratext":false,"keywords":[{"keyword":"electricity","score":0.3976},{"keyword":"python package","score":0.3433}],"concepts":[{"id":"https://openalex.org/C519991488","wikidata":"https://www.wikidata.org/wiki/Q28865","display_name":"Python (programming language)","level":2,"score":0.8741127},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.49126214},{"id":"https://openalex.org/C206658404","wikidata":"https://www.wikidata.org/wiki/Q12725","display_name":"Electricity","level":2,"score":0.43168783},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.2642221},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.20646733},{"id":"https://openalex.org/C119599485","wikidata":"https://www.wikidata.org/wiki/Q43035","display_name":"Electrical engineering","level":1,"score":0.13167396}],"mesh":[],"locations_count":1,"locations":[{"is_oa":true,"landing_page_url":"https://doi.org/10.21105/joss.03596","pdf_url":"https://joss.theoj.org/papers/10.21105/joss.03596.pdf","source":{"id":"https://openalex.org/S4210214273","display_name":"Journal of open source software","issn_l":"2475-9066","issn":["2475-9066"],"is_oa":true,"is_in_doaj":true,"host_organization":"https://openalex.org/P4310315853","host_organization_name":"Open Journals","host_organization_lineage":["https://openalex.org/P4310315853"],"host_organization_lineage_names":["Open Journals"],"type":"journal"},"license":"cc-by","version":"publishedVersion","is_accepted":true,"is_published":true}],"best_oa_location":{"is_oa":true,"landing_page_url":"https://doi.org/10.21105/joss.03596","pdf_url":"https://joss.theoj.org/papers/10.21105/joss.03596.pdf","source":{"id":"https://openalex.org/S4210214273","display_name":"Journal of open source software","issn_l":"2475-9066","issn":["2475-9066"],"is_oa":true,"is_in_doaj":true,"host_organization":"https://openalex.org/P4310315853","host_organization_name":"Open Journals","host_organization_lineage":["https://openalex.org/P4310315853"],"host_organization_lineage_names":["Open Journals"],"type":"journal"},"license":"cc-by","version":"publishedVersion","is_accepted":true,"is_published":true},"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/9","display_name":"Industry, innovation and infrastructure","score":0.3},{"id":"https://metadata.un.org/sdg/7","display_name":"Affordable and clean energy","score":0.17},{"id":"https://metadata.un.org/sdg/17","display_name":"Partnerships for the goals","score":0.15}],"grants":[],"referenced_works_count":8,"referenced_works":["https://openalex.org/W2067893204","https://openalex.org/W2157157888","https://openalex.org/W2342249984","https://openalex.org/W2888598463","https://openalex.org/W2895829906","https://openalex.org/W3082263362","https://openalex.org/W3099878876","https://openalex.org/W3133784021"],"related_works":["https://openalex.org/W2327204559","https://openalex.org/W3129254793","https://openalex.org/W2587671147","https://openalex.org/W2623240261","https://openalex.org/W4385431408","https://openalex.org/W3117748389","https://openalex.org/W2899084033","https://openalex.org/W2748952813","https://openalex.org/W3187193180","https://openalex.org/W106542691"],"ngrams_url":"https://api.openalex.org/works/W4211164564/ngrams","abstract_inverted_index":{"Gorman":[0],"et":[1],"al.,":[2],"(2022).":[3],"Nempy:":[4],"A":[5],"Python":[6],"package":[7],"for":[8],"modelling":[9],"the":[10],"Australian":[11],"National":[12],"Electricity":[13],"Market":[14],"dispatch":[15],"procedure.":[16],"Journal":[17],"of":[18],"Open":[19],"Source":[20],"Software,":[21],"7(70),":[22],"3596,":[23],"https://doi.org/10.21105/joss.03596":[24]},"cited_by_api_url":"https://api.openalex.org/works?filter=cites:W4211164564","counts_by_year":[{"year":2022,"cited_by_count":1}],"updated_date":"2023-12-15T11:59:42.741348","created_date":"2022-02-13"},"https://doi.org/10.5281/zenodo.7397514":null},"citation_counts":{"https://doi.org/10.21105/joss.03596":1},"total_citations":1,"keywords_from_contributors":["aemo","nem","nemweb"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/19906","html_url":"https://ost.ecosyste.ms/projects/19906"}