{"id":106710,"name":"env_canada","description":"Provides access to various data sources published by Environment and Climate Change Canada.","url":"https://github.com/michaeldavie/env_canada","last_synced_at":"2026-08-13T17:02:52.434Z","repository":{"id":41367345,"uuid":"142818823","full_name":"michaeldavie/env_canada","owner":"michaeldavie","description":"Environment Canada Weather Data","archived":false,"fork":false,"pushed_at":"2026-08-09T20:15:55.000Z","size":1597,"stargazers_count":110,"open_issues_count":0,"forks_count":29,"subscribers_count":9,"default_branch":"main","last_synced_at":"2026-08-12T16:46:27.814Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/michaeldavie.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null}},"created_at":"2018-07-30T03:14:30.000Z","updated_at":"2026-08-09T20:16:02.000Z","dependencies_parsed_at":"2023-02-19T02:00:56.635Z","dependency_job_id":"e43ccbf7-ff39-4310-95af-38982bd99897","html_url":"https://github.com/michaeldavie/env_canada","commit_stats":{"total_commits":282,"total_committers":16,"mean_commits":17.625,"dds":"0.24468085106382975","last_synced_commit":"b7a2c98fd46de46e7357c384c6ee345f92043fb5"},"previous_names":[],"tags_count":93,"template":false,"template_full_name":null,"purl":"pkg:github/michaeldavie/env_canada","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/michaeldavie","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/sbom","scorecard":{"id":641063,"data":{"date":"2025-08-11","repo":{"name":"github.com/michaeldavie/env_canada","commit":"741482181f4e6d87783e2555099b975854fa3b74"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.1,"checks":[{"name":"Maintained","score":10,"reason":"13 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":1,"reason":"Found 3/26 approved changesets -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql-analysis.yml:30","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql-analysis.yml:31","Warn: no topLevel permission defined: .github/workflows/codeql-analysis.yml:1","Warn: no topLevel permission defined: .github/workflows/python-app.yml:1","Warn: no topLevel permission defined: .github/workflows/python-publish.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"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/codeql-analysis.yml:43: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:72: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-app.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-app.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-app.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-app.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-publish.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-publish.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-publish.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-publish.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/python-app.yml:25","Warn: pipCommand not pinned by hash: .github/workflows/python-app.yml:26","Warn: pipCommand not pinned by hash: .github/workflows/python-app.yml:27","Warn: pipCommand not pinned by hash: .github/workflows/python-publish.yml:22","Warn: pipCommand not pinned by hash: .github/workflows/python-publish.yml:23","Info:   0 out of   8 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   5 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'","Warn: branch protection not enabled for branch 'maintenance'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (18) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-21T10:46:01.396Z","repository_id":41367345,"created_at":"2025-08-21T10:46:01.396Z","updated_at":"2025-08-21T10:46:01.396Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36616505,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-13T02:00:06.325Z","response_time":111,"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":"michaeldavie","name":"Michael Davie","uuid":"16008714","kind":"user","description":"","email":"","website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/16008714?u=e6ccebf558d0e63d08acc061ab68c3ae247ffa27\u0026v=4","repositories_count":5,"last_synced_at":"2023-03-03T21:25:13.574Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/michaeldavie","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-14T05:39:00.520Z","updated_at":"2023-03-03T21:25:13.584Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/michaeldavie","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/michaeldavie/repositories"},"packages":[{"id":13295230,"name":"python310Packages.env-canada","ecosystem":"nixpkgs","description":"Python library to get Environment Canada weather data","homepage":"https://github.com/michaeldavie/env_canada","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/michaeldavie/env_canada","keywords_array":["python"],"namespace":null,"versions_count":1,"first_release_published_at":"2026-02-02T06:24:42.323Z","latest_release_published_at":"2026-02-02T06:24:42.323Z","latest_release_number":"0.6.0","last_synced_at":"2026-03-07T05:36:23.605Z","created_at":"2026-02-02T06:24:36.041Z","updated_at":"2026-08-12T16:54:21.710Z","registry_url":"https://search.nixos.org/packages?channel=23.11\u0026query=python310Packages.env-canada","install_command":"nix-env -iA nixpkgs.python310Packages.env-canada","documentation_url":"https://github.com/NixOS/nixpkgs/blob/nixos-23.11/pkgs/development/python-modules/env-canada/default.nix#L63","metadata":{"nix_attribute":"python3.10-env-canada-0.6.0","position":"pkgs/development/python-modules/env-canada/default.nix:63","platforms":["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","powerpc64-linux","powerpc64le-linux","riscv32-linux","riscv64-linux","s390-linux","s390x-linux","x86_64-linux","x86_64-darwin","i686-darwin","aarch64-darwin","armv7a-darwin","i686-cygwin","x86_64-cygwin","x86_64-windows","i686-windows"],"broken":false,"insecure":false,"unfree":false,"outputs":["dist","out"],"upstream_ecosystem":"pypi","upstream_name":"env-canada","upstream_purl":"pkg:pypi/env-canada"},"repo_metadata":{"id":41367345,"uuid":"142818823","full_name":"michaeldavie/env_canada","owner":"michaeldavie","description":"Environment Canada Weather Data","archived":false,"fork":false,"pushed_at":"2026-08-04T23:14:27.000Z","size":1545,"stargazers_count":110,"open_issues_count":0,"forks_count":29,"subscribers_count":9,"default_branch":"main","last_synced_at":"2026-08-05T01:04:17.710Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/michaeldavie.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null}},"created_at":"2018-07-30T03:14:30.000Z","updated_at":"2026-08-04T23:14:48.000Z","dependencies_parsed_at":"2023-02-19T02:00:56.635Z","dependency_job_id":"abbc9e7b-54c9-4e6d-9dc7-03147d9c5c9c","html_url":"https://github.com/michaeldavie/env_canada","commit_stats":{"total_commits":282,"total_committers":16,"mean_commits":17.625,"dds":"0.24468085106382975","last_synced_commit":"b7a2c98fd46de46e7357c384c6ee345f92043fb5"},"previous_names":[],"tags_count":89,"template":false,"template_full_name":null,"purl":"pkg:github/michaeldavie/env_canada","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/michaeldavie","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/sbom","scorecard":{"id":641063,"data":{"date":"2025-08-11","repo":{"name":"github.com/michaeldavie/env_canada","commit":"741482181f4e6d87783e2555099b975854fa3b74"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.1,"checks":[{"name":"Maintained","score":10,"reason":"13 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":1,"reason":"Found 3/26 approved changesets -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql-analysis.yml:30","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql-analysis.yml:31","Warn: no topLevel permission defined: .github/workflows/codeql-analysis.yml:1","Warn: no topLevel permission defined: .github/workflows/python-app.yml:1","Warn: no topLevel permission defined: .github/workflows/python-publish.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"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/codeql-analysis.yml:43: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:72: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-app.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-app.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-app.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-app.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-publish.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-publish.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-publish.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-publish.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/python-app.yml:25","Warn: pipCommand not pinned by hash: .github/workflows/python-app.yml:26","Warn: pipCommand not pinned by hash: .github/workflows/python-app.yml:27","Warn: pipCommand not pinned by hash: .github/workflows/python-publish.yml:22","Warn: pipCommand not pinned by hash: .github/workflows/python-publish.yml:23","Info:   0 out of   8 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   5 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'","Warn: branch protection not enabled for branch 'maintenance'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (18) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-21T10:46:01.396Z","repository_id":41367345,"created_at":"2025-08-21T10:46:01.396Z","updated_at":"2025-08-21T10:46:01.396Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36488524,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-10T02:00:05.122Z","response_time":58,"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-12T16:54:21.710Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{},"purl":"pkg:nix/python310Packages.env-canada?channel=23.11\u0026repository_url=https://channels.nixos.org/nixos-23.11","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nixpkgs/python310Packages.env-canada","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nixpkgs/python310Packages.env-canada","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nixpkgs/python310Packages.env-canada/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-11T16:03:36.298Z","issues_count":70,"pull_requests_count":94,"avg_time_to_close_issue":6916585.9275362315,"avg_time_to_close_pull_request":544629.1797752809,"issues_closed_count":69,"pull_requests_closed_count":89,"pull_request_authors_count":22,"issue_authors_count":45,"avg_comments_per_issue":2.7857142857142856,"avg_comments_per_pull_request":0.8617021276595744,"merged_pull_requests_count":84,"bot_issues_count":0,"bot_pull_requests_count":7,"past_year_issues_count":8,"past_year_pull_requests_count":18,"past_year_avg_time_to_close_issue":98462.5,"past_year_avg_time_to_close_pull_request":114048.94444444444,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":18,"past_year_pull_request_authors_count":7,"past_year_issue_authors_count":5,"past_year_avg_comments_per_issue":2.5,"past_year_avg_comments_per_pull_request":0.7777777777777778,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":7,"past_year_merged_pull_requests_count":17,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/issues","maintainers":[{"login":"michaeldavie","count":19,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/michaeldavie"},{"login":"gwww","count":17,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gwww"}],"active_maintainers":[{"login":"gwww","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gwww"},{"login":"michaeldavie","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/michaeldavie"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python310Packages.env-canada/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python310Packages.env-canada/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python310Packages.env-canada/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python310Packages.env-canada/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python310Packages.env-canada/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python310Packages.env-canada/codemeta","maintainers":[{"uuid":"fabaff","login":null,"name":"Fabian Affolter","email":"mail@fabian-affolter.ch","url":"https://github.com/fabaff","packages_count":4331,"html_url":null,"role":null,"created_at":"2026-03-07T05:36:23.776Z","updated_at":"2026-03-07T05:36:23.776Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/maintainers/fabaff/packages"}],"registry":{"name":"nixpkgs-23.11","url":"https://channels.nixos.org/nixos-23.11","ecosystem":"nixpkgs","default":false,"packages_count":108178,"maintainers_count":2997,"namespaces_count":0,"keywords_count":569,"github":"NixOS","metadata":{"funded_packages_count":2007},"icon_url":"https://github.com/NixOS.png","created_at":"2026-01-25T22:30:53.577Z","updated_at":"2026-08-12T05:05:01.044Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/namespaces"}},{"id":12863508,"name":"python313Packages.env-canada","ecosystem":"nixpkgs","description":"Python library to get Environment Canada weather data","homepage":"https://github.com/michaeldavie/env_canada","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/michaeldavie/env_canada","keywords_array":["python"],"namespace":null,"versions_count":3,"first_release_published_at":"2026-01-27T01:49:38.332Z","latest_release_published_at":"2026-03-03T09:10:56.982Z","latest_release_number":"0.13.2","last_synced_at":"2026-04-07T18:09:48.284Z","created_at":"2026-01-27T01:49:37.928Z","updated_at":"2026-08-12T16:54:21.758Z","registry_url":"https://search.nixos.org/packages?channel=unstable\u0026query=python313Packages.env-canada","install_command":"nix-env -iA nixpkgs.python313Packages.env-canada","documentation_url":"https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/development/python-modules/env-canada/default.nix#L73","metadata":{"nix_attribute":"python3.13-env-canada-0.13.2","position":"pkgs/development/python-modules/env-canada/default.nix:73","platforms":["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","x86_64-darwin","aarch64-darwin","aarch64-windows","x86_64-windows","i686-windows","i686-freebsd","x86_64-freebsd","aarch64-freebsd"],"broken":false,"insecure":false,"unfree":false,"outputs":["dist","out"],"upstream_ecosystem":"pypi","upstream_name":"env-canada","upstream_purl":"pkg:pypi/env-canada"},"repo_metadata":{"id":41367345,"uuid":"142818823","full_name":"michaeldavie/env_canada","owner":"michaeldavie","description":"Environment Canada Weather Data","archived":false,"fork":false,"pushed_at":"2026-08-04T23:14:27.000Z","size":1545,"stargazers_count":110,"open_issues_count":0,"forks_count":29,"subscribers_count":9,"default_branch":"main","last_synced_at":"2026-08-05T01:04:17.710Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/michaeldavie.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null}},"created_at":"2018-07-30T03:14:30.000Z","updated_at":"2026-08-04T23:14:48.000Z","dependencies_parsed_at":"2023-02-19T02:00:56.635Z","dependency_job_id":"abbc9e7b-54c9-4e6d-9dc7-03147d9c5c9c","html_url":"https://github.com/michaeldavie/env_canada","commit_stats":{"total_commits":282,"total_committers":16,"mean_commits":17.625,"dds":"0.24468085106382975","last_synced_commit":"b7a2c98fd46de46e7357c384c6ee345f92043fb5"},"previous_names":[],"tags_count":89,"template":false,"template_full_name":null,"purl":"pkg:github/michaeldavie/env_canada","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/michaeldavie","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/sbom","scorecard":{"id":641063,"data":{"date":"2025-08-11","repo":{"name":"github.com/michaeldavie/env_canada","commit":"741482181f4e6d87783e2555099b975854fa3b74"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.1,"checks":[{"name":"Maintained","score":10,"reason":"13 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":1,"reason":"Found 3/26 approved changesets -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql-analysis.yml:30","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql-analysis.yml:31","Warn: no topLevel permission defined: .github/workflows/codeql-analysis.yml:1","Warn: no topLevel permission defined: .github/workflows/python-app.yml:1","Warn: no topLevel permission defined: .github/workflows/python-publish.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"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/codeql-analysis.yml:43: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:72: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-app.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-app.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-app.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-app.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-publish.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-publish.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-publish.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-publish.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/python-app.yml:25","Warn: pipCommand not pinned by hash: .github/workflows/python-app.yml:26","Warn: pipCommand not pinned by hash: .github/workflows/python-app.yml:27","Warn: pipCommand not pinned by hash: .github/workflows/python-publish.yml:22","Warn: pipCommand not pinned by hash: .github/workflows/python-publish.yml:23","Info:   0 out of   8 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   5 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'","Warn: branch protection not enabled for branch 'maintenance'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (18) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-21T10:46:01.396Z","repository_id":41367345,"created_at":"2025-08-21T10:46:01.396Z","updated_at":"2025-08-21T10:46:01.396Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36488524,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-10T02:00:05.122Z","response_time":58,"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-12T16:54:21.758Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:nix/python313Packages.env-canada?channel=unstable","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nixpkgs/python313Packages.env-canada","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nixpkgs/python313Packages.env-canada","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nixpkgs/python313Packages.env-canada/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-11T16:03:36.298Z","issues_count":70,"pull_requests_count":94,"avg_time_to_close_issue":6916585.9275362315,"avg_time_to_close_pull_request":544629.1797752809,"issues_closed_count":69,"pull_requests_closed_count":89,"pull_request_authors_count":22,"issue_authors_count":45,"avg_comments_per_issue":2.7857142857142856,"avg_comments_per_pull_request":0.8617021276595744,"merged_pull_requests_count":84,"bot_issues_count":0,"bot_pull_requests_count":7,"past_year_issues_count":8,"past_year_pull_requests_count":18,"past_year_avg_time_to_close_issue":98462.5,"past_year_avg_time_to_close_pull_request":114048.94444444444,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":18,"past_year_pull_request_authors_count":7,"past_year_issue_authors_count":5,"past_year_avg_comments_per_issue":2.5,"past_year_avg_comments_per_pull_request":0.7777777777777778,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":7,"past_year_merged_pull_requests_count":17,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/issues","maintainers":[{"login":"michaeldavie","count":19,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/michaeldavie"},{"login":"gwww","count":17,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gwww"}],"active_maintainers":[{"login":"gwww","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gwww"},{"login":"michaeldavie","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/michaeldavie"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python313Packages.env-canada/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python313Packages.env-canada/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python313Packages.env-canada/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python313Packages.env-canada/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python313Packages.env-canada/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python313Packages.env-canada/codemeta","maintainers":[{"uuid":"fabaff","login":null,"name":"Fabian Affolter","email":"mail@fabian-affolter.ch","url":"https://github.com/fabaff","packages_count":5238,"html_url":null,"role":null,"created_at":"2026-03-03T09:10:57.596Z","updated_at":"2026-03-03T09:10:57.596Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/maintainers/fabaff/packages"}],"registry":{"name":"nixpkgs-unstable","url":"https://channels.nixos.org/nixos-unstable","ecosystem":"nixpkgs","default":true,"packages_count":152653,"maintainers_count":4862,"namespaces_count":0,"keywords_count":3247,"github":"NixOS","metadata":{"funded_packages_count":4397},"icon_url":"https://github.com/NixOS.png","created_at":"2026-01-25T22:30:52.762Z","updated_at":"2026-08-13T05:00:15.326Z","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"}},{"id":13075568,"name":"python311Packages.env-canada","ecosystem":"nixpkgs","description":"Python library to get Environment Canada weather data","homepage":"https://github.com/michaeldavie/env_canada","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/michaeldavie/env_canada","keywords_array":["python"],"namespace":null,"versions_count":1,"first_release_published_at":"2026-02-01T17:30:56.094Z","latest_release_published_at":"2026-02-01T17:30:56.094Z","latest_release_number":"0.7.2","last_synced_at":"2026-04-20T17:05:51.831Z","created_at":"2026-02-01T17:30:52.288Z","updated_at":"2026-08-12T16:54:21.767Z","registry_url":"https://search.nixos.org/packages?channel=24.11\u0026query=python311Packages.env-canada","install_command":"nix-env -iA nixpkgs.python311Packages.env-canada","documentation_url":"https://github.com/NixOS/nixpkgs/blob/nixos-24.11/pkgs/development/python-modules/env-canada/default.nix#L63","metadata":{"nix_attribute":"python3.11-env-canada-0.7.2","position":"pkgs/development/python-modules/env-canada/default.nix:63","platforms":["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","powerpc64-linux","powerpc64le-linux","riscv32-linux","riscv64-linux","s390-linux","s390x-linux","x86_64-linux","x86_64-darwin","i686-darwin","aarch64-darwin","armv7a-darwin","i686-cygwin","x86_64-cygwin","aarch64-windows","x86_64-windows","i686-windows","i686-freebsd","x86_64-freebsd"],"broken":false,"insecure":false,"unfree":false,"outputs":["dist","out"],"upstream_ecosystem":"pypi","upstream_name":"env-canada","upstream_purl":"pkg:pypi/env-canada"},"repo_metadata":{"id":41367345,"uuid":"142818823","full_name":"michaeldavie/env_canada","owner":"michaeldavie","description":"Environment Canada Weather Data","archived":false,"fork":false,"pushed_at":"2026-08-04T23:14:27.000Z","size":1545,"stargazers_count":110,"open_issues_count":0,"forks_count":29,"subscribers_count":9,"default_branch":"main","last_synced_at":"2026-08-05T01:04:17.710Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/michaeldavie.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null}},"created_at":"2018-07-30T03:14:30.000Z","updated_at":"2026-08-04T23:14:48.000Z","dependencies_parsed_at":"2023-02-19T02:00:56.635Z","dependency_job_id":"abbc9e7b-54c9-4e6d-9dc7-03147d9c5c9c","html_url":"https://github.com/michaeldavie/env_canada","commit_stats":{"total_commits":282,"total_committers":16,"mean_commits":17.625,"dds":"0.24468085106382975","last_synced_commit":"b7a2c98fd46de46e7357c384c6ee345f92043fb5"},"previous_names":[],"tags_count":89,"template":false,"template_full_name":null,"purl":"pkg:github/michaeldavie/env_canada","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/michaeldavie","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/sbom","scorecard":{"id":641063,"data":{"date":"2025-08-11","repo":{"name":"github.com/michaeldavie/env_canada","commit":"741482181f4e6d87783e2555099b975854fa3b74"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.1,"checks":[{"name":"Maintained","score":10,"reason":"13 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":1,"reason":"Found 3/26 approved changesets -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql-analysis.yml:30","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql-analysis.yml:31","Warn: no topLevel permission defined: .github/workflows/codeql-analysis.yml:1","Warn: no topLevel permission defined: .github/workflows/python-app.yml:1","Warn: no topLevel permission defined: .github/workflows/python-publish.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"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/codeql-analysis.yml:43: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:72: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-app.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-app.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-app.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-app.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-publish.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-publish.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-publish.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-publish.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/python-app.yml:25","Warn: pipCommand not pinned by hash: .github/workflows/python-app.yml:26","Warn: pipCommand not pinned by hash: .github/workflows/python-app.yml:27","Warn: pipCommand not pinned by hash: .github/workflows/python-publish.yml:22","Warn: pipCommand not pinned by hash: .github/workflows/python-publish.yml:23","Info:   0 out of   8 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   5 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'","Warn: branch protection not enabled for branch 'maintenance'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (18) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-21T10:46:01.396Z","repository_id":41367345,"created_at":"2025-08-21T10:46:01.396Z","updated_at":"2025-08-21T10:46:01.396Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36488524,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-10T02:00:05.122Z","response_time":58,"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-12T16:54:21.767Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:nix/python311Packages.env-canada?channel=24.11\u0026repository_url=https://channels.nixos.org/nixos-24.11","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nixpkgs/python311Packages.env-canada","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nixpkgs/python311Packages.env-canada","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nixpkgs/python311Packages.env-canada/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-11T16:03:36.298Z","issues_count":70,"pull_requests_count":94,"avg_time_to_close_issue":6916585.9275362315,"avg_time_to_close_pull_request":544629.1797752809,"issues_closed_count":69,"pull_requests_closed_count":89,"pull_request_authors_count":22,"issue_authors_count":45,"avg_comments_per_issue":2.7857142857142856,"avg_comments_per_pull_request":0.8617021276595744,"merged_pull_requests_count":84,"bot_issues_count":0,"bot_pull_requests_count":7,"past_year_issues_count":8,"past_year_pull_requests_count":18,"past_year_avg_time_to_close_issue":98462.5,"past_year_avg_time_to_close_pull_request":114048.94444444444,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":18,"past_year_pull_request_authors_count":7,"past_year_issue_authors_count":5,"past_year_avg_comments_per_issue":2.5,"past_year_avg_comments_per_pull_request":0.7777777777777778,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":7,"past_year_merged_pull_requests_count":17,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/issues","maintainers":[{"login":"michaeldavie","count":19,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/michaeldavie"},{"login":"gwww","count":17,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gwww"}],"active_maintainers":[{"login":"gwww","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gwww"},{"login":"michaeldavie","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/michaeldavie"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python311Packages.env-canada/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python311Packages.env-canada/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python311Packages.env-canada/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python311Packages.env-canada/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python311Packages.env-canada/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python311Packages.env-canada/codemeta","maintainers":[{"uuid":"fabaff","login":null,"name":"Fabian Affolter","email":"mail@fabian-affolter.ch","url":"https://github.com/fabaff","packages_count":5052,"html_url":null,"role":null,"created_at":"2026-03-05T02:16:59.563Z","updated_at":"2026-03-05T02:16:59.563Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/maintainers/fabaff/packages"}],"registry":{"name":"nixpkgs-24.11","url":"https://channels.nixos.org/nixos-24.11","ecosystem":"nixpkgs","default":false,"packages_count":121983,"maintainers_count":3777,"namespaces_count":0,"keywords_count":739,"github":"NixOS","metadata":{"funded_packages_count":2012},"icon_url":"https://github.com/NixOS.png","created_at":"2026-01-25T22:30:53.059Z","updated_at":"2026-08-12T05:04:54.096Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/namespaces"}},{"id":13194708,"name":"python311Packages.env-canada","ecosystem":"nixpkgs","description":"Python library to get Environment Canada weather data","homepage":"https://github.com/michaeldavie/env_canada","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/michaeldavie/env_canada","keywords_array":["python"],"namespace":null,"versions_count":1,"first_release_published_at":"2026-02-02T00:20:32.584Z","latest_release_published_at":"2026-02-02T00:20:32.584Z","latest_release_number":"0.6.2","last_synced_at":"2026-03-07T05:08:13.726Z","created_at":"2026-02-02T00:20:25.737Z","updated_at":"2026-08-12T16:54:21.776Z","registry_url":"https://search.nixos.org/packages?channel=24.05\u0026query=python311Packages.env-canada","install_command":"nix-env -iA nixpkgs.python311Packages.env-canada","documentation_url":"https://github.com/NixOS/nixpkgs/blob/nixos-24.05/pkgs/development/python-modules/env-canada/default.nix#L63","metadata":{"nix_attribute":"python3.11-env-canada-0.6.2","position":"pkgs/development/python-modules/env-canada/default.nix:63","platforms":["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","powerpc64-linux","powerpc64le-linux","riscv32-linux","riscv64-linux","s390-linux","s390x-linux","x86_64-linux","x86_64-darwin","i686-darwin","aarch64-darwin","armv7a-darwin","i686-cygwin","x86_64-cygwin","x86_64-windows","i686-windows"],"broken":false,"insecure":false,"unfree":false,"outputs":["dist","out"],"upstream_ecosystem":"pypi","upstream_name":"env-canada","upstream_purl":"pkg:pypi/env-canada"},"repo_metadata":{"id":41367345,"uuid":"142818823","full_name":"michaeldavie/env_canada","owner":"michaeldavie","description":"Environment Canada Weather Data","archived":false,"fork":false,"pushed_at":"2026-08-04T23:14:27.000Z","size":1545,"stargazers_count":110,"open_issues_count":0,"forks_count":29,"subscribers_count":9,"default_branch":"main","last_synced_at":"2026-08-05T01:04:17.710Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/michaeldavie.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null}},"created_at":"2018-07-30T03:14:30.000Z","updated_at":"2026-08-04T23:14:48.000Z","dependencies_parsed_at":"2023-02-19T02:00:56.635Z","dependency_job_id":"abbc9e7b-54c9-4e6d-9dc7-03147d9c5c9c","html_url":"https://github.com/michaeldavie/env_canada","commit_stats":{"total_commits":282,"total_committers":16,"mean_commits":17.625,"dds":"0.24468085106382975","last_synced_commit":"b7a2c98fd46de46e7357c384c6ee345f92043fb5"},"previous_names":[],"tags_count":89,"template":false,"template_full_name":null,"purl":"pkg:github/michaeldavie/env_canada","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/michaeldavie","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/sbom","scorecard":{"id":641063,"data":{"date":"2025-08-11","repo":{"name":"github.com/michaeldavie/env_canada","commit":"741482181f4e6d87783e2555099b975854fa3b74"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.1,"checks":[{"name":"Maintained","score":10,"reason":"13 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":1,"reason":"Found 3/26 approved changesets -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql-analysis.yml:30","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql-analysis.yml:31","Warn: no topLevel permission defined: .github/workflows/codeql-analysis.yml:1","Warn: no topLevel permission defined: .github/workflows/python-app.yml:1","Warn: no topLevel permission defined: .github/workflows/python-publish.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"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/codeql-analysis.yml:43: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:72: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-app.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-app.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-app.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-app.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-publish.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-publish.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-publish.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-publish.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/python-app.yml:25","Warn: pipCommand not pinned by hash: .github/workflows/python-app.yml:26","Warn: pipCommand not pinned by hash: .github/workflows/python-app.yml:27","Warn: pipCommand not pinned by hash: .github/workflows/python-publish.yml:22","Warn: pipCommand not pinned by hash: .github/workflows/python-publish.yml:23","Info:   0 out of   8 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   5 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'","Warn: branch protection not enabled for branch 'maintenance'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (18) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-21T10:46:01.396Z","repository_id":41367345,"created_at":"2025-08-21T10:46:01.396Z","updated_at":"2025-08-21T10:46:01.396Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36488524,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-10T02:00:05.122Z","response_time":58,"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-12T16:54:21.776Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{},"purl":"pkg:nix/python311Packages.env-canada?channel=24.05\u0026repository_url=https://channels.nixos.org/nixos-24.05","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nixpkgs/python311Packages.env-canada","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nixpkgs/python311Packages.env-canada","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nixpkgs/python311Packages.env-canada/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-11T16:03:36.298Z","issues_count":70,"pull_requests_count":94,"avg_time_to_close_issue":6916585.9275362315,"avg_time_to_close_pull_request":544629.1797752809,"issues_closed_count":69,"pull_requests_closed_count":89,"pull_request_authors_count":22,"issue_authors_count":45,"avg_comments_per_issue":2.7857142857142856,"avg_comments_per_pull_request":0.8617021276595744,"merged_pull_requests_count":84,"bot_issues_count":0,"bot_pull_requests_count":7,"past_year_issues_count":8,"past_year_pull_requests_count":18,"past_year_avg_time_to_close_issue":98462.5,"past_year_avg_time_to_close_pull_request":114048.94444444444,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":18,"past_year_pull_request_authors_count":7,"past_year_issue_authors_count":5,"past_year_avg_comments_per_issue":2.5,"past_year_avg_comments_per_pull_request":0.7777777777777778,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":7,"past_year_merged_pull_requests_count":17,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/issues","maintainers":[{"login":"michaeldavie","count":19,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/michaeldavie"},{"login":"gwww","count":17,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gwww"}],"active_maintainers":[{"login":"gwww","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gwww"},{"login":"michaeldavie","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/michaeldavie"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python311Packages.env-canada/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python311Packages.env-canada/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python311Packages.env-canada/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python311Packages.env-canada/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python311Packages.env-canada/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python311Packages.env-canada/codemeta","maintainers":[{"uuid":"fabaff","login":null,"name":"Fabian Affolter","email":"mail@fabian-affolter.ch","url":"https://github.com/fabaff","packages_count":4856,"html_url":null,"role":null,"created_at":"2026-03-07T05:08:13.915Z","updated_at":"2026-03-07T05:08:13.915Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/maintainers/fabaff/packages"}],"registry":{"name":"nixpkgs-24.05","url":"https://channels.nixos.org/nixos-24.05","ecosystem":"nixpkgs","default":false,"packages_count":116156,"maintainers_count":3383,"namespaces_count":0,"keywords_count":654,"github":"NixOS","metadata":{"funded_packages_count":1943},"icon_url":"https://github.com/NixOS.png","created_at":"2026-01-25T22:30:53.309Z","updated_at":"2026-08-13T05:00:11.893Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/namespaces"}},{"id":12814208,"name":"python310Packages.env-canada","ecosystem":"nixpkgs","description":"Python library to get Environment Canada weather data","homepage":"https://github.com/michaeldavie/env_canada","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/michaeldavie/env_canada","keywords_array":["python"],"namespace":null,"versions_count":1,"first_release_published_at":"2026-01-26T16:55:14.202Z","latest_release_published_at":"2026-01-26T16:55:14.202Z","latest_release_number":"0.5.34","last_synced_at":"2026-04-10T04:01:45.496Z","created_at":"2026-01-26T16:55:14.042Z","updated_at":"2026-08-12T16:54:21.780Z","registry_url":"https://search.nixos.org/packages?channel=23.05\u0026query=python310Packages.env-canada","install_command":"nix-env -iA nixpkgs.python310Packages.env-canada","documentation_url":"https://github.com/NixOS/nixpkgs/blob/nixos-23.05/pkgs/development/python-modules/env-canada/default.nix#L63","metadata":{"nix_attribute":"python3.10-env-canada-0.5.34","position":"pkgs/development/python-modules/env-canada/default.nix:63","platforms":["aarch64-linux","armv5tel-linux","armv6l-linux","armv7a-linux","armv7l-linux","i686-linux","loongarch64-linux","m68k-linux","microblaze-linux","microblazeel-linux","mipsel-linux","mips64el-linux","powerpc64-linux","powerpc64le-linux","riscv32-linux","riscv64-linux","s390-linux","s390x-linux","x86_64-linux","x86_64-darwin","i686-darwin","aarch64-darwin","armv7a-darwin"],"broken":false,"insecure":false,"unfree":false,"outputs":["dist","out"],"upstream_ecosystem":"pypi","upstream_name":"env-canada","upstream_purl":"pkg:pypi/env-canada"},"repo_metadata":{"id":41367345,"uuid":"142818823","full_name":"michaeldavie/env_canada","owner":"michaeldavie","description":"Environment Canada Weather Data","archived":false,"fork":false,"pushed_at":"2026-08-04T23:14:27.000Z","size":1545,"stargazers_count":110,"open_issues_count":0,"forks_count":29,"subscribers_count":9,"default_branch":"main","last_synced_at":"2026-08-05T01:04:17.710Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/michaeldavie.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null}},"created_at":"2018-07-30T03:14:30.000Z","updated_at":"2026-08-04T23:14:48.000Z","dependencies_parsed_at":"2023-02-19T02:00:56.635Z","dependency_job_id":"abbc9e7b-54c9-4e6d-9dc7-03147d9c5c9c","html_url":"https://github.com/michaeldavie/env_canada","commit_stats":{"total_commits":282,"total_committers":16,"mean_commits":17.625,"dds":"0.24468085106382975","last_synced_commit":"b7a2c98fd46de46e7357c384c6ee345f92043fb5"},"previous_names":[],"tags_count":89,"template":false,"template_full_name":null,"purl":"pkg:github/michaeldavie/env_canada","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/michaeldavie","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/sbom","scorecard":{"id":641063,"data":{"date":"2025-08-11","repo":{"name":"github.com/michaeldavie/env_canada","commit":"741482181f4e6d87783e2555099b975854fa3b74"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.1,"checks":[{"name":"Maintained","score":10,"reason":"13 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":1,"reason":"Found 3/26 approved changesets -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql-analysis.yml:30","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql-analysis.yml:31","Warn: no topLevel permission defined: .github/workflows/codeql-analysis.yml:1","Warn: no topLevel permission defined: .github/workflows/python-app.yml:1","Warn: no topLevel permission defined: .github/workflows/python-publish.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"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/codeql-analysis.yml:43: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:72: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-app.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-app.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-app.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-app.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-publish.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-publish.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-publish.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-publish.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/python-app.yml:25","Warn: pipCommand not pinned by hash: .github/workflows/python-app.yml:26","Warn: pipCommand not pinned by hash: .github/workflows/python-app.yml:27","Warn: pipCommand not pinned by hash: .github/workflows/python-publish.yml:22","Warn: pipCommand not pinned by hash: .github/workflows/python-publish.yml:23","Info:   0 out of   8 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   5 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'","Warn: branch protection not enabled for branch 'maintenance'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (18) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-21T10:46:01.396Z","repository_id":41367345,"created_at":"2025-08-21T10:46:01.396Z","updated_at":"2025-08-21T10:46:01.396Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36488524,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-10T02:00:05.122Z","response_time":58,"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-12T16:54:21.780Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:nix/python310Packages.env-canada?channel=23.05\u0026repository_url=https://channels.nixos.org/nixos-23.05","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nixpkgs/python310Packages.env-canada","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nixpkgs/python310Packages.env-canada","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nixpkgs/python310Packages.env-canada/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-11T16:03:36.298Z","issues_count":70,"pull_requests_count":94,"avg_time_to_close_issue":6916585.9275362315,"avg_time_to_close_pull_request":544629.1797752809,"issues_closed_count":69,"pull_requests_closed_count":89,"pull_request_authors_count":22,"issue_authors_count":45,"avg_comments_per_issue":2.7857142857142856,"avg_comments_per_pull_request":0.8617021276595744,"merged_pull_requests_count":84,"bot_issues_count":0,"bot_pull_requests_count":7,"past_year_issues_count":8,"past_year_pull_requests_count":18,"past_year_avg_time_to_close_issue":98462.5,"past_year_avg_time_to_close_pull_request":114048.94444444444,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":18,"past_year_pull_request_authors_count":7,"past_year_issue_authors_count":5,"past_year_avg_comments_per_issue":2.5,"past_year_avg_comments_per_pull_request":0.7777777777777778,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":7,"past_year_merged_pull_requests_count":17,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/issues","maintainers":[{"login":"michaeldavie","count":19,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/michaeldavie"},{"login":"gwww","count":17,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gwww"}],"active_maintainers":[{"login":"gwww","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gwww"},{"login":"michaeldavie","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/michaeldavie"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python310Packages.env-canada/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python310Packages.env-canada/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python310Packages.env-canada/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python310Packages.env-canada/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python310Packages.env-canada/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python310Packages.env-canada/codemeta","maintainers":[{"uuid":"fabaff","login":null,"name":"Fabian Affolter","email":"mail@fabian-affolter.ch","url":"https://github.com/fabaff","packages_count":3335,"html_url":null,"role":null,"created_at":"2026-03-03T20:38:10.160Z","updated_at":"2026-03-03T20:38:10.160Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/maintainers/fabaff/packages"}],"registry":{"name":"nixpkgs-23.05","url":"https://channels.nixos.org/nixos-23.05","ecosystem":"nixpkgs","default":false,"packages_count":101092,"maintainers_count":2622,"namespaces_count":0,"keywords_count":613,"github":"NixOS","metadata":{"funded_packages_count":1254},"icon_url":"https://github.com/NixOS.png","created_at":"2026-01-25T22:30:53.882Z","updated_at":"2026-08-12T05:03:51.195Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/namespaces"}},{"id":12826801,"name":"python311Packages.env-canada","ecosystem":"nixpkgs","description":"Python library to get Environment Canada weather data","homepage":"https://github.com/michaeldavie/env_canada","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/michaeldavie/env_canada","keywords_array":["python"],"namespace":null,"versions_count":1,"first_release_published_at":"2026-01-26T19:06:18.958Z","latest_release_published_at":"2026-01-26T19:06:18.958Z","latest_release_number":"0.5.34","last_synced_at":"2026-04-03T08:14:59.548Z","created_at":"2026-01-26T19:06:18.793Z","updated_at":"2026-08-12T16:54:21.791Z","registry_url":"https://search.nixos.org/packages?channel=23.05\u0026query=python311Packages.env-canada","install_command":"nix-env -iA nixpkgs.python311Packages.env-canada","documentation_url":"https://github.com/NixOS/nixpkgs/blob/nixos-23.05/pkgs/development/python-modules/env-canada/default.nix#L63","metadata":{"nix_attribute":"python3.11-env-canada-0.5.34","position":"pkgs/development/python-modules/env-canada/default.nix:63","platforms":["aarch64-linux","armv5tel-linux","armv6l-linux","armv7a-linux","armv7l-linux","i686-linux","loongarch64-linux","m68k-linux","microblaze-linux","microblazeel-linux","mipsel-linux","mips64el-linux","powerpc64-linux","powerpc64le-linux","riscv32-linux","riscv64-linux","s390-linux","s390x-linux","x86_64-linux","x86_64-darwin","i686-darwin","aarch64-darwin","armv7a-darwin"],"broken":false,"insecure":false,"unfree":false,"outputs":["dist","out"],"upstream_ecosystem":"pypi","upstream_name":"env-canada","upstream_purl":"pkg:pypi/env-canada"},"repo_metadata":{"id":41367345,"uuid":"142818823","full_name":"michaeldavie/env_canada","owner":"michaeldavie","description":"Environment Canada Weather Data","archived":false,"fork":false,"pushed_at":"2026-08-04T23:14:27.000Z","size":1545,"stargazers_count":110,"open_issues_count":0,"forks_count":29,"subscribers_count":9,"default_branch":"main","last_synced_at":"2026-08-05T01:04:17.710Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/michaeldavie.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null}},"created_at":"2018-07-30T03:14:30.000Z","updated_at":"2026-08-04T23:14:48.000Z","dependencies_parsed_at":"2023-02-19T02:00:56.635Z","dependency_job_id":"abbc9e7b-54c9-4e6d-9dc7-03147d9c5c9c","html_url":"https://github.com/michaeldavie/env_canada","commit_stats":{"total_commits":282,"total_committers":16,"mean_commits":17.625,"dds":"0.24468085106382975","last_synced_commit":"b7a2c98fd46de46e7357c384c6ee345f92043fb5"},"previous_names":[],"tags_count":89,"template":false,"template_full_name":null,"purl":"pkg:github/michaeldavie/env_canada","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/michaeldavie","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/sbom","scorecard":{"id":641063,"data":{"date":"2025-08-11","repo":{"name":"github.com/michaeldavie/env_canada","commit":"741482181f4e6d87783e2555099b975854fa3b74"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.1,"checks":[{"name":"Maintained","score":10,"reason":"13 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":1,"reason":"Found 3/26 approved changesets -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql-analysis.yml:30","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql-analysis.yml:31","Warn: no topLevel permission defined: .github/workflows/codeql-analysis.yml:1","Warn: no topLevel permission defined: .github/workflows/python-app.yml:1","Warn: no topLevel permission defined: .github/workflows/python-publish.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"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/codeql-analysis.yml:43: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:72: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-app.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-app.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-app.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-app.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-publish.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-publish.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-publish.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-publish.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/python-app.yml:25","Warn: pipCommand not pinned by hash: .github/workflows/python-app.yml:26","Warn: pipCommand not pinned by hash: .github/workflows/python-app.yml:27","Warn: pipCommand not pinned by hash: .github/workflows/python-publish.yml:22","Warn: pipCommand not pinned by hash: .github/workflows/python-publish.yml:23","Info:   0 out of   8 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   5 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'","Warn: branch protection not enabled for branch 'maintenance'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (18) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-21T10:46:01.396Z","repository_id":41367345,"created_at":"2025-08-21T10:46:01.396Z","updated_at":"2025-08-21T10:46:01.396Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36488524,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-10T02:00:05.122Z","response_time":58,"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-12T16:54:21.791Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:nix/python311Packages.env-canada?channel=23.05\u0026repository_url=https://channels.nixos.org/nixos-23.05","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nixpkgs/python311Packages.env-canada","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nixpkgs/python311Packages.env-canada","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nixpkgs/python311Packages.env-canada/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-11T16:03:36.298Z","issues_count":70,"pull_requests_count":94,"avg_time_to_close_issue":6916585.9275362315,"avg_time_to_close_pull_request":544629.1797752809,"issues_closed_count":69,"pull_requests_closed_count":89,"pull_request_authors_count":22,"issue_authors_count":45,"avg_comments_per_issue":2.7857142857142856,"avg_comments_per_pull_request":0.8617021276595744,"merged_pull_requests_count":84,"bot_issues_count":0,"bot_pull_requests_count":7,"past_year_issues_count":8,"past_year_pull_requests_count":18,"past_year_avg_time_to_close_issue":98462.5,"past_year_avg_time_to_close_pull_request":114048.94444444444,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":18,"past_year_pull_request_authors_count":7,"past_year_issue_authors_count":5,"past_year_avg_comments_per_issue":2.5,"past_year_avg_comments_per_pull_request":0.7777777777777778,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":7,"past_year_merged_pull_requests_count":17,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/issues","maintainers":[{"login":"michaeldavie","count":19,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/michaeldavie"},{"login":"gwww","count":17,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gwww"}],"active_maintainers":[{"login":"gwww","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gwww"},{"login":"michaeldavie","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/michaeldavie"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python311Packages.env-canada/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python311Packages.env-canada/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python311Packages.env-canada/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python311Packages.env-canada/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python311Packages.env-canada/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python311Packages.env-canada/codemeta","maintainers":[{"uuid":"fabaff","login":null,"name":"Fabian Affolter","email":"mail@fabian-affolter.ch","url":"https://github.com/fabaff","packages_count":3335,"html_url":null,"role":null,"created_at":"2026-03-03T07:33:10.061Z","updated_at":"2026-03-03T07:33:10.061Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/maintainers/fabaff/packages"}],"registry":{"name":"nixpkgs-23.05","url":"https://channels.nixos.org/nixos-23.05","ecosystem":"nixpkgs","default":false,"packages_count":101092,"maintainers_count":2622,"namespaces_count":0,"keywords_count":613,"github":"NixOS","metadata":{"funded_packages_count":1254},"icon_url":"https://github.com/NixOS.png","created_at":"2026-01-25T22:30:53.882Z","updated_at":"2026-08-12T05:03:51.195Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/namespaces"}},{"id":13302909,"name":"python311Packages.env-canada","ecosystem":"nixpkgs","description":"Python library to get Environment Canada weather data","homepage":"https://github.com/michaeldavie/env_canada","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/michaeldavie/env_canada","keywords_array":["python"],"namespace":null,"versions_count":1,"first_release_published_at":"2026-02-02T06:53:12.141Z","latest_release_published_at":"2026-02-02T06:53:12.141Z","latest_release_number":"0.6.0","last_synced_at":"2026-04-12T14:03:49.407Z","created_at":"2026-02-02T06:53:11.813Z","updated_at":"2026-08-12T16:54:21.814Z","registry_url":"https://search.nixos.org/packages?channel=23.11\u0026query=python311Packages.env-canada","install_command":"nix-env -iA nixpkgs.python311Packages.env-canada","documentation_url":"https://github.com/NixOS/nixpkgs/blob/nixos-23.11/pkgs/development/python-modules/env-canada/default.nix#L63","metadata":{"nix_attribute":"python3.11-env-canada-0.6.0","position":"pkgs/development/python-modules/env-canada/default.nix:63","platforms":["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","powerpc64-linux","powerpc64le-linux","riscv32-linux","riscv64-linux","s390-linux","s390x-linux","x86_64-linux","x86_64-darwin","i686-darwin","aarch64-darwin","armv7a-darwin","i686-cygwin","x86_64-cygwin","x86_64-windows","i686-windows"],"broken":false,"insecure":false,"unfree":false,"outputs":["dist","out"],"upstream_ecosystem":"pypi","upstream_name":"env-canada","upstream_purl":"pkg:pypi/env-canada"},"repo_metadata":{"id":41367345,"uuid":"142818823","full_name":"michaeldavie/env_canada","owner":"michaeldavie","description":"Environment Canada Weather Data","archived":false,"fork":false,"pushed_at":"2026-08-04T23:14:27.000Z","size":1545,"stargazers_count":110,"open_issues_count":0,"forks_count":29,"subscribers_count":9,"default_branch":"main","last_synced_at":"2026-08-05T01:04:17.710Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/michaeldavie.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null}},"created_at":"2018-07-30T03:14:30.000Z","updated_at":"2026-08-04T23:14:48.000Z","dependencies_parsed_at":"2023-02-19T02:00:56.635Z","dependency_job_id":"abbc9e7b-54c9-4e6d-9dc7-03147d9c5c9c","html_url":"https://github.com/michaeldavie/env_canada","commit_stats":{"total_commits":282,"total_committers":16,"mean_commits":17.625,"dds":"0.24468085106382975","last_synced_commit":"b7a2c98fd46de46e7357c384c6ee345f92043fb5"},"previous_names":[],"tags_count":89,"template":false,"template_full_name":null,"purl":"pkg:github/michaeldavie/env_canada","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/michaeldavie","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/sbom","scorecard":{"id":641063,"data":{"date":"2025-08-11","repo":{"name":"github.com/michaeldavie/env_canada","commit":"741482181f4e6d87783e2555099b975854fa3b74"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.1,"checks":[{"name":"Maintained","score":10,"reason":"13 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":1,"reason":"Found 3/26 approved changesets -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql-analysis.yml:30","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql-analysis.yml:31","Warn: no topLevel permission defined: .github/workflows/codeql-analysis.yml:1","Warn: no topLevel permission defined: .github/workflows/python-app.yml:1","Warn: no topLevel permission defined: .github/workflows/python-publish.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"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/codeql-analysis.yml:43: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:72: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-app.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-app.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-app.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-app.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-publish.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-publish.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-publish.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-publish.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/python-app.yml:25","Warn: pipCommand not pinned by hash: .github/workflows/python-app.yml:26","Warn: pipCommand not pinned by hash: .github/workflows/python-app.yml:27","Warn: pipCommand not pinned by hash: .github/workflows/python-publish.yml:22","Warn: pipCommand not pinned by hash: .github/workflows/python-publish.yml:23","Info:   0 out of   8 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   5 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'","Warn: branch protection not enabled for branch 'maintenance'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (18) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-21T10:46:01.396Z","repository_id":41367345,"created_at":"2025-08-21T10:46:01.396Z","updated_at":"2025-08-21T10:46:01.396Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36488524,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-10T02:00:05.122Z","response_time":58,"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-12T16:54:21.814Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:nix/python311Packages.env-canada?channel=23.11\u0026repository_url=https://channels.nixos.org/nixos-23.11","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nixpkgs/python311Packages.env-canada","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nixpkgs/python311Packages.env-canada","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nixpkgs/python311Packages.env-canada/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-11T16:03:36.298Z","issues_count":70,"pull_requests_count":94,"avg_time_to_close_issue":6916585.9275362315,"avg_time_to_close_pull_request":544629.1797752809,"issues_closed_count":69,"pull_requests_closed_count":89,"pull_request_authors_count":22,"issue_authors_count":45,"avg_comments_per_issue":2.7857142857142856,"avg_comments_per_pull_request":0.8617021276595744,"merged_pull_requests_count":84,"bot_issues_count":0,"bot_pull_requests_count":7,"past_year_issues_count":8,"past_year_pull_requests_count":18,"past_year_avg_time_to_close_issue":98462.5,"past_year_avg_time_to_close_pull_request":114048.94444444444,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":18,"past_year_pull_request_authors_count":7,"past_year_issue_authors_count":5,"past_year_avg_comments_per_issue":2.5,"past_year_avg_comments_per_pull_request":0.7777777777777778,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":7,"past_year_merged_pull_requests_count":17,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/issues","maintainers":[{"login":"michaeldavie","count":19,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/michaeldavie"},{"login":"gwww","count":17,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gwww"}],"active_maintainers":[{"login":"gwww","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gwww"},{"login":"michaeldavie","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/michaeldavie"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python311Packages.env-canada/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python311Packages.env-canada/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python311Packages.env-canada/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python311Packages.env-canada/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python311Packages.env-canada/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python311Packages.env-canada/codemeta","maintainers":[{"uuid":"fabaff","login":null,"name":"Fabian Affolter","email":"mail@fabian-affolter.ch","url":"https://github.com/fabaff","packages_count":4331,"html_url":null,"role":null,"created_at":"2026-03-04T02:55:30.240Z","updated_at":"2026-03-04T02:55:30.240Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/maintainers/fabaff/packages"}],"registry":{"name":"nixpkgs-23.11","url":"https://channels.nixos.org/nixos-23.11","ecosystem":"nixpkgs","default":false,"packages_count":108178,"maintainers_count":2997,"namespaces_count":0,"keywords_count":569,"github":"NixOS","metadata":{"funded_packages_count":2007},"icon_url":"https://github.com/NixOS.png","created_at":"2026-01-25T22:30:53.577Z","updated_at":"2026-08-12T05:05:01.044Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/namespaces"}},{"id":13202991,"name":"python312Packages.env-canada","ecosystem":"nixpkgs","description":"Python library to get Environment Canada weather data","homepage":"https://github.com/michaeldavie/env_canada","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/michaeldavie/env_canada","keywords_array":["python"],"namespace":null,"versions_count":1,"first_release_published_at":"2026-02-02T00:54:28.068Z","latest_release_published_at":"2026-02-02T00:54:28.068Z","latest_release_number":"0.6.2","last_synced_at":"2026-05-13T03:02:34.248Z","created_at":"2026-02-02T00:54:17.013Z","updated_at":"2026-08-12T16:54:21.808Z","registry_url":"https://search.nixos.org/packages?channel=24.05\u0026query=python312Packages.env-canada","install_command":"nix-env -iA nixpkgs.python312Packages.env-canada","documentation_url":"https://github.com/NixOS/nixpkgs/blob/nixos-24.05/pkgs/development/python-modules/env-canada/default.nix#L63","metadata":{"nix_attribute":"python3.12-env-canada-0.6.2","position":"pkgs/development/python-modules/env-canada/default.nix:63","platforms":["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","powerpc64-linux","powerpc64le-linux","riscv32-linux","riscv64-linux","s390-linux","s390x-linux","x86_64-linux","x86_64-darwin","i686-darwin","aarch64-darwin","armv7a-darwin","i686-cygwin","x86_64-cygwin","x86_64-windows","i686-windows"],"broken":false,"insecure":false,"unfree":false,"outputs":["dist","out"],"upstream_ecosystem":"pypi","upstream_name":"env-canada","upstream_purl":"pkg:pypi/env-canada"},"repo_metadata":{"id":41367345,"uuid":"142818823","full_name":"michaeldavie/env_canada","owner":"michaeldavie","description":"Environment Canada Weather Data","archived":false,"fork":false,"pushed_at":"2026-08-04T23:14:27.000Z","size":1545,"stargazers_count":110,"open_issues_count":0,"forks_count":29,"subscribers_count":9,"default_branch":"main","last_synced_at":"2026-08-05T01:04:17.710Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/michaeldavie.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null}},"created_at":"2018-07-30T03:14:30.000Z","updated_at":"2026-08-04T23:14:48.000Z","dependencies_parsed_at":"2023-02-19T02:00:56.635Z","dependency_job_id":"abbc9e7b-54c9-4e6d-9dc7-03147d9c5c9c","html_url":"https://github.com/michaeldavie/env_canada","commit_stats":{"total_commits":282,"total_committers":16,"mean_commits":17.625,"dds":"0.24468085106382975","last_synced_commit":"b7a2c98fd46de46e7357c384c6ee345f92043fb5"},"previous_names":[],"tags_count":89,"template":false,"template_full_name":null,"purl":"pkg:github/michaeldavie/env_canada","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/michaeldavie","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/sbom","scorecard":{"id":641063,"data":{"date":"2025-08-11","repo":{"name":"github.com/michaeldavie/env_canada","commit":"741482181f4e6d87783e2555099b975854fa3b74"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.1,"checks":[{"name":"Maintained","score":10,"reason":"13 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":1,"reason":"Found 3/26 approved changesets -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql-analysis.yml:30","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql-analysis.yml:31","Warn: no topLevel permission defined: .github/workflows/codeql-analysis.yml:1","Warn: no topLevel permission defined: .github/workflows/python-app.yml:1","Warn: no topLevel permission defined: .github/workflows/python-publish.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"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/codeql-analysis.yml:43: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:72: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-app.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-app.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-app.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-app.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-publish.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-publish.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-publish.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-publish.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/python-app.yml:25","Warn: pipCommand not pinned by hash: .github/workflows/python-app.yml:26","Warn: pipCommand not pinned by hash: .github/workflows/python-app.yml:27","Warn: pipCommand not pinned by hash: .github/workflows/python-publish.yml:22","Warn: pipCommand not pinned by hash: .github/workflows/python-publish.yml:23","Info:   0 out of   8 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   5 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'","Warn: branch protection not enabled for branch 'maintenance'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (18) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-21T10:46:01.396Z","repository_id":41367345,"created_at":"2025-08-21T10:46:01.396Z","updated_at":"2025-08-21T10:46:01.396Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36488524,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-10T02:00:05.122Z","response_time":58,"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-12T16:54:21.808Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:nix/python312Packages.env-canada?channel=24.05\u0026repository_url=https://channels.nixos.org/nixos-24.05","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nixpkgs/python312Packages.env-canada","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nixpkgs/python312Packages.env-canada","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nixpkgs/python312Packages.env-canada/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-11T16:03:36.298Z","issues_count":70,"pull_requests_count":94,"avg_time_to_close_issue":6916585.9275362315,"avg_time_to_close_pull_request":544629.1797752809,"issues_closed_count":69,"pull_requests_closed_count":89,"pull_request_authors_count":22,"issue_authors_count":45,"avg_comments_per_issue":2.7857142857142856,"avg_comments_per_pull_request":0.8617021276595744,"merged_pull_requests_count":84,"bot_issues_count":0,"bot_pull_requests_count":7,"past_year_issues_count":8,"past_year_pull_requests_count":18,"past_year_avg_time_to_close_issue":98462.5,"past_year_avg_time_to_close_pull_request":114048.94444444444,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":18,"past_year_pull_request_authors_count":7,"past_year_issue_authors_count":5,"past_year_avg_comments_per_issue":2.5,"past_year_avg_comments_per_pull_request":0.7777777777777778,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":7,"past_year_merged_pull_requests_count":17,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/issues","maintainers":[{"login":"michaeldavie","count":19,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/michaeldavie"},{"login":"gwww","count":17,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gwww"}],"active_maintainers":[{"login":"gwww","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gwww"},{"login":"michaeldavie","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/michaeldavie"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python312Packages.env-canada/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python312Packages.env-canada/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python312Packages.env-canada/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python312Packages.env-canada/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python312Packages.env-canada/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python312Packages.env-canada/codemeta","maintainers":[{"uuid":"fabaff","login":null,"name":"Fabian Affolter","email":"mail@fabian-affolter.ch","url":"https://github.com/fabaff","packages_count":4856,"html_url":null,"role":null,"created_at":"2026-03-07T11:08:07.303Z","updated_at":"2026-03-07T11:08:07.303Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/maintainers/fabaff/packages"}],"registry":{"name":"nixpkgs-24.05","url":"https://channels.nixos.org/nixos-24.05","ecosystem":"nixpkgs","default":false,"packages_count":116156,"maintainers_count":3383,"namespaces_count":0,"keywords_count":654,"github":"NixOS","metadata":{"funded_packages_count":1943},"icon_url":"https://github.com/NixOS.png","created_at":"2026-01-25T22:30:53.309Z","updated_at":"2026-08-13T05:00:11.893Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/namespaces"}},{"id":13084433,"name":"python312Packages.env-canada","ecosystem":"nixpkgs","description":"Python library to get Environment Canada weather data","homepage":"https://github.com/michaeldavie/env_canada","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/michaeldavie/env_canada","keywords_array":["python"],"namespace":null,"versions_count":1,"first_release_published_at":"2026-02-01T17:58:24.163Z","latest_release_published_at":"2026-02-01T17:58:24.163Z","latest_release_number":"0.7.2","last_synced_at":"2026-03-07T14:17:19.609Z","created_at":"2026-02-01T17:58:23.870Z","updated_at":"2026-08-12T16:54:21.815Z","registry_url":"https://search.nixos.org/packages?channel=24.11\u0026query=python312Packages.env-canada","install_command":"nix-env -iA nixpkgs.python312Packages.env-canada","documentation_url":"https://github.com/NixOS/nixpkgs/blob/nixos-24.11/pkgs/development/python-modules/env-canada/default.nix#L63","metadata":{"nix_attribute":"python3.12-env-canada-0.7.2","position":"pkgs/development/python-modules/env-canada/default.nix:63","platforms":["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","powerpc64-linux","powerpc64le-linux","riscv32-linux","riscv64-linux","s390-linux","s390x-linux","x86_64-linux","x86_64-darwin","i686-darwin","aarch64-darwin","armv7a-darwin","i686-cygwin","x86_64-cygwin","aarch64-windows","x86_64-windows","i686-windows","i686-freebsd","x86_64-freebsd"],"broken":false,"insecure":false,"unfree":false,"outputs":["dist","out"],"upstream_ecosystem":"pypi","upstream_name":"env-canada","upstream_purl":"pkg:pypi/env-canada"},"repo_metadata":{"id":41367345,"uuid":"142818823","full_name":"michaeldavie/env_canada","owner":"michaeldavie","description":"Environment Canada Weather Data","archived":false,"fork":false,"pushed_at":"2026-08-04T23:14:27.000Z","size":1545,"stargazers_count":110,"open_issues_count":0,"forks_count":29,"subscribers_count":9,"default_branch":"main","last_synced_at":"2026-08-05T01:04:17.710Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/michaeldavie.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null}},"created_at":"2018-07-30T03:14:30.000Z","updated_at":"2026-08-04T23:14:48.000Z","dependencies_parsed_at":"2023-02-19T02:00:56.635Z","dependency_job_id":"abbc9e7b-54c9-4e6d-9dc7-03147d9c5c9c","html_url":"https://github.com/michaeldavie/env_canada","commit_stats":{"total_commits":282,"total_committers":16,"mean_commits":17.625,"dds":"0.24468085106382975","last_synced_commit":"b7a2c98fd46de46e7357c384c6ee345f92043fb5"},"previous_names":[],"tags_count":89,"template":false,"template_full_name":null,"purl":"pkg:github/michaeldavie/env_canada","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/michaeldavie","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/sbom","scorecard":{"id":641063,"data":{"date":"2025-08-11","repo":{"name":"github.com/michaeldavie/env_canada","commit":"741482181f4e6d87783e2555099b975854fa3b74"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.1,"checks":[{"name":"Maintained","score":10,"reason":"13 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":1,"reason":"Found 3/26 approved changesets -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql-analysis.yml:30","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql-analysis.yml:31","Warn: no topLevel permission defined: .github/workflows/codeql-analysis.yml:1","Warn: no topLevel permission defined: .github/workflows/python-app.yml:1","Warn: no topLevel permission defined: .github/workflows/python-publish.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"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/codeql-analysis.yml:43: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:72: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-app.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-app.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-app.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-app.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-publish.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-publish.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-publish.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-publish.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/python-app.yml:25","Warn: pipCommand not pinned by hash: .github/workflows/python-app.yml:26","Warn: pipCommand not pinned by hash: .github/workflows/python-app.yml:27","Warn: pipCommand not pinned by hash: .github/workflows/python-publish.yml:22","Warn: pipCommand not pinned by hash: .github/workflows/python-publish.yml:23","Info:   0 out of   8 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   5 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'","Warn: branch protection not enabled for branch 'maintenance'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (18) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-21T10:46:01.396Z","repository_id":41367345,"created_at":"2025-08-21T10:46:01.396Z","updated_at":"2025-08-21T10:46:01.396Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36488524,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-10T02:00:05.122Z","response_time":58,"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-12T16:54:21.814Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:nix/python312Packages.env-canada?channel=24.11\u0026repository_url=https://channels.nixos.org/nixos-24.11","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nixpkgs/python312Packages.env-canada","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nixpkgs/python312Packages.env-canada","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nixpkgs/python312Packages.env-canada/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-11T16:03:36.298Z","issues_count":70,"pull_requests_count":94,"avg_time_to_close_issue":6916585.9275362315,"avg_time_to_close_pull_request":544629.1797752809,"issues_closed_count":69,"pull_requests_closed_count":89,"pull_request_authors_count":22,"issue_authors_count":45,"avg_comments_per_issue":2.7857142857142856,"avg_comments_per_pull_request":0.8617021276595744,"merged_pull_requests_count":84,"bot_issues_count":0,"bot_pull_requests_count":7,"past_year_issues_count":8,"past_year_pull_requests_count":18,"past_year_avg_time_to_close_issue":98462.5,"past_year_avg_time_to_close_pull_request":114048.94444444444,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":18,"past_year_pull_request_authors_count":7,"past_year_issue_authors_count":5,"past_year_avg_comments_per_issue":2.5,"past_year_avg_comments_per_pull_request":0.7777777777777778,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":7,"past_year_merged_pull_requests_count":17,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/issues","maintainers":[{"login":"michaeldavie","count":19,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/michaeldavie"},{"login":"gwww","count":17,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gwww"}],"active_maintainers":[{"login":"gwww","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gwww"},{"login":"michaeldavie","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/michaeldavie"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python312Packages.env-canada/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python312Packages.env-canada/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python312Packages.env-canada/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python312Packages.env-canada/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python312Packages.env-canada/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python312Packages.env-canada/codemeta","maintainers":[{"uuid":"fabaff","login":null,"name":"Fabian Affolter","email":"mail@fabian-affolter.ch","url":"https://github.com/fabaff","packages_count":5052,"html_url":null,"role":null,"created_at":"2026-03-07T14:17:19.869Z","updated_at":"2026-03-07T14:17:19.869Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/maintainers/fabaff/packages"}],"registry":{"name":"nixpkgs-24.11","url":"https://channels.nixos.org/nixos-24.11","ecosystem":"nixpkgs","default":false,"packages_count":121983,"maintainers_count":3777,"namespaces_count":0,"keywords_count":739,"github":"NixOS","metadata":{"funded_packages_count":2012},"icon_url":"https://github.com/NixOS.png","created_at":"2026-01-25T22:30:53.059Z","updated_at":"2026-08-12T05:04:54.096Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/namespaces"}},{"id":12886963,"name":"python314Packages.env-canada","ecosystem":"nixpkgs","description":"Python library to get Environment Canada weather data","homepage":"https://github.com/michaeldavie/env_canada","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/michaeldavie/env_canada","keywords_array":["python"],"namespace":null,"versions_count":3,"first_release_published_at":"2026-01-27T07:12:49.576Z","latest_release_published_at":"2026-03-03T22:17:52.773Z","latest_release_number":"0.13.2","last_synced_at":"2026-04-10T19:01:55.673Z","created_at":"2026-01-27T07:12:49.160Z","updated_at":"2026-08-12T16:54:21.803Z","registry_url":"https://search.nixos.org/packages?channel=unstable\u0026query=python314Packages.env-canada","install_command":"nix-env -iA nixpkgs.python314Packages.env-canada","documentation_url":"https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/development/python-modules/env-canada/default.nix#L73","metadata":{"nix_attribute":"python3.14-env-canada-0.13.2","position":"pkgs/development/python-modules/env-canada/default.nix:73","platforms":["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","x86_64-darwin","aarch64-darwin","aarch64-windows","x86_64-windows","i686-windows","i686-freebsd","x86_64-freebsd","aarch64-freebsd"],"broken":false,"insecure":false,"unfree":false,"outputs":["dist","out"],"upstream_ecosystem":"pypi","upstream_name":"env-canada","upstream_purl":"pkg:pypi/env-canada"},"repo_metadata":{"id":41367345,"uuid":"142818823","full_name":"michaeldavie/env_canada","owner":"michaeldavie","description":"Environment Canada Weather Data","archived":false,"fork":false,"pushed_at":"2026-08-04T23:14:27.000Z","size":1545,"stargazers_count":110,"open_issues_count":0,"forks_count":29,"subscribers_count":9,"default_branch":"main","last_synced_at":"2026-08-05T01:04:17.710Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/michaeldavie.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null}},"created_at":"2018-07-30T03:14:30.000Z","updated_at":"2026-08-04T23:14:48.000Z","dependencies_parsed_at":"2023-02-19T02:00:56.635Z","dependency_job_id":"abbc9e7b-54c9-4e6d-9dc7-03147d9c5c9c","html_url":"https://github.com/michaeldavie/env_canada","commit_stats":{"total_commits":282,"total_committers":16,"mean_commits":17.625,"dds":"0.24468085106382975","last_synced_commit":"b7a2c98fd46de46e7357c384c6ee345f92043fb5"},"previous_names":[],"tags_count":89,"template":false,"template_full_name":null,"purl":"pkg:github/michaeldavie/env_canada","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/michaeldavie","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/sbom","scorecard":{"id":641063,"data":{"date":"2025-08-11","repo":{"name":"github.com/michaeldavie/env_canada","commit":"741482181f4e6d87783e2555099b975854fa3b74"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.1,"checks":[{"name":"Maintained","score":10,"reason":"13 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":1,"reason":"Found 3/26 approved changesets -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql-analysis.yml:30","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql-analysis.yml:31","Warn: no topLevel permission defined: .github/workflows/codeql-analysis.yml:1","Warn: no topLevel permission defined: .github/workflows/python-app.yml:1","Warn: no topLevel permission defined: .github/workflows/python-publish.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"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/codeql-analysis.yml:43: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:72: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-app.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-app.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-app.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-app.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-publish.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-publish.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-publish.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-publish.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/python-app.yml:25","Warn: pipCommand not pinned by hash: .github/workflows/python-app.yml:26","Warn: pipCommand not pinned by hash: .github/workflows/python-app.yml:27","Warn: pipCommand not pinned by hash: .github/workflows/python-publish.yml:22","Warn: pipCommand not pinned by hash: .github/workflows/python-publish.yml:23","Info:   0 out of   8 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   5 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'","Warn: branch protection not enabled for branch 'maintenance'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (18) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-21T10:46:01.396Z","repository_id":41367345,"created_at":"2025-08-21T10:46:01.396Z","updated_at":"2025-08-21T10:46:01.396Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36488524,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-10T02:00:05.122Z","response_time":58,"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-12T16:54:21.803Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:nix/python314Packages.env-canada?channel=unstable","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nixpkgs/python314Packages.env-canada","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nixpkgs/python314Packages.env-canada","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nixpkgs/python314Packages.env-canada/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-11T16:03:36.298Z","issues_count":70,"pull_requests_count":94,"avg_time_to_close_issue":6916585.9275362315,"avg_time_to_close_pull_request":544629.1797752809,"issues_closed_count":69,"pull_requests_closed_count":89,"pull_request_authors_count":22,"issue_authors_count":45,"avg_comments_per_issue":2.7857142857142856,"avg_comments_per_pull_request":0.8617021276595744,"merged_pull_requests_count":84,"bot_issues_count":0,"bot_pull_requests_count":7,"past_year_issues_count":8,"past_year_pull_requests_count":18,"past_year_avg_time_to_close_issue":98462.5,"past_year_avg_time_to_close_pull_request":114048.94444444444,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":18,"past_year_pull_request_authors_count":7,"past_year_issue_authors_count":5,"past_year_avg_comments_per_issue":2.5,"past_year_avg_comments_per_pull_request":0.7777777777777778,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":7,"past_year_merged_pull_requests_count":17,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/issues","maintainers":[{"login":"michaeldavie","count":19,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/michaeldavie"},{"login":"gwww","count":17,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gwww"}],"active_maintainers":[{"login":"gwww","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gwww"},{"login":"michaeldavie","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/michaeldavie"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python314Packages.env-canada/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python314Packages.env-canada/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python314Packages.env-canada/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python314Packages.env-canada/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python314Packages.env-canada/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python314Packages.env-canada/codemeta","maintainers":[{"uuid":"fabaff","login":null,"name":"Fabian Affolter","email":"mail@fabian-affolter.ch","url":"https://github.com/fabaff","packages_count":5238,"html_url":null,"role":null,"created_at":"2026-03-03T22:17:53.434Z","updated_at":"2026-03-03T22:17:53.434Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/maintainers/fabaff/packages"}],"registry":{"name":"nixpkgs-unstable","url":"https://channels.nixos.org/nixos-unstable","ecosystem":"nixpkgs","default":true,"packages_count":152653,"maintainers_count":4862,"namespaces_count":0,"keywords_count":3247,"github":"NixOS","metadata":{"funded_packages_count":4397},"icon_url":"https://github.com/NixOS.png","created_at":"2026-01-25T22:30:52.762Z","updated_at":"2026-08-13T05:00:15.326Z","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"}},{"id":14283180,"name":"env_canada","ecosystem":"pypi","description":"A package to access meteorological data from Environment Canada","homepage":"https://github.com/michaeldavie/env_canada","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/michaeldavie/env_canada","keywords_array":[],"namespace":null,"versions_count":127,"first_release_published_at":"2018-07-30T02:48:18.000Z","latest_release_published_at":"2026-08-09T20:16:24.000Z","latest_release_number":"0.19.1","last_synced_at":"2026-08-12T17:12:31.332Z","created_at":"2026-04-19T23:07:16.957Z","updated_at":"2026-08-12T17:12:31.333Z","registry_url":"https://pypi.org/project/env_canada/","install_command":"pip install env_canada --index-url https://pypi.org/simple","documentation_url":"https://github.com/michaeldavie/env_canada","metadata":{"funding":null,"documentation":"https://github.com/michaeldavie/env_canada","classifiers":["Operating System :: OS Independent","Programming Language :: Python :: 3"],"normalized_name":"env-canada","project_status":null},"repo_metadata":{"id":41367345,"uuid":"142818823","full_name":"michaeldavie/env_canada","owner":"michaeldavie","description":"Environment Canada Weather Data","archived":false,"fork":false,"pushed_at":"2026-08-04T23:14:27.000Z","size":1545,"stargazers_count":110,"open_issues_count":0,"forks_count":29,"subscribers_count":9,"default_branch":"main","last_synced_at":"2026-08-05T01:04:17.710Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/michaeldavie.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null}},"created_at":"2018-07-30T03:14:30.000Z","updated_at":"2026-08-04T23:14:48.000Z","dependencies_parsed_at":"2023-02-19T02:00:56.635Z","dependency_job_id":"abbc9e7b-54c9-4e6d-9dc7-03147d9c5c9c","html_url":"https://github.com/michaeldavie/env_canada","commit_stats":{"total_commits":282,"total_committers":16,"mean_commits":17.625,"dds":"0.24468085106382975","last_synced_commit":"b7a2c98fd46de46e7357c384c6ee345f92043fb5"},"previous_names":[],"tags_count":89,"template":false,"template_full_name":null,"purl":"pkg:github/michaeldavie/env_canada","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/michaeldavie","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/sbom","scorecard":{"id":641063,"data":{"date":"2025-08-11","repo":{"name":"github.com/michaeldavie/env_canada","commit":"741482181f4e6d87783e2555099b975854fa3b74"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.1,"checks":[{"name":"Maintained","score":10,"reason":"13 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":1,"reason":"Found 3/26 approved changesets -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql-analysis.yml:30","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql-analysis.yml:31","Warn: no topLevel permission defined: .github/workflows/codeql-analysis.yml:1","Warn: no topLevel permission defined: .github/workflows/python-app.yml:1","Warn: no topLevel permission defined: .github/workflows/python-publish.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"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/codeql-analysis.yml:43: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:72: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-app.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-app.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-app.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-app.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-publish.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-publish.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-publish.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/michaeldavie/env_canada/python-publish.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/python-app.yml:25","Warn: pipCommand not pinned by hash: .github/workflows/python-app.yml:26","Warn: pipCommand not pinned by hash: .github/workflows/python-app.yml:27","Warn: pipCommand not pinned by hash: .github/workflows/python-publish.yml:22","Warn: pipCommand not pinned by hash: .github/workflows/python-publish.yml:23","Info:   0 out of   8 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   5 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'","Warn: branch protection not enabled for branch 'maintenance'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (18) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-21T10:46:01.396Z","repository_id":41367345,"created_at":"2025-08-21T10:46:01.396Z","updated_at":"2025-08-21T10:46:01.396Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36488524,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-10T02:00:05.122Z","response_time":58,"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":"michaeldavie","name":"Michael Davie","uuid":"16008714","kind":"user","description":"","email":"","website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/16008714?u=e6ccebf558d0e63d08acc061ab68c3ae247ffa27\u0026v=4","repositories_count":5,"last_synced_at":"2023-03-03T21:25:13.574Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/michaeldavie","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-14T05:39:00.520Z","updated_at":"2023-03-03T21:25:13.584Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/michaeldavie","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/michaeldavie/repositories"},"tags":[{"name":"v0.19.1","sha":"93ddcaf210beff31e89181d2745bd77cc2184652","kind":"commit","published_at":"2026-08-09T20:15:52.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.19.1","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.19.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.19.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.19.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.19.1/manifests"},{"name":"v0.19.1rc2","sha":"00f730f99beef1d99906d6bbdf976c8a42674104","kind":"commit","published_at":"2026-08-09T20:06:08.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.19.1rc2","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.19.1rc2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.19.1rc2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.19.1rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.19.1rc2/manifests"},{"name":"v0.19.1rc1","sha":"e9e9d11d00018e7923c19d5b7c193bac1590668e","kind":"commit","published_at":"2026-08-09T19:52:44.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.19.1rc1","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.19.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.19.1rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.19.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.19.1rc1/manifests"},{"name":"v0.19.0","sha":"64b6503ff4635e99bddf5f4292e95a1a1c3a1956","kind":"commit","published_at":"2026-08-08T16:48:36.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.19.0","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.19.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.19.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.19.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.19.0/manifests"},{"name":"v0.18.0","sha":"e068b9e09efac0caaeb47f52e28f6bd885baea5d","kind":"commit","published_at":"2026-07-29T16:14:54.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.18.0","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.18.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.18.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.18.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.18.0/manifests"},{"name":"v0.17.0","sha":"0348ab9c8de875d685e29ec02fb25e149ceca46f","kind":"commit","published_at":"2026-07-26T13:13:53.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.17.0","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.17.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.17.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.17.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.17.0/manifests"},{"name":"v0.16.1","sha":"e476938998200553249b22b056bbf731ccff85fa","kind":"commit","published_at":"2026-07-01T21:44:27.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.16.1","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.16.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.16.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.16.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.16.1/manifests"},{"name":"v0.16.0","sha":"72011022adaa886c657090bb61ed108b5e4f41e6","kind":"commit","published_at":"2026-07-01T17:04:56.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.16.0","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.16.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.16.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.16.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.16.0/manifests"},{"name":"v0.15.0","sha":"24a4bf612202d3f1a7c660ccd50c93a27c23e249","kind":"commit","published_at":"2026-04-19T21:53:12.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.15.0","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.15.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.15.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.15.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.15.0/manifests"},{"name":"v0.14.1","sha":"599f40fc6c37e50d67569daaa11d3751b87c6659","kind":"commit","published_at":"2026-04-03T18:20:05.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.14.1","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.14.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.14.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.14.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.14.1/manifests"},{"name":"v0.14.0","sha":"19beeeb0e3c0f18c797d80a71421da3bbb883b53","kind":"commit","published_at":"2026-03-07T14:08:08.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.14.0","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.14.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.14.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.14.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.14.0/manifests"},{"name":"v0.13.2","sha":"534dc2ba5536b1a65d162440064adbc8ddbab358","kind":"commit","published_at":"2026-02-28T17:56:18.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.13.2","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.13.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.13.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.13.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.13.2/manifests"},{"name":"v0.13.1","sha":"5a860bee47f32ea6fb110bd8ebbceae06770b5c5","kind":"commit","published_at":"2026-02-28T16:54:09.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.13.1","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.13.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.13.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.13.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.13.1/manifests"},{"name":"v0.13.0","sha":"d79f452fa205042359f48b641888f9d1d64f1554","kind":"commit","published_at":"2026-02-28T16:13:44.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.13.0","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.13.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.13.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.13.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.13.0/manifests"},{"name":"v0.12.4","sha":"d2fc5f8ed1641633da14ed0fb9e5a02d8278df5a","kind":"commit","published_at":"2026-01-25T20:25:38.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.12.4","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.12.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.12.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.12.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.12.4/manifests"},{"name":"v0.12.3","sha":"17c97a875b7dc1fb933d688500c3a391446f793b","kind":"commit","published_at":"2026-01-24T22:51:06.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.12.3","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.12.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.12.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.12.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.12.3/manifests"},{"name":"v0.12.2","sha":"7b70ed04f163ee401bc727ce6b7d36e92bf7512c","kind":"commit","published_at":"2025-12-11T02:47:51.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.12.2","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.12.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.12.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.12.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.12.2/manifests"},{"name":"v0.12.1","sha":"1eb39d2e67b9cf49ff6538a20042d2aab8cd0b7a","kind":"commit","published_at":"2025-10-12T01:58:14.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.12.1","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.12.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.12.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.12.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.12.1/manifests"},{"name":"v0.12.0","sha":"c745c1fe49927e17297c483011e8b266c29bb293","kind":"commit","published_at":"2025-10-12T00:06:12.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.12.0","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.12.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.12.0/manifests"},{"name":"v0.11.3","sha":"8d0a3c1a8c0aab0e0cf6d03ea3771ee66d15860f","kind":"commit","published_at":"2025-10-07T23:28:34.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.11.3","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.11.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.11.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.11.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.11.3/manifests"},{"name":"v0.11.2","sha":"a3f428aadee42aea0ccdfebe205b0c20a839604a","kind":"commit","published_at":"2025-06-08T23:50:32.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.11.2","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.11.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.11.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.11.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.11.2/manifests"},{"name":"v0.11.1","sha":"19380545bdb519c22c413258bc9bfedcdec265e8","kind":"commit","published_at":"2025-06-08T19:16:39.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.11.1","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.11.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.11.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.11.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.11.1/manifests"},{"name":"v0.11.0","sha":"713d199f722438507c25ee6a063ca909f113aa6e","kind":"commit","published_at":"2025-06-07T19:35:43.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.11.0","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.11.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.11.0/manifests"},{"name":"0.10.2","sha":"66b6b0dcb79a9e73ce58ba67d805593d18fcfbda","kind":"commit","published_at":"2025-04-25T13:22:57.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/0.10.2","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/0.10.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@0.10.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/0.10.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/0.10.2/manifests"},{"name":"0.10.1","sha":"d6b4f97c8b7cabf42403f5cb858457c31e76cdc2","kind":"commit","published_at":"2025-04-13T21:38:08.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/0.10.1","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/0.10.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@0.10.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/0.10.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/0.10.1/manifests"},{"name":"0.10.0","sha":"b402752e74679bf96d970d2e4d1604cbfa941397","kind":"commit","published_at":"2025-04-13T19:20:07.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/0.10.0","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/0.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@0.10.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/0.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/0.10.0/manifests"},{"name":"v0.9.0","sha":"a736c51b6d142d198e8f54760399e28b0bf2eae1","kind":"commit","published_at":"2025-04-13T15:35:26.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.9.0","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.9.0/manifests"},{"name":"v0.8.0","sha":"f202ba03463fa004d301eac6e6a294c7d05a48ca","kind":"commit","published_at":"2025-01-08T01:42:04.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.8.0","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.8.0/manifests"},{"name":"v0.7.2","sha":"821b7f3a78cb727ea95be22891244aba64bea568","kind":"commit","published_at":"2024-07-13T17:24:23.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.7.2","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.7.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.7.2/manifests"},{"name":"v0.7.1","sha":"74140ceea7863a295f34969c3797b0a0f9991471","kind":"commit","published_at":"2024-06-27T18:16:12.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.7.1","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.7.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.7.1/manifests"},{"name":"v0.6.3","sha":"92ffb545cef0966207e9ea3c0468e93e6ddad3ec","kind":"commit","published_at":"2024-06-21T02:08:37.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.6.3","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.6.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.6.3/manifests"},{"name":"v0.7.0","sha":"417ea74ecd4868f6ca1de7ce4c5695a2a2899e9a","kind":"commit","published_at":"2024-06-20T02:03:21.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.7.0","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.7.0/manifests"},{"name":"v0.6.2","sha":"228d20e52ca17e81a50551b4ef8c10b95b0cdcf0","kind":"commit","published_at":"2024-05-02T20:38:55.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.6.2","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.6.2/manifests"},{"name":"v0.6.1","sha":"f53bd0b66ebb3ddeebe32c4fa49c77d1cef5160a","kind":"commit","published_at":"2023-12-19T13:58:45.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.6.1","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.6.1/manifests"},{"name":"v0.6.0","sha":"2904100a66984d5a1d45bb79e79315fb08265421","kind":"commit","published_at":"2023-10-11T01:57:05.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.6.0","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.6.0/manifests"},{"name":"v0.5.37","sha":"2c7fcffff69804cf52cd30f6f6c711ef9c0417c8","kind":"commit","published_at":"2023-10-05T03:05:53.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.5.37","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.5.37","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.5.37","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.37","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.37/manifests"},{"name":"v0.5.36","sha":"12534f2a08c4991ef88d10549fea5af925730da3","kind":"commit","published_at":"2023-07-21T02:38:10.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.5.36","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.5.36","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.5.36","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.36","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.36/manifests"},{"name":"v0.5.35","sha":"b067803e7967149db2af6bd6d7790bfa819bbd05","kind":"commit","published_at":"2023-06-26T02:13:08.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.5.35","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.5.35","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.5.35","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.35","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.35/manifests"},{"name":"v0.5.34","sha":"0dcc4da1fcff082ca6b3b7f4a9e488509f2ddc0c","kind":"commit","published_at":"2023-04-28T20:55:58.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.5.34","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.5.34","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.5.34","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.34","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.34/manifests"},{"name":"v0.5.33","sha":"470cd951b1282e5b3a029109961b28080ed456e7","kind":"commit","published_at":"2023-04-15T15:55:12.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.5.33","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.5.33","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.5.33","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.33","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.33/manifests"},{"name":"v0.5.32","sha":"e105777da8c52bd5b790fae324fd01296fa5e83d","kind":"commit","published_at":"2023-04-09T15:22:25.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.5.32","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.5.32","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.5.32","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.32","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.32/manifests"},{"name":"v0.5.31","sha":"9d3847b43e952b29db1b8c07b787a3ba3e7c6ed4","kind":"commit","published_at":"2023-04-08T18:30:55.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.5.31","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.5.31","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.5.31","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.31","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.31/manifests"},{"name":"v0.5.30","sha":"f5aac21c3b1575c536e41551cfd81e3e24c71d95","kind":"commit","published_at":"2023-04-01T15:54:56.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.5.30","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.5.30","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.5.30","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.30","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.30/manifests"},{"name":"v0.5.29","sha":"5db39c8eb8577fdbef94de746d0882bb2510d2f7","kind":"commit","published_at":"2023-02-26T16:37:02.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.5.29","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.5.29","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.5.29","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.29","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.29/manifests"},{"name":"v0.5.28","sha":"ab4a4d257891b75a4ce1bfc4408e9e856d3977a8","kind":"commit","published_at":"2023-02-05T20:46:18.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.5.28","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.5.28","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.5.28","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.28","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.28/manifests"},{"name":"v0.5.27","sha":"2c12408191499cd13a022e2ec69f4628147f4561","kind":"commit","published_at":"2023-01-31T03:25:57.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.5.27","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.5.27","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.5.27","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.27","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.27/manifests"},{"name":"v0.5.26","sha":"470f8df2bb2573cad3dda8db183a5cb24a249018","kind":"commit","published_at":"2023-01-21T19:14:18.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.5.26","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.5.26","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.5.26","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.26","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.26/manifests"},{"name":"v0.5.25","sha":"1819e2693b6b5f37d67b5a1d943d4084f83171cc","kind":"commit","published_at":"2022-08-28T02:26:06.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.5.25","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.5.25","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.5.25","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.25","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.25/manifests"},{"name":"v0.5.24","sha":"a951667b1e419df4fddc75aaf27dc4c9857fd932","kind":"commit","published_at":"2022-07-01T02:38:05.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.5.24","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.5.24","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.5.24","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.24","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.24/manifests"},{"name":"v0.5.23","sha":"e7f205ad46d4cf98eee5232e2e81982148fa990d","kind":"commit","published_at":"2022-04-10T21:15:30.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.5.23","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.5.23","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.5.23","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.23","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.23/manifests"},{"name":"v0.5.22","sha":"af01f2e396f1e3aded83470b7a1f2bac8b5aa222","kind":"commit","published_at":"2022-04-03T20:41:08.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.5.22","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.5.22","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.5.22","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.22","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.22/manifests"},{"name":"v0.5.21","sha":"b04d9aaf3f398d8cba5ba7e3f5babbbd4b66a89f","kind":"commit","published_at":"2022-03-16T01:00:19.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.5.21","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.5.21","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.5.21","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.21","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.21/manifests"},{"name":"v0.5.20","sha":"761f06dbe126ce629124ac7da471c0a6942131ae","kind":"commit","published_at":"2021-12-15T04:54:54.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.5.20","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.5.20","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.5.20","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.20","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.20/manifests"},{"name":"v0.5.19","sha":"5c0f67b9bd09ddb3e6edb858bb703e64e91cc0ae","kind":"commit","published_at":"2021-12-12T14:33:04.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.5.19","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.5.19","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.5.19","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.19","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.19/manifests"},{"name":"v0.5.18","sha":"75a33c9b357dcac0cda2c9b7adacc80681c44a76","kind":"commit","published_at":"2021-11-21T14:08:31.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.5.18","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.5.18","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.5.18","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.18","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.18/manifests"},{"name":"v0.5.17","sha":"d22a8079896baaa34829c66db2c4eb6eda0d30d4","kind":"commit","published_at":"2021-11-21T00:00:52.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.5.17","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.5.17","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.5.17","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.17","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.17/manifests"},{"name":"v0.5.16","sha":"4ed8686e303af7186594530c24646758a2ca43b2","kind":"commit","published_at":"2021-11-07T12:50:01.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.5.16","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.5.16","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.5.16","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.16","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.16/manifests"},{"name":"v0.5.15","sha":"7daed6f4d9fb06a5cd95cc1ed19f0d7f9653e6b1","kind":"commit","published_at":"2021-11-02T12:13:56.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.5.15","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.5.15","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.5.15","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.15/manifests"},{"name":"v0.5.14","sha":"bba9d92211e2d9d2aed9c18882f63a1fb00f6014","kind":"commit","published_at":"2021-10-15T00:33:12.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.5.14","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.5.14","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.5.14","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.14/manifests"},{"name":"v0.2.7","sha":"fc7c6e4a1f400639e45ad19ea27847907ecbf991","kind":"commit","published_at":"2021-10-09T10:51:02.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.2.7","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.2.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.2.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.2.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.2.7/manifests"},{"name":"v0.5.13","sha":"dd83c797f314df23759ab17a70642a9d0bd7233c","kind":"commit","published_at":"2021-09-22T01:50:38.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.5.13","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.5.13","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.5.13","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.13/manifests"},{"name":"v0.5.12","sha":"c813182ad77b2abe47eace3412edf2f4fb8412a4","kind":"commit","published_at":"2021-09-18T21:11:59.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.5.12","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.5.12","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.5.12","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.12/manifests"},{"name":"v0.5.11","sha":"24b32b9db8035386d84de6029529c289a040b098","kind":"commit","published_at":"2021-09-17T11:43:58.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.5.11","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.5.11","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.5.11","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.11/manifests"},{"name":"v0.5.10","sha":"2fa9331f4c23295fb10ea8d1fa30d417335af490","kind":"commit","published_at":"2021-09-17T02:19:37.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.5.10","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.5.10","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.5.10","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.10/manifests"},{"name":"v0.5.9","sha":"e9f4683c08b3951b428f35b41504ddaefdef6150","kind":"commit","published_at":"2021-09-14T11:48:10.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.5.9","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.5.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.5.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.9/manifests"},{"name":"v0.5.8","sha":"d0d4b2fa9397028356d548a45e319870973f192c","kind":"commit","published_at":"2021-09-13T23:26:37.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.5.8","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.5.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.5.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.8/manifests"},{"name":"v0.5.7","sha":"5751d2766d4e06ecf1fec18c742dd5118ab16500","kind":"commit","published_at":"2021-09-12T20:22:46.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.5.7","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.5.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.5.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.7/manifests"},{"name":"v0.5.6","sha":"d4e7f080874716d8aab78ba925ef3255ad14c150","kind":"commit","published_at":"2021-09-11T02:52:38.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.5.6","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.5.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.5.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.6/manifests"},{"name":"v0.5.5","sha":"a65c36c8869fd398b98feb9e86d5caaa877eba63","kind":"commit","published_at":"2021-09-11T01:48:28.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.5.5","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.5.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.5.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.5/manifests"},{"name":"v0.5.4","sha":"dda60e150a8a238e589bbfa38da175b438debd65","kind":"commit","published_at":"2021-09-08T01:51:20.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.5.4","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.5.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.5.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.4/manifests"},{"name":"v0.5.3","sha":"4289904f3b4290684080f88690ed90e8188b57f1","kind":"commit","published_at":"2021-09-06T21:03:00.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.5.3","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.3/manifests"},{"name":"v0.5.2","sha":"c7216bce89e6548f3deb49c1582c776a433b475a","kind":"commit","published_at":"2021-09-04T21:29:53.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.5.2","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.2/manifests"},{"name":"v0.5.1","sha":"dc86e3d9699f3ada6d42f8e4f6d774902380bec0","kind":"commit","published_at":"2021-08-31T03:37:01.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.5.1","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.1/manifests"},{"name":"v0.2.6","sha":"ed58f8f25a37de0632931a288208adedcde905d9","kind":"commit","published_at":"2021-08-31T03:35:05.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.2.6","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.2.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.2.6/manifests"},{"name":"v0.5.0","sha":"4ce3ac967272ce7e76c336768bf032d85fb6da52","kind":"commit","published_at":"2021-08-05T21:57:03.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.5.0","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.5.0/manifests"},{"name":"v0.4.1","sha":"50feaad512756e681430ab605afbb4dcab2dca20","kind":"commit","published_at":"2021-07-21T03:18:10.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.4.1","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.4.1/manifests"},{"name":"v0.4.0","sha":"08545c1f19de7d1b982077351b1b76e3e4769540","kind":"commit","published_at":"2021-06-16T02:21:50.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.4.0","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.4.0/manifests"},{"name":"v0.3.2","sha":"e1041fcf296f62383381aa8289b15de051558f94","kind":"commit","published_at":"2021-03-30T18:11:03.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.3.2","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.3.2/manifests"},{"name":"v0.2.5","sha":"aff9c6f39b566b4b4fca5340f2972babe57f55af","kind":"commit","published_at":"2020-12-29T22:28:18.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.2.5","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.2.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.2.5/manifests"},{"name":"v0.3.1","sha":"2dcad6f2537e04055dc0be15278becd3f2aef0f6","kind":"commit","published_at":"2020-12-06T20:18:06.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.3.1","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"421f4a712442dc554a5c7e7977b80b633d2936cb","kind":"commit","published_at":"2020-12-02T18:31:18.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.3.0","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.3.0/manifests"},{"name":"v0.2.4","sha":"ae2ce67390d3fb5c8e01cbc52e6e19f498c462f8","kind":"commit","published_at":"2020-11-15T03:22:25.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.2.4","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.2.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.2.4/manifests"},{"name":"v0.2.3redux","sha":"dde9cb20a6ace8e9ff102af660c07d3370d2eb94","kind":"commit","published_at":"2020-11-14T23:09:30.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.2.3redux","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.2.3redux","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.2.3redux","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.2.3redux","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.2.3redux/manifests"},{"name":"v0.2.3","sha":"0716b012f5123f550e8d8a485223f1da7598f729","kind":"commit","published_at":"2020-11-14T23:03:51.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.2.3","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.2.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.2.3/manifests"},{"name":"v0.2.2","sha":"0072b58d609238d6fd86bfa1b9e4a7838aa51bb1","kind":"commit","published_at":"2020-11-14T19:03:32.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.2.2","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.2.2/manifests"},{"name":"v0.2.0","sha":"9debf89561927de279dbc9e8d8d6402b1a785d97","kind":"commit","published_at":"2020-07-04T19:05:02.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.2.0","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.2.0/manifests"},{"name":"v0.1.0","sha":"7a813ea01a82d5873aa1e660a121dea05310da93","kind":"commit","published_at":"2020-07-04T19:01:24.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.1.0","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.1.0/manifests"},{"name":"v0.0.41","sha":"3a1e6e2b3711af474fdc85a8999acf872df0caf5","kind":"tag","published_at":"2020-07-04T13:36:36.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.0.41","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.0.41","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.0.41","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.0.41","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.0.41/manifests"},{"name":"v0.0.39","sha":"a71a2f45995c339bc3019cacfd208e6a27d4ac21","kind":"commit","published_at":"2020-06-15T01:37:24.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.0.39","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.0.39","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.0.39","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.0.39","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.0.39/manifests"},{"name":"v0.0.34","sha":"f3147825e25b9a4e4db8aebf682f69feacefd29e","kind":"commit","published_at":"2020-01-12T19:39:54.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.0.34","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.0.34","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.0.34","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.0.34","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.0.34/manifests"},{"name":"v0.0.33","sha":"ac881c079ad1ac57246b7f3ed4e073c66021af4e","kind":"commit","published_at":"2020-01-03T04:06:32.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.0.33","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.0.33","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.0.33","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.0.33","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.0.33/manifests"},{"name":"v0.0.31","sha":"0d1c20b65d01bfa957f0ebaa5d29ecae1a67b2ae","kind":"commit","published_at":"2020-01-02T19:53:13.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.0.31","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.0.31","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.0.31","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.0.31","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.0.31/manifests"},{"name":"v0.0.30","sha":"0ac2a8ba600281e4e8b0115133d95ec3c94aa7e7","kind":"commit","published_at":"2019-11-03T02:02:34.000Z","download_url":"https://codeload.github.com/michaeldavie/env_canada/tar.gz/v0.0.30","html_url":"https://github.com/michaeldavie/env_canada/releases/tag/v0.0.30","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/michaeldavie/env_canada@v0.0.30","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.0.30","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/tags/v0.0.30/manifests"}]},"repo_metadata_updated_at":"2026-08-12T16:54:21.916Z","dependent_packages_count":0,"downloads":80154,"downloads_period":"last-month","dependent_repos_count":0,"rankings":{"downloads":1.9405041475701676,"dependent_repos_count":41.747234953221465,"dependent_packages_count":7.381467558047043,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":17.023068886279557},"purl":"pkg:pypi/env-canada","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/env_canada","docker_dependents_count":54,"docker_downloads_count":755296949,"usage_url":"https://repos.ecosyste.ms/usage/pypi/env_canada","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/env_canada/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-11T16:03:36.298Z","issues_count":70,"pull_requests_count":94,"avg_time_to_close_issue":6916585.9275362315,"avg_time_to_close_pull_request":544629.1797752809,"issues_closed_count":69,"pull_requests_closed_count":89,"pull_request_authors_count":22,"issue_authors_count":45,"avg_comments_per_issue":2.7857142857142856,"avg_comments_per_pull_request":0.8617021276595744,"merged_pull_requests_count":84,"bot_issues_count":0,"bot_pull_requests_count":7,"past_year_issues_count":8,"past_year_pull_requests_count":18,"past_year_avg_time_to_close_issue":98462.5,"past_year_avg_time_to_close_pull_request":114048.94444444444,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":18,"past_year_pull_request_authors_count":7,"past_year_issue_authors_count":5,"past_year_avg_comments_per_issue":2.5,"past_year_avg_comments_per_pull_request":0.7777777777777778,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":7,"past_year_merged_pull_requests_count":17,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/issues","maintainers":[{"login":"michaeldavie","count":19,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/michaeldavie"},{"login":"gwww","count":17,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gwww"}],"active_maintainers":[{"login":"gwww","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gwww"},{"login":"michaeldavie","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/michaeldavie"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/env_canada/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/env_canada/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/env_canada/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/env_canada/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/env_canada/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/env_canada/codemeta","maintainers":[{"uuid":"michaeldavie","login":"michaeldavie","name":null,"email":null,"url":null,"packages_count":2,"html_url":"https://pypi.org/user/michaeldavie/","role":"Owner","created_at":"2026-04-19T23:11:18.446Z","updated_at":"2026-04-19T23:11:18.446Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/michaeldavie/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":927931,"maintainers_count":398404,"namespaces_count":0,"keywords_count":309778,"github":"pypi","metadata":{"funded_packages_count":57398,"rate_limit":2},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2026-08-13T11:34:41.860Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}}],"commits":{"id":574325,"full_name":"michaeldavie/env_canada","default_branch":"master","total_commits":373,"total_committers":23,"total_bot_commits":6,"total_bot_committers":1,"mean_commits":16.217391304347824,"dds":0.2949061662198391,"past_year_total_commits":50,"past_year_total_committers":8,"past_year_total_bot_commits":6,"past_year_total_bot_committers":1,"past_year_mean_commits":6.25,"past_year_dds":0.28,"last_synced_at":"2026-08-10T13:34:21.231Z","last_synced_commit":"93ddcaf210beff31e89181d2745bd77cc2184652","created_at":"2023-03-09T05:34:17.421Z","updated_at":"2026-08-10T13:34:19.689Z","committers":[{"name":"michaeldavie","email":"michael.davie@gmail.com","login":"michaeldavie","count":263},{"name":"Glenn Waters","email":"glenn@watrs.ca","login":"gwww","count":45},{"name":"Brian Fitzgerald","email":"fitzb","login":"fitzb","count":16},{"name":"Glenn Waters","email":"gwwaters@gmail.com","login":null,"count":10},{"name":"lletac","email":"l.letac@3eing.ca","login":null,"count":8},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":6},{"name":"JM Lopez","email":"jm.lopez@utoronto.ca","login":"jm66","count":4},{"name":"MrDizzystick","email":"MrDizzystick","login":"MrDizzystick","count":3},{"name":"snyk-bot","email":"snyk-bot@snyk.io","login":"snyk-bot","count":3},{"name":"Marc-Antoine Ruel","email":"maruel@gmail.com","login":"maruel","count":2},{"name":"Andreas Billmeier","email":"b@edevau.net","login":"onkelbeh","count":1},{"name":"Daniel Nicoara","email":"daniel.nicoara@gmail.com","login":"dnicoara","count":1},{"name":"Darren Wiens","email":"dkwiens@gmail.com","login":"darrenwiens","count":1},{"name":"Fabian Affolter","email":"fabian@affolter-engineering.ch","login":"fabaff","count":1},{"name":"Justin Lam","email":"justinmklam@gmail.com","login":"justinmklam","count":1},{"name":"Marc Mueller","email":"30130371+cdce8p","login":"cdce8p","count":1},{"name":"Oliver Gründel","email":"45913260+ogruendel","login":"ogruendel","count":1},{"name":"Paul Tarjan","email":"github@paulisageek.com","login":"ptarjan","count":1},{"name":"Rob Leveille","email":"rob.leveille@gmail.com","login":"infectedroot","count":1},{"name":"Shixian Sheng","email":"sxs22@fsu.edu","login":"KPCOFGS","count":1},{"name":"everett","email":"everett.snieder@gmail.com","login":"everettsp","count":1},{"name":"marawan31","email":"marawan31@gmail.com","login":"marawan31","count":1},{"name":"stevendinardo","email":"16940333+stevendinardo","login":"stevendinardo","count":1}],"past_year_committers":[{"name":"Michael Davie","email":"michael.davie@gmail.com","login":"michaeldavie","count":36},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":6},{"name":"fitzb","email":"fitzb","login":"fitzb","count":2},{"name":"Glenn Waters","email":"glenn@watrs.ca","login":"gwww","count":2},{"name":"Paul Tarjan","email":"github@paulisageek.com","login":"ptarjan","count":1},{"name":"Oliver Gründel","email":"45913260+ogruendel","login":"ogruendel","count":1},{"name":"Justin Lam","email":"justinmklam@gmail.com","login":"justinmklam","count":1},{"name":"Daniel Nicoara","email":"daniel.nicoara@gmail.com","login":"dnicoara","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-08-10T00:00:10.517Z","repositories_count":6626038,"commits_count":918515675,"contributors_count":39006004,"owners_count":1330386,"committers_count":3291066,"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":"michaeldavie/env_canada","html_url":"https://github.com/michaeldavie/env_canada","last_synced_at":"2026-08-12T16:32:53.880Z","status":null,"issues_count":71,"pull_requests_count":94,"avg_time_to_close_issue":6817818.185714286,"avg_time_to_close_pull_request":544629.1797752809,"issues_closed_count":70,"pull_requests_closed_count":89,"pull_request_authors_count":22,"issue_authors_count":46,"avg_comments_per_issue":2.7464788732394365,"avg_comments_per_pull_request":0.8617021276595744,"merged_pull_requests_count":84,"bot_issues_count":0,"bot_pull_requests_count":7,"past_year_issues_count":9,"past_year_pull_requests_count":18,"past_year_avg_time_to_close_issue":87838.22222222222,"past_year_avg_time_to_close_pull_request":114048.94444444444,"past_year_issues_closed_count":9,"past_year_pull_requests_closed_count":18,"past_year_pull_request_authors_count":7,"past_year_issue_authors_count":6,"past_year_avg_comments_per_issue":2.2222222222222223,"past_year_avg_comments_per_pull_request":0.7777777777777778,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":7,"past_year_merged_pull_requests_count":17,"created_at":"2023-05-14T13:33:01.746Z","updated_at":"2026-08-12T16:32:53.880Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeldavie%2Fenv_canada/issues","issue_labels_count":{"enhancement":4,"bug":2},"pull_request_labels_count":{"python:uv":7,"dependencies":7},"issue_author_associations_count":{"NONE":53,"CONTRIBUTOR":16,"OWNER":2},"pull_request_author_associations_count":{"CONTRIBUTOR":51,"OWNER":17,"COLLABORATOR":17,"NONE":9},"issue_authors":{"gwww":8,"maruel":3,"fitzb":3,"glassbase":3,"alexandery":3,"martinguthrie93":3,"ikifar2012":2,"michaeldavie":2,"cpw":2,"jm66":2,"Diode-exe":2,"deftdawg":2,"PhilBaobab":2,"A-c0rN":2,"tschasefitz-lgtm":1,"rcblackwell":1,"pgsylvestre":1,"AR1985":1,"riyadparvez":1,"shmick":1,"JwKoroluk":1,"tomkralidis":1,"claudegel":1,"darrenwiens":1,"carlosPBC":1,"JayEmAhch":1,"infectedroot":1,"TheRealWaldo":1,"khorovatin":1,"beaverdude":1,"v0ltage120":1,"dougshields":1,"ramsaym":1,"databoy2k":1,"Biorix":1,"kayrozen":1,"Northern-Lights1":1,"staedtlernorica":1,"billtubbs":1,"rishbruh":1,"Patrickcob":1,"stevendinardo":1,"redlegjed":1,"ConsultantYD":1,"mlongval":1,"Deurnieur":1},"pull_request_authors":{"gwww":35,"michaeldavie":17,"fitzb":7,"dependabot[bot]":7,"jm66":4,"maruel":3,"cdce8p":2,"everettsp":2,"KPCOFGS":2,"ogruendel":2,"Biorix":2,"darrenwiens":1,"justinmklam":1,"infectedroot":1,"MrDizzystick":1,"onkelbeh":1,"marawan31":1,"stevendinardo":1,"sylvainletourneau":1,"ontarionick":1,"dnicoara":1,"fabaff":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-08-13T00:00:06.201Z","repositories_count":16029052,"issues_count":40466802,"pull_requests_count":130885589,"authors_count":11443597,"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":{"dependencies":7,"python:uv":7},"past_year_issue_author_associations_count":{"NONE":9},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":11,"COLLABORATOR":3,"OWNER":3,"NONE":1},"past_year_issue_authors":{"martinguthrie93":3,"Diode-exe":2,"ramsaym":1,"redlegjed":1,"riyadparvez":1,"tschasefitz-lgtm":1},"past_year_pull_request_authors":{"dependabot[bot]":7,"gwww":3,"michaeldavie":3,"ogruendel":2,"dnicoara":1,"fitzb":1,"justinmklam":1},"maintainers":[{"login":"michaeldavie","count":19,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/michaeldavie"},{"login":"gwww","count":17,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gwww"}],"active_maintainers":[{"login":"gwww","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gwww"},{"login":"michaeldavie","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/michaeldavie"}]},"events":{"total":{"ReleaseEvent":14,"DeleteEvent":8,"MemberEvent":1,"PullRequestEvent":33,"ForkEvent":7,"IssuesEvent":10,"WatchEvent":15,"IssueCommentEvent":23,"PushEvent":41,"PullRequestReviewEvent":6,"PullRequestReviewCommentEvent":4,"CreateEvent":21},"last_year":{"ReleaseEvent":4,"DeleteEvent":5,"PullRequestEvent":7,"ForkEvent":3,"IssuesEvent":4,"WatchEvent":2,"IssueCommentEvent":7,"PushEvent":14,"PullRequestReviewEvent":1,"PullRequestReviewCommentEvent":1,"CreateEvent":7}},"keywords":[],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/codeql-analysis.yml","sha":null,"kind":"manifest","created_at":"2023-02-19T02:00:56.092Z","updated_at":"2023-02-19T02:00:56.092Z","repository_link":"https://github.com/michaeldavie/env_canada/blob/main/.github/workflows/codeql-analysis.yml","dependencies":[{"id":7775613702,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7775613703,"package_name":"github/codeql-action/init","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7775613704,"package_name":"github/codeql-action/autobuild","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7775613705,"package_name":"github/codeql-action/analyze","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/python-app.yml","sha":null,"kind":"manifest","created_at":"2023-02-19T02:00:56.190Z","updated_at":"2023-02-19T02:00:56.190Z","repository_link":"https://github.com/michaeldavie/env_canada/blob/main/.github/workflows/python-app.yml","dependencies":[{"id":7775614150,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7775614151,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/python-publish.yml","sha":null,"kind":"manifest","created_at":"2023-02-19T02:00:56.484Z","updated_at":"2023-02-19T02:00:56.484Z","repository_link":"https://github.com/michaeldavie/env_canada/blob/main/.github/workflows/python-publish.yml","dependencies":[{"id":7775614653,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7775614654,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"pypi","filepath":"requirements.txt","sha":null,"kind":"manifest","created_at":"2022-09-16T08:20:21.136Z","updated_at":"2022-09-16T08:20:21.136Z","repository_link":"https://github.com/michaeldavie/env_canada/blob/main/requirements.txt","dependencies":[{"id":5034800494,"package_name":"aiohttp","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":5034800495,"package_name":"defusedxml","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":5034800496,"package_name":"geopy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":5034800497,"package_name":"imageio","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":5034800498,"package_name":"lxml","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":5034800499,"package_name":"pandas","ecosystem":"pypi","requirements":"\u003e=1.3.0","direct":true,"kind":"runtime","optional":false},{"id":5034800500,"package_name":"Pillow","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":5034800501,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":5034800502,"package_name":"voluptuous","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"setup.py","sha":null,"kind":"manifest","created_at":"2022-09-16T08:20:21.142Z","updated_at":"2022-09-16T08:20:21.142Z","repository_link":"https://github.com/michaeldavie/env_canada/blob/main/setup.py","dependencies":[{"id":5034800503,"package_name":"aiohttp","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":5034800504,"package_name":"defusedxml","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":5034800505,"package_name":"geopy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":5034800506,"package_name":"imageio","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":5034800507,"package_name":"lxml","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":5034800508,"package_name":"pandas","ecosystem":"pypi","requirements":"\u003e=1.3.0","direct":true,"kind":"runtime","optional":false},{"id":5034800509,"package_name":"Pillow","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":5034800510,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":5034800511,"package_name":"voluptuous","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]}],"score":28.2787023125465,"created_at":"2023-09-30T00:07:23.976Z","updated_at":"2026-08-13T17:02:52.435Z","avatar_url":"https://github.com/michaeldavie.png","language":"Python","category":"Sustainable Development","sub_category":"Data Catalogs and Interfaces","monthly_downloads":80154,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"# Environment Canada (env_canada)\n\n[![PyPI version](https://badge.fury.io/py/env-canada.svg)](https://badge.fury.io/py/env-canada)\n[![Snyk rating](https://snyk-widget.herokuapp.com/badge/pip/env-canada/badge.svg)](https://security.snyk.io/package/pip/env-canada)\n[![Python Lint and Test](https://github.com/michaeldavie/env_canada/actions/workflows/python-app.yml/badge.svg)](https://github.com/michaeldavie/env_canada/actions/workflows/python-app.yml)\n\nThis package provides access to various data sources published by [Environment and Climate Change Canada](https://www.canada.ca/en/environment-climate-change.html).\n\n\u003e [!IMPORTANT]\n\u003e If you're using the library in a Jupyter notebook, replace `asyncio.run(...)` with `await ...` in the examples below. For example:\n\u003e\n\u003e ```python\n\u003e asyncio.run(ec_en.update())\n\u003e ```\n\u003e\n\u003e becomes\n\u003e\n\u003e ```python\n\u003e await ec_en.update()\n\u003e ```\n\n## Weather Observations and Forecasts\n\n`ECWeather` provides current conditions and forecasts. It automatically determines which weather station to use based on latitude/longitude provided. It is also possible to specify a station code in multiple flexible formats:\n\n- **Full format**: `\"AB/s0000123\"` (province code and full station ID)\n- **Station ID only**: `\"s0000123\"` (station ID without province - province is resolved automatically)\n- **Numeric only**: `\"123\"` (just the station number - province is resolved automatically)\n\nStation codes are based on those listed in [this CSV file](https://dd.weather.gc.ca/today/citypage_weather/docs/site_list_towns_en.csv). For example:\n\n```python\nimport asyncio\n\nfrom env_canada import ECWeather\n\n# Using coordinates (automatic station selection)\nec_coords = ECWeather(coordinates=(50, -100))\n\n# Using station ID - multiple formats supported:\nec_full = ECWeather(station_id=\"ON/s0000430\", language=\"french\")  # Full format\nec_station = ECWeather(station_id=\"s0000430\")  # Station ID only\nec_numeric = ECWeather(station_id=\"430\")  # Numeric only\n\nasyncio.run(ec_coords.update())\n\n# current conditions\nec_coords.conditions\n\n# daily forecasts\nec_coords.daily_forecasts\n\n# hourly forecasts\nec_coords.hourly_forecasts\n\n# alerts (categorised dict with warnings, watches, advisories, statements, endings)\nec_coords.alerts\n\n# raw WFS alert feature properties (includes text, area, confidence, impact, etc.)\nec_coords.alert_features\n```\n\n\u003e [!NOTE]\n\u003e As of version 0.11.0, `ECWeather` automatically handles Environment Canada's new timestamped weather file URL structure (effective June 2025). The library dynamically discovers the most recent weather files, ensuring continued functionality during Environment Canada's infrastructure changes.\n\n## Weather Alerts\n\n`ECAlerts` provides direct access to Environment Canada weather alerts via the GeoMet WFS `Current-Alerts` layer. It returns richer data than the alerts embedded in `ECWeather`, including full bilingual alert text, affected area names, risk colour, confidence, and impact. `ECWeather.update()` uses `ECAlerts` internally, so both `ECWeather.alerts` and `ECWeather.alert_features` are automatically populated.\n\nUse `ECAlerts` directly when you only need alerts (no weather conditions or forecasts):\n\n```python\nimport asyncio\n\nfrom env_canada import ECAlerts\n\nec_alerts = ECAlerts(coordinates=(50, -100))\n\nasyncio.run(ec_alerts.update())\n\n# categorised alerts dict — same structure as ECWeather.alerts\n# keys: warnings, watches, advisories, statements, endings\nec_alerts.alerts\n\n# list of raw WFS feature property dicts, one per alert polygon\nec_alerts.alert_features\n```\n\nEach entry in `alerts[category][\"value\"]` is a dict with these keys:\n\n| Key                | Description                               |\n| ------------------ | ----------------------------------------- |\n| `title`            | Alert name (title-cased)                  |\n| `date`             | Publication datetime (ISO 8601 UTC)       |\n| `expiryTime`       | Expiration datetime (ISO 8601 UTC)        |\n| `alertColourLevel` | Risk colour (e.g. `\"Yellow\"`, `\"Red\"`)    |\n| `text`             | Full alert text                           |\n| `area`             | Affected geographic area name             |\n| `status`           | Alert status (e.g. `\"active\"`, `\"ended\"`) |\n| `confidence`       | Confidence level (e.g. `\"Likely\"`)        |\n| `impact`           | Impact level (e.g. `\"High\"`)              |\n| `alert_code`       | Short alert type code (e.g. `\"WS\"`)       |\n\n## Weather Radar\n\n`ECRadar` provides Environment Canada meteorological [radar imagery](https://weather.gc.ca/radar/index_e.html).\n\n```python\nimport asyncio\n\nfrom env_canada import ECRadar\n\nradar_coords = ECRadar(coordinates=(50, -100))\n\n# Conditions Available\nanimated_gif = asyncio.run(radar_coords.get_loop())\nlatest_png = asyncio.run(radar_coords.get_latest_frame())\n\n# Use the 8-colour radar scale instead of the default 14-colour one\nradar_coords_8 = ECRadar(coordinates=(50, -100), colors=8)\n```\n\n## Weather Maps\n\n`ECMap` provides Environment Canada WMS weather map imagery with support for various meteorological layers.\n\n```python\nimport asyncio\n\nfrom env_canada import ECMap\n\n# Create a map with rain radar layer\nmap_coords = ECMap(coordinates=(50, -100), layer=\"rain\")\n\n# Get the latest image with the specified layer\nlatest_png = asyncio.run(map_coords.get_latest_frame())\n\n# Get an animated GIF with the specified layer\nanimated_gif = asyncio.run(map_coords.get_loop())\n\n# Customize the map appearance\ncustom_map = ECMap(\n    coordinates=(50, -100),\n    layer=\"snow\",\n    width=1200,\n    height=800,\n    radius=300,\n    layer_opacity=80,\n    legend=True,\n    timestamp=True,\n    language=\"french\",\n)\n```\n\nAvailable layers include:\n\n- `rain`: Precipitation rain radar\n- `snow`: Precipitation snow radar\n- `precip_type`: Surface precipitation type\n\nAdditional configuration options:\n\n- `width`/`height`: Image dimensions (default: 800x800)\n- `radius`: Map radius in km around coordinates (default: 200km)\n- `layer_opacity`: Layer transparency 0-100% (default: 65%)\n- `legend`: Show legend (default: True)\n- `timestamp`: Show timestamp (default: True)\n- `language`: \"english\" or \"french\" (default: \"english\")\n- `fps`: Frame rate of the animated GIF loop (default: 5)\n- `loop_minutes`: How far back the animated GIF loop goes, in minutes (default: 0, meaning the full available range)\n- `colors`: Number of colours in the `rain`/`snow` radar scale, `8` or `14` (default: 14)\n- `interpolation`: Smooth the WMS-rendered radar layer instead of leaving it pixelated (default: False)\n- `webp`: Request the radar layer from Environment Canada's WMS as WebP instead of PNG, and return `get_latest_frame()`/`get_loop()` output as WebP instead of PNG/GIF. Reduces bandwidth at the cost of higher latency per frame (default: False)\n- `future_minutes`: Extend `get_loop()` past \"now\" using Environment Canada's radar extrapolation (nowcast) layer, in minutes. Only has an effect for `rain`/`snow` (`precip_type` has no extrapolation layer, so it's silently ignored); frames are capped at whatever the extrapolation layer actually has available, which is normally on the order of an hour. Uses the same styles/colours as the observed layer. `get_latest_frame()` is unaffected and always returns the latest real observation (default: 0)\n\n\u003e **Note**: ECMap automatically discovers available legend styles from Environment Canada's WMS capabilities, ensuring compatibility with any future style changes.\n\n## Air Quality Health Index (AQHI)\n\n`ECAirQuality` provides Environment Canada [air quality](https://weather.gc.ca/airquality/pages/index_e.html) data.\n\n```python\nimport asyncio\n\nfrom env_canada import ECAirQuality\n\naqhi_coords = ECAirQuality(coordinates=(50, -100))\n\nasyncio.run(aqhi_coords.update())\n\n# Data available\naqhi_coords.current\naqhi_coords.forecasts\n```\n\n## Water Level and Flow\n\n`ECHydro` provides Environment Canada [hydrometric](https://wateroffice.ec.gc.ca/mainmenu/real_time_data_index_e.html) data.\n\n```python\nimport asyncio\n\nfrom env_canada import ECHydro\n\nhydro_coords = ECHydro(coordinates=(50, -100))\n\nasyncio.run(hydro_coords.update())\n\n# Data available\nhydro_coords.measurements\n```\n\n## Historical Weather Data\n\n`ECHistorical` provides historical daily weather data.\nThe ECHistorical object is instantiated with a station ID, year, language, format (one of xml or csv) and granularity (hourly, daily data).\nOnce updated asynchronously, historical weather data is contained with the `station_data` property. If `xml` is requested, `station_data` will appear in a dictionary form. If `csv` is requested, `station_data` will contain a CSV-readable buffer. For example:\n\n```python\nimport asyncio\n\nfrom env_canada import ECHistorical\nfrom env_canada.ec_historical import get_historical_stations\n\n# search for stations, response contains station_ids\ncoordinates = [53.916944, -122.749444]  # [lat, long]\n\n# coordinates: [lat, long]\n# radius: km\n# limit: response limit, value one of [10, 25, 50, 100]\n# The result contains station names and ID values.\nstations = asyncio.run(get_historical_stations(coordinates, radius=200, limit=100))\n\nec_en_xml = ECHistorical(station_id=31688, year=2020, language=\"english\", format=\"xml\")\nec_fr_xml = ECHistorical(station_id=31688, year=2020, language=\"french\", format=\"xml\")\nec_en_csv = ECHistorical(station_id=31688, year=2020, language=\"english\", format=\"csv\")\nec_fr_csv = ECHistorical(station_id=31688, year=2020, language=\"french\", format=\"csv\")\n\n# timeframe argument can be passed to change the granularity\n# timeframe=1 hourly (need to create of for every month in that case, use ECHistoricalRange to handle it automatically)\n# timeframe=2 daily (default)\nec_en_xml = ECHistorical(\n    station_id=31688, year=2020, month=1, language=\"english\", format=\"xml\", timeframe=1\n)\nec_en_csv = ECHistorical(\n    station_id=31688, year=2020, month=1, language=\"english\", format=\"csv\", timeframe=1\n)\n\nasyncio.run(ec_en_xml.update())\nasyncio.run(ec_en_csv.update())\n\n# metadata describing the station\nec_en_xml.metadata\n\n# historical weather data, in dictionary form\nec_en_xml.station_data\n\n# csv-generated responses return csv-like station data\nimport pandas as pd\n\ndf = pd.read_csv(ec_en_csv.station_data)\n```\n\n`ECHistoricalRange` provides historical weather data within a specific range and handles the update by itself.\n\nThe ECHistoricalRange object is instantiated with at least a station ID and a daterange.\nOne could add language, and granularity (hourly, daily (default)).\n\nThe data can then be used as pandas DataFrame, XML (requires pandas \u003e=1.3.0) and csv\n\nFor example :\n\n```python\nimport pandas as pd\nimport asyncio\nfrom env_canada import ECHistoricalRange\nfrom env_canada.ec_historical import get_historical_stations\nfrom datetime import datetime\n\ncoordinates = [\"48.508333\", \"-68.467667\"]\n\nstations = pd.DataFrame(\n    asyncio.run(\n        get_historical_stations(\n            coordinates, start_year=2022, end_year=2022, radius=200, limit=100\n        )\n    )\n).T\n\nec = ECHistoricalRange(\n    station_id=int(stations.iloc[0, 2]),\n    timeframe=\"daily\",\n    daterange=(datetime(2022, 7, 1, 12, 12), datetime(2022, 8, 1, 12, 12)),\n)\n\nec.get_data()\n\n# yield an XML formated str.\n# For more options, use ec.to_xml(*arg, **kwargs) with pandas options\nec.xml\n\n# yield an CSV formated str.\n# For more options, use ec.to_csv(*arg, **kwargs) with pandas options\nec.csv\n```\n\nIn this example `ec.df` will be:\n\n| Date/Time  | Longitude (x) | Latitude (y) | Station Name          | Climate ID | Year | Month | Day | Data Quality | Max Temp (Â°C) | Max Temp Flag | Min Temp (Â°C) | Min Temp Flag | Mean Temp (Â°C) | Mean Temp Flag | Heat Deg Days (Â°C) | Heat Deg Days Flag | Cool Deg Days (Â°C) | Cool Deg Days Flag | Total Rain (mm) | Total Rain Flag | Total Snow (cm) | Total Snow Flag | Total Precip (mm) | Total Precip Flag | Snow on Grnd (cm) | Snow on Grnd Flag | Dir of Max Gust (10s deg) | Dir of Max Gust Flag | Spd of Max Gust (km/h) | Spd of Max Gust Flag |     |\n| ---------- | ------------- | ------------ | --------------------- | ---------- | ---- | ----- | --- | ------------ | -------------- | ------------- | -------------- | ------------- | --------------- | -------------- | ------------------- | ------------------ | ------------------- | ------------------ | --------------- | --------------- | --------------- | --------------- | ----------------- | ----------------- | ----------------- | ----------------- | ------------------------- | -------------------- | ---------------------- | -------------------- | --- |\n| 2022-07-02 | -68,47        | 48,51        | POINTE-AU-PERE (INRS) | 7056068    | 2022 | 7     | 2   |              | 22,8           |               | 12,5           |               | 17,7            |                | 0,3                 |                    | 0                   |                    |                 |                 |                 |                 | 0                 |                   |                   |                   | 26                        |                      | 37                     |                      |     |\n| 2022-07-03 | -68,47        | 48,51        | POINTE-AU-PERE (INRS) | 7056068    | 2022 | 7     | 3   |              | 21,7           |               | 10,1           |               | 15,9            |                | 2,1                 |                    | 0                   |                    |                 |                 |                 |                 | 0,4               |                   |                   |                   | 28                        |                      | 50                     |                      |     |\n| …          | …             | …            | …                     | …          | …    | …     | …   | …            | …              | …             | …              | …             | …               | …              | …                   | …                  | …                   | …                  | …               | …               | …               | …               | …                 | …                 | …                 | …                 | …                         | …                    | …                      | …                    | …   |\n| 2022-07-31 | -68,47        | 48,51        | POINTE-AU-PERE (INRS) | 7056068    | 2022 | 7     | 31  |              | 23,5           |               | 14,1           |               | 18,8            |                | 0                   |                    | 0,8                 |                    |                 |                 |                 |                 | 0                 |                   |                   |                   | 23                        |                      | 31                     |                      |     |\n| 2022-08-01 | -68,47        | 48,51        | POINTE-AU-PERE (INRS) | 7056068    | 2022 | 8     | 1   |              | 23             |               | 15             |               | 19              |                | 0                   |                    | 1                   |                    |                 |                 |                 |                 | 0                 |                   |                   |                   | 21                        |                      | 35                     |                      |     |\n\nOne should note that july 1st is excluded as the time provided contains specific hours, so it yields only data after or at exactly\nthe time provided.\n\nTo have all the july 1st data in that case, one can provide a datarange without time: `datetime(2022, 7, 7)` instead\nof `datetime(2022, 7, 1, 12, 12)`\n\n# License\n\nThe code is available under terms of [MIT License](https://github.com/michaeldavie/env_canada/tree/main/LICENSE.md)\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["varta","varta-storage","static-code-analysis"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/106710","html_url":"https://ost.ecosyste.ms/projects/106710"}