{"id":19827,"name":"windrose","description":"A graphic tool used by meteorologists to give a succinct view of how wind speed and direction are typically distributed at a particular location.","url":"https://github.com/python-windrose/windrose","last_synced_at":"2026-04-26T12:00:23.404Z","repository":{"id":33845892,"uuid":"37549137","full_name":"python-windrose/windrose","owner":"python-windrose","description":"A Python Matplotlib, Numpy library to manage wind data, draw windrose (also known as a polar rose plot), draw probability density function and fit Weibull distribution","archived":false,"fork":false,"pushed_at":"2026-04-20T21:10:44.000Z","size":84651,"stargazers_count":355,"open_issues_count":25,"forks_count":132,"subscribers_count":21,"default_branch":"main","last_synced_at":"2026-04-23T19:06:22.524Z","etag":null,"topics":["matplotlib","numpy","pandas","python","speed","wind","windrose"],"latest_commit_sha":null,"homepage":"https://python-windrose.github.io/windrose","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-windrose.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2015-06-16T18:42:14.000Z","updated_at":"2026-04-20T21:10:46.000Z","dependencies_parsed_at":"2023-12-05T01:39:18.947Z","dependency_job_id":"ce0c1824-06a2-48cb-88ea-56a569782d2e","html_url":"https://github.com/python-windrose/windrose","commit_stats":{"total_commits":354,"total_committers":25,"mean_commits":14.16,"dds":0.4661016949152542,"last_synced_commit":"1774e886cb05b2f27435f6d8f5a257b5bee87e94"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/python-windrose/windrose","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-windrose","download_url":"https://codeload.github.com/python-windrose/windrose/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose/sbom","scorecard":{"id":163358,"data":{"date":"2025-08-04","repo":{"name":"github.com/python-windrose/windrose","commit":"e36abeb69ffb32a4e864309ef8f27db37fd9caa7"},"scorecard":{"version":"v5.2.1-28-gc1d103a9","commit":"c1d103a9bb9f635ec7260bf9aa0699466fa4be0e"},"score":4.5,"checks":[{"name":"Maintained","score":5,"reason":"6 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/deploy-docs.yml:1","Warn: no topLevel permission defined: .github/workflows/pypi.yml:1","Warn: no topLevel permission defined: .github/workflows/tests.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#token-permissions"}},{"name":"Code-Review","score":5,"reason":"Found 1/2 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#code-review"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#fuzzing"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENCE.txt:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#signed-releases"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/pypi.yml:17"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#packaging"}},{"name":"Vulnerabilities","score":3,"reason":"7 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: PYSEC-2024-48 / GHSA-fj7x-q9j7-g6q6","Warn: Project is vulnerable to: PYSEC-2022-43017 / GHSA-qwmp-2cf2-g9g6","Warn: Project is vulnerable to: GHSA-fpfv-jqm9-f5jm","Warn: Project is vulnerable to: PYSEC-2020-73","Warn: Project is vulnerable to: PYSEC-2019-156 / GHSA-xp76-357g-9wqq","Warn: Project is vulnerable to: PYSEC-2023-102","Warn: Project is vulnerable to: PYSEC-2023-114"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#branch-protection"}},{"name":"Pinned-Dependencies","score":1,"reason":"dependency not pinned by hash detected -- score normalized to 1","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/deploy-docs.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/python-windrose/windrose/deploy-docs.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/deploy-docs.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/python-windrose/windrose/deploy-docs.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/deploy-docs.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/python-windrose/windrose/deploy-docs.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pypi.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/python-windrose/windrose/pypi.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pypi.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/python-windrose/windrose/pypi.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pypi.yml:51: update your workflow using https://app.stepsecurity.io/secureworkflow/python-windrose/windrose/pypi.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/python-windrose/windrose/tests.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/tests.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/python-windrose/windrose/tests.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:42: update your workflow using https://app.stepsecurity.io/secureworkflow/python-windrose/windrose/tests.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/pypi.yml:32","Warn: pipCommand not pinned by hash: .github/workflows/pypi.yml:39","Warn: pipCommand not pinned by hash: .github/workflows/pypi.yml:45","Info:   0 out of   5 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   4 third-party GitHubAction dependencies pinned","Info:   1 out of   4 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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T14:12:04.436Z","repository_id":33845892,"created_at":"2025-08-16T14:12:04.436Z","updated_at":"2025-08-16T14:12:04.436Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32220295,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-24T10:26:35.452Z","status":"ssl_error","status_checked_at":"2026-04-24T10:25:27.643Z","response_time":64,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"python-windrose","name":"python-windrose","uuid":"28726174","kind":"organization","description":"","email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/28726174?v=4","repositories_count":1,"last_synced_at":"2023-03-02T11:35:18.831Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/python-windrose","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-13T03:59:22.932Z","updated_at":"2023-03-02T11:35:18.842Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-windrose","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-windrose/repositories"},"packages":[{"id":5294320,"name":"windrose","ecosystem":"conda","description":null,"homepage":"https://github.com/python-windrose/windrose","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/python-windrose/windrose","keywords_array":[],"namespace":null,"versions_count":9,"first_release_published_at":"2018-08-22T13:30:06.000Z","latest_release_published_at":"2022-09-21T22:28:26.000Z","latest_release_number":"1.8.0","last_synced_at":"2026-04-02T15:47:58.628Z","created_at":"2022-10-03T15:56:42.684Z","updated_at":"2026-04-02T15:47:58.629Z","registry_url":"https://anaconda.org/conda-forge/windrose","install_command":"conda install -c conda-forge windrose","documentation_url":null,"metadata":{},"repo_metadata":{"id":33845892,"uuid":"37549137","full_name":"python-windrose/windrose","owner":"python-windrose","description":"A Python Matplotlib, Numpy library to manage wind data, draw windrose (also known as a polar rose plot), draw probability density function and fit Weibull distribution","archived":false,"fork":false,"pushed_at":"2025-09-05T10:30:05.000Z","size":81530,"stargazers_count":347,"open_issues_count":25,"forks_count":131,"subscribers_count":22,"default_branch":"main","last_synced_at":"2025-09-14T04:07:48.605Z","etag":null,"topics":["matplotlib","numpy","pandas","python","speed","wind","windrose"],"latest_commit_sha":null,"homepage":"https://python-windrose.github.io/windrose","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-windrose.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":"CODE_OF_CONDUCT.md","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}},"created_at":"2015-06-16T18:42:14.000Z","updated_at":"2025-09-10T14:03:36.000Z","dependencies_parsed_at":"2023-12-05T01:39:18.947Z","dependency_job_id":"2e886ff6-b48d-421e-b1a5-15691cf43b44","html_url":"https://github.com/python-windrose/windrose","commit_stats":{"total_commits":354,"total_committers":25,"mean_commits":14.16,"dds":0.4661016949152542,"last_synced_commit":"1774e886cb05b2f27435f6d8f5a257b5bee87e94"},"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/python-windrose/windrose","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-windrose","download_url":"https://codeload.github.com/python-windrose/windrose/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose/sbom","scorecard":{"id":163358,"data":{"date":"2025-08-04","repo":{"name":"github.com/python-windrose/windrose","commit":"e36abeb69ffb32a4e864309ef8f27db37fd9caa7"},"scorecard":{"version":"v5.2.1-28-gc1d103a9","commit":"c1d103a9bb9f635ec7260bf9aa0699466fa4be0e"},"score":4.5,"checks":[{"name":"Maintained","score":5,"reason":"6 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/deploy-docs.yml:1","Warn: no topLevel permission defined: .github/workflows/pypi.yml:1","Warn: no topLevel permission defined: .github/workflows/tests.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#token-permissions"}},{"name":"Code-Review","score":5,"reason":"Found 1/2 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#code-review"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#fuzzing"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENCE.txt:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#signed-releases"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/pypi.yml:17"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#packaging"}},{"name":"Vulnerabilities","score":3,"reason":"7 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: PYSEC-2024-48 / GHSA-fj7x-q9j7-g6q6","Warn: Project is vulnerable to: PYSEC-2022-43017 / GHSA-qwmp-2cf2-g9g6","Warn: Project is vulnerable to: GHSA-fpfv-jqm9-f5jm","Warn: Project is vulnerable to: PYSEC-2020-73","Warn: Project is vulnerable to: PYSEC-2019-156 / GHSA-xp76-357g-9wqq","Warn: Project is vulnerable to: PYSEC-2023-102","Warn: Project is vulnerable to: PYSEC-2023-114"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#branch-protection"}},{"name":"Pinned-Dependencies","score":1,"reason":"dependency not pinned by hash detected -- score normalized to 1","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/deploy-docs.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/python-windrose/windrose/deploy-docs.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/deploy-docs.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/python-windrose/windrose/deploy-docs.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/deploy-docs.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/python-windrose/windrose/deploy-docs.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pypi.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/python-windrose/windrose/pypi.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pypi.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/python-windrose/windrose/pypi.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pypi.yml:51: update your workflow using https://app.stepsecurity.io/secureworkflow/python-windrose/windrose/pypi.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/python-windrose/windrose/tests.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/tests.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/python-windrose/windrose/tests.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:42: update your workflow using https://app.stepsecurity.io/secureworkflow/python-windrose/windrose/tests.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/pypi.yml:32","Warn: pipCommand not pinned by hash: .github/workflows/pypi.yml:39","Warn: pipCommand not pinned by hash: .github/workflows/pypi.yml:45","Info:   0 out of   5 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   4 third-party GitHubAction dependencies pinned","Info:   1 out of   4 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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T14:12:04.436Z","repository_id":33845892,"created_at":"2025-08-16T14:12:04.436Z","updated_at":"2025-08-16T14:12:04.436Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275062953,"owners_count":25398886,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-14T02:00:10.474Z","response_time":75,"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":"python-windrose","name":"python-windrose","uuid":"28726174","kind":"organization","description":"","email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/28726174?v=4","repositories_count":1,"last_synced_at":"2023-03-02T11:35:18.831Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/python-windrose","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-13T03:59:22.932Z","updated_at":"2023-03-02T11:35:18.842Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-windrose","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-windrose/repositories"},"tags":[]},"repo_metadata_updated_at":"2025-09-28T11:41:13.659Z","dependent_packages_count":1,"downloads":null,"downloads_period":null,"dependent_repos_count":14,"rankings":{"downloads":null,"dependent_repos_count":9.348639880209634,"dependent_packages_count":28.954329922635385,"stargazers_count":22.38582480658847,"forks_count":16.580983279261293,"docker_downloads_count":null,"average":19.317444472173694},"purl":"pkg:conda/windrose?repository_url=https://conda-forge.org","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/conda/windrose","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/conda/windrose","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/conda/windrose/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-09-09T19:31:27.427Z","issues_count":145,"pull_requests_count":179,"avg_time_to_close_issue":41203933.37815126,"avg_time_to_close_pull_request":3458035.3391812867,"issues_closed_count":119,"pull_requests_closed_count":171,"pull_request_authors_count":26,"issue_authors_count":93,"avg_comments_per_issue":2.524137931034483,"avg_comments_per_pull_request":1.094972067039106,"merged_pull_requests_count":157,"bot_issues_count":1,"bot_pull_requests_count":72,"past_year_issues_count":7,"past_year_pull_requests_count":27,"past_year_avg_time_to_close_issue":46752.5,"past_year_avg_time_to_close_pull_request":26118.454545454544,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":22,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":7,"past_year_avg_comments_per_issue":0.5714285714285714,"past_year_avg_comments_per_pull_request":0.14814814814814814,"past_year_bot_issues_count":1,"past_year_bot_pull_requests_count":25,"past_year_merged_pull_requests_count":22,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose/issues","maintainers":[{"login":"scls19fr","count":53,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/scls19fr"},{"login":"ocefpaf","count":36,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ocefpaf"},{"login":"weber-s","count":14,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/weber-s"},{"login":"s-celles","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/s-celles"}],"active_maintainers":[{"login":"s-celles","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/s-celles"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/windrose/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/windrose/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/windrose/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/windrose/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/windrose/codemeta","maintainers":[],"registry":{"name":"conda-forge.org","url":"https://conda-forge.org","ecosystem":"conda","default":false,"packages_count":20636,"maintainers_count":0,"namespaces_count":0,"keywords_count":0,"github":"conda-forge","metadata":{"kind":"conda-forge","key":"CondaForge","api":"https://conda.anaconda.org","funded_packages_count":2266},"icon_url":"https://github.com/conda-forge.png","created_at":"2022-10-03T15:37:08.743Z","updated_at":"2026-04-03T06:46:36.736Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/namespaces"}},{"id":11733558,"name":"github.com/python-windrose/windrose","ecosystem":"go","description":null,"homepage":null,"licenses":"other","normalized_licenses":["Other"],"repository_url":"https://github.com/python-windrose/windrose","keywords_array":[],"namespace":null,"versions_count":15,"first_release_published_at":"2017-07-30T08:10:13.000Z","latest_release_published_at":"2026-04-12T05:01:53.258Z","latest_release_number":"v1.10.0","last_synced_at":"2026-04-24T12:23:43.070Z","created_at":"2025-06-05T11:17:05.923Z","updated_at":"2026-04-24T12:23:43.071Z","registry_url":"https://pkg.go.dev/github.com/python-windrose/windrose","install_command":"go get github.com/python-windrose/windrose","documentation_url":"https://pkg.go.dev/github.com/python-windrose/windrose#section-documentation","metadata":{},"repo_metadata":{"id":33845892,"uuid":"37549137","full_name":"python-windrose/windrose","owner":"python-windrose","description":"A Python Matplotlib, Numpy library to manage wind data, draw windrose (also known as a polar rose plot), draw probability density function and fit Weibull distribution","archived":false,"fork":false,"pushed_at":"2025-09-05T10:30:05.000Z","size":81530,"stargazers_count":347,"open_issues_count":25,"forks_count":131,"subscribers_count":22,"default_branch":"main","last_synced_at":"2025-09-14T04:07:48.605Z","etag":null,"topics":["matplotlib","numpy","pandas","python","speed","wind","windrose"],"latest_commit_sha":null,"homepage":"https://python-windrose.github.io/windrose","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-windrose.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":"CODE_OF_CONDUCT.md","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}},"created_at":"2015-06-16T18:42:14.000Z","updated_at":"2025-09-10T14:03:36.000Z","dependencies_parsed_at":"2023-12-05T01:39:18.947Z","dependency_job_id":"2e886ff6-b48d-421e-b1a5-15691cf43b44","html_url":"https://github.com/python-windrose/windrose","commit_stats":{"total_commits":354,"total_committers":25,"mean_commits":14.16,"dds":0.4661016949152542,"last_synced_commit":"1774e886cb05b2f27435f6d8f5a257b5bee87e94"},"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/python-windrose/windrose","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-windrose","download_url":"https://codeload.github.com/python-windrose/windrose/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose/sbom","scorecard":{"id":163358,"data":{"date":"2025-08-04","repo":{"name":"github.com/python-windrose/windrose","commit":"e36abeb69ffb32a4e864309ef8f27db37fd9caa7"},"scorecard":{"version":"v5.2.1-28-gc1d103a9","commit":"c1d103a9bb9f635ec7260bf9aa0699466fa4be0e"},"score":4.5,"checks":[{"name":"Maintained","score":5,"reason":"6 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/deploy-docs.yml:1","Warn: no topLevel permission defined: .github/workflows/pypi.yml:1","Warn: no topLevel permission defined: .github/workflows/tests.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#token-permissions"}},{"name":"Code-Review","score":5,"reason":"Found 1/2 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#code-review"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#fuzzing"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENCE.txt:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#signed-releases"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/pypi.yml:17"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#packaging"}},{"name":"Vulnerabilities","score":3,"reason":"7 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: PYSEC-2024-48 / GHSA-fj7x-q9j7-g6q6","Warn: Project is vulnerable to: PYSEC-2022-43017 / GHSA-qwmp-2cf2-g9g6","Warn: Project is vulnerable to: GHSA-fpfv-jqm9-f5jm","Warn: Project is vulnerable to: PYSEC-2020-73","Warn: Project is vulnerable to: PYSEC-2019-156 / GHSA-xp76-357g-9wqq","Warn: Project is vulnerable to: PYSEC-2023-102","Warn: Project is vulnerable to: PYSEC-2023-114"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#branch-protection"}},{"name":"Pinned-Dependencies","score":1,"reason":"dependency not pinned by hash detected -- score normalized to 1","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/deploy-docs.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/python-windrose/windrose/deploy-docs.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/deploy-docs.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/python-windrose/windrose/deploy-docs.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/deploy-docs.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/python-windrose/windrose/deploy-docs.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pypi.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/python-windrose/windrose/pypi.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pypi.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/python-windrose/windrose/pypi.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pypi.yml:51: update your workflow using https://app.stepsecurity.io/secureworkflow/python-windrose/windrose/pypi.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/python-windrose/windrose/tests.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/tests.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/python-windrose/windrose/tests.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:42: update your workflow using https://app.stepsecurity.io/secureworkflow/python-windrose/windrose/tests.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/pypi.yml:32","Warn: pipCommand not pinned by hash: .github/workflows/pypi.yml:39","Warn: pipCommand not pinned by hash: .github/workflows/pypi.yml:45","Info:   0 out of   5 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   4 third-party GitHubAction dependencies pinned","Info:   1 out of   4 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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T14:12:04.436Z","repository_id":33845892,"created_at":"2025-08-16T14:12:04.436Z","updated_at":"2025-08-16T14:12:04.436Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275062953,"owners_count":25398886,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-14T02:00:10.474Z","response_time":75,"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":"python-windrose","name":"python-windrose","uuid":"28726174","kind":"organization","description":"","email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/28726174?v=4","repositories_count":1,"last_synced_at":"2023-03-02T11:35:18.831Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/python-windrose","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-13T03:59:22.932Z","updated_at":"2023-03-02T11:35:18.842Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-windrose","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-windrose/repositories"},"tags":[]},"repo_metadata_updated_at":"2025-09-28T11:41:13.645Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":5.757538697138725,"dependent_packages_count":5.395053785167736,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":5.57629624115323},"purl":"pkg:golang/github.com/python-windrose/windrose","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/python-windrose/windrose","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/python-windrose/windrose","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/python-windrose/windrose/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-09-09T19:31:27.427Z","issues_count":145,"pull_requests_count":179,"avg_time_to_close_issue":41203933.37815126,"avg_time_to_close_pull_request":3458035.3391812867,"issues_closed_count":119,"pull_requests_closed_count":171,"pull_request_authors_count":26,"issue_authors_count":93,"avg_comments_per_issue":2.524137931034483,"avg_comments_per_pull_request":1.094972067039106,"merged_pull_requests_count":157,"bot_issues_count":1,"bot_pull_requests_count":72,"past_year_issues_count":7,"past_year_pull_requests_count":27,"past_year_avg_time_to_close_issue":46752.5,"past_year_avg_time_to_close_pull_request":26118.454545454544,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":22,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":7,"past_year_avg_comments_per_issue":0.5714285714285714,"past_year_avg_comments_per_pull_request":0.14814814814814814,"past_year_bot_issues_count":1,"past_year_bot_pull_requests_count":25,"past_year_merged_pull_requests_count":22,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose/issues","maintainers":[{"login":"scls19fr","count":53,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/scls19fr"},{"login":"ocefpaf","count":36,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ocefpaf"},{"login":"weber-s","count":14,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/weber-s"},{"login":"s-celles","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/s-celles"}],"active_maintainers":[{"login":"s-celles","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/s-celles"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fpython-windrose%2Fwindrose/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fpython-windrose%2Fwindrose/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fpython-windrose%2Fwindrose/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fpython-windrose%2Fwindrose/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fpython-windrose%2Fwindrose/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2107867,"maintainers_count":0,"namespaces_count":782439,"keywords_count":112823,"github":"golang","metadata":{"funded_packages_count":53495},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-04-19T05:14:45.920Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}},{"id":2970888,"name":"windrose","ecosystem":"pypi","description":"Python Matplotlib, Numpy library to manage wind data, draw windrose (also known as a polar rose plot)","homepage":null,"licenses":"BSD-3-Clause OR BCeCILL-B","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/python-windrose/windrose","keywords_array":[],"namespace":null,"versions_count":17,"first_release_published_at":"2015-06-18T05:35:22.000Z","latest_release_published_at":"2026-04-10T10:20:13.000Z","latest_release_number":"1.10.0","last_synced_at":"2026-04-24T12:23:41.700Z","created_at":"2022-04-10T13:04:48.180Z","updated_at":"2026-04-24T12:23:41.700Z","registry_url":"https://pypi.org/project/windrose/","install_command":"pip install windrose --index-url https://pypi.org/simple","documentation_url":"https://windrose.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["Programming Language :: Python :: 3 :: Only","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.12","Programming Language :: Python :: 3.13","Programming Language :: Python :: 3.14"],"normalized_name":"windrose","project_status":null},"repo_metadata":{"uuid":"37549137","full_name":"python-windrose/windrose","owner":"python-windrose","description":"A Python Matplotlib, Numpy library to manage wind data, draw windrose (also known as a polar rose plot), draw probability density function and fit Weibull distribution","archived":false,"fork":false,"pushed_at":"2023-12-08T17:45:09.000Z","size":74110,"stargazers_count":318,"open_issues_count":23,"forks_count":126,"subscribers_count":23,"default_branch":"main","last_synced_at":"2023-12-16T21:43:15.623Z","etag":null,"topics":["matplotlib","numpy","pandas","python","speed","wind","windrose"],"latest_commit_sha":null,"homepage":"https://python-windrose.github.io/windrose","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-windrose.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2015-06-16T18:42:14.000Z","updated_at":"2023-12-05T22:49:15.000Z","dependencies_parsed_at":"2023-12-05T01:39:18.947Z","dependency_job_id":"2e886ff6-b48d-421e-b1a5-15691cf43b44","html_url":"https://github.com/python-windrose/windrose","commit_stats":{"total_commits":320,"total_committers":21,"mean_commits":"15.238095238095237","dds":"0.40937500000000004","last_synced_commit":"92d4495fa9b3aa4d18f4b996f4bbeddae0c34d0c"},"previous_names":[],"tags_count":12,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-windrose","download_url":"https://codeload.github.com/python-windrose/windrose/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":176674542,"owners_count":10433485,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"python-windrose","name":"python-windrose","uuid":"28726174","kind":"organization","description":"","email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/28726174?v=4","repositories_count":1,"last_synced_at":"2023-03-02T11:35:18.831Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/python-windrose","created_at":"2022-11-13T03:59:22.932Z","updated_at":"2023-03-02T11:35:18.842Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-windrose","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-windrose/repositories"},"tags":[{"name":"v1.9.0","sha":"3d89f5ed14e45a5bf8829a14fc8054617facec61","kind":"commit","published_at":"2023-06-12T17:32:21.000Z","download_url":"https://codeload.github.com/python-windrose/windrose/tar.gz/v1.9.0","html_url":"https://github.com/python-windrose/windrose/releases/tag/v1.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose/tags/v1.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose/tags/v1.9.0/manifests"},{"name":"v1.8.1","sha":"ddf157179f418159ddf3be4d18b6568684edb9d2","kind":"commit","published_at":"2022-12-20T23:58:56.000Z","download_url":"https://codeload.github.com/python-windrose/windrose/tar.gz/v1.8.1","html_url":"https://github.com/python-windrose/windrose/releases/tag/v1.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose/tags/v1.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose/tags/v1.8.1/manifests"},{"name":"v1.8.0","sha":"f79ce310a2c3d543d366a50c477cdd289ba8aa7f","kind":"commit","published_at":"2022-09-21T17:28:03.000Z","download_url":"https://codeload.github.com/python-windrose/windrose/tar.gz/v1.8.0","html_url":"https://github.com/python-windrose/windrose/releases/tag/v1.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose/tags/v1.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose/tags/v1.8.0/manifests"},{"name":"v1.7.0","sha":"74062dff31a8948460e0d0a1250568bfc3c27d07","kind":"commit","published_at":"2022-05-09T17:55:11.000Z","download_url":"https://codeload.github.com/python-windrose/windrose/tar.gz/v1.7.0","html_url":"https://github.com/python-windrose/windrose/releases/tag/v1.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose/tags/v1.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose/tags/v1.7.0/manifests"},{"name":"v1.6.8","sha":"3e2d79b08a1f5bd9a5ab52b44278a27578d51ffb","kind":"commit","published_at":"2020-09-14T10:26:17.000Z","download_url":"https://codeload.github.com/python-windrose/windrose/tar.gz/v1.6.8","html_url":"https://github.com/python-windrose/windrose/releases/tag/v1.6.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose/tags/v1.6.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose/tags/v1.6.8/manifests"},{"name":"v1.6.7","sha":"9a01df4af133b29134c6c526141226ae76f94f07","kind":"commit","published_at":"2019-06-07T08:22:24.000Z","download_url":"https://codeload.github.com/python-windrose/windrose/tar.gz/v1.6.7","html_url":"https://github.com/python-windrose/windrose/releases/tag/v1.6.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose/tags/v1.6.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose/tags/v1.6.7/manifests"},{"name":"v1.6.6","sha":"de327d370deb0d9db7cabcccd836a33db9e05956","kind":"commit","published_at":"2019-06-07T08:01:17.000Z","download_url":"https://codeload.github.com/python-windrose/windrose/tar.gz/v1.6.6","html_url":"https://github.com/python-windrose/windrose/releases/tag/v1.6.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose/tags/v1.6.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose/tags/v1.6.6/manifests"},{"name":"v1.6.5","sha":"42913b1a265f57bb92451ef37ded5129b2bccb1e","kind":"commit","published_at":"2018-08-30T20:35:10.000Z","download_url":"https://codeload.github.com/python-windrose/windrose/tar.gz/v1.6.5","html_url":"https://github.com/python-windrose/windrose/releases/tag/v1.6.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose/tags/v1.6.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose/tags/v1.6.5/manifests"},{"name":"v1.6.4","sha":"f9f06fac263f0c2d5d12103b18ed80899e01758d","kind":"commit","published_at":"2018-08-22T07:18:02.000Z","download_url":"https://codeload.github.com/python-windrose/windrose/tar.gz/v1.6.4","html_url":"https://github.com/python-windrose/windrose/releases/tag/v1.6.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose/tags/v1.6.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose/tags/v1.6.4/manifests"},{"name":"v1.6.3","sha":"ec7b1ed9fd9a9e28638eb0c21928ace4e9a4f39f","kind":"commit","published_at":"2017-08-22T13:34:54.000Z","download_url":"https://codeload.github.com/python-windrose/windrose/tar.gz/v1.6.3","html_url":"https://github.com/python-windrose/windrose/releases/tag/v1.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose/tags/v1.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose/tags/v1.6.3/manifests"},{"name":"v1.6.2","sha":"0d1c5bc31eca921904840d7c6d381192e4aed130","kind":"commit","published_at":"2017-08-02T18:37:01.000Z","download_url":"https://codeload.github.com/python-windrose/windrose/tar.gz/v1.6.2","html_url":"https://github.com/python-windrose/windrose/releases/tag/v1.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose/tags/v1.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose/tags/v1.6.2/manifests"},{"name":"v1.6.1","sha":"f652d7fbc02e4b3b09986dcbb0f796df289dc644","kind":"commit","published_at":"2017-07-30T08:10:13.000Z","download_url":"https://codeload.github.com/python-windrose/windrose/tar.gz/v1.6.1","html_url":"https://github.com/python-windrose/windrose/releases/tag/v1.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose/tags/v1.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose/tags/v1.6.1/manifests"}]},"repo_metadata_updated_at":"2023-12-16T21:48:23.314Z","dependent_packages_count":9,"downloads":118316,"downloads_period":"last-month","dependent_repos_count":30,"rankings":{"downloads":2.875419372771012,"dependent_repos_count":2.6763009061953693,"dependent_packages_count":1.2564899723564373,"stargazers_count":3.550526344635356,"forks_count":4.258517622464679,"docker_downloads_count":1.6958906361938766,"average":2.7188574757694552},"purl":"pkg:pypi/windrose","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/windrose","docker_dependents_count":6,"docker_downloads_count":6594,"usage_url":"https://repos.ecosyste.ms/usage/pypi/windrose","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/windrose/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2023-12-16T21:43:55.694Z","issues_count":134,"pull_requests_count":124,"avg_time_to_close_issue":40914337.78761062,"avg_time_to_close_pull_request":2987240.6147540985,"issues_closed_count":113,"pull_requests_closed_count":122,"pull_request_authors_count":24,"issue_authors_count":82,"avg_comments_per_issue":2.6417910447761193,"avg_comments_per_pull_request":1.346774193548387,"merged_pull_requests_count":111,"bot_issues_count":0,"bot_pull_requests_count":32,"past_year_issues_count":9,"past_year_pull_requests_count":35,"past_year_avg_time_to_close_issue":11936644.0,"past_year_avg_time_to_close_pull_request":429888.70588235295,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":34,"past_year_pull_request_authors_count":8,"past_year_issue_authors_count":8,"past_year_avg_comments_per_issue":0.7777777777777778,"past_year_avg_comments_per_pull_request":1.0285714285714287,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":23,"past_year_merged_pull_requests_count":31,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose/issues"},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/windrose/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/windrose/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/windrose/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/windrose/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/windrose/codemeta","maintainers":[{"uuid":"ocefpaf","login":"ocefpaf","name":null,"email":null,"url":null,"packages_count":29,"html_url":"https://pypi.org/user/ocefpaf/","role":null,"created_at":"2023-02-12T19:42:59.676Z","updated_at":"2023-02-12T19:42:59.676Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/ocefpaf/packages"},{"uuid":"scls","login":"scls","name":null,"email":null,"url":null,"packages_count":8,"html_url":"https://pypi.org/user/scls/","role":null,"created_at":"2023-02-12T19:42:59.648Z","updated_at":"2023-02-12T19:42:59.648Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/scls/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":850257,"maintainers_count":363282,"namespaces_count":0,"keywords_count":271316,"github":"pypi","metadata":{"funded_packages_count":53172},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2026-04-09T05:08:03.587Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}}],"commits":{"id":29959,"full_name":"python-windrose/windrose","default_branch":"main","total_commits":397,"total_committers":26,"total_bot_commits":80,"total_bot_committers":2,"mean_commits":15.26923076923077,"dds":0.5239294710327456,"past_year_total_commits":35,"past_year_total_committers":4,"past_year_total_bot_commits":26,"past_year_total_bot_committers":2,"past_year_mean_commits":8.75,"past_year_dds":0.5142857142857142,"last_synced_at":"2026-04-25T20:03:37.733Z","last_synced_commit":"3e0ffc184e3de8d4b31b9ccd8117cdd8f1d305f9","created_at":"2023-03-07T16:42:27.954Z","updated_at":"2026-04-25T20:02:42.639Z","committers":[{"name":"scls19fr","email":"s.celles@gmail.com","login":"scls19fr","count":189},{"name":"Filipe Fernandes","email":"ocefpaf@gmail.com","login":"ocefpaf","count":69},{"name":"pre-commit-ci[bot]","email":"66853113+pre-commit-ci[bot]","login":"pre-commit-ci[bot]","count":54},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":26},{"name":"Jonas Kittner","email":"jonas.kittner@rub.de","login":"jkittner","count":9},{"name":"Samuël Weber/GwendalD","email":"samuel.weber@univ-grenoble-alpes.fr","login":null,"count":7},{"name":"kilojoules","email":"jaq8@humboldt.edu","login":"kilojoules","count":7},{"name":"Samuël Weber/GwendalD","email":"samuel.weber@normalesup.org","login":"weber-s","count":6},{"name":"lubyant","email":"luboyuan1994@gmail.com","login":"lubyant","count":4},{"name":"strawberry beach sandals","email":"30496251+15b3","login":"15b3","count":3},{"name":"xmn","email":"ivan.ogassawara@gmail.com","login":"xmnlab","count":3},{"name":"Pete Bachant","email":"pete@windesco.com","login":"petebachant","count":3},{"name":"Fabien Maussion","email":"fabien.maussion@uibk.ac.at","login":"fmaussion","count":2},{"name":"Hassan Kassem","email":"hassan.kassem@gmail.com","login":"HIKassem","count":2},{"name":"Joonatan Partanen","email":"joonatan.partanen@iceye.fi","login":"jparta","count":2},{"name":"Jonas Kittner","email":"54631600+theendlessriver13","login":"theendlessriver13","count":1},{"name":"Jørgen Kvalsvik","email":"jokva@statoil.com","login":"jokva","count":1},{"name":"Leonardo Uieda","email":"leouieda@gmail.com","login":"leouieda","count":1},{"name":"Miguel Rodas","email":"mwheels","login":"mwheels","count":1},{"name":"Sam P Raj","email":"65779808+sampr7","login":"sampr7","count":1},{"name":"Stas","email":"s.slunkov@gmail.com","login":"stas-sl","count":1},{"name":"Sébastien Celles","email":"109167+s-celles","login":"s-celles","count":1},{"name":"lysackm","email":"lysackm5@gmail.com","login":"lysackm","count":1},{"name":"mccannjb","email":"mccannjb+git@gmail.com","login":"mccannjb","count":1},{"name":"Jonas Schmidt","email":"jonas.schmidt@iwes.fraunhofer.de","login":null,"count":1},{"name":"sspagnol","email":"s.spagnol@gmail.com","login":"sspagnol","count":1}],"past_year_committers":[{"name":"pre-commit-ci[bot]","email":"66853113+pre-commit-ci[bot]","login":"pre-commit-ci[bot]","count":17},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":9},{"name":"Filipe Fernandes","email":"ocefpaf@gmail.com","login":"ocefpaf","count":8},{"name":"lysackm","email":"lysackm5@gmail.com","login":"lysackm","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-26T00:00:10.019Z","repositories_count":6218747,"commits_count":899467382,"contributors_count":34885129,"owners_count":1145596,"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":"python-windrose/windrose","html_url":"https://github.com/python-windrose/windrose","last_synced_at":"2026-04-21T00:00:15.852Z","status":null,"issues_count":146,"pull_requests_count":194,"avg_time_to_close_issue":40860738.21666667,"avg_time_to_close_pull_request":3200797.7783783786,"issues_closed_count":120,"pull_requests_closed_count":185,"pull_request_authors_count":27,"issue_authors_count":94,"avg_comments_per_issue":2.5068493150684934,"avg_comments_per_pull_request":1.0515463917525774,"merged_pull_requests_count":170,"bot_issues_count":1,"bot_pull_requests_count":85,"past_year_issues_count":4,"past_year_pull_requests_count":26,"past_year_avg_time_to_close_issue":20514.0,"past_year_avg_time_to_close_pull_request":40427.954545454544,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":22,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":4,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.38461538461538464,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":24,"past_year_merged_pull_requests_count":21,"created_at":"2023-05-09T10:36:29.379Z","updated_at":"2026-04-21T00:00:15.854Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-windrose%2Fwindrose/issues","issue_labels_count":{"warning":3,"deprecation":2,"question":1,"enhancement":1},"pull_request_labels_count":{},"issue_author_associations_count":{"NONE":92,"MEMBER":41,"CONTRIBUTOR":12,"COLLABORATOR":1},"pull_request_author_associations_count":{"CONTRIBUTOR":121,"COLLABORATOR":36,"MEMBER":29,"NONE":8},"issue_authors":{"scls19fr":39,"cqcn1991":4,"winash12":3,"15b3":3,"cnske":3,"blaylockbk":3,"Data-drone":2,"slharris":2,"GoodLug":2,"dennydengler":1,"Round-Walnut":1,"DrJonnyT":1,"Zerosimi":1,"adityasinghwa":1,"garimss":1,"alioacar":1,"jtprobst":1,"amoeba":1,"jsignell":1,"xmnlab":1,"julietbravo":1,"dancergraham":1,"sampr7":1,"guidocioni":1,"TangerineKimchi":1,"JoeLeung2018":1,"wjjxjd":1,"joddm":1,"s-celles":1,"NilsGaukroger":1,"NRaillard":1,"AndresSepulveda":1,"SAKURALFJ":1,"rylanlee":1,"PhilosopherZ":1,"NUISTjason":1,"Enzoupi":1,"ttllttttlltt":1,"satya0210":1,"akrherz":1,"lubyant":1,"mindey":1,"jtmcleod1989":1,"vimalaathythan-v2w":1,"dda-voisin":1,"wanglongqi":1,"StSav012":1,"weber-s":1,"sspagnol":1,"dependabot[bot]":1,"cperezln":1,"MonkeyKingz":1,"ali-cole":1,"robertburry":1,"mccannjb":1,"jantheron":1,"yeyuguo":1,"dmilstea":1,"georgebv":1,"SchmJo":1,"jparta":1,"NicWayand":1,"estherroosenbrand":1,"kaelel18":1,"mariopareto":1,"tacaswell":1,"yngwaz":1,"ale37911":1,"stackofwits":1,"alicarlos":1,"saurabhsrvastav":1,"daniclaar":1,"HIKassem":1,"ubbu36":1,"jkittner":1,"Umercia":1,"juliusczm":1,"ulra7":1,"lysackm":1,"bnando":1,"jinhuanz":1,"WeatherQueen":1,"Cgadal":1,"cosstas":1,"fgroff":1,"loneharoon":1,"ocefpaf":1,"GeoffreyJohnen":1,"ruffsl":1,"rabaneda":1,"brunorpinho":1,"nalfahel":1,"TheMetMan":1,"needham-michael":1},"pull_request_authors":{"pre-commit-ci[bot]":59,"ocefpaf":36,"dependabot[bot]":26,"scls19fr":14,"weber-s":13,"jkittner":11,"kilojoules":5,"15b3":3,"sspagnol":3,"petebachant":3,"fmaussion":2,"s-celles":2,"lubyant":2,"SchmJo":2,"rosatrancoso":1,"lysackm":1,"sampr7":1,"LionelR":1,"leouieda":1,"mwheels":1,"MarcoForte":1,"stas-sl":1,"HIKassem":1,"jokva":1,"xmnlab":1,"mccannjb":1,"jordij":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-21T00:00:07.919Z","repositories_count":14348436,"issues_count":34424728,"pull_requests_count":112739637,"authors_count":11241900,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{"NONE":2,"CONTRIBUTOR":1,"MEMBER":1},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":25,"COLLABORATOR":1},"past_year_issue_authors":{"lysackm":1,"needham-michael":1,"s-celles":1,"Zerosimi":1},"past_year_pull_request_authors":{"pre-commit-ci[bot]":16,"dependabot[bot]":8,"lysackm":1,"ocefpaf":1},"maintainers":[{"login":"scls19fr","count":53,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/scls19fr"},{"login":"ocefpaf","count":37,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ocefpaf"},{"login":"weber-s","count":14,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/weber-s"},{"login":"s-celles","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/s-celles"}],"active_maintainers":[{"login":"ocefpaf","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ocefpaf"},{"login":"s-celles","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/s-celles"}]},"events":{"total":{"DeleteEvent":18,"PullRequestEvent":30,"ForkEvent":3,"IssuesEvent":5,"WatchEvent":17,"IssueCommentEvent":9,"PushEvent":17,"CreateEvent":14},"last_year":{"DeleteEvent":11,"PullRequestEvent":18,"ForkEvent":2,"IssuesEvent":2,"WatchEvent":5,"IssueCommentEvent":5,"PushEvent":9,"CreateEvent":7}},"keywords":["matplotlib","numpy","pandas","python","speed","wind","windrose"],"dependencies":[{"ecosystem":"pypi","filepath":"requirements-dev.txt","sha":null,"kind":"manifest","created_at":"2022-07-09T15:17:55.131Z","updated_at":"2022-07-09T15:17:55.131Z","repository_link":"https://github.com/python-windrose/windrose/blob/main/requirements-dev.txt","dependencies":[{"id":129273262,"package_name":"black","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":129273263,"package_name":"cartopy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":129273264,"package_name":"check-manifest","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":129273265,"package_name":"coverage","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":129273266,"package_name":"flake8","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":129273267,"package_name":"flake8-builtins","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":129273268,"package_name":"flake8-comprehensions","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":129273269,"package_name":"flake8-mutable","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":129273270,"package_name":"flake8-print","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":129273271,"package_name":"interrogate","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":129273272,"package_name":"isort","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":129273273,"package_name":"jupyter","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":129273274,"package_name":"nbsphinx","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":129273275,"package_name":"pre-commit","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":129273276,"package_name":"pydocstyle","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":129273277,"package_name":"pylint","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":129273278,"package_name":"pytest","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":129273279,"package_name":"pytest-cov","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":129273280,"package_name":"pytest-flake8","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":129273281,"package_name":"pytest-sugar","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":129273282,"package_name":"setuptools_scm","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":129273283,"package_name":"sphinx","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":129273284,"package_name":"sphinx_rtd_theme","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":129273285,"package_name":"twine","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":129273286,"package_name":"wheel","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"requirements.txt","sha":null,"kind":"manifest","created_at":"2022-07-09T15:17:55.140Z","updated_at":"2022-07-09T15:17:55.140Z","repository_link":"https://github.com/python-windrose/windrose/blob/main/requirements.txt","dependencies":[{"id":129273307,"package_name":"matplotlib","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":129273308,"package_name":"numpy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":129273309,"package_name":"pandas","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":129273310,"package_name":"scipy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/deploy-docs.yml","sha":null,"kind":"manifest","created_at":"2023-01-15T03:00:39.736Z","updated_at":"2023-01-15T03:00:39.736Z","repository_link":"https://github.com/python-windrose/windrose/blob/main/.github/workflows/deploy-docs.yml","dependencies":[{"id":6913055385,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":6913055386,"package_name":"mamba-org/provision-with-micromamba","ecosystem":"actions","requirements":"v14","direct":true,"kind":"composite","optional":false},{"id":6913055387,"package_name":"peaceiris/actions-gh-pages","ecosystem":"actions","requirements":"v3.9.1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/pypi.yml","sha":null,"kind":"manifest","created_at":"2023-01-15T03:00:39.962Z","updated_at":"2023-01-15T03:00:39.962Z","repository_link":"https://github.com/python-windrose/windrose/blob/main/.github/workflows/pypi.yml","dependencies":[{"id":6913055558,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":6913055559,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":6913055560,"package_name":"pypa/gh-action-pypi-publish","ecosystem":"actions","requirements":"v1.6.4","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/tests.yml","sha":null,"kind":"manifest","created_at":"2023-01-15T03:00:40.029Z","updated_at":"2023-01-15T03:00:40.029Z","repository_link":"https://github.com/python-windrose/windrose/blob/main/.github/workflows/tests.yml","dependencies":[{"id":6913057245,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":6913057246,"package_name":"mamba-org/provision-with-micromamba","ecosystem":"actions","requirements":"v14","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"pypi","filepath":".binder/environment.yml","sha":null,"kind":"manifest","created_at":"2023-12-05T01:39:15.792Z","updated_at":"2023-12-05T01:39:15.792Z","repository_link":"https://github.com/python-windrose/windrose/blob/main/.binder/environment.yml","dependencies":[]},{"ecosystem":"pypi","filepath":"pyproject.toml","sha":null,"kind":"manifest","created_at":"2023-12-05T01:39:15.958Z","updated_at":"2023-12-05T01:39:15.958Z","repository_link":"https://github.com/python-windrose/windrose/blob/main/pyproject.toml","dependencies":[]},{"ecosystem":"pypi","filepath":"setup.py","sha":null,"kind":"manifest","created_at":"2023-12-05T01:39:16.101Z","updated_at":"2023-12-05T01:39:16.101Z","repository_link":"https://github.com/python-windrose/windrose/blob/main/setup.py","dependencies":[]}],"score":20.934112781934605,"created_at":"2023-09-11T14:52:07.419Z","updated_at":"2026-04-26T12:00:23.434Z","avatar_url":"https://github.com/python-windrose.png","language":"Python","category":"Atmosphere","sub_category":"Meteorological Observation and Forecast","monthly_downloads":118316,"total_dependent_repos":44,"total_dependent_packages":10,"readme":"[![Latest Version](https://img.shields.io/pypi/v/windrose.svg)](https://pypi.python.org/pypi/windrose/)\n[![Supported Python versions](https://img.shields.io/pypi/pyversions/windrose.svg)](https://pypi.python.org/pypi/windrose/)\n[![Wheel format](https://img.shields.io/pypi/wheel/windrose.svg)](https://pypi.python.org/pypi/windrose/)\n[![License](https://img.shields.io/pypi/l/windrose.svg)](https://pypi.python.org/pypi/windrose/)\n[![Development Status](https://img.shields.io/pypi/status/windrose.svg)](https://pypi.python.org/pypi/windrose/)\n[![Tests](https://github.com/python-windrose/windrose/actions/workflows/tests.yml/badge.svg)](https://github.com/python-windrose/windrose/actions/workflows/tests.yml)\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.13133010.svg)](https://doi.org/10.5281/zenodo.13133010)\n[![JOSS](https://joss.theoj.org/papers/10.21105/joss.00268/status.svg)](https://joss.theoj.org/papers/10.21105/joss.00268)\n\n\n# Windrose\n\nA [wind rose](https://en.wikipedia.org/wiki/Wind_rose) is a graphic tool used by meteorologists to give a succinct view of how wind speed and direction are typically distributed at a particular location. It can also be used to describe air quality pollution sources. The wind rose tool uses Matplotlib as a backend. Data can be passed to the package using Numpy arrays or a Pandas DataFrame.\n\nWindrose is a Python library to manage wind data, draw windroses (also known as polar rose plots), and fit Weibull probability density functions.\n\nThe initial use case of this library was for a technical report concerning pollution exposure and wind distributions analyzes. Data from local pollution measures and meteorologic information from various sources like Meteo-France were used to generate a pollution source wind rose.\n\nIt is also used by some contributors for teaching purpose.\n\n![Map overlay](https://raw.githubusercontent.com/python-windrose/windrose/main/paper/screenshots/overlay.png)\n\nSome others contributors have used it to make figures for a [wind power plant control optimization study](https://www.nrel.gov/docs/fy17osti/68185.pdf).\n\nSome academics use it to track lightning strikes during high intensity storms. They are using it to visualize the motion of storms based on the relative position of the lightning from one strike to the next.\n\n## Try windrose on mybinder.org\n\n[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/python-windrose/windrose/HEAD?labpath=notebooks)\n\n## Install\n\n### Requirements\n\n- matplotlib http://matplotlib.org/\n- numpy http://www.numpy.org/\n- and naturally python https://www.python.org/ :-P\n\nOptional libraries:\n\n- Pandas http://pandas.pydata.org/ (to feed plot functions easily)\n- Scipy http://www.scipy.org/ (to fit data with Weibull distribution)\n- ffmpeg https://www.ffmpeg.org/ (to output video)\n- click http://click.pocoo.org/ (for command line interface tools)\n- seaborn https://seaborn.pydata.org/ (for easy subplots)\n\n### Install latest release version via pip\n\nA package is available and can be downloaded from PyPi and installed using:\n\n```bash\n$ pip install windrose\n```\n\n### Install latest development version\n\n```bash\n$ pip install git+https://github.com/python-windrose/windrose\n```\n\nor\n\n```bash\n$ git clone https://github.com/python-windrose/windrose\n$ python setup.py install\n```\n\n## Documentation\nFull documentation of library is available at https://python-windrose.github.io/windrose/\n\n## Community guidelines\n\nYou can help to develop this library.\n\n### Code of Conduct\n\nIf you are using Python Windrose and want to interact with developers, others users...\nwe encourage you to follow our [code of conduct](https://github.com/python-windrose/windrose/blob/master/CODE_OF_CONDUCT.md).\n\n### Contributing\n\nIf you discover issues, have ideas for improvements or new features, please report them.\n[CONTRIBUTING.md](https://github.com/python-windrose/windrose/blob/master/CONTRIBUTING.md) explains\nhow to contribute to this project.\n\n### List of contributors and/or notable users\nhttps://github.com/python-windrose/windrose/blob/main/CONTRIBUTORS.md\n","funding_links":[],"readme_doi_urls":["https://doi.org/10.5281/zenodo.13133010"],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["atmospheric-science","meteorology"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/19827","html_url":"https://ost.ecosyste.ms/projects/19827"}