{"id":336114,"name":"APIS","description":"Autonomous Power Interchange System is an innovative open-source platform that enables Physical Peer-to-Peer (PP2P) energy sharing between distributed batteries in microgrids.","url":"https://github.com/hyphae/apis","last_synced_at":"2026-04-21T21:30:35.430Z","repository":{"id":38385421,"uuid":"340249383","full_name":"hyphae/APIS","owner":"hyphae","description":null,"archived":false,"fork":false,"pushed_at":"2026-02-01T16:11:52.000Z","size":234,"stargazers_count":34,"open_issues_count":52,"forks_count":27,"subscribers_count":3,"default_branch":"add-license-1","last_synced_at":"2026-02-01T16:47:21.671Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Makefile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hyphae.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":"GOVERNANCE.md","roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE.md","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-02-19T03:36:42.000Z","updated_at":"2026-02-01T16:21:55.000Z","dependencies_parsed_at":"2025-12-14T08:00:28.345Z","dependency_job_id":null,"html_url":"https://github.com/hyphae/APIS","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/hyphae/APIS","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyphae%2FAPIS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyphae%2FAPIS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyphae%2FAPIS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyphae%2FAPIS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hyphae","download_url":"https://codeload.github.com/hyphae/APIS/tar.gz/refs/heads/add-license-1","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyphae%2FAPIS/sbom","scorecard":{"id":1238295,"data":{"date":"2025-09-24T16:43:46Z","repo":{"name":"github.com/hyphae/APIS","commit":"8638efe206663c604b47d1b9cb40074e2de5c87a"},"scorecard":{"version":"v4.13.1","commit":"49c0eed3a423f00c872b5c3c9f1bbca9e8aae799"},"score":6.1,"checks":[{"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/49c0eed3a423f00c872b5c3c9f1bbca9e8aae799/docs/checks.md#binary-artifacts"}},{"name":"Branch-Protection","score":6,"reason":"branch protection is not maximal on development and all release branches","details":["Info: 'force pushes' disabled on branch 'add-license-1'","Info: 'allow deletion' disabled on branch 'add-license-1'","Warn: no status checks found to merge onto branch 'add-license-1'","Warn: number of required reviewers is only 1 on branch 'add-license-1'","Info: settings apply to administrators on branch 'add-license-1'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/49c0eed3a423f00c872b5c3c9f1bbca9e8aae799/docs/checks.md#branch-protection"}},{"name":"CI-Tests","score":0,"reason":"0 out of 11 merged PRs checked by a CI test -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/49c0eed3a423f00c872b5c3c9f1bbca9e8aae799/docs/checks.md#ci-tests"}},{"name":"CII-Best-Practices","score":2,"reason":"badge detected: in_progress","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/49c0eed3a423f00c872b5c3c9f1bbca9e8aae799/docs/checks.md#cii-best-practices"}},{"name":"Code-Review","score":6,"reason":"found 5 unreviewed changesets out of 16 -- score normalized to 6","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/49c0eed3a423f00c872b5c3c9f1bbca9e8aae799/docs/checks.md#code-review"}},{"name":"Contributors","score":6,"reason":"2 different organizations found -- score normalized to 6","details":["Info: contributors work for axm software,sams webs consulting"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/49c0eed3a423f00c872b5c3c9f1bbca9e8aae799/docs/checks.md#contributors"}},{"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/49c0eed3a423f00c872b5c3c9f1bbca9e8aae799/docs/checks.md#dangerous-workflow"}},{"name":"Dependency-Update-Tool","score":0,"reason":"no update tool detected","details":["Warn: tool 'RenovateBot' is not used: Follow the instructions from https://docs.renovatebot.com/configuration-options/. (Low effort)","Warn: tool 'Dependabot' is not used: Follow the instructions from https://docs.github.com/code-security/dependabot/dependabot-version-updates/about-dependabot-version-updates. (Low effort)","Warn: tool 'PyUp' is not used: Follow the instructions from https://docs.pyup.io/docs. (Low effort)","Warn: tool 'Sonatype Lift' is not used: Follow the instructions from https://help.sonatype.com/lift/getting-started. (Low effort)"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/49c0eed3a423f00c872b5c3c9f1bbca9e8aae799/docs/checks.md#dependency-update-tool"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no OSSFuzz integration found: Follow the steps in https://github.com/google/oss-fuzz to integrate fuzzing for your project.\nOver time, try to add fuzzing for more functionalities of your project. (High effort)","Warn: no OneFuzz integration found: Follow the steps in https://github.com/microsoft/onefuzz to start fuzzing for your project.\nOver time, try to add fuzzing for more functionalities of your project. (High effort)","Warn: no GoBuiltInFuzzer integration found: Follow the steps in https://go.dev/doc/fuzz/ to enable fuzzing on your project.\nOver time, try to add fuzzing for more functionalities of your project. (Medium effort)","Warn: no PythonAtherisFuzzer integration found: Follow the steps in https://github.com/google/atheris to enable fuzzing on your project.\nOver time, try to add fuzzing for more functionalities of your project. (Medium effort)","Warn: no CLibFuzzer integration found: Follow the steps in https://llvm.org/docs/LibFuzzer.html to enable fuzzing on your project.\nOver time, try to add fuzzing for more functionalities of your project. (Medium effort)","Warn: no CppLibFuzzer integration found: Follow the steps in https://llvm.org/docs/LibFuzzer.html to enable fuzzing on your project.\nOver time, try to add fuzzing for more functionalities of your project. (Medium effort)","Warn: no SwiftLibFuzzer integration found: Follow the steps in https://google.github.io/oss-fuzz/getting-started/new-project-guide/swift-lang/ to enable fuzzing on your project.\nOver time, try to add fuzzing for more functionalities of your project. (Medium effort)","Warn: no RustCargoFuzzer integration found: Follow the steps in https://rust-fuzz.github.io/book/cargo-fuzz.html to enable fuzzing on your project.\nOver time, try to add fuzzing for more functionalities of your project. (Medium effort)","Warn: no JavaJazzerFuzzer integration found: Follow the steps in https://github.com/CodeIntelligenceTesting/jazzer to enable fuzzing on your project.\nOver time, try to add fuzzing for more functionalities of your project. (Medium effort)","Warn: no ClusterFuzzLite integration found: Follow the steps in https://github.com/google/clusterfuzzlite to integrate fuzzing as part of CI.\nOver time, try to add fuzzing for more functionalities of your project. (High effort)","Warn: no HaskellPropertyBasedTesting integration found: Use one of the following frameworks to fuzz your project:\nQuickCheck: https://hackage.haskell.org/package/QuickCheck\nhedgehog: https://hedgehog.qa/\nvalidity: https://github.com/NorfairKing/validity\nsmallcheck: https://hackage.haskell.org/package/smallcheck\nhspec: https://hspec.github.io/\ntasty: https://hackage.haskell.org/package/tasty (High effort)","Warn: no TypeScriptPropertyBasedTesting integration found: Use fast-check: https://github.com/dubzzz/fast-check (High effort)","Warn: no JavaScriptPropertyBasedTesting integration found: Use fast-check: https://github.com/dubzzz/fast-check (High effort)"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/49c0eed3a423f00c872b5c3c9f1bbca9e8aae799/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: License file found in expected location: LICENSE:1","Info: FSF or OSI recognized license: LICENSE:1"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/49c0eed3a423f00c872b5c3c9f1bbca9e8aae799/docs/checks.md#license"}},{"name":"Maintained","score":8,"reason":"8 commit(s) out of 30 and 2 issue activity out of 30 found in the last 90 days -- score normalized to 8","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/49c0eed3a423f00c872b5c3c9f1bbca9e8aae799/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"no published package detected","details":["Warn: no GitHub/GitLab publishing workflow detected"],"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/49c0eed3a423f00c872b5c3c9f1bbca9e8aae799/docs/checks.md#packaging"}},{"name":"Pinned-Dependencies","score":8,"reason":"dependency not pinned by hash detected -- score normalized to 8","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/scorecard.yml:71: update your workflow using https://app.stepsecurity.io/secureworkflow/hyphae/APIS/scorecard.yml/add-license-1?enable=pin","Info:   2 out of   3 GitHub-owned GitHubAction dependencies pinned","Info:   1 out of   1 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/49c0eed3a423f00c872b5c3c9f1bbca9e8aae799/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 25 are checked with a SAST tool","Warn: CodeQL tool not detected"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/49c0eed3a423f00c872b5c3c9f1bbca9e8aae799/docs/checks.md#sast"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected: On GitHub:\nEnable private vulnerability disclosure in your repository settings https://docs.github.com/en/code-security/security-advisories/repository-security-advisories/configuring-private-vulnerability-reporting-for-a-repository\nAdd a section in your SECURITY.md indicating you have enabled private reporting, and tell them to follow the steps in https://docs.github.com/en/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability to report vulnerabilities.\nOn GitLab:\nAdd a section in your SECURITY.md indicating the process to disclose vulnerabilities for your project.\nExamples: https://github.com/ossf/scorecard/blob/main/SECURITY.md, https://github.com/slsa-framework/slsa-github-generator/blob/main/SECURITY.md, https://github.com/sigstore/.github/blob/main/SECURITY.md.\nFor additional information on vulnerability disclosure, see https://github.com/ossf/oss-vulnerability-guide/blob/main/maintainer-guide.md. (Medium effort)","Warn: no security file to analyze: On GitHub:\nEnable private vulnerability disclosure in your repository settings https://docs.github.com/en/code-security/security-advisories/repository-security-advisories/configuring-private-vulnerability-reporting-for-a-repository\nAdd a section in your SECURITY.md indicating you have enabled private reporting, and tell them to follow the steps in https://docs.github.com/en/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability to report vulnerabilities.\nOn GitLab:\nProvide a point of contact in your SECURITY.md.\nExamples: https://github.com/ossf/scorecard/blob/main/SECURITY.md, https://github.com/slsa-framework/slsa-github-generator/blob/main/SECURITY.md, https://github.com/sigstore/.github/blob/main/SECURITY.md. (Low effort)","Warn: no security file to analyze: On GitHub:\nEnable private vulnerability disclosure in your repository settings https://docs.github.com/en/code-security/security-advisories/repository-security-advisories/configuring-private-vulnerability-reporting-for-a-repository\nAdd a section in your SECURITY.md indicating you have enabled private reporting, and tell them to follow the steps in https://docs.github.com/en/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability to report vulnerabilities.\nOn GitLab:\nAdd a section in your SECURITY.md indicating the process to disclose vulnerabilities for your project.\nExamples: https://github.com/ossf/scorecard/blob/main/SECURITY.md, https://github.com/slsa-framework/slsa-github-generator/blob/main/SECURITY.md, https://github.com/sigstore/.github/blob/main/SECURITY.md. (Low effort)","Warn: no security file to analyze: On GitHub:\nEnable private vulnerability disclosure in your repository settings https://docs.github.com/en/code-security/security-advisories/repository-security-advisories/configuring-private-vulnerability-reporting-for-a-repository\nAdd a section in your SECURITY.md indicating you have enabled private reporting, and tell them to follow the steps in https://docs.github.com/en/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability to report vulnerabilities.\nOn GitLab:\nAdd a section in your SECURITY.md indicating the process to disclose vulnerabilities for your project.\nExamples: https://github.com/ossf/scorecard/blob/main/SECURITY.md, https://github.com/slsa-framework/slsa-github-generator/blob/main/SECURITY.md, https://github.com/sigstore/.github/blob/main/SECURITY.md. (Low effort)"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/49c0eed3a423f00c872b5c3c9f1bbca9e8aae799/docs/checks.md#security-policy"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":["Warn: no GitHub releases found"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/49c0eed3a423f00c872b5c3c9f1bbca9e8aae799/docs/checks.md#signed-releases"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","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/49c0eed3a423f00c872b5c3c9f1bbca9e8aae799/docs/checks.md#token-permissions"}},{"name":"Vulnerabilities","score":10,"reason":"no vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/49c0eed3a423f00c872b5c3c9f1bbca9e8aae799/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-09-29T13:28:23.423Z","repository_id":38385421,"created_at":"2025-09-29T13:28:23.424Z","updated_at":"2025-09-29T13:28:23.424Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29191989,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-07T07:37:03.739Z","status":"ssl_error","status_checked_at":"2026-02-07T07:37:03.029Z","response_time":63,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":"hyphae","name":"Hyphae","uuid":"78509563","kind":"organization","description":"By providing an Autonomous Power Interchange System (APIS), Hyphae automatically and efficiently distributes locally-produced renewable energy over a DC grid","email":"hyphae@lfenergy.org","website":"https://www.lfenergy.org/projects/hyphae/","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/78509563?v=4","repositories_count":1,"last_synced_at":"2023-03-06T21:27:44.236Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/hyphae","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-16T21:53:23.864Z","updated_at":"2023-03-06T21:27:44.237Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hyphae","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hyphae/repositories"},"packages":[],"commits":{"id":11589346,"full_name":"hyphae/apis","default_branch":"master","total_commits":198,"total_committers":12,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":16.5,"dds":0.20707070707070707,"past_year_total_commits":19,"past_year_total_committers":9,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":2.111111111111111,"past_year_dds":0.6842105263157895,"last_synced_at":"2026-02-05T10:08:14.440Z","last_synced_commit":"158ffc86093ab6a332be52f5a8a1b22e7b9f75c1","created_at":"2025-11-28T00:02:59.425Z","updated_at":"2026-02-05T10:07:03.517Z","committers":[{"name":"oes-github","email":"71874910+oes-github","login":"oes-github","count":157},{"name":"岩瀬俊一郎","email":"iwaseshunichirou@iwaseshunichirounoMacBook-puro.local","login":null,"count":20},{"name":"Will Sams","email":"will@samswebs.com","login":"WillSams","count":6},{"name":"AXM Software","email":"35903292+axmsoftware","login":"axmsoftware","count":4},{"name":"Bill Bensing","email":"bill@billbensing.com","login":"BillBensing","count":2},{"name":"Akarsh Sahlot","email":"122122123+AkarshSahlot","login":"AkarshSahlot","count":2},{"name":"Palak Goyal","email":"palakgoyal@Palaks-MacBook-Pro.local","login":null,"count":2},{"name":"YATIN072007","email":"yatinjamwal07@gmail.com","login":"YATIN072007","count":1},{"name":"Venkata Sai","email":"116882464+Venkata-Sai-Vishwanath-robo","login":"Venkata-Sai-Vishwanath-robo","count":1},{"name":"Subhramit Basu","email":"subhramit.bb@live.in","login":"subhramit","count":1},{"name":"Souradip Pal","email":"souradip1000@gmail.com","login":"SparklinStar","count":1},{"name":"Kotaro Jinushi","email":"72803344+jinupygogo","login":"jinupygogo","count":1}],"past_year_committers":[{"name":"Will Sams","email":"will@samswebs.com","login":"WillSams","count":6},{"name":"AXM Software","email":"35903292+axmsoftware","login":"axmsoftware","count":4},{"name":"Akarsh Sahlot","email":"122122123+AkarshSahlot","login":"AkarshSahlot","count":2},{"name":"Palak Goyal","email":"palakgoyal@Palaks-MacBook-Pro.local","login":null,"count":2},{"name":"YATIN072007","email":"yatinjamwal07@gmail.com","login":"YATIN072007","count":1},{"name":"Venkata Sai","email":"116882464+Venkata-Sai-Vishwanath-robo","login":"Venkata-Sai-Vishwanath-robo","count":1},{"name":"Subhramit Basu","email":"subhramit.bb@live.in","login":"subhramit","count":1},{"name":"Souradip Pal","email":"souradip1000@gmail.com","login":"SparklinStar","count":1},{"name":"Bill Bensing","email":"bill@billbensing.com","login":"BillBensing","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyphae%2Fapis/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-02-07T00:00:11.968Z","repositories_count":6168479,"commits_count":929287230,"contributors_count":36100612,"owners_count":1140250,"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":"hyphae/APIS","html_url":"https://github.com/hyphae/APIS","last_synced_at":"2026-02-07T03:09:16.471Z","status":null,"issues_count":37,"pull_requests_count":23,"avg_time_to_close_issue":533356.0,"avg_time_to_close_pull_request":9895282.714285715,"issues_closed_count":3,"pull_requests_closed_count":7,"pull_request_authors_count":13,"issue_authors_count":6,"avg_comments_per_issue":0.4594594594594595,"avg_comments_per_pull_request":0.5217391304347826,"merged_pull_requests_count":6,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":34,"past_year_pull_requests_count":20,"past_year_avg_time_to_close_issue":533356.0,"past_year_avg_time_to_close_pull_request":142208.0,"past_year_issues_closed_count":3,"past_year_pull_requests_closed_count":5,"past_year_pull_request_authors_count":11,"past_year_issue_authors_count":6,"past_year_avg_comments_per_issue":0.5,"past_year_avg_comments_per_pull_request":0.55,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"created_at":"2025-08-29T15:20:15.223Z","updated_at":"2026-02-07T10:00:10.198Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyphae%2FAPIS","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyphae%2FAPIS/issues","issue_labels_count":{"bug":2,"good first issue":2,"documentation":1,"enhancement":1},"pull_request_labels_count":{},"issue_author_associations_count":{"NONE":28,"CONTRIBUTOR":8,"MEMBER":1},"pull_request_author_associations_count":{"NONE":15,"CONTRIBUTOR":6,"MEMBER":2},"issue_authors":{"RodKWATE":23,"WillSams":6,"axmsoftware":5,"subhramit":1,"3akare":1,"biga-codes":1},"pull_request_authors":{"WillSams":4,"goyalpalak18":4,"AkarshSahlot":3,"axmsoftware":2,"Venkata-Sai-Vishwanath-robo":2,"Manpreets59":1,"BillBensing":1,"shubhamjanki":1,"Nakshatra480":1,"YATIN072007":1,"werkmanne":1,"HritikRaj2":1,"Souradip121":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-02-07T00:00:09.758Z","repositories_count":13129182,"issues_count":35574989,"pull_requests_count":115237264,"authors_count":11148241,"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":{"bug":2,"good first issue":2,"documentation":1,"enhancement":1},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{"NONE":28,"CONTRIBUTOR":5,"MEMBER":1},"past_year_pull_request_author_associations_count":{"NONE":14,"CONTRIBUTOR":4,"MEMBER":2},"past_year_issue_authors":{"RodKWATE":23,"WillSams":6,"axmsoftware":2,"3akare":1,"biga-codes":1,"subhramit":1},"past_year_pull_request_authors":{"WillSams":4,"goyalpalak18":4,"AkarshSahlot":3,"Venkata-Sai-Vishwanath-robo":2,"shubhamjanki":1,"Nakshatra480":1,"HritikRaj2":1,"Manpreets59":1,"YATIN072007":1,"werkmanne":1,"Souradip121":1},"maintainers":[{"login":"Venkata-Sai-Vishwanath-robo","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Venkata-Sai-Vishwanath-robo"},{"login":"subhramit","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/subhramit"}],"active_maintainers":[{"login":"Venkata-Sai-Vishwanath-robo","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Venkata-Sai-Vishwanath-robo"},{"login":"subhramit","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/subhramit"}]},"events":{"total":{"ReleaseEvent":1,"MemberEvent":1,"PullRequestEvent":29,"ForkEvent":15,"IssuesEvent":43,"WatchEvent":18,"IssueCommentEvent":45,"PushEvent":21,"PullRequestReviewCommentEvent":5,"PullRequestReviewEvent":15,"CreateEvent":10},"last_year":{"MemberEvent":1,"PullRequestEvent":28,"ForkEvent":15,"IssuesEvent":40,"WatchEvent":18,"IssueCommentEvent":45,"PushEvent":19,"PullRequestReviewCommentEvent":5,"PullRequestReviewEvent":15,"CreateEvent":8}},"keywords":[],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/scorecard.yml","sha":null,"kind":"manifest","created_at":"2025-12-14T08:00:27.923Z","updated_at":"2025-12-14T08:00:27.923Z","repository_link":"https://github.com/hyphae/APIS/blob/add-license-1/.github/workflows/scorecard.yml","dependencies":[{"id":25768280900,"package_name":"actions/checkout","ecosystem":"actions","requirements":"b4ffde65f46336ab88eb53be808477a3936bae11","direct":true,"kind":"composite","optional":false},{"id":25768280901,"package_name":"ossf/scorecard-action","ecosystem":"actions","requirements":"0864cf19026789058feabb7e87baa5f140aac736","direct":true,"kind":"composite","optional":false},{"id":25768280905,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"97a0fba1372883ab732affbe8f94b823f91727db","direct":true,"kind":"composite","optional":false},{"id":25768280906,"package_name":"github/codeql-action/upload-sarif","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]}],"score":6.939253946041507,"created_at":"2025-11-28T00:02:28.876Z","updated_at":"2026-04-21T21:30:35.436Z","avatar_url":"https://github.com/hyphae.png","language":"Makefile","category":"Energy Storage","sub_category":"Battery","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"# 🔋 APIS - Autonomous Power Interchange System\n[![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/hyphae/APIS/badge)](https://scorecard.dev/viewer/?uri=github.com/hyphae/APIS)\n\n---\n\n## 🎯 What is APIS?\n\n**APIS** is an innovative open-source platform that enables **Physical Peer-to-Peer (PP2P) energy sharing** between distributed batteries in microgrids. By leveraging Variable Renewable Energy (VRE) sources, APIS builds resilient microgrids that enhance community self-sufficiency and reduce dependency on traditional centralized power generation.\n\n### 🌟 Why This Matters\n\nImagine if your home battery could automatically share power with your neighbors when they need it, and get power back when you need it. That's exactly what APIS does!\n\n- **💰 Save Money**: Share excess solar power instead of selling it back to the grid at low prices\n- **🔋 Stay Powered**: Never run out of energy when your neighbors have extra\n- **🌱 Go Green**: Maximize renewable energy use in your community  \n- **🏠 Be Independent**: Reduce reliance on big power companies\n- **🛡️ Build Resilience**: Keep communities powered during grid outages\n\nClick [here](https://www.sonycsl.co.jp/tokyo/11481/) for more details about the research behind APIS.\n\n---\n\n## 🔧 How It Works\n\n![image 5](https://github.com/user-attachments/assets/4a2b2b5c-41e6-4bc8-8d7f-a150740c80e5)\n\n### Physical Peer to Peer (PP2P) Energy Sharing\n\nAPIS achieves **precise energy sharing between batteries using constant current control**. This technology:\n\n- ✅ **Offsets energy shortages** by delivering the necessary amount from surplus batteries\n- ✅ **Enables fixed-amount power transfers** between specific users (batteries)\n- ✅ **Supports P2P energy trading** based on energy amount and price conditions\n- ✅ **Works where voltage control fails** - providing true peer-to-peer transactions\n\n![PP2P Technology Diagram](https://user-images.githubusercontent.com/71874910/95694571-c0c47080-0c6d-11eb-9935-89d62e43228c.PNG)\n\n### Autonomous Distributed Control\n\n**The same software is installed on every battery system**, creating a truly decentralized network where:\n\n- 🤖 **Smart Decision Making**: Each system makes autonomous trading decisions\n- ⚙️ **Flexible Conditions**: Set different trading rules for each battery system\n- 🕐 **Dynamic Updates**: Change conditions for each time window\n- 📊 **Custom Parameters**: Configure energy amount, pricing, and timing preferences\n\n![Autonomous Control Diagram](https://user-images.githubusercontent.com/71874910/95833927-3ff19b80-0d77-11eb-9bc7-1994e641d5fd.PNG)\n\n---\n\n## 🚀 Quick Start (5 Minutes)\n\n**Want to try it out? Here's how:**\n\n```bash\n# 1. Get the code\ngit clone https://github.com/hyphae/APIS.git\ncd APIS\n\n# 2. Build everything  \nmake build\n\n# 3. Start the system\nmake run\n```\n\n**That's it!** Now open your web browser and go to:\n\n| Service | URL | What You'll See |\n|---------|-----|-----------------|\n| 📊 **Main Controller** | `http://0.0.0.0:4382/` | Primary dashboard and controls |\n| 🔧 **Hardware Emulator** | `http://0.0.0.0:4390/` | Simulate batteries and DC/DC converters |\n| 🧪 **Testing Interface** | `http://0.0.0.0:10000/` | System testing and validation tools |\n| 🏢 **Service Center** | `http://127.0.0.1:8000/static/ui_example/staff/visual.html` | Admin interface (login: admin/admin) |\n\n### Starting Your First Energy Exchange\n\n![APIS Main Controller](https://user-images.githubusercontent.com/71874910/97250475-602a5b80-1849-11eb-95bd-b8c1cac57c61.PNG)\n\n1. **Access the Main Controller** at `http://0.0.0.0:4382/`\n2. **Clear your browser cache** (recommended for best performance)\n3. **Set Global Mode to \"Run\"** to start energy exchange simulation\n\n![Energy Exchange Simulation](https://user-images.githubusercontent.com/71874910/96272423-0932b400-1009-11eb-9a90-f9e5bd49baef.PNG)\n\n4. **Watch the magic happen** - energy will start flowing between simulated batteries automatically!\n\n**To stop the system:**\n```bash\nmake stop\n```\n\n---\n\n## 🛠️ System Components\n\n![image 9](https://github.com/user-attachments/assets/61ced950-9bc5-4cef-84dd-f322c10fdd1b)\n\nAPIS consists of several interconnected software modules that work together seamlessly:\n\n### 🔋 Core Components (Essential for Basic Operation)\n\n| Component | Purpose | What It Does |\n|-----------|---------|--------------|\n| **🧠 [apis-main](https://github.com/hyphae/apis-main)** | Energy Exchange Engine | Makes smart trading decisions and handles bi-directional energy flow with autonomous control ([Documentation](https://github.com/hyphae/apis-main/blob/master/doc/en/apis-main_specification_en.md)) |\n| **📊 [apis-main_controller](https://github.com/hyphae/apis-main_controller)** | Visual Dashboard | Monitor system status and energy exchanges in real-time through an easy web interface ([Documentation](https://github.com/hyphae/apis-main_controller/blob/master/doc/en/apis-main-controller_specification_en.md)) |\n| **🌐 [apis-web](https://github.com/hyphae/apis-web)** | Web Service Layer | Provides data and API services, connects everything to the internet securely ([Documentation](https://github.com/hyphae/apis-web/blob/master/doc/en/apis-web_specification_en.md)) |\n| **🔧 [apis-emulator](https://github.com/hyphae/apis-emulator)** | Hardware Simulator | Test the system without real batteries - simulates DC/DC converters and battery behavior ([Documentation](https://github.com/hyphae/apis-emulator/blob/master/doc/en/apis-emulator_specification_en.md)) |\n\n### 🏢 Extended Services (For Advanced Users \u0026 Communities)\n\n| Component | Purpose | What It Does |\n|-----------|---------|--------------|\n| **🏢 [apis-service_center](https://github.com/hyphae/apis-service_center)** | Community Management | Admin tools for managing large networks, user services, and cluster information *Added Dec 24, 2020* ([Documentation](https://github.com/hyphae/apis-service_center/blob/main/doc/en/apis-service_center_specification_EN.md)) |\n| **📡 [apis-ccc](https://github.com/hyphae/apis-ccc)** | Communication Hub | Coordinates between different APIS networks and uploads energy sharing information *Added Dec 24, 2020* ([Documentation](https://github.com/hyphae/apis-ccc/blob/main/doc/en/apis-ccc_specification_EN.md)) |\n| **📋 [apis-log](https://github.com/hyphae/apis-log)** | Smart Analytics | Receives data via multicast and stores comprehensive system analytics in database *Added Dec 24, 2020* ([Documentation](https://github.com/hyphae/apis-log/blob/main/doc/en/apis-log_specification_EN.md)) |\n| **🧪 [apis-tester](https://github.com/hyphae/apis-tester)** | Quality Assurance | Automated testing and evaluation framework for system validation *Added Dec 24, 2020* ([Documentation](https://github.com/hyphae/apis-tester/blob/main/doc/en/apis-tester_specification_EN.md)) |\n\n### ⚡ Real Hardware Integration (For Production Deployments)\n\n| Component | Purpose | What It Does |\n|-----------|---------|--------------|\n| **⚙️ [apis-dcdc_batt_comm](https://github.com/hyphae/apis-dcdc_batt_comm)** | Hardware Driver | Controls actual DC/DC converters and batteries (replaces emulator for real deployments) ([Documentation](https://github.com/hyphae/apis-dcdc_batt_comm/blob/master/doc/en/apis-dcdc_batt_comm_specification_en.md)) |\n| **🚀 [apis-build_version_up_system](https://github.com/hyphae/apis-build_version_up_system)** | Deployment Tool | Automates multi-node software installation and configuration for production systems ([Documentation](https://github.com/hyphae/apis-build_version_up_system/blob/main/doc/en/apis-build_version_up_system_specification_EN.md)) |\n| **📖 [apis-hw-info](https://github.com/SonyCSL/apis-hw-info)** | Hardware Guide | Reference documentation for compatible hardware and technical specifications ([Documentation](https://github.com/hyphae/apis-hw-info/blob/main/MAIN-DOCUMENT_EN.md)) |\n\n---\n\n## 💻 Installation Guide\n\n![image 2](https://github.com/user-attachments/assets/66de9429-c395-4b02-a015-b4a11e455b1f)\n\n### 🖥️ System Requirements\n\n**Tested Operating Systems:**\n- **Ubuntu**: 18.04, 20.04 ✅\n- **CentOS**: 7, 8 ✅  \n- **macOS**: Catalina, Big Sur ✅\n\n\u003e **⚠️ Important**: Virtual environments are not currently supported.\n\n### 📋 Prerequisites\n\n**Before you start, make sure you have:**\n\n```bash\n# Ubuntu/Debian systems:\nsudo apt update\nsudo apt install git make maven groovy python3-venv python3-pip\n```\n\n**Also Required:**\n- **Java Development Kit (JDK)**: Latest version\n- **Python**: 3.6.9 or later  \n- **SQLite**: 3.8.3 or later (required for CentOS 7)\n\n### 🚀 Installation Steps\n\n**1. Clone the Repository**\n```bash\ngit clone https://github.com/hyphae/APIS.git\ncd APIS\n```\n\n**2. Build All Components**\n```bash\nmake build\n```\n*This downloads and compiles all necessary software - takes 5-10 minutes*\n\n**3. Start the System**\n```bash\nmake run\n```\n\n**4. Verify Installation**\n- Open `http://0.0.0.0:4382/` in your browser\n- You should see the APIS control panel\n- All components should show as \"Running\" status\n\n### 🔧 Troubleshooting\n\n**If you encounter issues:**\n\n- **\"Command not found\" errors**: Install all prerequisites first\n- **\"make build\" or \"make run\" fails**: Open a new terminal and try again\n- **Port conflicts**: Stop other web servers or restart your computer\n- **Permission issues**: Check file permissions or try with appropriate privileges\n\n---\n\n## 📖 How to Use APIS\n\n### 🎮 Basic Operations\n\n**Start the System:**\n```bash\nmake run\n```\n\n**Monitor System Health:**\n- Check component status through the Main Controller interface\n- Monitor energy flow patterns and transaction logs  \n- Review system performance metrics in the Service Center\n\n**Stop the System:**\n```bash\nmake stop\n```\n\n### ⚙️ Configuration\n\n**Energy Trading Setup:**\n1. Access the web interfaces to modify transaction parameters\n2. Adjust energy trading conditions per time window\n3. Configure battery system preferences and constraints\n4. Set pricing rules and availability schedules\n\n**System Monitoring:**\n- Real-time energy flow visualization\n- Transaction history and analytics\n- Performance metrics and system health\n- Community-wide energy balance reports\n\n---\n\n## 🌍 Key Benefits\n\n![image 4](https://github.com/user-attachments/assets/7c3b06b0-34f8-4efa-91f8-461dad45ffb9)\n\n### For Homeowners 🏠\n- **💰 Lower Bills**: Reduce electricity costs significantly\n- **🔋 Backup Power**: Access community energy when your battery runs low\n- **🤖 Fully Automatic**: Set preferences once, let APIS handle everything\n- **📱 Easy Monitoring**: Simple web interface accessible from any device\n\n### For Communities 🏘️\n- **🌱 Environmental Impact**: Maximize clean energy use and reduce carbon footprint\n- **🛡️ Disaster Resilience**: Keep power flowing during grid outages and emergencies  \n- **💼 Economic Benefits**: Keep energy money in the community\n- **🏠 Energy Independence**: Reduce reliance on big power companies\n\n### For Developers 👨‍💻\n- **🔓 Open Source**: Free to use and modify under Apache License 2.0\n- **📚 Well Documented**: Comprehensive guides and API references\n- **🤝 Active Community**: Get help and contribute back\n- **✅ Proven Technology**: Already working in real installations worldwide\n\n---\n\n## 🤝 Contributing\n\nWe welcome contributions from the community! Here's how you can help:\n\n### 🌟 Ways to Contribute\n\n**Even if you're not a programmer:**\n- 📝 Improve documentation (fix typos, add examples)\n- 🧪 Test new features and report bugs  \n- 🗣️ Help answer questions in forums\n- 📢 Share your APIS success stories\n\n**If you code:**\n- 🐛 Fix bugs and improve stability\n- ⚡ Add new features and capabilities\n- 🔧 Create better tools and interfaces\n- 📊 Improve performance and efficiency\n\n**If you're a hardware person:**\n- 🔌 Create drivers for new battery systems\n- ⚙️ Design better integration methods\n- 📐 Contribute hardware compatibility guides\n- 🛠️ Help with installation and setup\n\n### 🚀 Getting Started\n\n1. **Fork the Repository**: Create your own fork of the APIS project\n2. **Create Feature Branch**: `git checkout -b feature/your-feature-name`\n3. **Make Changes**: Implement your improvements or fixes\n4. **Test Thoroughly**: Ensure all tests pass and functionality works\n5. **Submit Pull Request**: Describe your changes and their benefits\n\n### 📋 Contribution Guidelines\n\n- Follow existing code style and conventions\n- Include comprehensive tests for new features\n- Update documentation for any API changes\n- Provide clear commit messages and PR descriptions\n\n---\n\n## 🆘 Getting Help \u0026 Support\n\n### 🔍 Self-Service Options\n- **📖 Documentation**: Most questions answered in our comprehensive guides\n- **🔍 GitHub Issues**: Search existing problems and solutions\n- **💬 Community Forums**: Ask and answer questions with other users\n\n### 📞 Direct Support\n- **🐛 Bug Reports**: Create a GitHub issue for bug reports\n- **💡 Feature Requests**: Suggest improvements through GitHub issues\n- **🔒 Security Issues**: Contact maintainers directly for sensitive matters\n\n---\n\n## 📄 License \u0026 Legal\n\n**APIS** is released under the **[Apache License Version 2.0](https://github.com/hyphae/APIS/blob/master/LICENSE)**\n\n**What this means for you:**\n- ✅ Use it for free, forever\n- ✅ Modify it however you want\n- ✅ Use it in commercial products\n- ✅ No fees or royalties\n- ✅ Patent protection included\n\n**What you need to do:**\n- 📋 Include the license notice if you redistribute\n- 📋 Note any changes you make\n- 📋 That's pretty much it!\n\nSee the [LICENSE](https://github.com/hyphae/APIS/blob/master/LICENSE) file for all legal details.  \nSee the [NOTICE](https://github.com/hyphae/APIS/blob/master/NOTICE.md) for additional notices.\n\n---\n\n## 🎯 What's Next for APIS\n\n### 🔜 Coming Soon\n- **📱 Mobile App**: Control APIS from your smartphone\n- **☁️ Cloud Integration**: Connect with major cloud platforms  \n- **🤖 AI Optimization**: Smarter energy trading decisions\n- **🔌 More Hardware**: Support for additional battery brands\n\n### 🚀 Long-Term Vision\n- **🌐 Global Network**: Connect APIS communities worldwide\n- **🌱 Carbon Credits**: Automatic environmental impact tracking\n- **💹 Dynamic Pricing**: Real-time energy market integration\n- **👥 Peer Review**: Community-driven system improvements\n\n---\n\n## 🏁 Ready to Get Started?\n\n![image 7](https://github.com/user-attachments/assets/8e38740d-4ccf-4c46-a81c-400b8841cab4)\n\n**Choose your path:**\n\n### 🏠 **For Homeowners**\nTry the [Quick Start](#-quick-start-5-minutes) guide above and start saving on your energy bills today!\n\n### 👨‍💻 **For Developers** \nExplore the system components and documentation to start building energy applications.\n\n### 🏘️ **For Communities**\nSet up APIS for your neighborhood and bring energy independence to your community.\n\n### 🎓 **For Researchers**\nContribute to the future of distributed energy systems through APIS development and research.\n\n---\n\n*Made with ❤️ by the APIS Community - Powering the future, one battery at a time.*\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://ost.ecosyste.ms/api/v1/projects/336114","html_url":"https://ost.ecosyste.ms/projects/336114"}