{"id":20089,"name":"ModBus Measurement Daemon","description":"A daemon for collecting measurement data from smart meters and grid inverters over modbus.","url":"https://github.com/volkszaehler/mbmd","last_synced_at":"2026-08-16T15:03:20.680Z","repository":{"id":38375395,"uuid":"189631891","full_name":"volkszaehler/mbmd","owner":"volkszaehler","description":"ModBus Measurement Daemon - simple reading of data from ModBus meters and grid inverters","archived":false,"fork":false,"pushed_at":"2026-08-03T09:34:38.000Z","size":7258,"stargazers_count":280,"open_issues_count":52,"forks_count":95,"subscribers_count":19,"default_branch":"master","last_synced_at":"2026-08-05T13:16:47.820Z","etag":null,"topics":["golang","grid-inverters","modbus","modbus-meters","openhab","smart-meter","sunspec","volkszaehler"],"latest_commit_sha":null,"homepage":"","language":"Go","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/volkszaehler.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":"2019-05-31T17:17:13.000Z","updated_at":"2026-08-03T09:35:38.000Z","dependencies_parsed_at":"2023-09-21T19:22:18.035Z","dependency_job_id":"3677c2f2-6329-4a54-a69e-92c0bdbe90b5","html_url":"https://github.com/volkszaehler/mbmd","commit_stats":{"total_commits":515,"total_committers":34,"mean_commits":"15.147058823529411","dds":0.3864077669902912,"last_synced_commit":"d50c56af82d25215afa785b4c411face04c97373"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/volkszaehler/mbmd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/volkszaehler","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/sbom","scorecard":{"id":228856,"data":{"date":"2025-08-04","repo":{"name":"github.com/volkszaehler/mbmd","commit":"499ae856f44e511b236660d9dce0021f758fc64e"},"scorecard":{"version":"v5.2.1-28-gc1d103a9","commit":"c1d103a9bb9f635ec7260bf9aa0699466fa4be0e"},"score":3.5,"checks":[{"name":"Maintained","score":2,"reason":"3 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 2","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#maintained"}},{"name":"Code-Review","score":5,"reason":"Found 17/29 approved changesets -- score normalized to 5","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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#code-review"}},{"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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#dangerous-workflow"}},{"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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/build.yml:1","Warn: no topLevel permission defined: .github/workflows/publish_docker.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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#token-permissions"}},{"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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#cii-best-practices"}},{"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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#security-policy"}},{"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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#fuzzing"}},{"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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#license"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not 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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/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/build.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:38: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:57: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:59: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:66: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_docker.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/publish_docker.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_docker.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/publish_docker.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_docker.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/publish_docker.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_docker.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/publish_docker.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_docker.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/publish_docker.yml/master?enable=pin","Warn: containerImage not pinned by hash: Dockerfile:4","Warn: containerImage not pinned by hash: Dockerfile:25: pin your Docker image by updating alpine to alpine@sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1","Info:   0 out of   7 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   5 third-party GitHubAction dependencies pinned","Info:   0 out of   2 containerImage 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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#pinned-dependencies"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact 0.13 not signed: https://api.github.com/repos/volkszaehler/mbmd/releases/29487586","Warn: release artifact 0.12 not signed: https://api.github.com/repos/volkszaehler/mbmd/releases/29268234","Warn: release artifact 0.10 not signed: https://api.github.com/repos/volkszaehler/mbmd/releases/25915554","Warn: release artifact 0.9.3 not signed: https://api.github.com/repos/volkszaehler/mbmd/releases/25672034","Warn: release artifact 0.9.2 not signed: https://api.github.com/repos/volkszaehler/mbmd/releases/25178699","Warn: release artifact 0.13 does not have provenance: https://api.github.com/repos/volkszaehler/mbmd/releases/29487586","Warn: release artifact 0.12 does not have provenance: https://api.github.com/repos/volkszaehler/mbmd/releases/29268234","Warn: release artifact 0.10 does not have provenance: https://api.github.com/repos/volkszaehler/mbmd/releases/25915554","Warn: release artifact 0.9.3 does not have provenance: https://api.github.com/repos/volkszaehler/mbmd/releases/25672034","Warn: release artifact 0.9.2 does not have provenance: https://api.github.com/repos/volkszaehler/mbmd/releases/25178699"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#signed-releases"}},{"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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 22 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":7,"reason":"3 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GO-2024-3333","Warn: Project is vulnerable to: GO-2025-3503 / GHSA-qxp5-gwg8-xv66","Warn: Project is vulnerable to: GO-2025-3595 / GHSA-vvgc-356p-c3xw"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-17T04:24:53.673Z","repository_id":38375395,"created_at":"2025-08-17T04:24:53.674Z","updated_at":"2025-08-17T04:24:53.674Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36312985,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-08-05T02:00:06.619Z","response_time":104,"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":"volkszaehler","name":"volkszaehler.org project","uuid":"340617","kind":"organization","description":"Open Source Smart Metering platform","email":null,"website":"https://volkszaehler.org","location":"Germany","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/340617?v=4","repositories_count":7,"last_synced_at":"2024-03-25T23:33:38.115Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/volkszaehler","funding_links":[],"total_stars":635,"followers":33,"following":0,"created_at":"2022-11-02T21:35:24.292Z","updated_at":"2024-03-25T23:33:38.313Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/volkszaehler","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/volkszaehler/repositories"},"packages":[{"id":3598479,"name":"github.com/volkszaehler/mbmd","ecosystem":"go","description":"","homepage":"https://github.com/volkszaehler/mbmd","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/volkszaehler/mbmd","keywords_array":[],"namespace":"github.com/volkszaehler","versions_count":16,"first_release_published_at":"2022-09-16T21:52:21.000Z","latest_release_published_at":"2026-06-23T14:20:15.000Z","latest_release_number":"v0.0.0-20260623142015-48f465d707f4","last_synced_at":"2026-08-15T14:36:47.924Z","created_at":"2022-04-11T05:58:06.498Z","updated_at":"2026-08-15T14:36:47.925Z","registry_url":"https://pkg.go.dev/github.com/volkszaehler/mbmd","install_command":"go get github.com/volkszaehler/mbmd","documentation_url":"https://pkg.go.dev/github.com/volkszaehler/mbmd#section-documentation","metadata":{},"repo_metadata":{"id":38375395,"uuid":"189631891","full_name":"volkszaehler/mbmd","owner":"volkszaehler","description":"ModBus Measurement Daemon - simple reading of data from ModBus meters and grid inverters","archived":false,"fork":false,"pushed_at":"2026-07-03T14:10:42.000Z","size":7257,"stargazers_count":280,"open_issues_count":52,"forks_count":94,"subscribers_count":19,"default_branch":"master","last_synced_at":"2026-07-05T05:06:39.442Z","etag":null,"topics":["golang","grid-inverters","modbus","modbus-meters","openhab","smart-meter","sunspec","volkszaehler"],"latest_commit_sha":null,"homepage":"","language":"Go","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/volkszaehler.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":"2019-05-31T17:17:13.000Z","updated_at":"2026-06-23T21:14:37.000Z","dependencies_parsed_at":"2023-09-21T19:22:18.035Z","dependency_job_id":"3677c2f2-6329-4a54-a69e-92c0bdbe90b5","html_url":"https://github.com/volkszaehler/mbmd","commit_stats":{"total_commits":515,"total_committers":34,"mean_commits":"15.147058823529411","dds":0.3864077669902912,"last_synced_commit":"d50c56af82d25215afa785b4c411face04c97373"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/volkszaehler/mbmd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/volkszaehler","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/sbom","scorecard":{"id":228856,"data":{"date":"2025-08-04","repo":{"name":"github.com/volkszaehler/mbmd","commit":"499ae856f44e511b236660d9dce0021f758fc64e"},"scorecard":{"version":"v5.2.1-28-gc1d103a9","commit":"c1d103a9bb9f635ec7260bf9aa0699466fa4be0e"},"score":3.5,"checks":[{"name":"Maintained","score":2,"reason":"3 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 2","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#maintained"}},{"name":"Code-Review","score":5,"reason":"Found 17/29 approved changesets -- score normalized to 5","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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#code-review"}},{"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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#dangerous-workflow"}},{"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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/build.yml:1","Warn: no topLevel permission defined: .github/workflows/publish_docker.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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#token-permissions"}},{"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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#cii-best-practices"}},{"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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#security-policy"}},{"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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#fuzzing"}},{"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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#license"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not 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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/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/build.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:38: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:57: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:59: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:66: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_docker.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/publish_docker.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_docker.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/publish_docker.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_docker.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/publish_docker.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_docker.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/publish_docker.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_docker.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/publish_docker.yml/master?enable=pin","Warn: containerImage not pinned by hash: Dockerfile:4","Warn: containerImage not pinned by hash: Dockerfile:25: pin your Docker image by updating alpine to alpine@sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1","Info:   0 out of   7 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   5 third-party GitHubAction dependencies pinned","Info:   0 out of   2 containerImage 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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#pinned-dependencies"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact 0.13 not signed: https://api.github.com/repos/volkszaehler/mbmd/releases/29487586","Warn: release artifact 0.12 not signed: https://api.github.com/repos/volkszaehler/mbmd/releases/29268234","Warn: release artifact 0.10 not signed: https://api.github.com/repos/volkszaehler/mbmd/releases/25915554","Warn: release artifact 0.9.3 not signed: https://api.github.com/repos/volkszaehler/mbmd/releases/25672034","Warn: release artifact 0.9.2 not signed: https://api.github.com/repos/volkszaehler/mbmd/releases/25178699","Warn: release artifact 0.13 does not have provenance: https://api.github.com/repos/volkszaehler/mbmd/releases/29487586","Warn: release artifact 0.12 does not have provenance: https://api.github.com/repos/volkszaehler/mbmd/releases/29268234","Warn: release artifact 0.10 does not have provenance: https://api.github.com/repos/volkszaehler/mbmd/releases/25915554","Warn: release artifact 0.9.3 does not have provenance: https://api.github.com/repos/volkszaehler/mbmd/releases/25672034","Warn: release artifact 0.9.2 does not have provenance: https://api.github.com/repos/volkszaehler/mbmd/releases/25178699"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#signed-releases"}},{"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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 22 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":7,"reason":"3 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GO-2024-3333","Warn: Project is vulnerable to: GO-2025-3503 / GHSA-qxp5-gwg8-xv66","Warn: Project is vulnerable to: GO-2025-3595 / GHSA-vvgc-356p-c3xw"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-17T04:24:53.673Z","repository_id":38375395,"created_at":"2025-08-17T04:24:53.674Z","updated_at":"2025-08-17T04:24:53.674Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36311804,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-08-05T02:00:06.619Z","response_time":104,"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":"volkszaehler","name":"volkszaehler.org project","uuid":"340617","kind":"organization","description":"Open Source Smart Metering platform","email":null,"website":"https://volkszaehler.org","location":"Germany","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/340617?v=4","repositories_count":7,"last_synced_at":"2024-03-25T23:33:38.115Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/volkszaehler","funding_links":[],"total_stars":635,"followers":33,"following":0,"created_at":"2022-11-02T21:35:24.292Z","updated_at":"2024-03-25T23:33:38.313Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/volkszaehler","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/volkszaehler/repositories"},"tags":[{"name":"0.13","sha":"fa6b574a16c002b9d3ec6133c4b32efdd7aaac0c","kind":"commit","published_at":"2020-08-09T13:40:00.000Z","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/0.13","html_url":"https://github.com/volkszaehler/mbmd/releases/tag/0.13","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/volkszaehler/mbmd@0.13","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.13/manifests"},{"name":"0.12","sha":"0d6f45f547fd446ef053e5810fbc36c0890dcbdc","kind":"commit","published_at":"2020-08-04T11:43:37.000Z","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/0.12","html_url":"https://github.com/volkszaehler/mbmd/releases/tag/0.12","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/volkszaehler/mbmd@0.12","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.12/manifests"},{"name":"0.11","sha":"122815825570a4e5ca0157b72a4f8607299fb900","kind":"commit","published_at":"2020-08-04T05:42:14.000Z","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/0.11","html_url":"https://github.com/volkszaehler/mbmd/releases/tag/0.11","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/volkszaehler/mbmd@0.11","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.11/manifests"},{"name":"0.10","sha":"e83718d438c1b5725248987aefe68ecee308db3d","kind":"commit","published_at":"2020-04-27T07:18:55.000Z","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/0.10","html_url":"https://github.com/volkszaehler/mbmd/releases/tag/0.10","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/volkszaehler/mbmd@0.10","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.10/manifests"},{"name":"0.9.3","sha":"e83718d438c1b5725248987aefe68ecee308db3d","kind":"commit","published_at":"2020-04-27T07:18:55.000Z","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/0.9.3","html_url":"https://github.com/volkszaehler/mbmd/releases/tag/0.9.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/volkszaehler/mbmd@0.9.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.9.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.9.3/manifests"},{"name":"0.4","sha":"b0d80a707fc815c660a87bdf5a1457fb467adc01","kind":"commit","published_at":"2020-04-16T16:15:57.000Z","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/0.4","html_url":"https://github.com/volkszaehler/mbmd/releases/tag/0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/volkszaehler/mbmd@0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.4/manifests"},{"name":"0.9.1","sha":"835d0dc859c305b4d9338c61ecaa69073c238405","kind":"commit","published_at":"2020-04-03T16:05:12.000Z","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/0.9.1","html_url":"https://github.com/volkszaehler/mbmd/releases/tag/0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/volkszaehler/mbmd@0.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.9.1/manifests"},{"name":"0.9.2","sha":"5f7cb0654aef56092711b3a06bbf4a7fbfdb185c","kind":"commit","published_at":"2020-04-03T16:03:23.000Z","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/0.9.2","html_url":"https://github.com/volkszaehler/mbmd/releases/tag/0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/volkszaehler/mbmd@0.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.9.2/manifests"},{"name":"0.2","sha":"b6745537473c024ccc393292907f9ef640e66a83","kind":"commit","published_at":"2020-04-03T11:38:18.000Z","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/0.2","html_url":"https://github.com/volkszaehler/mbmd/releases/tag/0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/volkszaehler/mbmd@0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.2/manifests"},{"name":"0.1","sha":"a56cca527221110106fa8348264a5c0b86b863ec","kind":"commit","published_at":"2020-04-02T09:42:57.000Z","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/0.1","html_url":"https://github.com/volkszaehler/mbmd/releases/tag/0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/volkszaehler/mbmd@0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.1/manifests"},{"name":"0.9","sha":"510de6176078a240f17068a041c09c1ead0eabfa","kind":"commit","published_at":"2020-03-23T11:34:45.000Z","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/0.9","html_url":"https://github.com/volkszaehler/mbmd/releases/tag/0.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/volkszaehler/mbmd@0.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.9/manifests"},{"name":"0.8","sha":"9418bd4765366af5bc78880b90ca2ee2048442c6","kind":"commit","published_at":"2020-01-02T10:01:35.000Z","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/0.8","html_url":"https://github.com/volkszaehler/mbmd/releases/tag/0.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/volkszaehler/mbmd@0.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.8/manifests"},{"name":"0.8-alpha.11","sha":"7150f4955e186b33409db0207f7c3cdb0aae20c9","kind":"commit","published_at":"2019-12-25T14:19:42.000Z","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/0.8-alpha.11","html_url":"https://github.com/volkszaehler/mbmd/releases/tag/0.8-alpha.11","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/volkszaehler/mbmd@0.8-alpha.11","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.8-alpha.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.8-alpha.11/manifests"},{"name":"0.8-alpha.9","sha":"c16fff20e68eaccd3f23282f2fd25c5cd2bc771e","kind":"commit","published_at":"2019-12-25T12:52:45.000Z","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/0.8-alpha.9","html_url":"https://github.com/volkszaehler/mbmd/releases/tag/0.8-alpha.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/volkszaehler/mbmd@0.8-alpha.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.8-alpha.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.8-alpha.9/manifests"},{"name":"origin","sha":"3b2a70a5024d290cc766cc9fda86faef29cb2e33","kind":"commit","published_at":"2019-08-26T06:48:00.000Z","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/origin","html_url":"https://github.com/volkszaehler/mbmd/releases/tag/origin","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/volkszaehler/mbmd@origin","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/origin","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/origin/manifests"},{"name":"0.8-alpha.7","sha":"f9a33be1d8f950b22c688e931a75926db8930174","kind":"commit","published_at":"2019-08-18T13:22:10.000Z","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/0.8-alpha.7","html_url":"https://github.com/volkszaehler/mbmd/releases/tag/0.8-alpha.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/volkszaehler/mbmd@0.8-alpha.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.8-alpha.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.8-alpha.7/manifests"},{"name":"0.8-alpha.8","sha":"7b6dca1e1851af8afc0058b90455ebeaef7e5b69","kind":"commit","published_at":"2019-08-17T14:23:45.000Z","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/0.8-alpha.8","html_url":"https://github.com/volkszaehler/mbmd/releases/tag/0.8-alpha.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/volkszaehler/mbmd@0.8-alpha.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.8-alpha.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.8-alpha.8/manifests"},{"name":"0.8-alpha.6","sha":"77fbfb5b2d85ff19bf62c4e8b0e9ef21289b9cfa","kind":"commit","published_at":"2019-08-12T07:48:41.000Z","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/0.8-alpha.6","html_url":"https://github.com/volkszaehler/mbmd/releases/tag/0.8-alpha.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/volkszaehler/mbmd@0.8-alpha.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.8-alpha.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.8-alpha.6/manifests"},{"name":"0.8-alpha.5","sha":"7576add5d7a1ad5f7003cfd64589574357e705ef","kind":"commit","published_at":"2019-08-06T06:57:25.000Z","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/0.8-alpha.5","html_url":"https://github.com/volkszaehler/mbmd/releases/tag/0.8-alpha.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/volkszaehler/mbmd@0.8-alpha.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.8-alpha.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.8-alpha.5/manifests"},{"name":"0.8-alpha.4","sha":"7576add5d7a1ad5f7003cfd64589574357e705ef","kind":"commit","published_at":"2019-08-06T06:57:25.000Z","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/0.8-alpha.4","html_url":"https://github.com/volkszaehler/mbmd/releases/tag/0.8-alpha.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/volkszaehler/mbmd@0.8-alpha.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.8-alpha.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.8-alpha.4/manifests"},{"name":"0.8-alpha.3","sha":"2c82c410821285da8b3056f3c5b6ba0386198495","kind":"commit","published_at":"2019-07-31T20:06:52.000Z","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/0.8-alpha.3","html_url":"https://github.com/volkszaehler/mbmd/releases/tag/0.8-alpha.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/volkszaehler/mbmd@0.8-alpha.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.8-alpha.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.8-alpha.3/manifests"},{"name":"0.8-alpha.2","sha":"84a1407f1f626f8d2778ad525d7e4cd644509421","kind":"commit","published_at":"2019-07-29T20:29:57.000Z","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/0.8-alpha.2","html_url":"https://github.com/volkszaehler/mbmd/releases/tag/0.8-alpha.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/volkszaehler/mbmd@0.8-alpha.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.8-alpha.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.8-alpha.2/manifests"},{"name":"0.8-alpha.1","sha":"8c523986e9b0bc89a26d8b406032ddb7b9af2af2","kind":"commit","published_at":"2019-07-29T20:09:22.000Z","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/0.8-alpha.1","html_url":"https://github.com/volkszaehler/mbmd/releases/tag/0.8-alpha.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/volkszaehler/mbmd@0.8-alpha.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.8-alpha.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.8-alpha.1/manifests"}]},"repo_metadata_updated_at":"2026-08-05T13:44:07.122Z","dependent_packages_count":4,"downloads":null,"downloads_period":null,"dependent_repos_count":18,"rankings":{"downloads":null,"dependent_repos_count":1.2884063143217581,"dependent_packages_count":2.5363934453429455,"stargazers_count":3.8285811508982186,"forks_count":3.171658429445766,"docker_downloads_count":0.7556769138835403,"average":2.316143250778446},"purl":"pkg:golang/github.com/volkszaehler/mbmd","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/volkszaehler/mbmd","docker_dependents_count":5,"docker_downloads_count":363251,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/volkszaehler/mbmd","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/volkszaehler/mbmd/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-07-04T01:40:26.532Z","issues_count":139,"pull_requests_count":254,"avg_time_to_close_issue":4369182.958333333,"avg_time_to_close_pull_request":3130635.9786324785,"issues_closed_count":96,"pull_requests_closed_count":234,"pull_request_authors_count":44,"issue_authors_count":90,"avg_comments_per_issue":3.805755395683453,"avg_comments_per_pull_request":0.952755905511811,"merged_pull_requests_count":193,"bot_issues_count":3,"bot_pull_requests_count":52,"past_year_issues_count":2,"past_year_pull_requests_count":11,"past_year_avg_time_to_close_issue":178373.0,"past_year_avg_time_to_close_pull_request":309894.3333333333,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":6,"past_year_pull_request_authors_count":5,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":0.5,"past_year_avg_comments_per_pull_request":0.2727272727272727,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":1,"past_year_merged_pull_requests_count":6,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/issues","maintainers":[],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fvolkszaehler%2Fmbmd/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fvolkszaehler%2Fmbmd/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fvolkszaehler%2Fmbmd/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fvolkszaehler%2Fmbmd/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fvolkszaehler%2Fmbmd/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fvolkszaehler%2Fmbmd/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2278573,"maintainers_count":0,"namespaces_count":838896,"keywords_count":123856,"github":"golang","metadata":{"funded_packages_count":66681,"sync_missing_packages_cursor":{"timestamp":"2026-08-16T00:01:10.066524Z","path":"github.com/stripe/stripe-ruby","version":"v19.5.1-0.20260811230136-fcedaaae31d3+incompatible"},"rate_limit":1},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-08-16T05:01:13.361Z","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":12827120,"name":"mbmd","ecosystem":"nixpkgs","description":"ModBus Measurement Daemon - simple reading of data from ModBus meters and grid inverters","homepage":"https://github.com/volkszaehler/mbmd","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/volkszaehler/mbmd","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2026-01-26T19:09:42.792Z","latest_release_published_at":"2026-01-26T19:09:42.792Z","latest_release_number":"0.13-unstable-2025-08-08","last_synced_at":"2026-03-06T13:42:32.954Z","created_at":"2026-01-26T19:09:42.590Z","updated_at":"2026-08-05T13:44:06.909Z","registry_url":"https://search.nixos.org/packages?channel=unstable\u0026query=mbmd","install_command":"nix-env -iA nixpkgs.mbmd","documentation_url":"https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/by-name/mb/mbmd/package.nix#L36","metadata":{"nix_attribute":"mbmd-0.13-unstable-2025-08-08","position":"pkgs/by-name/mb/mbmd/package.nix:36","platforms":["x86_64-darwin","aarch64-darwin","aarch64-linux","armv5tel-linux","armv6l-linux","armv7a-linux","armv7l-linux","i686-linux","loongarch64-linux","m68k-linux","microblaze-linux","microblazeel-linux","mips-linux","mips64-linux","mips64el-linux","mipsel-linux","powerpc-linux","powerpc64-linux","powerpc64le-linux","riscv32-linux","riscv64-linux","s390-linux","s390x-linux","x86_64-linux","wasm64-wasi","wasm32-wasi","i686-freebsd","x86_64-freebsd","aarch64-freebsd"],"broken":false,"insecure":false,"unfree":false,"outputs":["out"]},"repo_metadata":{"id":38375395,"uuid":"189631891","full_name":"volkszaehler/mbmd","owner":"volkszaehler","description":"ModBus Measurement Daemon - simple reading of data from ModBus meters and grid inverters","archived":false,"fork":false,"pushed_at":"2026-07-03T14:10:42.000Z","size":7257,"stargazers_count":280,"open_issues_count":52,"forks_count":94,"subscribers_count":19,"default_branch":"master","last_synced_at":"2026-07-05T05:06:39.442Z","etag":null,"topics":["golang","grid-inverters","modbus","modbus-meters","openhab","smart-meter","sunspec","volkszaehler"],"latest_commit_sha":null,"homepage":"","language":"Go","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/volkszaehler.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":"2019-05-31T17:17:13.000Z","updated_at":"2026-06-23T21:14:37.000Z","dependencies_parsed_at":"2023-09-21T19:22:18.035Z","dependency_job_id":"3677c2f2-6329-4a54-a69e-92c0bdbe90b5","html_url":"https://github.com/volkszaehler/mbmd","commit_stats":{"total_commits":515,"total_committers":34,"mean_commits":"15.147058823529411","dds":0.3864077669902912,"last_synced_commit":"d50c56af82d25215afa785b4c411face04c97373"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/volkszaehler/mbmd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/volkszaehler","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/sbom","scorecard":{"id":228856,"data":{"date":"2025-08-04","repo":{"name":"github.com/volkszaehler/mbmd","commit":"499ae856f44e511b236660d9dce0021f758fc64e"},"scorecard":{"version":"v5.2.1-28-gc1d103a9","commit":"c1d103a9bb9f635ec7260bf9aa0699466fa4be0e"},"score":3.5,"checks":[{"name":"Maintained","score":2,"reason":"3 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 2","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#maintained"}},{"name":"Code-Review","score":5,"reason":"Found 17/29 approved changesets -- score normalized to 5","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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#code-review"}},{"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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#dangerous-workflow"}},{"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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/build.yml:1","Warn: no topLevel permission defined: .github/workflows/publish_docker.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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#token-permissions"}},{"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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#cii-best-practices"}},{"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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#security-policy"}},{"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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#fuzzing"}},{"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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#license"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not 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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/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/build.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:38: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:57: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:59: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:66: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_docker.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/publish_docker.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_docker.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/publish_docker.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_docker.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/publish_docker.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_docker.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/publish_docker.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_docker.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/publish_docker.yml/master?enable=pin","Warn: containerImage not pinned by hash: Dockerfile:4","Warn: containerImage not pinned by hash: Dockerfile:25: pin your Docker image by updating alpine to alpine@sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1","Info:   0 out of   7 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   5 third-party GitHubAction dependencies pinned","Info:   0 out of   2 containerImage 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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#pinned-dependencies"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact 0.13 not signed: https://api.github.com/repos/volkszaehler/mbmd/releases/29487586","Warn: release artifact 0.12 not signed: https://api.github.com/repos/volkszaehler/mbmd/releases/29268234","Warn: release artifact 0.10 not signed: https://api.github.com/repos/volkszaehler/mbmd/releases/25915554","Warn: release artifact 0.9.3 not signed: https://api.github.com/repos/volkszaehler/mbmd/releases/25672034","Warn: release artifact 0.9.2 not signed: https://api.github.com/repos/volkszaehler/mbmd/releases/25178699","Warn: release artifact 0.13 does not have provenance: https://api.github.com/repos/volkszaehler/mbmd/releases/29487586","Warn: release artifact 0.12 does not have provenance: https://api.github.com/repos/volkszaehler/mbmd/releases/29268234","Warn: release artifact 0.10 does not have provenance: https://api.github.com/repos/volkszaehler/mbmd/releases/25915554","Warn: release artifact 0.9.3 does not have provenance: https://api.github.com/repos/volkszaehler/mbmd/releases/25672034","Warn: release artifact 0.9.2 does not have provenance: https://api.github.com/repos/volkszaehler/mbmd/releases/25178699"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#signed-releases"}},{"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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 22 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":7,"reason":"3 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GO-2024-3333","Warn: Project is vulnerable to: GO-2025-3503 / GHSA-qxp5-gwg8-xv66","Warn: Project is vulnerable to: GO-2025-3595 / GHSA-vvgc-356p-c3xw"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-17T04:24:53.673Z","repository_id":38375395,"created_at":"2025-08-17T04:24:53.674Z","updated_at":"2025-08-17T04:24:53.674Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36311804,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-08-05T02:00:06.619Z","response_time":104,"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"}},"repo_metadata_updated_at":"2026-08-05T13:44:06.909Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{},"purl":"pkg:nix/mbmd?channel=unstable","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nixpkgs/mbmd","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nixpkgs/mbmd","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nixpkgs/mbmd/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-07-04T01:40:26.532Z","issues_count":139,"pull_requests_count":254,"avg_time_to_close_issue":4369182.958333333,"avg_time_to_close_pull_request":3130635.9786324785,"issues_closed_count":96,"pull_requests_closed_count":234,"pull_request_authors_count":44,"issue_authors_count":90,"avg_comments_per_issue":3.805755395683453,"avg_comments_per_pull_request":0.952755905511811,"merged_pull_requests_count":193,"bot_issues_count":3,"bot_pull_requests_count":52,"past_year_issues_count":2,"past_year_pull_requests_count":11,"past_year_avg_time_to_close_issue":178373.0,"past_year_avg_time_to_close_pull_request":309894.3333333333,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":6,"past_year_pull_request_authors_count":5,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":0.5,"past_year_avg_comments_per_pull_request":0.2727272727272727,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":1,"past_year_merged_pull_requests_count":6,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/issues","maintainers":[],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/mbmd/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/mbmd/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/mbmd/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/mbmd/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/mbmd/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/mbmd/codemeta","maintainers":[{"uuid":"tsandrini","login":null,"name":"Tomáš Sandrini","email":"t@tsandrini.sh","url":"https://github.com/tsandrini","packages_count":5,"html_url":null,"role":null,"created_at":"2026-03-06T13:42:33.160Z","updated_at":"2026-03-06T13:42:33.160Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/maintainers/tsandrini/packages"}],"registry":{"name":"nixpkgs-unstable","url":"https://channels.nixos.org/nixos-unstable","ecosystem":"nixpkgs","default":true,"packages_count":152806,"maintainers_count":4871,"namespaces_count":0,"keywords_count":3257,"github":"NixOS","metadata":{"funded_packages_count":5094},"icon_url":"https://github.com/NixOS.png","created_at":"2026-01-25T22:30:52.762Z","updated_at":"2026-08-16T05:02:59.016Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/namespaces"}}],"commits":{"id":1254103,"full_name":"volkszaehler/mbmd","default_branch":"master","total_commits":551,"total_committers":37,"total_bot_commits":31,"total_bot_committers":2,"mean_commits":14.891891891891891,"dds":0.4047186932849365,"past_year_total_commits":27,"past_year_total_committers":5,"past_year_total_bot_commits":1,"past_year_total_bot_committers":1,"past_year_mean_commits":5.4,"past_year_dds":0.5185185185185186,"last_synced_at":"2026-08-15T14:35:37.324Z","last_synced_commit":"4304ad77c56f8f22bc38359b05cbf656dc1e2365","created_at":"2023-03-27T10:58:23.496Z","updated_at":"2026-08-15T14:35:36.608Z","committers":[{"name":"andig","email":"cpuidle@gmx.de","login":"andig","count":328},{"name":"Mathias Dalheimer","email":"md@gonium.net","login":"gonium","count":127},{"name":"dependabot-preview[bot]","email":"27856297+dependabot-preview[bot]","login":"dependabot-preview[bot]","count":19},{"name":"premultiply","email":"4681172+premultiply","login":"premultiply","count":15},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":12},{"name":"Sebastian Chrostek","email":"sebastian@chrostek.net","login":"chrostek","count":5},{"name":"guido4096","email":"guido@ngjansen.be","login":"guido4096","count":4},{"name":"Alexander Klauer","email":"Alexander.Klauer@itwm.fraunhofer.de","login":"TheCount","count":3},{"name":"Alex","email":"6953309+isarrider","login":"isarrider","count":3},{"name":"tobima","email":"mail@tobima.de","login":"tobima","count":2},{"name":"sirtet","email":"toro@kanuschule.ch","login":"sirtet","count":2},{"name":"beldeczki","email":"71642341+beldeczki","login":"beldeczki","count":2},{"name":"Tobias Müller","email":"Tobias_Mueller@twam.info","login":"twam","count":2},{"name":"Jelle Victoor","email":"victoor.jelle@gmail.com","login":"jellevictoor","count":2},{"name":"Rainer Poisel","email":"rainer.poisel@gmail.com","login":"rpoisel","count":2},{"name":"Richie B2B","email":"github@vdberg.org","login":"RichieB2B","count":2},{"name":"Andreas Linde","email":"TheRealKerni","login":"TheRealKerni","count":1},{"name":"Benjamin Larsson","email":"banan@ludd.ltu.se","login":"merbanan","count":1},{"name":"Andre G","email":"astrakid","login":"astrakid","count":1},{"name":"sicheste","email":"sicheste","login":"sicheste","count":1},{"name":"meyerd","email":"meyerd@mytum.de","login":"meyerd","count":1},{"name":"marvintwentyfour","email":"marvin24@gmx.de","login":"marvintwentyfour","count":1},{"name":"korpa","email":"korpa","login":"korpa","count":1},{"name":"kiezematze","email":"matthias.koch@algorithmic.de","login":"kiezematze","count":1},{"name":"bilbolodz","email":"bilbo@lodz.pl","login":"bilbolodz","count":1},{"name":"bbiegun","email":"bartosz.biegun@gmail.com","login":"bbiegun","count":1},{"name":"air-ii","email":"wbarski@gmail.com","login":"air-ii","count":1},{"name":"Oleksandr Chykysh","email":"magnus.magus@gmail.com","login":"ochykysh","count":1},{"name":"Michael Panzer","email":"panzer.michael@gmail.com","login":"panzerdev","count":1},{"name":"Kristian Mide","email":"fas@mide.dk","login":"fasmide","count":1},{"name":"Karsten Hinz","email":"kartenkarsten@ichsagnurweb.de","login":"kartenkarsten","count":1},{"name":"Karl Szmutny","email":"shadow@privy.de","login":"shadow974","count":1},{"name":"Hans Cornelis","email":"hacornelis@gmail.com","login":"hacor","count":1},{"name":"Floris Van der krieken","email":"floris@vanderkrieken.me","login":"florisvdk","count":1},{"name":"Dirk Riemekasten","email":"dirk@riemekasten.com","login":"driemekasten","count":1},{"name":"Christian Rank","email":"35734454+kirk-loeten","login":"kirk-loeten","count":1},{"name":"Andreas Antes","email":"andreas.antes@gmx.de","login":null,"count":1}],"past_year_committers":[{"name":"premultiply","email":"4681172+premultiply","login":"premultiply","count":13},{"name":"andig","email":"cpuidle@gmail.com","login":"andig","count":11},{"name":"marvintwentyfour","email":"marvin24@gmx.de","login":"marvintwentyfour","count":1},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":1},{"name":"Alex","email":"6953309+isarrider","login":"isarrider","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-08-16T00:00:07.202Z","repositories_count":6677657,"commits_count":956264618,"contributors_count":40493630,"owners_count":1342787,"committers_count":3317307,"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":"volkszaehler/mbmd","html_url":"https://github.com/volkszaehler/mbmd","last_synced_at":"2026-08-13T13:35:27.546Z","status":null,"issues_count":140,"pull_requests_count":256,"avg_time_to_close_issue":4324695.896907217,"avg_time_to_close_pull_request":3104307.2372881356,"issues_closed_count":97,"pull_requests_closed_count":236,"pull_request_authors_count":45,"issue_authors_count":91,"avg_comments_per_issue":3.7857142857142856,"avg_comments_per_pull_request":0.94921875,"merged_pull_requests_count":195,"bot_issues_count":3,"bot_pull_requests_count":52,"past_year_issues_count":1,"past_year_pull_requests_count":13,"past_year_avg_time_to_close_issue":53938.0,"past_year_avg_time_to_close_pull_request":238381.875,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":8,"past_year_pull_request_authors_count":6,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":0.3076923076923077,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":1,"past_year_merged_pull_requests_count":8,"created_at":"2023-05-09T10:37:56.056Z","updated_at":"2026-08-13T13:35:27.546Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/issues","issue_labels_count":{"question":20,"enhancement":20,"bug":16,"help wanted":4,"wontfix":2,"invalid":1},"pull_request_labels_count":{"dependencies":52,"enhancement":44,"bug":15,"go":2,"help wanted":1},"issue_author_associations_count":{"NONE":94,"CONTRIBUTOR":46},"pull_request_author_associations_count":{"CONTRIBUTOR":230,"NONE":26},"issue_authors":{"bilbolodz":11,"andig":9,"bikeymouse":5,"isarrider":4,"sirtet":3,"wing84":3,"bbiegun":3,"mkmt":3,"dependabot-preview[bot]":3,"jarau-de":3,"RichieB2B":2,"wisekki":2,"kereis":2,"stepsolar":2,"agerhard0":2,"ChristianSteffens":2,"mdk2412":2,"sicheste":2,"chrissooo":2,"thomo":2,"TRIROG":2,"klauskn":2,"craigcurtin-dev":1,"MartinJ-de":1,"maxdd":1,"astrakid":1,"schenlap":1,"Fowow":1,"jellevictoor":1,"iz8mbw":1,"dproetel":1,"hoermaen":1,"Chris591":1,"Markus2801A":1,"FollowTheWizard":1,"kirk-loeten":1,"W-B":1,"InternetPersonality":1,"twam":1,"cnovak":1,"krawcu183":1,"kiezematze":1,"korpa":1,"BenGig":1,"DocZoid":1,"chrostek":1,"hrpv":1,"just-grizzle":1,"matthijsberg":1,"Dennis572687":1,"andyrichter":1,"SebuZet":1,"alexalex89":1,"dosordie":1,"dimagoltsman":1,"Muckiy":1,"hyperbart":1,"fasmide":1,"archi":1,"air-ii":1,"mottobug":1,"helix0712":1,"atryda22":1,"Macrisu":1,"DerTod2":1,"grmat":1,"Jambola77":1,"nicx":1,"bruma59":1,"fjgalesloot":1,"StefanSchoof":1,"andreaslink-de":1,"kingofthering":1,"Gajusbonus":1,"BMOD89":1,"zulautholger":1,"frezeen":1,"crazycusti":1,"xsven80x":1,"weissdorn":1,"jkmssoft":1,"hacor":1,"capu-bia":1,"marvintwentyfour":1,"kugelkopf123":1,"daemonenstall":1,"VolkerK62":1,"kartenkarsten":1,"gigipawel":1,"speeskeek":1,"Flat-Mac":1},"pull_request_authors":{"andig":117,"dependabot[bot]":26,"dependabot-preview[bot]":26,"premultiply":9,"guido4096":7,"isarrider":7,"BMOD89":5,"beldeczki":4,"twam":4,"RichieB2B":3,"chrostek":3,"bilbolodz":2,"ambanmba":2,"air-ii":2,"kiezematze":2,"kingofthering":2,"rpoisel":2,"kartenkarsten":2,"kereis":2,"sirtet":2,"sicheste":2,"tobima":2,"marvintwentyfour":1,"korpa":1,"shadow974":1,"pdcleyn":1,"panzerdev":1,"hacor":1,"fasmide":1,"SchumacherFM":1,"Helldin":1,"SirkoVZ":1,"ochykysh":1,"thomo":1,"kirk-loeten":1,"meyerd":1,"DerAndereAndi":1,"servo77":1,"machv":1,"jellevictoor":1,"RatkoR":1,"bbiegun":1,"devZer0":1,"astrakid":1,"merbanan":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-08-14T00:00:05.923Z","repositories_count":16033374,"issues_count":40421015,"pull_requests_count":130821114,"authors_count":11449147,"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":{"go":2,"dependencies":1,"enhancement":1},"past_year_issue_author_associations_count":{"CONTRIBUTOR":1},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":12,"NONE":1},"past_year_issue_authors":{"marvintwentyfour":1},"past_year_pull_request_authors":{"premultiply":7,"andig":2,"dependabot[bot]":1,"Helldin":1,"isarrider":1,"marvintwentyfour":1},"maintainers":[],"active_maintainers":[]},"events":{"total":{"DeleteEvent":3,"PullRequestEvent":37,"ForkEvent":9,"IssuesEvent":12,"WatchEvent":31,"IssueCommentEvent":72,"PushEvent":23,"PullRequestReviewEvent":24,"PullRequestReviewCommentEvent":20,"CreateEvent":3},"last_year":{"DeleteEvent":3,"PullRequestEvent":14,"IssuesEvent":1,"WatchEvent":5,"IssueCommentEvent":9,"PushEvent":15,"PullRequestReviewCommentEvent":5,"PullRequestReviewEvent":14,"CreateEvent":3}},"keywords":["golang","grid-inverters","modbus","modbus-meters","openhab","smart-meter","sunspec","volkszaehler"],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/build.yml","sha":null,"kind":"manifest","created_at":"2023-01-30T18:46:05.110Z","updated_at":"2023-01-30T18:46:05.110Z","repository_link":"https://github.com/volkszaehler/mbmd/blob/master/.github/workflows/build.yml","dependencies":[{"id":7253136635,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7253136636,"package_name":"actions/setup-go","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7253136637,"package_name":"golangci/golangci-lint-action","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"docker","filepath":"Dockerfile","sha":null,"kind":"manifest","created_at":"2023-01-30T18:46:05.382Z","updated_at":"2023-01-30T18:46:05.382Z","repository_link":"https://github.com/volkszaehler/mbmd/blob/master/Dockerfile","dependencies":[{"id":7253138786,"package_name":"golang","ecosystem":"docker","requirements":"1.18-alpine","direct":true,"kind":"build","optional":false},{"id":7253138789,"package_name":"alpine","ecosystem":"docker","requirements":"latest","direct":true,"kind":"build","optional":false}]},{"ecosystem":"go","filepath":"go.mod","sha":null,"kind":"manifest","created_at":"2023-01-30T18:46:05.441Z","updated_at":"2023-01-30T18:46:05.441Z","repository_link":"https://github.com/volkszaehler/mbmd/blob/master/go.mod","dependencies":[{"id":7253139863,"package_name":"github.com/andig/gosunspec","ecosystem":"go","requirements":"v0.0.0-20211108155140-af2e73b86e71","direct":true,"kind":"runtime","optional":false},{"id":7253139864,"package_name":"github.com/dmarkham/enumer","ecosystem":"go","requirements":"v1.5.6","direct":true,"kind":"runtime","optional":false},{"id":7253139865,"package_name":"github.com/eclipse/paho.mqtt.golang","ecosystem":"go","requirements":"v1.4.1","direct":true,"kind":"runtime","optional":false},{"id":7253139866,"package_name":"github.com/gorilla/handlers","ecosystem":"go","requirements":"v1.5.1","direct":true,"kind":"runtime","optional":false},{"id":7253139867,"package_name":"github.com/gorilla/mux","ecosystem":"go","requirements":"v1.8.0","direct":true,"kind":"runtime","optional":false},{"id":7253139868,"package_name":"github.com/gorilla/websocket","ecosystem":"go","requirements":"v1.5.0","direct":true,"kind":"runtime","optional":false},{"id":7253139869,"package_name":"github.com/grid-x/modbus","ecosystem":"go","requirements":"v0.0.0-20220829110112-006eee73392e","direct":true,"kind":"runtime","optional":false},{"id":7253139877,"package_name":"github.com/influxdata/influxdb-client-go","ecosystem":"go","requirements":"v1.4.0","direct":true,"kind":"runtime","optional":false},{"id":7253139878,"package_name":"github.com/spf13/cobra","ecosystem":"go","requirements":"v1.5.0","direct":true,"kind":"runtime","optional":false},{"id":7253139879,"package_name":"github.com/spf13/pflag","ecosystem":"go","requirements":"v1.0.5","direct":true,"kind":"runtime","optional":false},{"id":7253139880,"package_name":"github.com/spf13/viper","ecosystem":"go","requirements":"v1.13.0","direct":true,"kind":"runtime","optional":false},{"id":7253139881,"package_name":"github.com/tcnksm/go-latest","ecosystem":"go","requirements":"v0.0.0-20170313132115-e3007ae9052e","direct":true,"kind":"runtime","optional":false},{"id":7253139882,"package_name":"golang.org/x/exp","ecosystem":"go","requirements":"v0.0.0-20230118134722-a68e582fa157","direct":true,"kind":"runtime","optional":false},{"id":7253139883,"package_name":"github.com/cpuguy83/go-md2man/v2","ecosystem":"go","requirements":"v2.0.2","direct":true,"kind":"runtime","optional":false},{"id":7253139884,"package_name":"github.com/deepmap/oapi-codegen","ecosystem":"go","requirements":"v1.11.0","direct":true,"kind":"runtime","optional":false},{"id":7253139885,"package_name":"github.com/felixge/httpsnoop","ecosystem":"go","requirements":"v1.0.3","direct":true,"kind":"runtime","optional":false},{"id":7253139886,"package_name":"github.com/fsnotify/fsnotify","ecosystem":"go","requirements":"v1.5.4","direct":true,"kind":"runtime","optional":false},{"id":7253139887,"package_name":"github.com/google/go-github","ecosystem":"go","requirements":"v17.0.0+incompatible","direct":true,"kind":"runtime","optional":false},{"id":7253139888,"package_name":"github.com/google/go-querystring","ecosystem":"go","requirements":"v1.1.0","direct":true,"kind":"runtime","optional":false},{"id":7253139889,"package_name":"github.com/google/uuid","ecosystem":"go","requirements":"v1.3.0","direct":true,"kind":"runtime","optional":false},{"id":7253139890,"package_name":"github.com/grid-x/serial","ecosystem":"go","requirements":"v0.0.0-20211107191517-583c7356b3aa","direct":true,"kind":"runtime","optional":false},{"id":7253139891,"package_name":"github.com/hashicorp/go-version","ecosystem":"go","requirements":"v1.6.0","direct":true,"kind":"runtime","optional":false},{"id":7253139892,"package_name":"github.com/hashicorp/hcl","ecosystem":"go","requirements":"v1.0.0","direct":true,"kind":"runtime","optional":false},{"id":7253139893,"package_name":"github.com/inconshreveable/mousetrap","ecosystem":"go","requirements":"v1.0.1","direct":true,"kind":"runtime","optional":false},{"id":7253139894,"package_name":"github.com/influxdata/line-protocol","ecosystem":"go","requirements":"v0.0.0-20210922203350-b1ad95c89adf","direct":true,"kind":"runtime","optional":false},{"id":7253139895,"package_name":"github.com/magiconair/properties","ecosystem":"go","requirements":"v1.8.6","direct":true,"kind":"runtime","optional":false},{"id":7253139896,"package_name":"github.com/mitchellh/mapstructure","ecosystem":"go","requirements":"v1.5.0","direct":true,"kind":"runtime","optional":false},{"id":7253139897,"package_name":"github.com/pascaldekloe/name","ecosystem":"go","requirements":"v1.0.1","direct":true,"kind":"runtime","optional":false},{"id":7253139898,"package_name":"github.com/pelletier/go-toml","ecosystem":"go","requirements":"v1.9.5","direct":true,"kind":"runtime","optional":false},{"id":7253139899,"package_name":"github.com/pelletier/go-toml/v2","ecosystem":"go","requirements":"v2.0.5","direct":true,"kind":"runtime","optional":false},{"id":7253139900,"package_name":"github.com/pkg/errors","ecosystem":"go","requirements":"v0.9.1","direct":true,"kind":"runtime","optional":false},{"id":7253139901,"package_name":"github.com/russross/blackfriday/v2","ecosystem":"go","requirements":"v2.1.0","direct":true,"kind":"runtime","optional":false},{"id":7253139902,"package_name":"github.com/spf13/afero","ecosystem":"go","requirements":"v1.9.2","direct":true,"kind":"runtime","optional":false},{"id":7253139903,"package_name":"github.com/spf13/cast","ecosystem":"go","requirements":"v1.5.0","direct":true,"kind":"runtime","optional":false},{"id":7253139904,"package_name":"github.com/spf13/jwalterweatherman","ecosystem":"go","requirements":"v1.1.0","direct":true,"kind":"runtime","optional":false},{"id":7253139905,"package_name":"github.com/subosito/gotenv","ecosystem":"go","requirements":"v1.4.1","direct":true,"kind":"runtime","optional":false},{"id":7253139906,"package_name":"golang.org/x/mod","ecosystem":"go","requirements":"v0.6.0","direct":true,"kind":"runtime","optional":false},{"id":7253139907,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.1.0","direct":true,"kind":"runtime","optional":false},{"id":7253139908,"package_name":"golang.org/x/sync","ecosystem":"go","requirements":"v0.0.0-20220819030929-7fc1605a5dde","direct":true,"kind":"runtime","optional":false},{"id":7253139909,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.1.0","direct":true,"kind":"runtime","optional":false},{"id":7253139910,"package_name":"golang.org/x/text","ecosystem":"go","requirements":"v0.4.0","direct":true,"kind":"runtime","optional":false},{"id":7253139911,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.2.0","direct":true,"kind":"runtime","optional":false},{"id":7253139912,"package_name":"gopkg.in/ini.v1","ecosystem":"go","requirements":"v1.67.0","direct":true,"kind":"runtime","optional":false},{"id":7253139913,"package_name":"gopkg.in/yaml.v2","ecosystem":"go","requirements":"v2.4.0","direct":true,"kind":"runtime","optional":false},{"id":7253139914,"package_name":"gopkg.in/yaml.v3","ecosystem":"go","requirements":"v3.0.1","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"go","filepath":"go.sum","sha":null,"kind":"lockfile","created_at":"2023-01-30T18:46:05.498Z","updated_at":"2023-01-30T18:46:05.498Z","repository_link":"https://github.com/volkszaehler/mbmd/blob/master/go.sum","dependencies":[{"id":7253140298,"package_name":"cloud.google.com/go","ecosystem":"go","requirements":"v0.26.0","direct":false,"kind":"runtime","optional":false},{"id":7253140299,"package_name":"cloud.google.com/go","ecosystem":"go","requirements":"v0.34.0","direct":false,"kind":"runtime","optional":false},{"id":7253140300,"package_name":"cloud.google.com/go","ecosystem":"go","requirements":"v0.38.0","direct":false,"kind":"runtime","optional":false},{"id":7253140301,"package_name":"cloud.google.com/go","ecosystem":"go","requirements":"v0.44.1","direct":false,"kind":"runtime","optional":false},{"id":7253140302,"package_name":"cloud.google.com/go","ecosystem":"go","requirements":"v0.44.2","direct":false,"kind":"runtime","optional":false},{"id":7253140303,"package_name":"cloud.google.com/go","ecosystem":"go","requirements":"v0.44.3","direct":false,"kind":"runtime","optional":false},{"id":7253140304,"package_name":"cloud.google.com/go","ecosystem":"go","requirements":"v0.45.1","direct":false,"kind":"runtime","optional":false},{"id":7253140305,"package_name":"cloud.google.com/go","ecosystem":"go","requirements":"v0.46.3","direct":false,"kind":"runtime","optional":false},{"id":7253140577,"package_name":"go.opencensus.io","ecosystem":"go","requirements":"v0.22.2","direct":false,"kind":"runtime","optional":false},{"id":7253140306,"package_name":"cloud.google.com/go","ecosystem":"go","requirements":"v0.50.0","direct":false,"kind":"runtime","optional":false},{"id":7253140307,"package_name":"cloud.google.com/go","ecosystem":"go","requirements":"v0.52.0","direct":false,"kind":"runtime","optional":false},{"id":7253140308,"package_name":"cloud.google.com/go","ecosystem":"go","requirements":"v0.53.0","direct":false,"kind":"runtime","optional":false},{"id":7253140309,"package_name":"cloud.google.com/go","ecosystem":"go","requirements":"v0.54.0","direct":false,"kind":"runtime","optional":false},{"id":7253140310,"package_name":"cloud.google.com/go","ecosystem":"go","requirements":"v0.56.0","direct":false,"kind":"runtime","optional":false},{"id":7253140311,"package_name":"cloud.google.com/go","ecosystem":"go","requirements":"v0.57.0","direct":false,"kind":"runtime","optional":false},{"id":7253140312,"package_name":"cloud.google.com/go","ecosystem":"go","requirements":"v0.62.0","direct":false,"kind":"runtime","optional":false},{"id":7253140313,"package_name":"cloud.google.com/go","ecosystem":"go","requirements":"v0.65.0","direct":false,"kind":"runtime","optional":false},{"id":7253140314,"package_name":"cloud.google.com/go","ecosystem":"go","requirements":"v0.72.0","direct":false,"kind":"runtime","optional":false},{"id":7253140315,"package_name":"cloud.google.com/go","ecosystem":"go","requirements":"v0.74.0","direct":false,"kind":"runtime","optional":false},{"id":7253140316,"package_name":"cloud.google.com/go","ecosystem":"go","requirements":"v0.75.0","direct":false,"kind":"runtime","optional":false},{"id":7253140317,"package_name":"cloud.google.com/go/bigquery","ecosystem":"go","requirements":"v1.0.1","direct":false,"kind":"runtime","optional":false},{"id":7253140318,"package_name":"cloud.google.com/go/bigquery","ecosystem":"go","requirements":"v1.3.0","direct":false,"kind":"runtime","optional":false},{"id":7253140319,"package_name":"cloud.google.com/go/bigquery","ecosystem":"go","requirements":"v1.4.0","direct":false,"kind":"runtime","optional":false},{"id":7253140320,"package_name":"cloud.google.com/go/bigquery","ecosystem":"go","requirements":"v1.5.0","direct":false,"kind":"runtime","optional":false},{"id":7253140321,"package_name":"cloud.google.com/go/bigquery","ecosystem":"go","requirements":"v1.7.0","direct":false,"kind":"runtime","optional":false},{"id":7253140322,"package_name":"cloud.google.com/go/bigquery","ecosystem":"go","requirements":"v1.8.0","direct":false,"kind":"runtime","optional":false},{"id":7253140323,"package_name":"cloud.google.com/go/datastore","ecosystem":"go","requirements":"v1.0.0","direct":false,"kind":"runtime","optional":false},{"id":7253140324,"package_name":"cloud.google.com/go/datastore","ecosystem":"go","requirements":"v1.1.0","direct":false,"kind":"runtime","optional":false},{"id":7253140325,"package_name":"cloud.google.com/go/pubsub","ecosystem":"go","requirements":"v1.0.1","direct":false,"kind":"runtime","optional":false},{"id":7253140326,"package_name":"cloud.google.com/go/pubsub","ecosystem":"go","requirements":"v1.1.0","direct":false,"kind":"runtime","optional":false},{"id":7253140327,"package_name":"cloud.google.com/go/pubsub","ecosystem":"go","requirements":"v1.2.0","direct":false,"kind":"runtime","optional":false},{"id":7253140328,"package_name":"cloud.google.com/go/pubsub","ecosystem":"go","requirements":"v1.3.1","direct":false,"kind":"runtime","optional":false},{"id":7253140329,"package_name":"cloud.google.com/go/storage","ecosystem":"go","requirements":"v1.0.0","direct":false,"kind":"runtime","optional":false},{"id":7253140330,"package_name":"cloud.google.com/go/storage","ecosystem":"go","requirements":"v1.5.0","direct":false,"kind":"runtime","optional":false},{"id":7253140331,"package_name":"cloud.google.com/go/storage","ecosystem":"go","requirements":"v1.6.0","direct":false,"kind":"runtime","optional":false},{"id":7253140332,"package_name":"cloud.google.com/go/storage","ecosystem":"go","requirements":"v1.8.0","direct":false,"kind":"runtime","optional":false},{"id":7253140333,"package_name":"cloud.google.com/go/storage","ecosystem":"go","requirements":"v1.10.0","direct":false,"kind":"runtime","optional":false},{"id":7253140334,"package_name":"cloud.google.com/go/storage","ecosystem":"go","requirements":"v1.14.0","direct":false,"kind":"runtime","optional":false},{"id":7253140335,"package_name":"dmitri.shuralyov.com/gpu/mtl","ecosystem":"go","requirements":"v0.0.0-20190408044501-666a987793e9","direct":false,"kind":"runtime","optional":false},{"id":7253140336,"package_name":"github.com/BurntSushi/toml","ecosystem":"go","requirements":"v0.3.1","direct":false,"kind":"runtime","optional":false},{"id":7253140337,"package_name":"github.com/BurntSushi/xgb","ecosystem":"go","requirements":"v0.0.0-20160522181843-27f122750802","direct":false,"kind":"runtime","optional":false},{"id":7253140338,"package_name":"github.com/andig/gosunspec","ecosystem":"go","requirements":"v0.0.0-20211108155140-af2e73b86e71","direct":false,"kind":"runtime","optional":false},{"id":7253140339,"package_name":"github.com/census-instrumentation/opencensus-proto","ecosystem":"go","requirements":"v0.2.1","direct":false,"kind":"runtime","optional":false},{"id":7253140340,"package_name":"github.com/chzyer/logex","ecosystem":"go","requirements":"v1.1.10","direct":false,"kind":"runtime","optional":false},{"id":7253140341,"package_name":"github.com/chzyer/readline","ecosystem":"go","requirements":"v0.0.0-20180603132655-2972be24d48e","direct":false,"kind":"runtime","optional":false},{"id":7253140342,"package_name":"github.com/chzyer/test","ecosystem":"go","requirements":"v0.0.0-20180213035817-a1ea475d72b1","direct":false,"kind":"runtime","optional":false},{"id":7253140343,"package_name":"github.com/client9/misspell","ecosystem":"go","requirements":"v0.3.4","direct":false,"kind":"runtime","optional":false},{"id":7253140344,"package_name":"github.com/cncf/udpa/go","ecosystem":"go","requirements":"v0.0.0-20191209042840-269d4d468f6f","direct":false,"kind":"runtime","optional":false},{"id":7253140345,"package_name":"github.com/cncf/udpa/go","ecosystem":"go","requirements":"v0.0.0-20200629203442-efcf912fb354","direct":false,"kind":"runtime","optional":false},{"id":7253140346,"package_name":"github.com/cncf/udpa/go","ecosystem":"go","requirements":"v0.0.0-20201120205902-5459f2c99403","direct":false,"kind":"runtime","optional":false},{"id":7253140347,"package_name":"github.com/cpuguy83/go-md2man/v2","ecosystem":"go","requirements":"v2.0.2","direct":false,"kind":"runtime","optional":false},{"id":7253140348,"package_name":"github.com/creack/pty","ecosystem":"go","requirements":"v1.1.9","direct":false,"kind":"runtime","optional":false},{"id":7253140349,"package_name":"github.com/cyberdelia/templates","ecosystem":"go","requirements":"v0.0.0-20141128023046-ca7fffd4298c","direct":false,"kind":"runtime","optional":false},{"id":7253140350,"package_name":"github.com/davecgh/go-spew","ecosystem":"go","requirements":"v1.1.0","direct":false,"kind":"runtime","optional":false},{"id":7253140351,"package_name":"github.com/davecgh/go-spew","ecosystem":"go","requirements":"v1.1.1","direct":false,"kind":"runtime","optional":false},{"id":7253140352,"package_name":"github.com/decred/dcrd/crypto/blake256","ecosystem":"go","requirements":"v1.0.0","direct":false,"kind":"runtime","optional":false},{"id":7253140353,"package_name":"github.com/decred/dcrd/dcrec/secp256k1/v4","ecosystem":"go","requirements":"v4.0.0-20210816181553-5444fa50b93d","direct":false,"kind":"runtime","optional":false},{"id":7253140354,"package_name":"github.com/decred/dcrd/dcrec/secp256k1/v4","ecosystem":"go","requirements":"v4.0.1","direct":false,"kind":"runtime","optional":false},{"id":7253140355,"package_name":"github.com/deepmap/oapi-codegen","ecosystem":"go","requirements":"v1.3.6","direct":false,"kind":"runtime","optional":false},{"id":7253140356,"package_name":"github.com/deepmap/oapi-codegen","ecosystem":"go","requirements":"v1.11.0","direct":false,"kind":"runtime","optional":false},{"id":7253140357,"package_name":"github.com/dgrijalva/jwt-go","ecosystem":"go","requirements":"v3.2.0+incompatible","direct":false,"kind":"runtime","optional":false},{"id":7253140358,"package_name":"github.com/dmarkham/enumer","ecosystem":"go","requirements":"v1.5.6","direct":false,"kind":"runtime","optional":false},{"id":7253140359,"package_name":"github.com/eclipse/paho.mqtt.golang","ecosystem":"go","requirements":"v1.4.1","direct":false,"kind":"runtime","optional":false},{"id":7253140360,"package_name":"github.com/envoyproxy/go-control-plane","ecosystem":"go","requirements":"v0.9.0","direct":false,"kind":"runtime","optional":false},{"id":7253140361,"package_name":"github.com/envoyproxy/go-control-plane","ecosystem":"go","requirements":"v0.9.1-0.20191026205805-5f8ba28d4473","direct":false,"kind":"runtime","optional":false},{"id":7253140362,"package_name":"github.com/envoyproxy/go-control-plane","ecosystem":"go","requirements":"v0.9.4","direct":false,"kind":"runtime","optional":false},{"id":7253140363,"package_name":"github.com/envoyproxy/go-control-plane","ecosystem":"go","requirements":"v0.9.7","direct":false,"kind":"runtime","optional":false},{"id":7253140364,"package_name":"github.com/envoyproxy/go-control-plane","ecosystem":"go","requirements":"v0.9.9-0.20201210154907-fd9021fe5dad","direct":false,"kind":"runtime","optional":false},{"id":7253140365,"package_name":"github.com/envoyproxy/protoc-gen-validate","ecosystem":"go","requirements":"v0.1.0","direct":false,"kind":"runtime","optional":false},{"id":7253140366,"package_name":"github.com/fatih/camelcase","ecosystem":"go","requirements":"v1.0.0","direct":false,"kind":"runtime","optional":false},{"id":7253140367,"package_name":"github.com/felixge/httpsnoop","ecosystem":"go","requirements":"v1.0.1","direct":false,"kind":"runtime","optional":false},{"id":7253140368,"package_name":"github.com/felixge/httpsnoop","ecosystem":"go","requirements":"v1.0.3","direct":false,"kind":"runtime","optional":false},{"id":7253140369,"package_name":"github.com/frankban/quicktest","ecosystem":"go","requirements":"v1.14.3","direct":false,"kind":"runtime","optional":false},{"id":7253140370,"package_name":"github.com/fsnotify/fsnotify","ecosystem":"go","requirements":"v1.5.4","direct":false,"kind":"runtime","optional":false},{"id":7253140371,"package_name":"github.com/getkin/kin-openapi","ecosystem":"go","requirements":"v0.2.0","direct":false,"kind":"runtime","optional":false},{"id":7253140372,"package_name":"github.com/getkin/kin-openapi","ecosystem":"go","requirements":"v0.94.0","direct":false,"kind":"runtime","optional":false},{"id":7253140373,"package_name":"github.com/ghodss/yaml","ecosystem":"go","requirements":"v1.0.0","direct":false,"kind":"runtime","optional":false},{"id":7253140374,"package_name":"github.com/gin-contrib/sse","ecosystem":"go","requirements":"v0.1.0","direct":false,"kind":"runtime","optional":false},{"id":7253140375,"package_name":"github.com/gin-gonic/gin","ecosystem":"go","requirements":"v1.7.7","direct":false,"kind":"runtime","optional":false},{"id":7253140376,"package_name":"github.com/go-chi/chi","ecosystem":"go","requirements":"v4.0.2+incompatible","direct":false,"kind":"runtime","optional":false},{"id":7253140377,"package_name":"github.com/go-chi/chi/v5","ecosystem":"go","requirements":"v5.0.7","direct":false,"kind":"runtime","optional":false},{"id":7253140378,"package_name":"github.com/go-gl/glfw","ecosystem":"go","requirements":"v0.0.0-20190409004039-e6da0acd62b1","direct":false,"kind":"runtime","optional":false},{"id":7253140379,"package_name":"github.com/go-gl/glfw/v3.3/glfw","ecosystem":"go","requirements":"v0.0.0-20191125211704-12ad95a8df72","direct":false,"kind":"runtime","optional":false},{"id":7253140380,"package_name":"github.com/go-gl/glfw/v3.3/glfw","ecosystem":"go","requirements":"v0.0.0-20200222043503-6f7a984d4dc4","direct":false,"kind":"runtime","optional":false},{"id":7253140381,"package_name":"github.com/go-openapi/jsonpointer","ecosystem":"go","requirements":"v0.19.5","direct":false,"kind":"runtime","optional":false},{"id":7253140382,"package_name":"github.com/go-openapi/swag","ecosystem":"go","requirements":"v0.19.5","direct":false,"kind":"runtime","optional":false},{"id":7253140383,"package_name":"github.com/go-openapi/swag","ecosystem":"go","requirements":"v0.21.1","direct":false,"kind":"runtime","optional":false},{"id":7253140384,"package_name":"github.com/go-playground/assert/v2","ecosystem":"go","requirements":"v2.0.1","direct":false,"kind":"runtime","optional":false},{"id":7253140385,"package_name":"github.com/go-playground/locales","ecosystem":"go","requirements":"v0.13.0","direct":false,"kind":"runtime","optional":false},{"id":7253140386,"package_name":"github.com/go-playground/locales","ecosystem":"go","requirements":"v0.14.0","direct":false,"kind":"runtime","optional":false},{"id":7253140387,"package_name":"github.com/go-playground/universal-translator","ecosystem":"go","requirements":"v0.17.0","direct":false,"kind":"runtime","optional":false},{"id":7253140388,"package_name":"github.com/go-playground/universal-translator","ecosystem":"go","requirements":"v0.18.0","direct":false,"kind":"runtime","optional":false},{"id":7253140389,"package_name":"github.com/go-playground/validator/v10","ecosystem":"go","requirements":"v10.4.1","direct":false,"kind":"runtime","optional":false},{"id":7253140390,"package_name":"github.com/go-playground/validator/v10","ecosystem":"go","requirements":"v10.11.0","direct":false,"kind":"runtime","optional":false},{"id":7253140391,"package_name":"github.com/goccy/go-json","ecosystem":"go","requirements":"v0.9.7","direct":false,"kind":"runtime","optional":false},{"id":7253140392,"package_name":"github.com/golang-jwt/jwt","ecosystem":"go","requirements":"v3.2.2+incompatible","direct":false,"kind":"runtime","optional":false},{"id":7253140393,"package_name":"github.com/golang/glog","ecosystem":"go","requirements":"v0.0.0-20160126235308-23def4e6c14b","direct":false,"kind":"runtime","optional":false},{"id":7253140394,"package_name":"github.com/golang/groupcache","ecosystem":"go","requirements":"v0.0.0-20190702054246-869f871628b6","direct":false,"kind":"runtime","optional":false},{"id":7253140395,"package_name":"github.com/golang/groupcache","ecosystem":"go","requirements":"v0.0.0-20191227052852-215e87163ea7","direct":false,"kind":"runtime","optional":false},{"id":7253140396,"package_name":"github.com/golang/groupcache","ecosystem":"go","requirements":"v0.0.0-20200121045136-8c9f03a8e57e","direct":false,"kind":"runtime","optional":false},{"id":7253140397,"package_name":"github.com/golang/mock","ecosystem":"go","requirements":"v1.1.1","direct":false,"kind":"runtime","optional":false},{"id":7253140398,"package_name":"github.com/golang/mock","ecosystem":"go","requirements":"v1.2.0","direct":false,"kind":"runtime","optional":false},{"id":7253140399,"package_name":"github.com/golang/mock","ecosystem":"go","requirements":"v1.3.1","direct":false,"kind":"runtime","optional":false},{"id":7253140400,"package_name":"github.com/golang/mock","ecosystem":"go","requirements":"v1.4.0","direct":false,"kind":"runtime","optional":false},{"id":7253140401,"package_name":"github.com/golang/mock","ecosystem":"go","requirements":"v1.4.1","direct":false,"kind":"runtime","optional":false},{"id":7253140402,"package_name":"github.com/golang/mock","ecosystem":"go","requirements":"v1.4.3","direct":false,"kind":"runtime","optional":false},{"id":7253140403,"package_name":"github.com/golang/mock","ecosystem":"go","requirements":"v1.4.4","direct":false,"kind":"runtime","optional":false},{"id":7253140404,"package_name":"github.com/golang/protobuf","ecosystem":"go","requirements":"v1.2.0","direct":false,"kind":"runtime","optional":false},{"id":7253140405,"package_name":"github.com/golang/protobuf","ecosystem":"go","requirements":"v1.3.1","direct":false,"kind":"runtime","optional":false},{"id":7253140406,"package_name":"github.com/golang/protobuf","ecosystem":"go","requirements":"v1.3.2","direct":false,"kind":"runtime","optional":false},{"id":7253140407,"package_name":"github.com/golang/protobuf","ecosystem":"go","requirements":"v1.3.3","direct":false,"kind":"runtime","optional":false},{"id":7253140408,"package_name":"github.com/golang/protobuf","ecosystem":"go","requirements":"v1.3.4","direct":false,"kind":"runtime","optional":false},{"id":7253140409,"package_name":"github.com/golang/protobuf","ecosystem":"go","requirements":"v1.3.5","direct":false,"kind":"runtime","optional":false},{"id":7253140410,"package_name":"github.com/golang/protobuf","ecosystem":"go","requirements":"v1.4.0-rc.1","direct":false,"kind":"runtime","optional":false},{"id":7253140411,"package_name":"github.com/golang/protobuf","ecosystem":"go","requirements":"v1.4.0-rc.1.0.20200221234624-67d41d38c208","direct":false,"kind":"runtime","optional":false},{"id":7253140412,"package_name":"github.com/golang/protobuf","ecosystem":"go","requirements":"v1.4.0-rc.2","direct":false,"kind":"runtime","optional":false},{"id":7253140414,"package_name":"github.com/golang/protobuf","ecosystem":"go","requirements":"v1.4.0-rc.4.0.20200313231945-b860323f09d0","direct":false,"kind":"runtime","optional":false},{"id":7253140415,"package_name":"github.com/golang/protobuf","ecosystem":"go","requirements":"v1.4.0","direct":false,"kind":"runtime","optional":false},{"id":7253140416,"package_name":"github.com/golang/protobuf","ecosystem":"go","requirements":"v1.4.1","direct":false,"kind":"runtime","optional":false},{"id":7253140417,"package_name":"github.com/golang/protobuf","ecosystem":"go","requirements":"v1.4.2","direct":false,"kind":"runtime","optional":false},{"id":7253140419,"package_name":"github.com/golang/protobuf","ecosystem":"go","requirements":"v1.4.3","direct":false,"kind":"runtime","optional":false},{"id":7253140420,"package_name":"github.com/golang/protobuf","ecosystem":"go","requirements":"v1.5.0","direct":false,"kind":"runtime","optional":false},{"id":7253140422,"package_name":"github.com/golang/protobuf","ecosystem":"go","requirements":"v1.5.2","direct":false,"kind":"runtime","optional":false},{"id":7253140423,"package_name":"github.com/golangci/lint-1","ecosystem":"go","requirements":"v0.0.0-20181222135242-d2cdd8c08219","direct":false,"kind":"runtime","optional":false},{"id":7253140425,"package_name":"github.com/google/btree","ecosystem":"go","requirements":"v0.0.0-20180813153112-4030bb1f1f0c","direct":false,"kind":"runtime","optional":false},{"id":7253140426,"package_name":"github.com/google/btree","ecosystem":"go","requirements":"v1.0.0","direct":false,"kind":"runtime","optional":false},{"id":7253140427,"package_name":"github.com/google/go-cmp","ecosystem":"go","requirements":"v0.2.0","direct":false,"kind":"runtime","optional":false},{"id":7253140428,"package_name":"github.com/google/go-cmp","ecosystem":"go","requirements":"v0.3.0","direct":false,"kind":"runtime","optional":false},{"id":7253140429,"package_name":"github.com/google/go-cmp","ecosystem":"go","requirements":"v0.3.1","direct":false,"kind":"runtime","optional":false},{"id":7253140430,"package_name":"github.com/google/go-cmp","ecosystem":"go","requirements":"v0.4.0","direct":false,"kind":"runtime","optional":false},{"id":7253140431,"package_name":"github.com/google/go-cmp","ecosystem":"go","requirements":"v0.4.1","direct":false,"kind":"runtime","optional":false},{"id":7253140432,"package_name":"github.com/google/go-cmp","ecosystem":"go","requirements":"v0.5.0","direct":false,"kind":"runtime","optional":false},{"id":7253140433,"package_name":"github.com/google/go-cmp","ecosystem":"go","requirements":"v0.5.1","direct":false,"kind":"runtime","optional":false},{"id":7253140434,"package_name":"github.com/google/go-cmp","ecosystem":"go","requirements":"v0.5.2","direct":false,"kind":"runtime","optional":false},{"id":7253140435,"package_name":"github.com/google/go-cmp","ecosystem":"go","requirements":"v0.5.4","direct":false,"kind":"runtime","optional":false},{"id":7253140436,"package_name":"github.com/google/go-cmp","ecosystem":"go","requirements":"v0.5.5","direct":false,"kind":"runtime","optional":false},{"id":7253140437,"package_name":"github.com/google/go-cmp","ecosystem":"go","requirements":"v0.5.6","direct":false,"kind":"runtime","optional":false},{"id":7253140438,"package_name":"github.com/google/go-cmp","ecosystem":"go","requirements":"v0.5.8","direct":false,"kind":"runtime","optional":false},{"id":7253140439,"package_name":"github.com/google/go-github","ecosystem":"go","requirements":"v17.0.0+incompatible","direct":false,"kind":"runtime","optional":false},{"id":7253140440,"package_name":"github.com/google/go-querystring","ecosystem":"go","requirements":"v1.1.0","direct":false,"kind":"runtime","optional":false},{"id":7253140441,"package_name":"github.com/google/gofuzz","ecosystem":"go","requirements":"v1.0.0","direct":false,"kind":"runtime","optional":false},{"id":7253140442,"package_name":"github.com/google/martian","ecosystem":"go","requirements":"v2.1.0+incompatible","direct":false,"kind":"runtime","optional":false},{"id":7253140443,"package_name":"github.com/google/martian/v3","ecosystem":"go","requirements":"v3.0.0","direct":false,"kind":"runtime","optional":false},{"id":7253140444,"package_name":"github.com/google/martian/v3","ecosystem":"go","requirements":"v3.1.0","direct":false,"kind":"runtime","optional":false},{"id":7253140445,"package_name":"github.com/google/pprof","ecosystem":"go","requirements":"v0.0.0-20181206194817-3ea8567a2e57","direct":false,"kind":"runtime","optional":false},{"id":7253140446,"package_name":"github.com/google/pprof","ecosystem":"go","requirements":"v0.0.0-20190515194954-54271f7e092f","direct":false,"kind":"runtime","optional":false},{"id":7253140447,"package_name":"github.com/google/pprof","ecosystem":"go","requirements":"v0.0.0-20191218002539-d4f498aebedc","direct":false,"kind":"runtime","optional":false},{"id":7253140448,"package_name":"github.com/google/pprof","ecosystem":"go","requirements":"v0.0.0-20200212024743-f11f1df84d12","direct":false,"kind":"runtime","optional":false},{"id":7253140449,"package_name":"github.com/google/pprof","ecosystem":"go","requirements":"v0.0.0-20200229191704-1ebb73c60ed3","direct":false,"kind":"runtime","optional":false},{"id":7253140450,"package_name":"github.com/google/pprof","ecosystem":"go","requirements":"v0.0.0-20200430221834-fc25d7d30c6d","direct":false,"kind":"runtime","optional":false},{"id":7253140451,"package_name":"github.com/google/pprof","ecosystem":"go","requirements":"v0.0.0-20200708004538-1a94d8640e99","direct":false,"kind":"runtime","optional":false},{"id":7253140452,"package_name":"github.com/google/pprof","ecosystem":"go","requirements":"v0.0.0-20201023163331-3e6fc7fc9c4c","direct":false,"kind":"runtime","optional":false},{"id":7253140453,"package_name":"github.com/google/pprof","ecosystem":"go","requirements":"v0.0.0-20201203190320-1bf35d6f28c2","direct":false,"kind":"runtime","optional":false},{"id":7253140454,"package_name":"github.com/google/pprof","ecosystem":"go","requirements":"v0.0.0-20201218002935-b9804c9f04c2","direct":false,"kind":"runtime","optional":false},{"id":7253140455,"package_name":"github.com/google/renameio","ecosystem":"go","requirements":"v0.1.0","direct":false,"kind":"runtime","optional":false},{"id":7253140457,"package_name":"github.com/google/uuid","ecosystem":"go","requirements":"v1.1.2","direct":false,"kind":"runtime","optional":false},{"id":7253140458,"package_name":"github.com/google/uuid","ecosystem":"go","requirements":"v1.3.0","direct":false,"kind":"runtime","optional":false},{"id":7253140459,"package_name":"github.com/googleapis/gax-go/v2","ecosystem":"go","requirements":"v2.0.4","direct":false,"kind":"runtime","optional":false},{"id":7253140460,"package_name":"github.com/googleapis/gax-go/v2","ecosystem":"go","requirements":"v2.0.5","direct":false,"kind":"runtime","optional":false},{"id":7253140461,"package_name":"github.com/googleapis/google-cloud-go-testing","ecosystem":"go","requirements":"v0.0.0-20200911160855-bcd43fbb19e8","direct":false,"kind":"runtime","optional":false},{"id":7253140462,"package_name":"github.com/gorilla/handlers","ecosystem":"go","requirements":"v1.5.1","direct":false,"kind":"runtime","optional":false},{"id":7253140463,"package_name":"github.com/gorilla/mux","ecosystem":"go","requirements":"v1.8.0","direct":false,"kind":"runtime","optional":false},{"id":7253140464,"package_name":"github.com/gorilla/websocket","ecosystem":"go","requirements":"v1.4.2","direct":false,"kind":"runtime","optional":false},{"id":7253140465,"package_name":"github.com/gorilla/websocket","ecosystem":"go","requirements":"v1.5.0","direct":false,"kind":"runtime","optional":false},{"id":7253140466,"package_name":"github.com/grid-x/modbus","ecosystem":"go","requirements":"v0.0.0-20210714071042-7af2b65ec03b","direct":false,"kind":"runtime","optional":false},{"id":7253140467,"package_name":"github.com/grid-x/modbus","ecosystem":"go","requirements":"v0.0.0-20220829110112-006eee73392e","direct":false,"kind":"runtime","optional":false},{"id":7253140468,"package_name":"github.com/grid-x/serial","ecosystem":"go","requirements":"v0.0.0-20191104121038-e24bc9bf6f08","direct":false,"kind":"runtime","optional":false},{"id":7253140469,"package_name":"github.com/grid-x/serial","ecosystem":"go","requirements":"v0.0.0-20211107191517-583c7356b3aa","direct":false,"kind":"runtime","optional":false},{"id":7253140470,"package_name":"github.com/hashicorp/go-version","ecosystem":"go","requirements":"v1.6.0","direct":false,"kind":"runtime","optional":false},{"id":7253140471,"package_name":"github.com/hashicorp/golang-lru","ecosystem":"go","requirements":"v0.5.0","direct":false,"kind":"runtime","optional":false},{"id":7253140472,"package_name":"github.com/hashicorp/golang-lru","ecosystem":"go","requirements":"v0.5.1","direct":false,"kind":"runtime","optional":false},{"id":7253140473,"package_name":"github.com/hashicorp/hcl","ecosystem":"go","requirements":"v1.0.0","direct":false,"kind":"runtime","optional":false},{"id":7253140474,"package_name":"github.com/ianlancetaylor/demangle","ecosystem":"go","requirements":"v0.0.0-20181102032728-5e5cf60278f6","direct":false,"kind":"runtime","optional":false},{"id":7253140475,"package_name":"github.com/ianlancetaylor/demangle","ecosystem":"go","requirements":"v0.0.0-20200824232613-28f6c0f3b639","direct":false,"kind":"runtime","optional":false},{"id":7253140476,"package_name":"github.com/inconshreveable/mousetrap","ecosystem":"go","requirements":"v1.0.0","direct":false,"kind":"runtime","optional":false},{"id":7253140477,"package_name":"github.com/inconshreveable/mousetrap","ecosystem":"go","requirements":"v1.0.1","direct":false,"kind":"runtime","optional":false},{"id":7253140478,"package_name":"github.com/influxdata/influxdb-client-go","ecosystem":"go","requirements":"v1.4.0","direct":false,"kind":"runtime","optional":false},{"id":7253140479,"package_name":"github.com/influxdata/line-protocol","ecosystem":"go","requirements":"v0.0.0-20200327222509-2487e7298839","direct":false,"kind":"runtime","optional":false},{"id":7253140480,"package_name":"github.com/influxdata/line-protocol","ecosystem":"go","requirements":"v0.0.0-20210922203350-b1ad95c89adf","direct":false,"kind":"runtime","optional":false},{"id":7253140481,"package_name":"github.com/josharian/intern","ecosystem":"go","requirements":"v1.0.0","direct":false,"kind":"runtime","optional":false},{"id":7253140482,"package_name":"github.com/json-iterator/go","ecosystem":"go","requirements":"v1.1.9","direct":false,"kind":"runtime","optional":false},{"id":7253140483,"package_name":"github.com/json-iterator/go","ecosystem":"go","requirements":"v1.1.12","direct":false,"kind":"runtime","optional":false},{"id":7253140484,"package_name":"github.com/jstemmer/go-junit-report","ecosystem":"go","requirements":"v0.0.0-20190106144839-af01ea7f8024","direct":false,"kind":"runtime","optional":false},{"id":7253140485,"package_name":"github.com/jstemmer/go-junit-report","ecosystem":"go","requirements":"v0.9.1","direct":false,"kind":"runtime","optional":false},{"id":7253140486,"package_name":"github.com/kisielk/gotool","ecosystem":"go","requirements":"v1.0.0","direct":false,"kind":"runtime","optional":false},{"id":7253140487,"package_name":"github.com/kr/fs","ecosystem":"go","requirements":"v0.1.0","direct":false,"kind":"runtime","optional":false},{"id":7253140488,"package_name":"github.com/kr/pretty","ecosystem":"go","requirements":"v0.1.0","direct":false,"kind":"runtime","optional":false},{"id":7253140489,"package_name":"github.com/kr/pretty","ecosystem":"go","requirements":"v0.2.1","direct":false,"kind":"runtime","optional":false},{"id":7253140490,"package_name":"github.com/kr/pretty","ecosystem":"go","requirements":"v0.3.0","direct":false,"kind":"runtime","optional":false},{"id":7253140491,"package_name":"github.com/kr/pty","ecosystem":"go","requirements":"v1.1.1","direct":false,"kind":"runtime","optional":false},{"id":7253140492,"package_name":"github.com/kr/text","ecosystem":"go","requirements":"v0.1.0","direct":false,"kind":"runtime","optional":false},{"id":7253140493,"package_name":"github.com/kr/text","ecosystem":"go","requirements":"v0.2.0","direct":false,"kind":"runtime","optional":false},{"id":7253140494,"package_name":"github.com/labstack/echo/v4","ecosystem":"go","requirements":"v4.1.11","direct":false,"kind":"runtime","optional":false},{"id":7253140495,"package_name":"github.com/labstack/echo/v4","ecosystem":"go","requirements":"v4.7.2","direct":false,"kind":"runtime","optional":false},{"id":7253140496,"package_name":"github.com/labstack/gommon","ecosystem":"go","requirements":"v0.3.0","direct":false,"kind":"runtime","optional":false},{"id":7253140497,"package_name":"github.com/labstack/gommon","ecosystem":"go","requirements":"v0.3.1","direct":false,"kind":"runtime","optional":false},{"id":7253140498,"package_name":"github.com/leodido/go-urn","ecosystem":"go","requirements":"v1.2.0","direct":false,"kind":"runtime","optional":false},{"id":7253140499,"package_name":"github.com/leodido/go-urn","ecosystem":"go","requirements":"v1.2.1","direct":false,"kind":"runtime","optional":false},{"id":7253140500,"package_name":"github.com/lestrrat-go/backoff/v2","ecosystem":"go","requirements":"v2.0.8","direct":false,"kind":"runtime","optional":false},{"id":7253140501,"package_name":"github.com/lestrrat-go/blackmagic","ecosystem":"go","requirements":"v1.0.0","direct":false,"kind":"runtime","optional":false},{"id":7253140502,"package_name":"github.com/lestrrat-go/blackmagic","ecosystem":"go","requirements":"v1.0.1","direct":false,"kind":"runtime","optional":false},{"id":7253140503,"package_name":"github.com/lestrrat-go/httpcc","ecosystem":"go","requirements":"v1.0.1","direct":false,"kind":"runtime","optional":false},{"id":7253140504,"package_name":"github.com/lestrrat-go/iter","ecosystem":"go","requirements":"v1.0.1","direct":false,"kind":"runtime","optional":false},{"id":7253140505,"package_name":"github.com/lestrrat-go/iter","ecosystem":"go","requirements":"v1.0.2","direct":false,"kind":"runtime","optional":false},{"id":7253140506,"package_name":"github.com/lestrrat-go/jwx","ecosystem":"go","requirements":"v1.2.24","direct":false,"kind":"runtime","optional":false},{"id":7253140507,"package_name":"github.com/lestrrat-go/option","ecosystem":"go","requirements":"v1.0.0","direct":false,"kind":"runtime","optional":false},{"id":7253140508,"package_name":"github.com/magiconair/properties","ecosystem":"go","requirements":"v1.8.6","direct":false,"kind":"runtime","optional":false},{"id":7253140509,"package_name":"github.com/mailru/easyjson","ecosystem":"go","requirements":"v0.0.0-20190614124828-94de47d64c63","direct":false,"kind":"runtime","optional":false},{"id":7253140510,"package_name":"github.com/mailru/easyjson","ecosystem":"go","requirements":"v0.0.0-20190626092158-b2ccc519800e","direct":false,"kind":"runtime","optional":false},{"id":7253140511,"package_name":"github.com/mailru/easyjson","ecosystem":"go","requirements":"v0.7.6","direct":false,"kind":"runtime","optional":false},{"id":7253140512,"package_name":"github.com/mailru/easyjson","ecosystem":"go","requirements":"v0.7.7","direct":false,"kind":"runtime","optional":false},{"id":7253140513,"package_name":"github.com/matryer/moq","ecosystem":"go","requirements":"v0.0.0-20190312154309-6cfb0558e1bd","direct":false,"kind":"runtime","optional":false},{"id":7253140514,"package_name":"github.com/matryer/moq","ecosystem":"go","requirements":"v0.2.7","direct":false,"kind":"runtime","optional":false},{"id":7253140515,"package_name":"github.com/mattn/go-colorable","ecosystem":"go","requirements":"v0.1.2","direct":false,"kind":"runtime","optional":false},{"id":7253140516,"package_name":"github.com/mattn/go-colorable","ecosystem":"go","requirements":"v0.1.4","direct":false,"kind":"runtime","optional":false},{"id":7253140517,"package_name":"github.com/mattn/go-colorable","ecosystem":"go","requirements":"v0.1.11","direct":false,"kind":"runtime","optional":false},{"id":7253140518,"package_name":"github.com/mattn/go-colorable","ecosystem":"go","requirements":"v0.1.12","direct":false,"kind":"runtime","optional":false},{"id":7253140519,"package_name":"github.com/mattn/go-isatty","ecosystem":"go","requirements":"v0.0.8","direct":false,"kind":"runtime","optional":false},{"id":7253140520,"package_name":"github.com/mattn/go-isatty","ecosystem":"go","requirements":"v0.0.9","direct":false,"kind":"runtime","optional":false},{"id":7253140521,"package_name":"github.com/mattn/go-isatty","ecosystem":"go","requirements":"v0.0.10","direct":false,"kind":"runtime","optional":false},{"id":7253140522,"package_name":"github.com/mattn/go-isatty","ecosystem":"go","requirements":"v0.0.12","direct":false,"kind":"runtime","optional":false},{"id":7253140523,"package_name":"github.com/mattn/go-isatty","ecosystem":"go","requirements":"v0.0.14","direct":false,"kind":"runtime","optional":false},{"id":7253140524,"package_name":"github.com/mitchellh/mapstructure","ecosystem":"go","requirements":"v1.5.0","direct":false,"kind":"runtime","optional":false},{"id":7253140525,"package_name":"github.com/modern-go/concurrent","ecosystem":"go","requirements":"v0.0.0-20180228061459-e0a39a4cb421","direct":false,"kind":"runtime","optional":false},{"id":7253140526,"package_name":"github.com/modern-go/concurrent","ecosystem":"go","requirements":"v0.0.0-20180306012644-bacd9c7ef1dd","direct":false,"kind":"runtime","optional":false},{"id":7253140527,"package_name":"github.com/modern-go/reflect2","ecosystem":"go","requirements":"v0.0.0-20180701023420-4b7aa43c6742","direct":false,"kind":"runtime","optional":false},{"id":7253140528,"package_name":"github.com/modern-go/reflect2","ecosystem":"go","requirements":"v1.0.2","direct":false,"kind":"runtime","optional":false},{"id":7253140529,"package_name":"github.com/niemeyer/pretty","ecosystem":"go","requirements":"v0.0.0-20200227124842-a10e7caefd8e","direct":false,"kind":"runtime","optional":false},{"id":7253140530,"package_name":"github.com/pascaldekloe/name","ecosystem":"go","requirements":"v1.0.1","direct":false,"kind":"runtime","optional":false},{"id":7253140531,"package_name":"github.com/pelletier/go-toml","ecosystem":"go","requirements":"v1.9.5","direct":false,"kind":"runtime","optional":false},{"id":7253140532,"package_name":"github.com/pelletier/go-toml/v2","ecosystem":"go","requirements":"v2.0.5","direct":false,"kind":"runtime","optional":false},{"id":7253140533,"package_name":"github.com/pkg/diff","ecosystem":"go","requirements":"v0.0.0-20210226163009-20ebb0f2a09e","direct":false,"kind":"runtime","optional":false},{"id":7253140534,"package_name":"github.com/pkg/errors","ecosystem":"go","requirements":"v0.8.1","direct":false,"kind":"runtime","optional":false},{"id":7253140535,"package_name":"github.com/pkg/errors","ecosystem":"go","requirements":"v0.9.1","direct":false,"kind":"runtime","optional":false},{"id":7253140536,"package_name":"github.com/pkg/sftp","ecosystem":"go","requirements":"v1.13.1","direct":false,"kind":"runtime","optional":false},{"id":7253140537,"package_name":"github.com/pmezard/go-difflib","ecosystem":"go","requirements":"v1.0.0","direct":false,"kind":"runtime","optional":false},{"id":7253140538,"package_name":"github.com/prometheus/client_model","ecosystem":"go","requirements":"v0.0.0-20190812154241-14fe0d1b01d4","direct":false,"kind":"runtime","optional":false},{"id":7253140539,"package_name":"github.com/rogpeppe/go-internal","ecosystem":"go","requirements":"v1.3.0","direct":false,"kind":"runtime","optional":false},{"id":7253140540,"package_name":"github.com/rogpeppe/go-internal","ecosystem":"go","requirements":"v1.6.1","direct":false,"kind":"runtime","optional":false},{"id":7253140541,"package_name":"github.com/rogpeppe/go-internal","ecosystem":"go","requirements":"v1.8.0","direct":false,"kind":"runtime","optional":false},{"id":7253140542,"package_name":"github.com/russross/blackfriday/v2","ecosystem":"go","requirements":"v2.1.0","direct":false,"kind":"runtime","optional":false},{"id":7253140543,"package_name":"github.com/spf13/afero","ecosystem":"go","requirements":"v1.9.2","direct":false,"kind":"runtime","optional":false},{"id":7253140544,"package_name":"github.com/spf13/cast","ecosystem":"go","requirements":"v1.5.0","direct":false,"kind":"runtime","optional":false},{"id":7253140545,"package_name":"github.com/spf13/cobra","ecosystem":"go","requirements":"v1.5.0","direct":false,"kind":"runtime","optional":false},{"id":7253140546,"package_name":"github.com/spf13/jwalterweatherman","ecosystem":"go","requirements":"v1.1.0","direct":false,"kind":"runtime","optional":false},{"id":7253140547,"package_name":"github.com/spf13/pflag","ecosystem":"go","requirements":"v1.0.5","direct":false,"kind":"runtime","optional":false},{"id":7253140548,"package_name":"github.com/spf13/viper","ecosystem":"go","requirements":"v1.13.0","direct":false,"kind":"runtime","optional":false},{"id":7253140549,"package_name":"github.com/stretchr/objx","ecosystem":"go","requirements":"v0.1.0","direct":false,"kind":"runtime","optional":false},{"id":7253140550,"package_name":"github.com/stretchr/objx","ecosystem":"go","requirements":"v0.4.0","direct":false,"kind":"runtime","optional":false},{"id":7253140551,"package_name":"github.com/stretchr/testify","ecosystem":"go","requirements":"v1.2.2","direct":false,"kind":"runtime","optional":false},{"id":7253140552,"package_name":"github.com/stretchr/testify","ecosystem":"go","requirements":"v1.3.0","direct":false,"kind":"runtime","optional":false},{"id":7253140554,"package_name":"github.com/stretchr/testify","ecosystem":"go","requirements":"v1.4.0","direct":false,"kind":"runtime","optional":false},{"id":7253140555,"package_name":"github.com/stretchr/testify","ecosystem":"go","requirements":"v1.5.1","direct":false,"kind":"runtime","optional":false},{"id":7253140556,"package_name":"github.com/stretchr/testify","ecosystem":"go","requirements":"v1.6.1","direct":false,"kind":"runtime","optional":false},{"id":7253140557,"package_name":"github.com/stretchr/testify","ecosystem":"go","requirements":"v1.7.0","direct":false,"kind":"runtime","optional":false},{"id":7253140558,"package_name":"github.com/stretchr/testify","ecosystem":"go","requirements":"v1.7.1","direct":false,"kind":"runtime","optional":false},{"id":7253140559,"package_name":"github.com/stretchr/testify","ecosystem":"go","requirements":"v1.8.0","direct":false,"kind":"runtime","optional":false},{"id":7253140560,"package_name":"github.com/subosito/gotenv","ecosystem":"go","requirements":"v1.4.1","direct":false,"kind":"runtime","optional":false},{"id":7253140561,"package_name":"github.com/tcnksm/go-latest","ecosystem":"go","requirements":"v0.0.0-20170313132115-e3007ae9052e","direct":false,"kind":"runtime","optional":false},{"id":7253140562,"package_name":"github.com/ugorji/go","ecosystem":"go","requirements":"v1.1.7","direct":false,"kind":"runtime","optional":false},{"id":7253140563,"package_name":"github.com/ugorji/go","ecosystem":"go","requirements":"v1.2.7","direct":false,"kind":"runtime","optional":false},{"id":7253140564,"package_name":"github.com/ugorji/go/codec","ecosystem":"go","requirements":"v1.1.7","direct":false,"kind":"runtime","optional":false},{"id":7253140565,"package_name":"github.com/ugorji/go/codec","ecosystem":"go","requirements":"v1.2.7","direct":false,"kind":"runtime","optional":false},{"id":7253140566,"package_name":"github.com/valyala/bytebufferpool","ecosystem":"go","requirements":"v1.0.0","direct":false,"kind":"runtime","optional":false},{"id":7253140567,"package_name":"github.com/valyala/fasttemplate","ecosystem":"go","requirements":"v1.0.1","direct":false,"kind":"runtime","optional":false},{"id":7253140568,"package_name":"github.com/valyala/fasttemplate","ecosystem":"go","requirements":"v1.1.0","direct":false,"kind":"runtime","optional":false},{"id":7253140569,"package_name":"github.com/valyala/fasttemplate","ecosystem":"go","requirements":"v1.2.1","direct":false,"kind":"runtime","optional":false},{"id":7253140570,"package_name":"github.com/yuin/goldmark","ecosystem":"go","requirements":"v1.1.25","direct":false,"kind":"runtime","optional":false},{"id":7253140571,"package_name":"github.com/yuin/goldmark","ecosystem":"go","requirements":"v1.1.27","direct":false,"kind":"runtime","optional":false},{"id":7253140572,"package_name":"github.com/yuin/goldmark","ecosystem":"go","requirements":"v1.1.32","direct":false,"kind":"runtime","optional":false},{"id":7253140573,"package_name":"github.com/yuin/goldmark","ecosystem":"go","requirements":"v1.2.1","direct":false,"kind":"runtime","optional":false},{"id":7253140574,"package_name":"github.com/yuin/goldmark","ecosystem":"go","requirements":"v1.4.1","direct":false,"kind":"runtime","optional":false},{"id":7253140575,"package_name":"go.opencensus.io","ecosystem":"go","requirements":"v0.21.0","direct":false,"kind":"runtime","optional":false},{"id":7253140576,"package_name":"go.opencensus.io","ecosystem":"go","requirements":"v0.22.0","direct":false,"kind":"runtime","optional":false},{"id":7253140578,"package_name":"go.opencensus.io","ecosystem":"go","requirements":"v0.22.3","direct":false,"kind":"runtime","optional":false},{"id":7253140579,"package_name":"go.opencensus.io","ecosystem":"go","requirements":"v0.22.4","direct":false,"kind":"runtime","optional":false},{"id":7253140580,"package_name":"go.opencensus.io","ecosystem":"go","requirements":"v0.22.5","direct":false,"kind":"runtime","optional":false},{"id":7253140581,"package_name":"golang.org/x/crypto","ecosystem":"go","requirements":"v0.0.0-20190308221718-c2843e01d9a2","direct":false,"kind":"runtime","optional":false},{"id":7253140582,"package_name":"golang.org/x/crypto","ecosystem":"go","requirements":"v0.0.0-20190510104115-cbcb75029529","direct":false,"kind":"runtime","optional":false},{"id":7253140583,"package_name":"golang.org/x/crypto","ecosystem":"go","requirements":"v0.0.0-20190605123033-f99c8df09eb5","direct":false,"kind":"runtime","optional":false},{"id":7253140584,"package_name":"golang.org/x/crypto","ecosystem":"go","requirements":"v0.0.0-20190701094942-4def268fd1a4","direct":false,"kind":"runtime","optional":false},{"id":7253140585,"package_name":"golang.org/x/crypto","ecosystem":"go","requirements":"v0.0.0-20191011191535-87dc89f01550","direct":false,"kind":"runtime","optional":false},{"id":7253140586,"package_name":"golang.org/x/crypto","ecosystem":"go","requirements":"v0.0.0-20191112222119-e1110fd1c708","direct":false,"kind":"runtime","optional":false},{"id":7253140587,"package_name":"golang.org/x/crypto","ecosystem":"go","requirements":"v0.0.0-20200622213623-75b288015ac9","direct":false,"kind":"runtime","optional":false},{"id":7253140936,"package_name":"gopkg.in/yaml.v2","ecosystem":"go","requirements":"v2.2.8","direct":false,"kind":"runtime","optional":false},{"id":7253140588,"package_name":"golang.org/x/crypto","ecosystem":"go","requirements":"v0.0.0-20210421170649-83a5a9bb288b","direct":false,"kind":"runtime","optional":false},{"id":7253140589,"package_name":"golang.org/x/crypto","ecosystem":"go","requirements":"v0.0.0-20210817164053-32db794688a5","direct":false,"kind":"runtime","optional":false},{"id":7253140590,"package_name":"golang.org/x/crypto","ecosystem":"go","requirements":"v0.0.0-20210921155107-089bfa567519","direct":false,"kind":"runtime","optional":false},{"id":7253140591,"package_name":"golang.org/x/crypto","ecosystem":"go","requirements":"v0.0.0-20211108221036-ceb1ce70b4fa","direct":false,"kind":"runtime","optional":false},{"id":7253140592,"package_name":"golang.org/x/crypto","ecosystem":"go","requirements":"v0.0.0-20211215153901-e495a2d5b3d3","direct":false,"kind":"runtime","optional":false},{"id":7253140593,"package_name":"golang.org/x/crypto","ecosystem":"go","requirements":"v0.0.0-20220427172511-eb4f295cb31f","direct":false,"kind":"runtime","optional":false},{"id":7253140594,"package_name":"golang.org/x/crypto","ecosystem":"go","requirements":"v0.0.0-20220513210258-46612604a0f9","direct":false,"kind":"runtime","optional":false},{"id":7253140595,"package_name":"golang.org/x/exp","ecosystem":"go","requirements":"v0.0.0-20190121172915-509febef88a4","direct":false,"kind":"runtime","optional":false},{"id":7253140596,"package_name":"golang.org/x/exp","ecosystem":"go","requirements":"v0.0.0-20190306152737-a1d7652674e8","direct":false,"kind":"runtime","optional":false},{"id":7253140597,"package_name":"golang.org/x/exp","ecosystem":"go","requirements":"v0.0.0-20190510132918-efd6b22b2522","direct":false,"kind":"runtime","optional":false},{"id":7253140598,"package_name":"golang.org/x/exp","ecosystem":"go","requirements":"v0.0.0-20190829153037-c13cbed26979","direct":false,"kind":"runtime","optional":false},{"id":7253140599,"package_name":"golang.org/x/exp","ecosystem":"go","requirements":"v0.0.0-20191030013958-a1ab85dbe136","direct":false,"kind":"runtime","optional":false},{"id":7253140600,"package_name":"golang.org/x/exp","ecosystem":"go","requirements":"v0.0.0-20191129062945-2f5052295587","direct":false,"kind":"runtime","optional":false},{"id":7253140601,"package_name":"golang.org/x/exp","ecosystem":"go","requirements":"v0.0.0-20191227195350-da58074b4299","direct":false,"kind":"runtime","optional":false},{"id":7253140602,"package_name":"golang.org/x/exp","ecosystem":"go","requirements":"v0.0.0-20200119233911-0405dc783f0a","direct":false,"kind":"runtime","optional":false},{"id":7253140603,"package_name":"golang.org/x/exp","ecosystem":"go","requirements":"v0.0.0-20200207192155-f17229e696bd","direct":false,"kind":"runtime","optional":false},{"id":7253140604,"package_name":"golang.org/x/exp","ecosystem":"go","requirements":"v0.0.0-20200224162631-6cc2880d07d6","direct":false,"kind":"runtime","optional":false},{"id":7253140605,"package_name":"golang.org/x/exp","ecosystem":"go","requirements":"v0.0.0-20230118134722-a68e582fa157","direct":false,"kind":"runtime","optional":false},{"id":7253140606,"package_name":"golang.org/x/image","ecosystem":"go","requirements":"v0.0.0-20190227222117-0694c2d4d067","direct":false,"kind":"runtime","optional":false},{"id":7253140607,"package_name":"golang.org/x/image","ecosystem":"go","requirements":"v0.0.0-20190802002840-cff245a6509b","direct":false,"kind":"runtime","optional":false},{"id":7253140608,"package_name":"golang.org/x/lint","ecosystem":"go","requirements":"v0.0.0-20181026193005-c67002cb31c3","direct":false,"kind":"runtime","optional":false},{"id":7253140609,"package_name":"golang.org/x/lint","ecosystem":"go","requirements":"v0.0.0-20190227174305-5b3e6a55c961","direct":false,"kind":"runtime","optional":false},{"id":7253140610,"package_name":"golang.org/x/lint","ecosystem":"go","requirements":"v0.0.0-20190301231843-5614ed5bae6f","direct":false,"kind":"runtime","optional":false},{"id":7253140611,"package_name":"golang.org/x/lint","ecosystem":"go","requirements":"v0.0.0-20190313153728-d0100b6bd8b3","direct":false,"kind":"runtime","optional":false},{"id":7253140612,"package_name":"golang.org/x/lint","ecosystem":"go","requirements":"v0.0.0-20190409202823-959b441ac422","direct":false,"kind":"runtime","optional":false},{"id":7253140613,"package_name":"golang.org/x/lint","ecosystem":"go","requirements":"v0.0.0-20190909230951-414d861bb4ac","direct":false,"kind":"runtime","optional":false},{"id":7253140614,"package_name":"golang.org/x/lint","ecosystem":"go","requirements":"v0.0.0-20190930215403-16217165b5de","direct":false,"kind":"runtime","optional":false},{"id":7253140615,"package_name":"golang.org/x/lint","ecosystem":"go","requirements":"v0.0.0-20191125180803-fdd1cda4f05f","direct":false,"kind":"runtime","optional":false},{"id":7253140616,"package_name":"golang.org/x/lint","ecosystem":"go","requirements":"v0.0.0-20200130185559-910be7a94367","direct":false,"kind":"runtime","optional":false},{"id":7253140617,"package_name":"golang.org/x/lint","ecosystem":"go","requirements":"v0.0.0-20200302205851-738671d3881b","direct":false,"kind":"runtime","optional":false},{"id":7253140618,"package_name":"golang.org/x/lint","ecosystem":"go","requirements":"v0.0.0-20201208152925-83fdc39ff7b5","direct":false,"kind":"runtime","optional":false},{"id":7253140619,"package_name":"golang.org/x/mobile","ecosystem":"go","requirements":"v0.0.0-20190312151609-d3739f865fa6","direct":false,"kind":"runtime","optional":false},{"id":7253140620,"package_name":"golang.org/x/mobile","ecosystem":"go","requirements":"v0.0.0-20190719004257-d2bd2a29d028","direct":false,"kind":"runtime","optional":false},{"id":7253140621,"package_name":"golang.org/x/mod","ecosystem":"go","requirements":"v0.0.0-20190513183733-4bf6d317e70e","direct":false,"kind":"runtime","optional":false},{"id":7253140622,"package_name":"golang.org/x/mod","ecosystem":"go","requirements":"v0.1.0","direct":false,"kind":"runtime","optional":false},{"id":7253140623,"package_name":"golang.org/x/mod","ecosystem":"go","requirements":"v0.1.1-0.20191105210325-c90efee705ee","direct":false,"kind":"runtime","optional":false},{"id":7253140624,"package_name":"golang.org/x/mod","ecosystem":"go","requirements":"v0.1.1-0.20191107180719-034126e5016b","direct":false,"kind":"runtime","optional":false},{"id":7253140625,"package_name":"golang.org/x/mod","ecosystem":"go","requirements":"v0.2.0","direct":false,"kind":"runtime","optional":false},{"id":7253140626,"package_name":"golang.org/x/mod","ecosystem":"go","requirements":"v0.3.0","direct":false,"kind":"runtime","optional":false},{"id":7253140627,"package_name":"golang.org/x/mod","ecosystem":"go","requirements":"v0.4.0","direct":false,"kind":"runtime","optional":false},{"id":7253140628,"package_name":"golang.org/x/mod","ecosystem":"go","requirements":"v0.4.1","direct":false,"kind":"runtime","optional":false},{"id":7253140629,"package_name":"golang.org/x/mod","ecosystem":"go","requirements":"v0.6.0-dev.0.20220106191415-9b9b3d81d5e3","direct":false,"kind":"runtime","optional":false},{"id":7253140630,"package_name":"golang.org/x/mod","ecosystem":"go","requirements":"v0.6.0","direct":false,"kind":"runtime","optional":false},{"id":7253140631,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20180724234803-3673e40ba225","direct":false,"kind":"runtime","optional":false},{"id":7253140632,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20180826012351-8a410e7b638d","direct":false,"kind":"runtime","optional":false},{"id":7253140633,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20190108225652-1e06a53dbb7e","direct":false,"kind":"runtime","optional":false},{"id":7253140634,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20190213061140-3a22650c66bd","direct":false,"kind":"runtime","optional":false},{"id":7253140635,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20190311183353-d8887717615a","direct":false,"kind":"runtime","optional":false},{"id":7253140636,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20190404232315-eb5bcb51f2a3","direct":false,"kind":"runtime","optional":false},{"id":7253140637,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20190501004415-9ce7a6920f09","direct":false,"kind":"runtime","optional":false},{"id":7253140638,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20190503192946-f4e77d36d62c","direct":false,"kind":"runtime","optional":false},{"id":7253140639,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20190603091049-60506f45cf65","direct":false,"kind":"runtime","optional":false},{"id":7253140640,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20190620200207-3b0461eec859","direct":false,"kind":"runtime","optional":false},{"id":7253140641,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20190628185345-da137c7871d7","direct":false,"kind":"runtime","optional":false},{"id":7253140642,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20190724013045-ca1201d0de80","direct":false,"kind":"runtime","optional":false},{"id":7253140643,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20191112182307-2180aed22343","direct":false,"kind":"runtime","optional":false},{"id":7253140644,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20191209160850-c0dbc17a3553","direct":false,"kind":"runtime","optional":false},{"id":7253140645,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20200114155413-6afb5195e5aa","direct":false,"kind":"runtime","optional":false},{"id":7253140646,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20200202094626-16171245cfb2","direct":false,"kind":"runtime","optional":false},{"id":7253140647,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20200222125558-5a598a2470a0","direct":false,"kind":"runtime","optional":false},{"id":7253140648,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20200226121028-0de0cce0169b","direct":false,"kind":"runtime","optional":false},{"id":7253140649,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20200301022130-244492dfa37a","direct":false,"kind":"runtime","optional":false},{"id":7253140650,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20200324143707-d3edc9973b7e","direct":false,"kind":"runtime","optional":false},{"id":7253140651,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20200425230154-ff2c4b7c35a0","direct":false,"kind":"runtime","optional":false},{"id":7253140652,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20200501053045-e0ff5e5a1de5","direct":false,"kind":"runtime","optional":false},{"id":7253140653,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20200506145744-7e3656a0809f","direct":false,"kind":"runtime","optional":false},{"id":7253140654,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20200513185701-a91f0712d120","direct":false,"kind":"runtime","optional":false},{"id":7253140655,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20200520182314-0ba52f642ac2","direct":false,"kind":"runtime","optional":false},{"id":7253140656,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20200625001655-4c5254603344","direct":false,"kind":"runtime","optional":false},{"id":7253140657,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20200707034311-ab3426394381","direct":false,"kind":"runtime","optional":false},{"id":7253140658,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20200822124328-c89045814202","direct":false,"kind":"runtime","optional":false},{"id":7253140659,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20201021035429-f5854403a974","direct":false,"kind":"runtime","optional":false},{"id":7253140660,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20201031054903-ff519b6c9102","direct":false,"kind":"runtime","optional":false},{"id":7253140661,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20201209123823-ac852fbbde11","direct":false,"kind":"runtime","optional":false},{"id":7253140662,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20201224014010-6772e930b67b","direct":false,"kind":"runtime","optional":false},{"id":7253140663,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20210226172049-e18ecbb05110","direct":false,"kind":"runtime","optional":false},{"id":7253140664,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20211015210444-4f30a5c0130f","direct":false,"kind":"runtime","optional":false},{"id":7253140665,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20211112202133-69e39bad7dc2","direct":false,"kind":"runtime","optional":false},{"id":7253140666,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20220513224357-95641704303c","direct":false,"kind":"runtime","optional":false},{"id":7253140667,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.1.0","direct":false,"kind":"runtime","optional":false},{"id":7253140668,"package_name":"golang.org/x/oauth2","ecosystem":"go","requirements":"v0.0.0-20180821212333-d2e6202438be","direct":false,"kind":"runtime","optional":false},{"id":7253140669,"package_name":"golang.org/x/oauth2","ecosystem":"go","requirements":"v0.0.0-20190226205417-e64efc72b421","direct":false,"kind":"runtime","optional":false},{"id":7253140670,"package_name":"golang.org/x/oauth2","ecosystem":"go","requirements":"v0.0.0-20190604053449-0f29369cfe45","direct":false,"kind":"runtime","optional":false},{"id":7253140671,"package_name":"golang.org/x/oauth2","ecosystem":"go","requirements":"v0.0.0-20191202225959-858c2ad4c8b6","direct":false,"kind":"runtime","optional":false},{"id":7253140672,"package_name":"golang.org/x/oauth2","ecosystem":"go","requirements":"v0.0.0-20200107190931-bf48bf16ab8d","direct":false,"kind":"runtime","optional":false},{"id":7253140673,"package_name":"golang.org/x/oauth2","ecosystem":"go","requirements":"v0.0.0-20200902213428-5d25da1a8d43","direct":false,"kind":"runtime","optional":false},{"id":7253140674,"package_name":"golang.org/x/oauth2","ecosystem":"go","requirements":"v0.0.0-20201109201403-9fd604954f58","direct":false,"kind":"runtime","optional":false},{"id":7253140675,"package_name":"golang.org/x/oauth2","ecosystem":"go","requirements":"v0.0.0-20201208152858-08078c50e5b5","direct":false,"kind":"runtime","optional":false},{"id":7253140676,"package_name":"golang.org/x/oauth2","ecosystem":"go","requirements":"v0.0.0-20210218202405-ba52d332ba99","direct":false,"kind":"runtime","optional":false},{"id":7253140677,"package_name":"golang.org/x/sync","ecosystem":"go","requirements":"v0.0.0-20180314180146-1d60e4601c6f","direct":false,"kind":"runtime","optional":false},{"id":7253140678,"package_name":"golang.org/x/sync","ecosystem":"go","requirements":"v0.0.0-20181108010431-42b317875d0f","direct":false,"kind":"runtime","optional":false},{"id":7253140679,"package_name":"golang.org/x/sync","ecosystem":"go","requirements":"v0.0.0-20181221193216-37e7f081c4d4","direct":false,"kind":"runtime","optional":false},{"id":7253140680,"package_name":"golang.org/x/sync","ecosystem":"go","requirements":"v0.0.0-20190227155943-e225da77a7e6","direct":false,"kind":"runtime","optional":false},{"id":7253140681,"package_name":"golang.org/x/sync","ecosystem":"go","requirements":"v0.0.0-20190423024810-112230192c58","direct":false,"kind":"runtime","optional":false},{"id":7253140682,"package_name":"golang.org/x/sync","ecosystem":"go","requirements":"v0.0.0-20190911185100-cd5d95a43a6e","direct":false,"kind":"runtime","optional":false},{"id":7253140683,"package_name":"golang.org/x/sync","ecosystem":"go","requirements":"v0.0.0-20200317015054-43a5402ce75a","direct":false,"kind":"runtime","optional":false},{"id":7253140684,"package_name":"golang.org/x/sync","ecosystem":"go","requirements":"v0.0.0-20200625203802-6e8e738ad208","direct":false,"kind":"runtime","optional":false},{"id":7253140685,"package_name":"golang.org/x/sync","ecosystem":"go","requirements":"v0.0.0-20201020160332-67f06af15bc9","direct":false,"kind":"runtime","optional":false},{"id":7253140686,"package_name":"golang.org/x/sync","ecosystem":"go","requirements":"v0.0.0-20201207232520-09787c993a3a","direct":false,"kind":"runtime","optional":false},{"id":7253140687,"package_name":"golang.org/x/sync","ecosystem":"go","requirements":"v0.0.0-20210220032951-036812b2e83c","direct":false,"kind":"runtime","optional":false},{"id":7253140688,"package_name":"golang.org/x/sync","ecosystem":"go","requirements":"v0.0.0-20220819030929-7fc1605a5dde","direct":false,"kind":"runtime","optional":false},{"id":7253140689,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20180830151530-49385e6e1522","direct":false,"kind":"runtime","optional":false},{"id":7253140690,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20190215142949-d0b11bdaac8a","direct":false,"kind":"runtime","optional":false},{"id":7253140691,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20190222072716-a9d3bda3a223","direct":false,"kind":"runtime","optional":false},{"id":7253140692,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20190312061237-fead79001313","direct":false,"kind":"runtime","optional":false},{"id":7253140693,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20190412213103-97732733099d","direct":false,"kind":"runtime","optional":false},{"id":7253140694,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20190502145724-3ef323f4f1fd","direct":false,"kind":"runtime","optional":false},{"id":7253140695,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20190507160741-ecd444e8653b","direct":false,"kind":"runtime","optional":false},{"id":7253140696,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20190606165138-5da285871e9c","direct":false,"kind":"runtime","optional":false},{"id":7253140697,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20190624142023-c5567b49c5d0","direct":false,"kind":"runtime","optional":false},{"id":7253140698,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20190726091711-fc99dfbffb4e","direct":false,"kind":"runtime","optional":false},{"id":7253140699,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20190813064441-fde4db37ae7a","direct":false,"kind":"runtime","optional":false},{"id":7253140700,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20191001151750-bb3f8db39f24","direct":false,"kind":"runtime","optional":false},{"id":7253140701,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20191008105621-543471e840be","direct":false,"kind":"runtime","optional":false},{"id":7253140702,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20191115151921-52ab43148777","direct":false,"kind":"runtime","optional":false},{"id":7253140703,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20191204072324-ce4227a45e2e","direct":false,"kind":"runtime","optional":false},{"id":7253140704,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20191228213918-04cbcbbfeed8","direct":false,"kind":"runtime","optional":false},{"id":7253140705,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20200113162924-86b910548bc1","direct":false,"kind":"runtime","optional":false},{"id":7253140706,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20200116001909-b77594299b42","direct":false,"kind":"runtime","optional":false},{"id":7253140707,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20200122134326-e047566fdf82","direct":false,"kind":"runtime","optional":false},{"id":7253140708,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20200202164722-d101bd2416d5","direct":false,"kind":"runtime","optional":false},{"id":7253140709,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20200212091648-12a6c2dcc1e4","direct":false,"kind":"runtime","optional":false},{"id":7253140710,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20200223170610-d5e6a3e2c0ae","direct":false,"kind":"runtime","optional":false},{"id":7253140711,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20200302150141-5c8b2ff67527","direct":false,"kind":"runtime","optional":false},{"id":7253140712,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20200323222414-85ca7c5b95cd","direct":false,"kind":"runtime","optional":false},{"id":7253140713,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20200331124033-c3d80250170d","direct":false,"kind":"runtime","optional":false},{"id":7253140714,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20200501052902-10377860bb8e","direct":false,"kind":"runtime","optional":false},{"id":7253140715,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20200511232937-7e40ca221e25","direct":false,"kind":"runtime","optional":false},{"id":7253140716,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20200515095857-1151b9dac4a9","direct":false,"kind":"runtime","optional":false},{"id":7253140717,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20200523222454-059865788121","direct":false,"kind":"runtime","optional":false},{"id":7253140718,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20200803210538-64077c9b5642","direct":false,"kind":"runtime","optional":false},{"id":7253140719,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20200905004654-be1d3432aa8f","direct":false,"kind":"runtime","optional":false},{"id":7253140720,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20200930185726-fdedc70b468f","direct":false,"kind":"runtime","optional":false},{"id":7253140721,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20201119102817-f84b799fce68","direct":false,"kind":"runtime","optional":false},{"id":7253140722,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20201201145000-ef89a241ccb3","direct":false,"kind":"runtime","optional":false},{"id":7253140723,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20210104204734-6f8348627aad","direct":false,"kind":"runtime","optional":false},{"id":7253140724,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20210119212857-b64e53b001e4","direct":false,"kind":"runtime","optional":false},{"id":7253140725,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20210225134936-a50acf3fe073","direct":false,"kind":"runtime","optional":false},{"id":7253140726,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20210423082822-04245dca01da","direct":false,"kind":"runtime","optional":false},{"id":7253140727,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20210423185535-09eb48e85fd7","direct":false,"kind":"runtime","optional":false},{"id":7253140728,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20210615035016-665e8c7367d1","direct":false,"kind":"runtime","optional":false},{"id":7253140729,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20210630005230-0f9fa26af87c","direct":false,"kind":"runtime","optional":false},{"id":7253140730,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20210806184541-e5e7981a1069","direct":false,"kind":"runtime","optional":false},{"id":7253140731,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20210927094055-39ccf1dd6fa6","direct":false,"kind":"runtime","optional":false},{"id":7253140732,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20211019181941-9d821ace8654","direct":false,"kind":"runtime","optional":false},{"id":7253140733,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20211103235746-7861aae1554b","direct":false,"kind":"runtime","optional":false},{"id":7253140734,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20211216021012-1d35b9e2eb4e","direct":false,"kind":"runtime","optional":false},{"id":7253140735,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20220412211240-33da011f77ad","direct":false,"kind":"runtime","optional":false},{"id":7253140736,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20220513210249-45d2b4557a2a","direct":false,"kind":"runtime","optional":false},{"id":7253140737,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.1.0","direct":false,"kind":"runtime","optional":false},{"id":7253140738,"package_name":"golang.org/x/term","ecosystem":"go","requirements":"v0.0.0-20201126162022-7de9c90e9dd1","direct":false,"kind":"runtime","optional":false},{"id":7253140739,"package_name":"golang.org/x/term","ecosystem":"go","requirements":"v0.0.0-20210927222741-03fcf44c2211","direct":false,"kind":"runtime","optional":false},{"id":7253140740,"package_name":"golang.org/x/text","ecosystem":"go","requirements":"v0.0.0-20170915032832-14c0d48ead0c","direct":false,"kind":"runtime","optional":false},{"id":7253140741,"package_name":"golang.org/x/text","ecosystem":"go","requirements":"v0.3.0","direct":false,"kind":"runtime","optional":false},{"id":7253140743,"package_name":"golang.org/x/text","ecosystem":"go","requirements":"v0.3.1-0.20180807135948-17ff2d5776d2","direct":false,"kind":"runtime","optional":false},{"id":7253140744,"package_name":"golang.org/x/text","ecosystem":"go","requirements":"v0.3.2","direct":false,"kind":"runtime","optional":false},{"id":7253140745,"package_name":"golang.org/x/text","ecosystem":"go","requirements":"v0.3.3","direct":false,"kind":"runtime","optional":false},{"id":7253140746,"package_name":"golang.org/x/text","ecosystem":"go","requirements":"v0.3.4","direct":false,"kind":"runtime","optional":false},{"id":7253140747,"package_name":"golang.org/x/text","ecosystem":"go","requirements":"v0.3.6","direct":false,"kind":"runtime","optional":false},{"id":7253140748,"package_name":"golang.org/x/text","ecosystem":"go","requirements":"v0.3.7","direct":false,"kind":"runtime","optional":false},{"id":7253140749,"package_name":"golang.org/x/text","ecosystem":"go","requirements":"v0.4.0","direct":false,"kind":"runtime","optional":false},{"id":7253140750,"package_name":"golang.org/x/time","ecosystem":"go","requirements":"v0.0.0-20181108054448-85acf8d2951c","direct":false,"kind":"runtime","optional":false},{"id":7253140751,"package_name":"golang.org/x/time","ecosystem":"go","requirements":"v0.0.0-20190308202827-9d24e82272b4","direct":false,"kind":"runtime","optional":false},{"id":7253140752,"package_name":"golang.org/x/time","ecosystem":"go","requirements":"v0.0.0-20191024005414-555d28b269f0","direct":false,"kind":"runtime","optional":false},{"id":7253140753,"package_name":"golang.org/x/time","ecosystem":"go","requirements":"v0.0.0-20201208040808-7e3f01d25324","direct":false,"kind":"runtime","optional":false},{"id":7253140754,"package_name":"golang.org/x/time","ecosystem":"go","requirements":"v0.0.0-20220411224347-583f2d630306","direct":false,"kind":"runtime","optional":false},{"id":7253140756,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20180917221912-90fa682c2a6e","direct":false,"kind":"runtime","optional":false},{"id":7253140757,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20190114222345-bf090417da8b","direct":false,"kind":"runtime","optional":false},{"id":7253140758,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20190226205152-f727befe758c","direct":false,"kind":"runtime","optional":false},{"id":7253140759,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20190311212946-11955173bddd","direct":false,"kind":"runtime","optional":false},{"id":7253140760,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20190312151545-0bb0c0a6e846","direct":false,"kind":"runtime","optional":false},{"id":7253140761,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20190312170243-e65039ee4138","direct":false,"kind":"runtime","optional":false},{"id":7253140762,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20190425150028-36563e24a262","direct":false,"kind":"runtime","optional":false},{"id":7253140763,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20190506145303-2d16b83fe98c","direct":false,"kind":"runtime","optional":false},{"id":7253140764,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20190524140312-2c0ae7006135","direct":false,"kind":"runtime","optional":false},{"id":7253140765,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20190606124116-d0a3d012864b","direct":false,"kind":"runtime","optional":false},{"id":7253140766,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20190621195816-6e04913cbbac","direct":false,"kind":"runtime","optional":false},{"id":7253140767,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20190628153133-6cdbf07be9d0","direct":false,"kind":"runtime","optional":false},{"id":7253140768,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20190816200558-6889da9d5479","direct":false,"kind":"runtime","optional":false},{"id":7253140769,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20190911174233-4f2ddba30aff","direct":false,"kind":"runtime","optional":false},{"id":7253140770,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20191012152004-8de300cfc20a","direct":false,"kind":"runtime","optional":false},{"id":7253140771,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20191113191852-77e3bb0ad9e7","direct":false,"kind":"runtime","optional":false},{"id":7253140772,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20191115202509-3a792d9c32b2","direct":false,"kind":"runtime","optional":false},{"id":7253140773,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20191119224855-298f0cb1881e","direct":false,"kind":"runtime","optional":false},{"id":7253140774,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20191125144606-a911d9008d1f","direct":false,"kind":"runtime","optional":false},{"id":7253140775,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20191130070609-6e064ea0cf2d","direct":false,"kind":"runtime","optional":false},{"id":7253140776,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20191216173652-a0e659d51361","direct":false,"kind":"runtime","optional":false},{"id":7253140777,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20191227053925-7b8e75db28f4","direct":false,"kind":"runtime","optional":false},{"id":7253140939,"package_name":"gopkg.in/yaml.v2","ecosystem":"go","requirements":"v2.3.0","direct":false,"kind":"runtime","optional":false},{"id":7253140778,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20200117161641-43d50277825c","direct":false,"kind":"runtime","optional":false},{"id":7253140779,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20200122220014-bf1340f18c4a","direct":false,"kind":"runtime","optional":false},{"id":7253140780,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20200130002326-2f3ba24bd6e7","direct":false,"kind":"runtime","optional":false},{"id":7253140781,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20200204074204-1cc6d1ef6c74","direct":false,"kind":"runtime","optional":false},{"id":7253140782,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20200207183749-b753a1ba74fa","direct":false,"kind":"runtime","optional":false},{"id":7253140783,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20200212150539-ea181f53ac56","direct":false,"kind":"runtime","optional":false},{"id":7253140784,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20200224181240-023911ca70b2","direct":false,"kind":"runtime","optional":false},{"id":7253140785,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20200227222343-706bc42d1f0d","direct":false,"kind":"runtime","optional":false},{"id":7253140786,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20200304193943-95d2e580d8eb","direct":false,"kind":"runtime","optional":false},{"id":7253140787,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20200312045724-11d5b4c81c7d","direct":false,"kind":"runtime","optional":false},{"id":7253140788,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20200331025713-a30bf2db82d4","direct":false,"kind":"runtime","optional":false},{"id":7253140789,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20200501065659-ab2804fb9c9d","direct":false,"kind":"runtime","optional":false},{"id":7253140790,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20200512131952-2bc93b1c0c88","direct":false,"kind":"runtime","optional":false},{"id":7253140791,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20200515010526-7d3b6ebf133d","direct":false,"kind":"runtime","optional":false},{"id":7253140792,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20200618134242-20370b0cb4b2","direct":false,"kind":"runtime","optional":false},{"id":7253140793,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20200729194436-6467de6f59a7","direct":false,"kind":"runtime","optional":false},{"id":7253140794,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20200804011535-6c149bb5ef0d","direct":false,"kind":"runtime","optional":false},{"id":7253140795,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20200825202427-b303f430e36d","direct":false,"kind":"runtime","optional":false},{"id":7253140796,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20200904185747-39188db58858","direct":false,"kind":"runtime","optional":false},{"id":7253140797,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20201110124207-079ba7bd75cd","direct":false,"kind":"runtime","optional":false},{"id":7253140798,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20201201161351-ac6f37ff4c2a","direct":false,"kind":"runtime","optional":false},{"id":7253140799,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20201208233053-a543418bbed2","direct":false,"kind":"runtime","optional":false},{"id":7253140800,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20210105154028-b0ab187a4818","direct":false,"kind":"runtime","optional":false},{"id":7253140801,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20210108195828-e2f9c7f1fc8e","direct":false,"kind":"runtime","optional":false},{"id":7253140802,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.1.0","direct":false,"kind":"runtime","optional":false},{"id":7253140803,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.1.10","direct":false,"kind":"runtime","optional":false},{"id":7253140804,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.2.0","direct":false,"kind":"runtime","optional":false},{"id":7253140805,"package_name":"golang.org/x/xerrors","ecosystem":"go","requirements":"v0.0.0-20190717185122-a985d3407aa7","direct":false,"kind":"runtime","optional":false},{"id":7253140806,"package_name":"golang.org/x/xerrors","ecosystem":"go","requirements":"v0.0.0-20191011141410-1b5146add898","direct":false,"kind":"runtime","optional":false},{"id":7253140807,"package_name":"golang.org/x/xerrors","ecosystem":"go","requirements":"v0.0.0-20191204190536-9bdfabe68543","direct":false,"kind":"runtime","optional":false},{"id":7253140808,"package_name":"golang.org/x/xerrors","ecosystem":"go","requirements":"v0.0.0-20200804184101-5ec99f83aff1","direct":false,"kind":"runtime","optional":false},{"id":7253140809,"package_name":"golang.org/x/xerrors","ecosystem":"go","requirements":"v0.0.0-20220411194840-2f41105eb62f","direct":false,"kind":"runtime","optional":false},{"id":7253140810,"package_name":"google.golang.org/api","ecosystem":"go","requirements":"v0.4.0","direct":false,"kind":"runtime","optional":false},{"id":7253140811,"package_name":"google.golang.org/api","ecosystem":"go","requirements":"v0.7.0","direct":false,"kind":"runtime","optional":false},{"id":7253140812,"package_name":"google.golang.org/api","ecosystem":"go","requirements":"v0.8.0","direct":false,"kind":"runtime","optional":false},{"id":7253140813,"package_name":"google.golang.org/api","ecosystem":"go","requirements":"v0.9.0","direct":false,"kind":"runtime","optional":false},{"id":7253140814,"package_name":"google.golang.org/api","ecosystem":"go","requirements":"v0.13.0","direct":false,"kind":"runtime","optional":false},{"id":7253140815,"package_name":"google.golang.org/api","ecosystem":"go","requirements":"v0.14.0","direct":false,"kind":"runtime","optional":false},{"id":7253140816,"package_name":"google.golang.org/api","ecosystem":"go","requirements":"v0.15.0","direct":false,"kind":"runtime","optional":false},{"id":7253140817,"package_name":"google.golang.org/api","ecosystem":"go","requirements":"v0.17.0","direct":false,"kind":"runtime","optional":false},{"id":7253140818,"package_name":"google.golang.org/api","ecosystem":"go","requirements":"v0.18.0","direct":false,"kind":"runtime","optional":false},{"id":7253140819,"package_name":"google.golang.org/api","ecosystem":"go","requirements":"v0.19.0","direct":false,"kind":"runtime","optional":false},{"id":7253140820,"package_name":"google.golang.org/api","ecosystem":"go","requirements":"v0.20.0","direct":false,"kind":"runtime","optional":false},{"id":7253140821,"package_name":"google.golang.org/api","ecosystem":"go","requirements":"v0.22.0","direct":false,"kind":"runtime","optional":false},{"id":7253140822,"package_name":"google.golang.org/api","ecosystem":"go","requirements":"v0.24.0","direct":false,"kind":"runtime","optional":false},{"id":7253140823,"package_name":"google.golang.org/api","ecosystem":"go","requirements":"v0.28.0","direct":false,"kind":"runtime","optional":false},{"id":7253140824,"package_name":"google.golang.org/api","ecosystem":"go","requirements":"v0.29.0","direct":false,"kind":"runtime","optional":false},{"id":7253140825,"package_name":"google.golang.org/api","ecosystem":"go","requirements":"v0.30.0","direct":false,"kind":"runtime","optional":false},{"id":7253140826,"package_name":"google.golang.org/api","ecosystem":"go","requirements":"v0.35.0","direct":false,"kind":"runtime","optional":false},{"id":7253140827,"package_name":"google.golang.org/api","ecosystem":"go","requirements":"v0.36.0","direct":false,"kind":"runtime","optional":false},{"id":7253140828,"package_name":"google.golang.org/api","ecosystem":"go","requirements":"v0.40.0","direct":false,"kind":"runtime","optional":false},{"id":7253140829,"package_name":"google.golang.org/appengine","ecosystem":"go","requirements":"v1.1.0","direct":false,"kind":"runtime","optional":false},{"id":7253140830,"package_name":"google.golang.org/appengine","ecosystem":"go","requirements":"v1.4.0","direct":false,"kind":"runtime","optional":false},{"id":7253140831,"package_name":"google.golang.org/appengine","ecosystem":"go","requirements":"v1.5.0","direct":false,"kind":"runtime","optional":false},{"id":7253140832,"package_name":"google.golang.org/appengine","ecosystem":"go","requirements":"v1.6.1","direct":false,"kind":"runtime","optional":false},{"id":7253140833,"package_name":"google.golang.org/appengine","ecosystem":"go","requirements":"v1.6.5","direct":false,"kind":"runtime","optional":false},{"id":7253140834,"package_name":"google.golang.org/appengine","ecosystem":"go","requirements":"v1.6.6","direct":false,"kind":"runtime","optional":false},{"id":7253140835,"package_name":"google.golang.org/appengine","ecosystem":"go","requirements":"v1.6.7","direct":false,"kind":"runtime","optional":false},{"id":7253140836,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20180817151627-c66870c02cf8","direct":false,"kind":"runtime","optional":false},{"id":7253140837,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20190307195333-5fe7a883aa19","direct":false,"kind":"runtime","optional":false},{"id":7253140838,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20190418145605-e7d98fc518a7","direct":false,"kind":"runtime","optional":false},{"id":7253140839,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20190425155659-357c62f0e4bb","direct":false,"kind":"runtime","optional":false},{"id":7253140840,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20190502173448-54afdca5d873","direct":false,"kind":"runtime","optional":false},{"id":7253140841,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20190801165951-fa694d86fc64","direct":false,"kind":"runtime","optional":false},{"id":7253140842,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20190819201941-24fa4b261c55","direct":false,"kind":"runtime","optional":false},{"id":7253140843,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20190911173649-1774047e7e51","direct":false,"kind":"runtime","optional":false},{"id":7253140941,"package_name":"gopkg.in/yaml.v2","ecosystem":"go","requirements":"v2.4.0","direct":false,"kind":"runtime","optional":false},{"id":7253140844,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20191108220845-16a3f7862a1a","direct":false,"kind":"runtime","optional":false},{"id":7253140845,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20191115194625-c23dd37a84c9","direct":false,"kind":"runtime","optional":false},{"id":7253140846,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20191216164720-4f79533eabd1","direct":false,"kind":"runtime","optional":false},{"id":7253140847,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20191230161307-f3c370f40bfb","direct":false,"kind":"runtime","optional":false},{"id":7253140848,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20200115191322-ca5a22157cba","direct":false,"kind":"runtime","optional":false},{"id":7253140849,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20200122232147-0452cf42e150","direct":false,"kind":"runtime","optional":false},{"id":7253140850,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20200204135345-fa8e72b47b90","direct":false,"kind":"runtime","optional":false},{"id":7253140851,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20200212174721-66ed5ce911ce","direct":false,"kind":"runtime","optional":false},{"id":7253140852,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20200224152610-e50cd9704f63","direct":false,"kind":"runtime","optional":false},{"id":7253140853,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20200228133532-8c2c7df3a383","direct":false,"kind":"runtime","optional":false},{"id":7253140854,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20200305110556-506484158171","direct":false,"kind":"runtime","optional":false},{"id":7253140855,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20200312145019-da6875a35672","direct":false,"kind":"runtime","optional":false},{"id":7253140856,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20200331122359-1ee6d9798940","direct":false,"kind":"runtime","optional":false},{"id":7253140857,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20200430143042-b979b6f78d84","direct":false,"kind":"runtime","optional":false},{"id":7253140858,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20200511104702-f5ebc3bea380","direct":false,"kind":"runtime","optional":false},{"id":7253140859,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20200515170657-fc4c6c6a6587","direct":false,"kind":"runtime","optional":false},{"id":7253140860,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20200526211855-cb27e3aa2013","direct":false,"kind":"runtime","optional":false},{"id":7253140861,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20200618031413-b414f8b61790","direct":false,"kind":"runtime","optional":false},{"id":7253140862,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20200729003335-053ba62fc06f","direct":false,"kind":"runtime","optional":false},{"id":7253140863,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20200804131852-c06518451d9c","direct":false,"kind":"runtime","optional":false},{"id":7253140864,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20200825200019-8632dd797987","direct":false,"kind":"runtime","optional":false},{"id":7253140865,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20200904004341-0bd0a958aa1d","direct":false,"kind":"runtime","optional":false},{"id":7253140866,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20201109203340-2640f1f9cdfb","direct":false,"kind":"runtime","optional":false},{"id":7253140867,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20201201144952-b05cb90ed32e","direct":false,"kind":"runtime","optional":false},{"id":7253140868,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20201210142538-e3217bee35cc","direct":false,"kind":"runtime","optional":false},{"id":7253140869,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20201214200347-8c77b98c765d","direct":false,"kind":"runtime","optional":false},{"id":7253140870,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20210108203827-ffc7fda8c3d7","direct":false,"kind":"runtime","optional":false},{"id":7253140871,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20210226172003-ab064af71705","direct":false,"kind":"runtime","optional":false},{"id":7253140872,"package_name":"google.golang.org/grpc","ecosystem":"go","requirements":"v1.19.0","direct":false,"kind":"runtime","optional":false},{"id":7253140873,"package_name":"google.golang.org/grpc","ecosystem":"go","requirements":"v1.20.1","direct":false,"kind":"runtime","optional":false},{"id":7253140874,"package_name":"google.golang.org/grpc","ecosystem":"go","requirements":"v1.21.1","direct":false,"kind":"runtime","optional":false},{"id":7253140875,"package_name":"google.golang.org/grpc","ecosystem":"go","requirements":"v1.23.0","direct":false,"kind":"runtime","optional":false},{"id":7253140876,"package_name":"google.golang.org/grpc","ecosystem":"go","requirements":"v1.25.1","direct":false,"kind":"runtime","optional":false},{"id":7253140877,"package_name":"google.golang.org/grpc","ecosystem":"go","requirements":"v1.26.0","direct":false,"kind":"runtime","optional":false},{"id":7253140878,"package_name":"google.golang.org/grpc","ecosystem":"go","requirements":"v1.27.0","direct":false,"kind":"runtime","optional":false},{"id":7253140879,"package_name":"google.golang.org/grpc","ecosystem":"go","requirements":"v1.27.1","direct":false,"kind":"runtime","optional":false},{"id":7253140880,"package_name":"google.golang.org/grpc","ecosystem":"go","requirements":"v1.28.0","direct":false,"kind":"runtime","optional":false},{"id":7253140881,"package_name":"google.golang.org/grpc","ecosystem":"go","requirements":"v1.29.1","direct":false,"kind":"runtime","optional":false},{"id":7253140882,"package_name":"google.golang.org/grpc","ecosystem":"go","requirements":"v1.30.0","direct":false,"kind":"runtime","optional":false},{"id":7253140883,"package_name":"google.golang.org/grpc","ecosystem":"go","requirements":"v1.31.0","direct":false,"kind":"runtime","optional":false},{"id":7253140884,"package_name":"google.golang.org/grpc","ecosystem":"go","requirements":"v1.31.1","direct":false,"kind":"runtime","optional":false},{"id":7253140885,"package_name":"google.golang.org/grpc","ecosystem":"go","requirements":"v1.33.2","direct":false,"kind":"runtime","optional":false},{"id":7253140886,"package_name":"google.golang.org/grpc","ecosystem":"go","requirements":"v1.34.0","direct":false,"kind":"runtime","optional":false},{"id":7253140888,"package_name":"google.golang.org/grpc","ecosystem":"go","requirements":"v1.35.0","direct":false,"kind":"runtime","optional":false},{"id":7253140889,"package_name":"google.golang.org/protobuf","ecosystem":"go","requirements":"v0.0.0-20200109180630-ec00e32a8dfd","direct":false,"kind":"runtime","optional":false},{"id":7253140891,"package_name":"google.golang.org/protobuf","ecosystem":"go","requirements":"v0.0.0-20200221191635-4d8936d0db64","direct":false,"kind":"runtime","optional":false},{"id":7253140894,"package_name":"google.golang.org/protobuf","ecosystem":"go","requirements":"v0.0.0-20200228230310-ab0ca4ff8a60","direct":false,"kind":"runtime","optional":false},{"id":7253140896,"package_name":"google.golang.org/protobuf","ecosystem":"go","requirements":"v1.20.1-0.20200309200217-e05f789c0967","direct":false,"kind":"runtime","optional":false},{"id":7253140898,"package_name":"google.golang.org/protobuf","ecosystem":"go","requirements":"v1.21.0","direct":false,"kind":"runtime","optional":false},{"id":7253140901,"package_name":"google.golang.org/protobuf","ecosystem":"go","requirements":"v1.22.0","direct":false,"kind":"runtime","optional":false},{"id":7253140903,"package_name":"google.golang.org/protobuf","ecosystem":"go","requirements":"v1.23.0","direct":false,"kind":"runtime","optional":false},{"id":7253140906,"package_name":"google.golang.org/protobuf","ecosystem":"go","requirements":"v1.23.1-0.20200526195155-81db48ad09cc","direct":false,"kind":"runtime","optional":false},{"id":7253140908,"package_name":"google.golang.org/protobuf","ecosystem":"go","requirements":"v1.24.0","direct":false,"kind":"runtime","optional":false},{"id":7253140911,"package_name":"google.golang.org/protobuf","ecosystem":"go","requirements":"v1.25.0","direct":false,"kind":"runtime","optional":false},{"id":7253140913,"package_name":"google.golang.org/protobuf","ecosystem":"go","requirements":"v1.26.0-rc.1","direct":false,"kind":"runtime","optional":false},{"id":7253140916,"package_name":"google.golang.org/protobuf","ecosystem":"go","requirements":"v1.26.0","direct":false,"kind":"runtime","optional":false},{"id":7253140918,"package_name":"google.golang.org/protobuf","ecosystem":"go","requirements":"v1.28.0","direct":false,"kind":"runtime","optional":false},{"id":7253140919,"package_name":"gopkg.in/check.v1","ecosystem":"go","requirements":"v0.0.0-20161208181325-20d25e280405","direct":false,"kind":"runtime","optional":false},{"id":7253140922,"package_name":"gopkg.in/check.v1","ecosystem":"go","requirements":"v1.0.0-20180628173108-788fd7840127","direct":false,"kind":"runtime","optional":false},{"id":7253140924,"package_name":"gopkg.in/check.v1","ecosystem":"go","requirements":"v1.0.0-20200227125254-8fa46927fb4f","direct":false,"kind":"runtime","optional":false},{"id":7253140926,"package_name":"gopkg.in/check.v1","ecosystem":"go","requirements":"v1.0.0-20201130134442-10cb98267c6c","direct":false,"kind":"runtime","optional":false},{"id":7253140927,"package_name":"gopkg.in/errgo.v2","ecosystem":"go","requirements":"v2.1.0","direct":false,"kind":"runtime","optional":false},{"id":7253140929,"package_name":"gopkg.in/ini.v1","ecosystem":"go","requirements":"v1.67.0","direct":false,"kind":"runtime","optional":false},{"id":7253140931,"package_name":"gopkg.in/yaml.v2","ecosystem":"go","requirements":"v2.2.2","direct":false,"kind":"runtime","optional":false},{"id":7253140933,"package_name":"gopkg.in/yaml.v2","ecosystem":"go","requirements":"v2.2.5","direct":false,"kind":"runtime","optional":false},{"id":7253140944,"package_name":"gopkg.in/yaml.v3","ecosystem":"go","requirements":"v3.0.0-20200313102051-9f266ea9e77c","direct":false,"kind":"runtime","optional":false},{"id":7253140948,"package_name":"gopkg.in/yaml.v3","ecosystem":"go","requirements":"v3.0.0-20200615113413-eeeca48fe776","direct":false,"kind":"runtime","optional":false},{"id":7253140951,"package_name":"gopkg.in/yaml.v3","ecosystem":"go","requirements":"v3.0.0-20210107192922-496545a6307b","direct":false,"kind":"runtime","optional":false},{"id":7253140953,"package_name":"gopkg.in/yaml.v3","ecosystem":"go","requirements":"v3.0.1","direct":false,"kind":"runtime","optional":false},{"id":7253140954,"package_name":"honnef.co/go/tools","ecosystem":"go","requirements":"v0.0.0-20190102054323-c2f93a96b099","direct":false,"kind":"runtime","optional":false},{"id":7253140956,"package_name":"honnef.co/go/tools","ecosystem":"go","requirements":"v0.0.0-20190106161140-3f1c8253044a","direct":false,"kind":"runtime","optional":false},{"id":7253140958,"package_name":"honnef.co/go/tools","ecosystem":"go","requirements":"v0.0.0-20190418001031-e561f6794a2a","direct":false,"kind":"runtime","optional":false},{"id":7253140960,"package_name":"honnef.co/go/tools","ecosystem":"go","requirements":"v0.0.0-20190523083050-ea95bdfd59fc","direct":false,"kind":"runtime","optional":false},{"id":7253140962,"package_name":"honnef.co/go/tools","ecosystem":"go","requirements":"v0.0.1-2019.2.3","direct":false,"kind":"runtime","optional":false},{"id":7253140964,"package_name":"honnef.co/go/tools","ecosystem":"go","requirements":"v0.0.1-2020.1.3","direct":false,"kind":"runtime","optional":false},{"id":7253140966,"package_name":"honnef.co/go/tools","ecosystem":"go","requirements":"v0.0.1-2020.1.4","direct":false,"kind":"runtime","optional":false},{"id":7253140968,"package_name":"pgregory.net/rapid","ecosystem":"go","requirements":"v0.4.7","direct":false,"kind":"runtime","optional":false},{"id":7253140971,"package_name":"rsc.io/binaryregexp","ecosystem":"go","requirements":"v0.2.0","direct":false,"kind":"runtime","optional":false},{"id":7253140973,"package_name":"rsc.io/quote/v3","ecosystem":"go","requirements":"v3.1.0","direct":false,"kind":"runtime","optional":false},{"id":7253140975,"package_name":"rsc.io/sampler","ecosystem":"go","requirements":"v1.3.0","direct":false,"kind":"runtime","optional":false}]}],"score":22.21897929463111,"created_at":"2023-09-11T14:52:09.557Z","updated_at":"2026-08-16T15:03:20.682Z","avatar_url":"https://github.com/volkszaehler.png","language":"Go","category":"Consumption","sub_category":"Buildings and Heating","monthly_downloads":0,"total_dependent_repos":18,"total_dependent_packages":4,"readme":"# ModBus Measurement Daemon\n\n[![Build Status](https://travis-ci.org/volkszaehler/mbmd.svg?branch=master)](https://travis-ci.org/volkszaehler/mbmd)\n\nA daemon for collecting measurement data from smart meters and grid inverters over modbus.\n\n`mbmd` provides an http interface to smart meters and grid inverters with modbus interface.\nMeter readings are made accessible through REST API and MQTT.\nModbus communication is possible over RS485 connections as well as TCP sockets.\n\n`mbmd` was originally developer by Mathias Dalheimer under the name of `gosdm`. Previous releases are still [available](https://github.com/gonium/gosdm630).\n\n# Table of Contents\n\n* [Requirements](#requirements)\n* [Installation](#installation)\n  * [Raspberry Pi](#raspberry-pi)\n  * [Detecting connected meters](#detecting-connected-meters)\n* [API](#api)\n  * [Rest API](#rest-api)\n  * [Websocket API](#websocket-api)\n  * [MQTT API](#mqtt-api)\n* [Supported Devices](#supported-devices)\n* [Releases](#releases)\n\n\n## Requirements\n\nYou'll need:\n* A supported Modbus/RTU smart meter OR an supported Modbus/TCP SunSpec-compatible grid inverter.\n* In case of Modbus/RTU: A USB RS485 adapter. See [USB-ISO-RS485 project](https://github.com/gonium/usb-iso-rs485) for a home-grown adapter.\n* Optionally an RS485 to Ethernet converter (see [SO discussion](https://stackoverflow.com/questions/59459877/is-rtu-over-tcp-a-spec-conforming-modbus-application))\n\n\n## Installation\n\n### Using the precompiled binaries\n\nPrecompiled release packages are [available](https://github.com/volkszaehler/mbmd/releases). Download the right package for the target platform and unzip.\n\n### Building from source\n\n`mbmd` is developed in [Go](http://golang.org). To build from source two steps are needed:\n\n- use `make install` to install the build tools (make sure `$GOPATH/bin` is part of the path to make the installed tools accessible for the next step)\n- then run `make build` which creates the `./mbmd` binary\n\nTo cross-build for a different archtecture (e.g. Raspberry Pi), use\n\n    GOOS=linux GOARCH=arm GOARM=5 make build\n\n### Running\n\nTo get help on the various command line options run\n\n\tmbmd -h\n\nThe full documentation is available in the [docs](docs/mbmd.md) folder.\nA typical invocation looks like this:\n\n    $ ./bin/mbmd run -a /dev/ttyUSB0 -d janitza:26,sdm:1\n    2017/01/25 16:34:26 config: creating RTU connection via /dev/ttyUSB0 (9600baud, 8N1)\n    2017/01/25 16:34:26 httpd: starting api at :8080\n\nThis call queries a Janitza B23 meter with ID 26 and an Eastron SDM\nmeter at ID 1. Not all devices are by default configured to use ID 1.\nThe default device IDs depend on the meter type and documented in the meter's manual.\n\nTo use RTU devices with RS485/Ethernet adapters, add the `--rtu` switch to configure `mbmd` to use the TCP connection with RTU data format:\n\n\t❯ ./bin/mbmd run -a rs485.fritz.box:23 --rtu -d sdm:1\n\t2020/01/02 10:43:53 mbmd unknown version (unknown commit)\n\t2020/01/02 10:43:53 config: creating RTU over TCP connection for rs485.fritz.box:23\n\t2020/01/02 10:43:53 initialized device SDM1.1: {SDM Eastron SDM meters   }\n\t2020/01/02 10:43:53 httpd: starting api at :8080\n\nIf you use the ``-v`` commandline switch you can see\nmodbus traffic and the current readings on the command line.  At\n[http://localhost:8080](http://localhost:8080) you can see an embedded\nweb page that updates itself with the latest values:\n\n![realtime view of incoming measurements](img/realtimeview.png)\n\n\n### Run using Docker\n\nAlternatively run `mbmd` using the Docker image:\n\n\tdocker run -p 8080:8080 --device=/dev/ttyUSB0 volkszaehler/mbmd run -a /dev/ttyUSB0 -u 0.0.0.0:8080 -d sdm:1\n\nTo mount the config file into the docker container use `-v $(pwd)/mbmd.yaml:/etc/mbmd.yaml`.\n\n## Raspberry Pi\n\nDownload the ARM package for usage with Raspberry Pi and copy the binary\ninto `/usr/local/bin`. The following sytemd unit can be used to\nstart `mbmd` as service (put this into a new file ``/etc/systemd/system/mbmd.service``):\n\n    [Unit]\n    Description=mbmd\n    After=syslog.target\n    After=network-online.target\n    [Service]\n    ExecStart=/usr/local/bin/mbmd run -a /dev/ttyAMA0\n    Restart=always\n    [Install]\n    WantedBy=multi-user.target\n\nYou might need to adjust the ``-a`` parameter depending on where your\nRS485 adapter is connected. Then, use\n\n    systemctl start mbmd\n\nto test your installation. If you're satisfied use\n\n    systemctl enable mbmd\n\nto start the service at boot time automatically.\n\n*WARNING:* When using an FTDI-based USB-RS485 adaptor the\nRaspberry Pi might become unreachable after a while. This is most likely not\nan issue with the RS485-USB adaptor or this software, but because of [a\nbug in the Raspberry Pi kernel](https://github.com/raspberrypi/linux/issues/1187).\nTo fix switch the internal `dwc` USB hub of the Raspberry Pi to\nUSB1.1 by adding the following parameter to `/boot/cmdline.txt`:\n\n    dwc_otg.speed=1\n\n\n## Detecting connected meters\n\nMODBUS/RTU does not provide a mechanism to discover devices. There is no\nreliable way to detect all attached devices.\nAs workaround `mbmd scan` attempts to read the L1 voltage from all\ndevice IDs and reports which one replied correctly (i.e. 110/230V +/-10%):\n\n````\n./mbmd scan -a /dev/ttyUSB0\n2017/06/21 10:22:34 Starting bus scan\n2017/06/21 10:22:35 Device 1: n/a\n...\n2017/07/27 16:16:39 Device 21: SDM type device found, L1 voltage: 234.86\n2017/07/27 16:16:40 Device 22: n/a\n2017/07/27 16:16:40 Device 23: n/a\n2017/07/27 16:16:40 Device 24: n/a\n2017/07/27 16:16:40 Device 25: n/a\n2017/07/27 16:16:40 Device 26: Janitza type device found, L1 voltage: 235.10\n...\n2017/07/27 16:17:25 Device 247: n/a\n2017/07/27 16:17:25 Found 2 active devices:\n2017/07/27 16:17:25 * slave address 21: type SDM\n2017/07/27 16:17:25 * slave address 26: type JANITZA\n2017/07/27 16:17:25 WARNING: This lists only the devices that responded to a known L1 voltage request. Devices with different function code definitions might not be detected.\n````\n\n\n# API\n\n## Rest API\n\n`mbmd` provides a convenient REST API. Supported endpoints under `/api` are:\n\n* `/api/last/{ID}` latest data for device\n* `/api/avg/{ID}` averaged data over last minute\n* `/api/status` daemon status\n\nBoth device APIs can also be called without the device id to return data for all connected devices.\n\n\n### Monitoring\n\nThe `/api/status` endpoint provides the following information:\n\n    $ curl http://localhost:8080/api/status\n    {\n      \"StartTime\": \"2017-01-25T16:35:50.839829945+01:00\",\n      \"UpTime\": 65587.177092186,\n      \"Goroutines\": 11,\n      \"Memory\": {\n        \"Alloc\": 1568344,\n        \"HeapAlloc\": 1568344\n      },\n      \"Modbus\": {\n        \"TotalModbusRequests\": 1979122,\n        \"ModbusRequestRatePerMinute\": 1810.5264666764785,\n        \"TotalModbusErrors\": 738,\n        \"ModbusErrorRatePerMinute\": 0.6751319688261972\n      },\n      \"ConfiguredMeters\": [\n        {\n          \"Id\": 26,\n          \"Type\": \"JANITZA\",\n          \"Status\": \"available\"\n        }\n      ]\n    }\n\nThis is a snapshot of a process running over night, along with the error\nstatistics during that timeframe. The process queries continuously,\nthe cabling is not a shielded, twisted wire but something that I had laying\naround. With proper cabling the error rate should be lower, though.\n\n\n## Websocket API\n\nData read from the meters can be observed by clients in realtime using the Websocket API.\nAs soon as new readings are available, they are pushed to connected websocket clients.\n\nThe websocket API is available on `/ws`. All connected clients receive status and\nmeter updates for all connected meters without further subscription.\n\n\n## MQTT API\n\nAnother option for receiving client updates is by using the built-in MQTT publisher.\nBy default, readings are published at `/mbmd/\u003cunique id\u003e/\u003creading\u003e`. Rate limiting is possible.\n\n\n## Homie API\n\n[Homie](https://homieiot.github.io) is an MQTT convention for IoT/M2M. `mbmd` publishes all devices and readings using the Homie protocol. This allows systems like e.g. OpenHAB to auto-discover devices operated by `mbmd`:\n\n![auto-discovery of thinks in OpenHAB](img/openhab.png)\n\n## InfluxDB support\n\nThere is also the option to directly insert the data into an influxdb database by using the command-line options available. InfluxDB 1.8 and 2.0 are currently supported. to enable this, add the `--influx-database` and the `--influx-url` commandline parameter. More advanced configuration is available, to learn more checkout the [mbmd_run.md](docs/mbmd_run.md) documentation\n\n# Supported Devices\n\n`mbmd` supports a range of DIN rail meters and grid inverters.\n\n## Modbus RTU Meters\n\nThe meters have slightly different capabilities. The Eastron SDM630 offers\na lot of features, while the smaller devices only support basic features.\nThe table below gives an overview (please consult the manuals for definitive\nguidance). The **Type** column is the identifier passed to `-d \u003cType\u003e:\u003cid\u003e`\n(case-insensitive).\n\nLegend: `+` supported, `-` not available, `(+)` only one energy direction\n(import *or* export) available per phase.\n\n| Meter | Type | Phases | Voltage | Current | Power | Power Factor | Total Import | Total Export | Per-phase Import/Export | Line/Neutral THD |\n|---|---|---|---|---|---|---|---|---|---|---|\n| ABB A/B-Series | `ABB` | 3 | + | + | + | + | + | + | + | - |\n| B+G e-tech DS100 | `DS100` | 3 | + | + | + | + | + | + | + | - |\n| B+G e-tech WS100 | `WS100` | 1 | + | + | + | + | + | + | - | - |\n| Bernecker (BE) MPM3PM | `MPM` | 3 | + | + | + | + | + | + | - | - |\n| Carlo Gavazzi EM24 | `CGEM24` | 3 | + | + | + | + | + | + | (+) | - |\n| Carlo Gavazzi EM24 E1 | `CGEM24_E1` | 3 | + | + | + | + | + | + | (+) | - |\n| Carlo Gavazzi EM/ET 330/340 | `CGEX3X0` | 3 | + | + | + | + | + | + | (+) | - |\n| Chint DTSU666 | `DTSU666` | 3 | + | + | + | + | + | + | + | - |\n| DDM18SD | `DDM` | 1 | + | + | + | + | + | - | - | - |\n| DZG DVH4013 | `DZG` | 3 | + | + | - | + | + | + | + | - |\n| Eastron SDM54 | `SDM54` | 3 | + | + | + | + | + | + | + | + |\n| Eastron SDM72 | `SDM72` | 3 | - | - | + | - | + | + | - | - |\n| Eastron SDM72 v2 | `SDM72V2` | 3 | + | + | + | + | + | + | - | - |\n| Eastron SDM120 | `SDM120` | 1 | + | + | + | + | + | + | - | - |\n| Eastron SDM220 | `SDM220` | 1 | + | + | + | + | + | + | - | - |\n| Eastron SDM230 | `SDM230` | 1 | + | + | + | + | + | + | - | - |\n| Eastron SDM630 | `SDM` | 3 | + | + | + | + | + | + | + | + |\n| Eastron SMART X96-1A | `X961A` | 3 | + | + | + | + | + | + | + | + |\n| Eltako DSZ15DZMOD/DSZ16 | `ELTAKODSZ15` / `ELTAKODSZ16` | 3 | + | + | + | + | + | + | - | - |\n| Finder 7M.24 | `FIND7M24` | 1 | + | + | + | + | + | + | - | + |\n| Finder 7M.38 | `FIND7M38` | 3 | + | + | + | + | + | + | - | + |\n| Inepro Pro 380 | `INEPRO` | 3 | + | + | + | + | + | + | + | - |\n| Janitza B-Series | `JANITZA` | 3 | + | + | + | + | + | + | + | - |\n| Lovato DMG610 | `DMG610` | 3 | + | + | + | - | + | + | + | + |\n| ORNO WE-504 | `ORNO1P504` | 1 | + | + | + | + | + | - | - | - |\n| ORNO WE-514/515 | `ORNO1p` | 1 | + | + | + | + | + | - | - | - |\n| ORNO WE-516/517 | `ORNO3p` | 3 | + | + | + | + | + | + | + | - |\n| ORNO WE-525/526 | `ORNO1p525` | 1 | + | + | + | + | + | + | - | - |\n| Saia Burgess (SBC) ALE3 | `SBC` | 3 | + | + | + | + | + | + | - | - |\n| Schneider Electric iEM3000 | `IEM3000` | 3 | + | + | + | - | + | + | (+) | - |\n| Siemens PAC2200 | `PAC2200` | 3 | + | + | + | + | + | + | - | - |\n| SolarEdge SE-MTR-3Y | `SEMTR` | 3 | + | + | + | + | + | + | + | - |\n| Wago 879-30xx | `WAGO87930` | 3 | + | + | + | + | + | + | + | - |\n\n- **B+G e-tech DS100**: Similarly capable as the SDM630 if not better, and very cheap in Germany (below 50€).\n  It supports a higher baud rate than the SDM630, so measurements can be taken more often.\n  There is also a MID version and a multi-tariff (\"-30B\") version\n  ([manual](https://data.xn--stromzhler-v5a.eu/manuals/bg_ds100serie_de.pdf)).\n- **B+G e-tech WS100**: Cheap and small (1TE), 1P MID meter.\n- **Bernecker (BE) MPM3PM**: Compact (4TE) three phase meter.\n- **Carlo Gavazzi EM24**: Compact (4TE), 3P meter with RS-485 interface.\n- **Carlo Gavazzi EM24 E1**: Compact (4TE), 3P meter with Ethernet interface.\n- **DZG DVH4013**: This meter does not provide raw phase power measurements\n  and only aggregated import/export measurements. The meter is only\n  partially implemented and not recommended.\n  By default, the meter communicates using 9600 8E1. The meter ID\n  is derived from the serial number taking the last two numbers of the\n  serial number (top right of the device), e.g. 23, and add one (24).\n  Assume this is a hexadecimal number and convert it to decimal (36). Use\n  this as the meter ID.\n- **Eastron SDM54**: Compact (3TE), 3P meter with a lot of features. Can be configured using the builtin display.\n- **Eastron SDM72**: Compact (4TE), 3P meter with bare minimum of total measurements, no currents. Can be configured using the builtin display.\n- **Eastron SDM120**: Cheap and small (1TE), but communication parameters can only be set over MODBUS, which is currently not supported by this project.\n  You can use e.g. [SDM120C](https://github.com/gianfrdp/SDM120C) to change parameters.\n- **Eastron SDM220/230**: More comfortable (2TE), can be configured using the builtin display.\n- **Eastron SDM630**: v1 and v2, both MID and non-MID. Compact (4TE) and with lots\n  of features. Can be configured for 1P2 (single phase with neutral), 3P3\n  (three phase without neutral) and 3P4 (three phase with neutral) systems.\n- **Eltako DSZ15DZMOD/DSZ16**: Bidirectional 3P MID meters with Modbus RTU. Voltage, current,\n  power, power factor and total import/export energy are supported; the DSZ16's additional\n  measurements (reactive/apparent power, frequency, per-phase energy) are not yet implemented\n  ([Modbus spec](https://www.eltako.com/fileadmin/downloads/de/_bedienung/Modbus-RTU_protocol_specification_for_DSZ15DZMOD_V1.6_English_version.pdf)).\n- **Inepro Pro 380**: Compact (4TE) MID meter with extensive features.\n  Can be connected 3P4W, 3P3W and 1P2W. Includes per-direction active/reactive energy consumption and supports two tariffs. Energy resolution is 2 digits per kWh.\n- **Janitza B-Series**: These meters have a higher update rate than the Eastron\n  devices, but they are more expensive. The B23-312 variant is the one with a MODBUS interface.\n- **ORNO WE-504/514/515**: Low cost single phase meter.\n  By default, the meter communicates using 9600 8E1. The meter ID is 1. Meter ID, bus speed and other parameters are configurable via [Software (Windows only)](https://www.partner.orno.pl/grafiki2/PC%20softwre170621.rar).\n  WE-515 has a lithium battery and multi-tariff support, WE-514 does not support tariff zones.\n- **ORNO WE-516/517**: Low cost three phase meter.\n  By default, the meter communicates using 9600 8E1. The meter ID is 1. Meter ID, bus speed and other parameters are configurable via [Software (Windows only)](https://www.partner.orno.pl/grafiki2/PC%20softwre170621.rar).\n  WE-517 has a lithium battery and multi-tariff support, WE-516 does not support tariff zones.\n- **Saia Burgess (SBC) ALE3**: This compact Saia Burgess Controls meter is comparable to the SDM630.\n  It has two tariffs, both import and export depending on meter version and compact (4TE). It's often used with Viessmann heat pumps.\n- **Schneider Electric iEM3000**: Professional meter with loads of configurable max/average measurements with timestamp functionality.\n\n## Modbus TCP Grid Inverters\n\nApart from meters, SunSpec-compatible grid inverters connected over TCP\nare supported, too. SunSpec defines a default register layout for accessing\nthe devices.\n\nSupported inverters include popular devices from SolarEdge (SE3000, SE9000)\nand SMA (Sunny Boy and Sunny TriPower).\n\nIn case of TCP connection, the adapter parameter becomes the hostname and port:\n\n\t./mbmd run -a 192.168.0.44:502 -d SMA:23\n\nSunSpec devices can host multiple subdevices, e.g. to expose a meter attached to an inverter. To access a subdevice, append its id to the slave id:\n\n\t./mbmd run -a 192.168.0.44:502 -d FRONIUS:1.0 -d FRONIUS:1.1\n\n\n# Releases\n\nDownload the lastest release from [github.com/volkszaehler/mbmd/releases](https://github.com/volkszaehler/mbmd/releases).\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["solar","battery","charger","eebus","emobility","ocpp","pv","semp","wallbox","charging-station"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/20089","html_url":"https://ost.ecosyste.ms/projects/20089"}