{"id":19832,"name":"brightwind","description":"A Python library aims to empower wind resource analysts and establish a common industry standard toolset.","url":"https://github.com/brightwind-dev/brightwind","last_synced_at":"2026-05-23T15:30:19.999Z","repository":{"id":33989856,"uuid":"161357232","full_name":"brightwind-dev/brightwind","owner":"brightwind-dev","description":"Python library containing wind analysis functions","archived":false,"fork":false,"pushed_at":"2026-04-02T16:27:28.000Z","size":153694,"stargazers_count":72,"open_issues_count":103,"forks_count":20,"subscribers_count":8,"default_branch":"master","last_synced_at":"2026-04-30T04:05:29.734Z","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/brightwind-dev.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"contributing.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-12-11T15:49:26.000Z","updated_at":"2026-04-02T11:30:28.000Z","dependencies_parsed_at":"2025-10-03T22:47:11.585Z","dependency_job_id":null,"html_url":"https://github.com/brightwind-dev/brightwind","commit_stats":{"total_commits":1334,"total_committers":11,"mean_commits":"121.27272727272727","dds":0.6214392803598201,"last_synced_commit":"afbff660a9ed852462a5a6523b1a6ad2020c612a"},"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/brightwind-dev/brightwind","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brightwind-dev","download_url":"https://codeload.github.com/brightwind-dev/brightwind/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind/sbom","scorecard":{"id":253839,"data":{"date":"2025-08-11","repo":{"name":"github.com/brightwind-dev/brightwind","commit":"d5036686f5091d9cc264d82d882459a5cc7c5686"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.4,"checks":[{"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":"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Code-Review","score":6,"reason":"Found 16/26 approved changesets -- score normalized to 6","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"8 commit(s) and 6 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":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Info: FSF or OSI recognized license: MIT License: LICENSE.txt:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":0,"reason":"18 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-29gw-9793-fvw7","Warn: Project is vulnerable to: PYSEC-2022-12 / GHSA-pq7m-3gw7-gq5x","Warn: Project is vulnerable to: PYSEC-2018-34 / GHSA-2fc2-6r4j-p65h","Warn: Project is vulnerable to: PYSEC-2021-856 / GHSA-5545-2q6w-2gh6","Warn: Project is vulnerable to: PYSEC-2019-108 / GHSA-9fq2-x9r6-wfmf","Warn: Project is vulnerable to: PYSEC-2018-33 / GHSA-cw6w-4rcx-xphc","Warn: Project is vulnerable to: PYSEC-2021-857 / GHSA-f7c7-j99h-c22f","Warn: Project is vulnerable to: GHSA-fpfv-jqm9-f5jm","Warn: Project is vulnerable to: PYSEC-2017-1 / GHSA-frgw-fgh6-9g52","Warn: Project is vulnerable to: PYSEC-2020-73","Warn: Project is vulnerable to: GHSA-9hjg-9r4m-mvj7","Warn: Project is vulnerable to: GHSA-9wx4-h78v-vm56","Warn: Project is vulnerable to: PYSEC-2023-74 / GHSA-j8r2-6x86-q33q","Warn: Project is vulnerable to: PYSEC-2020-107 / GHSA-jjw5-xxj6-pcv5","Warn: Project is vulnerable to: PYSEC-2024-110 / GHSA-jw8x-6495-233v","Warn: Project is vulnerable to: PYSEC-2020-108","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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"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/tests.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/brightwind-dev/brightwind/tests.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/brightwind-dev/brightwind/tests.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:28","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:29","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:30","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   3 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":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 26 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-17T09:07:47.831Z","repository_id":33989856,"created_at":"2025-08-17T09:07:47.831Z","updated_at":"2025-08-17T09:07:47.831Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32933623,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-12T09:19:52.626Z","status":"ssl_error","status_checked_at":"2026-05-12T09:17:33.438Z","response_time":102,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"brightwind-dev","name":"brightwind","uuid":"45794645","kind":"organization","description":"The brightwind library aims to empower wind resource analysts and establish a common industry standard toolset.","email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/45794645?v=4","repositories_count":1,"last_synced_at":"2023-03-02T12:45:38.582Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/brightwind-dev","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-13T04:55:12.185Z","updated_at":"2023-03-02T12:45:38.610Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brightwind-dev","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brightwind-dev/repositories"},"packages":[{"id":2660840,"name":"brightwind","ecosystem":"pypi","description":"Scripts for wind resource data processing.","homepage":"https://github.com/brightwind-dev/brightwind.git","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/brightwind-dev/brightwind","keywords_array":["BRIGHT","WIND","RESOURCE","DATA","ANALYSTS","PROCESSING","WASP","ROSE","WINDFARMER","OPENWIND","WIND PRO","WINDOGRAPHER"],"namespace":null,"versions_count":16,"first_release_published_at":"2019-07-02T15:46:15.000Z","latest_release_published_at":"2026-05-14T15:38:06.000Z","latest_release_number":"2.7.0","last_synced_at":"2026-05-18T13:25:15.480Z","created_at":"2022-04-10T10:15:03.731Z","updated_at":"2026-05-18T13:25:15.480Z","registry_url":"https://pypi.org/project/brightwind/","install_command":"pip install brightwind --index-url https://pypi.org/simple","documentation_url":"https://brightwind.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["License :: OSI Approved :: MIT License","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.12","Programming Language :: Python :: 3.13","Programming Language :: Python :: 3.6","Programming Language :: Python :: 3.7","Programming Language :: Python :: 3.8","Programming Language :: Python :: 3.9"],"normalized_name":"brightwind","project_status":null},"repo_metadata":{"id":33989856,"uuid":"161357232","full_name":"brightwind-dev/brightwind","owner":"brightwind-dev","description":"Python library containing wind analysis functions","archived":false,"fork":false,"pushed_at":"2024-09-20T15:04:10.000Z","size":162549,"stargazers_count":50,"open_issues_count":80,"forks_count":18,"subscribers_count":10,"default_branch":"master","last_synced_at":"2024-10-29T20:37:28.597Z","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/brightwind-dev.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"contributing.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-12-11T15:49:26.000Z","updated_at":"2024-10-19T23:11:14.000Z","dependencies_parsed_at":"2024-06-13T04:27:24.472Z","dependency_job_id":null,"html_url":"https://github.com/brightwind-dev/brightwind","commit_stats":{"total_commits":1334,"total_committers":11,"mean_commits":"121.27272727272727","dds":0.6214392803598201,"last_synced_commit":"afbff660a9ed852462a5a6523b1a6ad2020c612a"},"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brightwind-dev","download_url":"https://codeload.github.com/brightwind-dev/brightwind/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222131010,"owners_count":16936304,"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":"brightwind-dev","name":"brightwind","uuid":"45794645","kind":"organization","description":"The brightwind library aims to empower wind resource analysts and establish a common industry standard toolset.","email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/45794645?v=4","repositories_count":1,"last_synced_at":"2023-03-02T12:45:38.582Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/brightwind-dev","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-13T04:55:12.185Z","updated_at":"2023-03-02T12:45:38.610Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brightwind-dev","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brightwind-dev/repositories"},"tags":[{"name":"v2.2.1","sha":"afbff660a9ed852462a5a6523b1a6ad2020c612a","kind":"commit","published_at":"2024-05-29T13:23:34.000Z","download_url":"https://codeload.github.com/brightwind-dev/brightwind/tar.gz/v2.2.1","html_url":"https://github.com/brightwind-dev/brightwind/releases/tag/v2.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind/tags/v2.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind/tags/v2.2.1/manifests"},{"name":"v2.2.0","sha":"834be32d462c06c713bb05cc0d4fae5909b51bc5","kind":"commit","published_at":"2024-05-14T17:43:11.000Z","download_url":"https://codeload.github.com/brightwind-dev/brightwind/tar.gz/v2.2.0","html_url":"https://github.com/brightwind-dev/brightwind/releases/tag/v2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind/tags/v2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind/tags/v2.2.0/manifests"},{"name":"v2.1.0","sha":"5f20fd2fc39ed889e11c4b8afdd8994249a26173","kind":"commit","published_at":"2023-06-01T14:25:16.000Z","download_url":"https://codeload.github.com/brightwind-dev/brightwind/tar.gz/v2.1.0","html_url":"https://github.com/brightwind-dev/brightwind/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind/tags/v2.1.0/manifests"},{"name":"v2.0.0","sha":"7d061505fb924529b9ea1d0adfd01d269a30a3bb","kind":"commit","published_at":"2021-02-25T01:18:56.000Z","download_url":"https://codeload.github.com/brightwind-dev/brightwind/tar.gz/v2.0.0","html_url":"https://github.com/brightwind-dev/brightwind/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind/tags/v2.0.0/manifests"},{"name":"v1.0.0","sha":"d28eab613b52e2f66a82359457be1e061cb50d9e","kind":"commit","published_at":"2019-09-12T11:10:23.000Z","download_url":"https://codeload.github.com/brightwind-dev/brightwind/tar.gz/v1.0.0","html_url":"https://github.com/brightwind-dev/brightwind/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind/tags/v1.0.0/manifests"},{"name":"v0.2.10","sha":"d783af2c050340fd6c2cdab8a62dc23caaa632af","kind":"commit","published_at":"2019-09-11T22:27:26.000Z","download_url":"https://codeload.github.com/brightwind-dev/brightwind/tar.gz/v0.2.10","html_url":"https://github.com/brightwind-dev/brightwind/releases/tag/v0.2.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind/tags/v0.2.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind/tags/v0.2.10/manifests"},{"name":"0.2.9","sha":"b4a7749b01b9657219bddac79f09515281e27f95","kind":"commit","published_at":"2019-09-11T21:39:07.000Z","download_url":"https://codeload.github.com/brightwind-dev/brightwind/tar.gz/0.2.9","html_url":"https://github.com/brightwind-dev/brightwind/releases/tag/0.2.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind/tags/0.2.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind/tags/0.2.9/manifests"},{"name":"v0.2.8","sha":"2cd97468a4f83471d5b229dfd8f600e6982deab6","kind":"commit","published_at":"2019-08-21T00:31:52.000Z","download_url":"https://codeload.github.com/brightwind-dev/brightwind/tar.gz/v0.2.8","html_url":"https://github.com/brightwind-dev/brightwind/releases/tag/v0.2.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind/tags/v0.2.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind/tags/v0.2.8/manifests"},{"name":"0.2.7","sha":"33aaa63e628d6e4b46d9c4165b45f1cb28746545","kind":"commit","published_at":"2019-07-24T11:56:08.000Z","download_url":"https://codeload.github.com/brightwind-dev/brightwind/tar.gz/0.2.7","html_url":"https://github.com/brightwind-dev/brightwind/releases/tag/0.2.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind/tags/0.2.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind/tags/0.2.7/manifests"},{"name":"0.2.6","sha":"0be6eaafa7cdd1b8272ce0af5fbf67dffbc0e6a6","kind":"commit","published_at":"2019-07-24T11:28:06.000Z","download_url":"https://codeload.github.com/brightwind-dev/brightwind/tar.gz/0.2.6","html_url":"https://github.com/brightwind-dev/brightwind/releases/tag/0.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind/tags/0.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind/tags/0.2.6/manifests"},{"name":"v0.2.5","sha":"05f1baed0c875f6073f1d65966ff98fb8e856f2c","kind":"commit","published_at":"2019-07-02T15:39:36.000Z","download_url":"https://codeload.github.com/brightwind-dev/brightwind/tar.gz/v0.2.5","html_url":"https://github.com/brightwind-dev/brightwind/releases/tag/v0.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind/tags/v0.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind/tags/v0.2.5/manifests"},{"name":"v0.2.4","sha":"4b1ff6a52c0f85df1b7a5ad82356d70fb1ca0895","kind":"commit","published_at":"2019-07-02T14:41:44.000Z","download_url":"https://codeload.github.com/brightwind-dev/brightwind/tar.gz/v0.2.4","html_url":"https://github.com/brightwind-dev/brightwind/releases/tag/v0.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind/tags/v0.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind/tags/v0.2.4/manifests"},{"name":"v0.2.3","sha":"1312afea3670fe77d1de90a03c4a4fd6b0b24e35","kind":"commit","published_at":"2019-07-02T14:16:42.000Z","download_url":"https://codeload.github.com/brightwind-dev/brightwind/tar.gz/v0.2.3","html_url":"https://github.com/brightwind-dev/brightwind/releases/tag/v0.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind/tags/v0.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind/tags/v0.2.3/manifests"},{"name":"v0.2.2","sha":"d4423b5ea1f61d1f62162bbe65f58fdf893e809b","kind":"commit","published_at":"2019-06-29T15:12:15.000Z","download_url":"https://codeload.github.com/brightwind-dev/brightwind/tar.gz/v0.2.2","html_url":"https://github.com/brightwind-dev/brightwind/releases/tag/v0.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind/tags/v0.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind/tags/v0.2.2/manifests"},{"name":"v0.2.1","sha":"798caf30bd73df9aeff216a7fe21c21b5649b7f7","kind":"commit","published_at":"2019-06-29T15:00:26.000Z","download_url":"https://codeload.github.com/brightwind-dev/brightwind/tar.gz/v0.2.1","html_url":"https://github.com/brightwind-dev/brightwind/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind/tags/v0.2.1/manifests"},{"name":"v0.2.0","sha":"3fea44e35ca51a8afaa2828684f25c90c622f2ae","kind":"commit","published_at":"2019-06-29T13:50:19.000Z","download_url":"https://codeload.github.com/brightwind-dev/brightwind/tar.gz/v0.2.0","html_url":"https://github.com/brightwind-dev/brightwind/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind/tags/v0.2.0/manifests"},{"name":"v0.1.0","sha":"f829ad52022c94493e7d90596c4d4e05f9bb3d8c","kind":"commit","published_at":"2018-12-11T17:13:20.000Z","download_url":"https://codeload.github.com/brightwind-dev/brightwind/tar.gz/v0.1.0","html_url":"https://github.com/brightwind-dev/brightwind/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2024-10-29T23:15:07.148Z","dependent_packages_count":0,"downloads":666,"downloads_period":"last-month","dependent_repos_count":1,"rankings":{"downloads":27.26479336255479,"dependent_repos_count":22.077396024530657,"dependent_packages_count":7.306363177401113,"stargazers_count":10.45433821673375,"forks_count":9.369734990871539,"docker_downloads_count":null,"average":15.29452515441837},"purl":"pkg:pypi/brightwind","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/brightwind","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/brightwind","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/brightwind/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2024-10-29T19:33:26.805Z","issues_count":253,"pull_requests_count":196,"avg_time_to_close_issue":11824913.835227273,"avg_time_to_close_pull_request":2758293.476439791,"issues_closed_count":176,"pull_requests_closed_count":191,"pull_request_authors_count":10,"issue_authors_count":17,"avg_comments_per_issue":2.2885375494071147,"avg_comments_per_pull_request":0.5816326530612245,"merged_pull_requests_count":171,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":14,"past_year_pull_requests_count":16,"past_year_avg_time_to_close_issue":2401742.0,"past_year_avg_time_to_close_pull_request":256811.9090909091,"past_year_issues_closed_count":3,"past_year_pull_requests_closed_count":11,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":7,"past_year_avg_comments_per_issue":1.0714285714285714,"past_year_avg_comments_per_pull_request":1.375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":9,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind/issues","maintainers":[{"login":"stephenholleran","count":188,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/stephenholleran"},{"login":"inder-preet-kakkar","count":35,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/inder-preet-kakkar"},{"login":"lucunnin","count":25,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/lucunnin"},{"login":"ShaneBrightWind","count":24,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ShaneBrightWind"},{"login":"AndyBrightWind","count":22,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/AndyBrightWind"},{"login":"MichaelK01","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/MichaelK01"}],"active_maintainers":[{"login":"stephenholleran","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/stephenholleran"},{"login":"ShaneBrightWind","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ShaneBrightWind"},{"login":"AndyBrightWind","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/AndyBrightWind"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/brightwind/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/brightwind/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/brightwind/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/brightwind/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/brightwind/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/brightwind/codemeta","maintainers":[{"uuid":"sholleran","login":"sholleran","name":null,"email":null,"url":null,"packages_count":1,"html_url":"https://pypi.org/user/sholleran/","role":null,"created_at":"2023-02-23T18:12:34.042Z","updated_at":"2023-02-23T18:12:34.042Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/sholleran/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":869161,"maintainers_count":371529,"namespaces_count":0,"keywords_count":280639,"github":"pypi","metadata":{"funded_packages_count":53810},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2026-05-13T05:09:37.527Z","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":545330,"full_name":"brightwind-dev/brightwind","default_branch":"master","total_commits":1417,"total_committers":17,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":83.3529411764706,"dds":0.6273817925194072,"past_year_total_commits":57,"past_year_total_committers":8,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":7.125,"past_year_dds":0.7192982456140351,"last_synced_at":"2026-05-18T13:03:26.502Z","last_synced_commit":"d80baac39c6718bc98f6eb7488fc484809040ae3","created_at":"2023-03-09T04:24:01.700Z","updated_at":"2026-05-18T13:03:18.999Z","committers":[{"name":"stephenholleran","email":"stephen@brightwindanalysis.com","login":"stephenholleran","count":528},{"name":"BiancaMorandi","email":"biamorandi@gmail.com","login":"BiancaMorandi","count":352},{"name":"Inder","email":"singhinderpreet1995@gmail.com","login":"inder-preet-kakkar","count":303},{"name":"Luke Cunningham","email":"lucunnin@tcd.ie","login":"lucunnin","count":112},{"name":"rach185","email":"rachel@brightwindanalysis.com","login":"rach185","count":36},{"name":"olivia-bentley","email":"olivia.bentley@brightwindanalysis.com","login":"olivia-bentley","count":27},{"name":"AndyBrightWind","email":"43743490+AndyBrightWind","login":"AndyBrightWind","count":16},{"name":"r-molins-mrp","email":"93541751+r-molins-mrp","login":"r-molins-mrp","count":11},{"name":"Sara","email":"183604246+sararafter","login":"sararafter","count":11},{"name":"ShaneBrightWind","email":"32269199+ShaneBrightWind","login":"ShaneBrightWind","count":9},{"name":"dancasey-ie","email":"info@dancasey.ie","login":"dancasey-ie","count":4},{"name":"shwetajoshi601","email":"shwetajoshi601@gmail.com","login":"shwetajoshi601","count":3},{"name":"Ilirmc","email":"Ilirmc","login":"Ilirmc","count":1},{"name":"Rowan Molony","email":"rowan.molony@mainstreamrp.com","login":"rdmolony","count":1},{"name":"abohara","email":"taksar2012@gmail.com","login":"abohara","count":1},{"name":"amralaa95","email":"amralaa423@gmail.com","login":"amralaa95","count":1},{"name":"rm-mol","email":"93541751+rm-mol","login":"rm-mol","count":1}],"past_year_committers":[{"name":"stephenholleran","email":"stephen@brightwindanalysis.com","login":"stephenholleran","count":16},{"name":"olivia-bentley","email":"olivia.bentley@brightwindanalysis.com","login":"olivia-bentley","count":12},{"name":"Sara","email":"183604246+sararafter","login":"sararafter","count":11},{"name":"r-molins-mrp","email":"93541751+r-molins-mrp","login":"r-molins-mrp","count":7},{"name":"BiancaMorandi","email":"biamorandi@gmail.com","login":"BiancaMorandi","count":5},{"name":"dancasey-ie","email":"info@dancasey.ie","login":"dancasey-ie","count":4},{"name":"rm-mol","email":"93541751+rm-mol","login":"rm-mol","count":1},{"name":"Ilirmc","email":"Ilirmc","login":"Ilirmc","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-05-22T00:00:12.925Z","repositories_count":6237669,"commits_count":884453438,"contributors_count":34893863,"owners_count":1155913,"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":"brightwind-dev/brightwind","html_url":"https://github.com/brightwind-dev/brightwind","last_synced_at":"2026-05-18T13:03:36.420Z","status":"active","issues_count":336,"pull_requests_count":290,"avg_time_to_close_issue":17396330.02293578,"avg_time_to_close_pull_request":2292436.1915708813,"issues_closed_count":218,"pull_requests_closed_count":261,"pull_request_authors_count":16,"issue_authors_count":23,"avg_comments_per_issue":1.9642857142857142,"avg_comments_per_pull_request":0.7482758620689656,"merged_pull_requests_count":235,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":55,"past_year_pull_requests_count":40,"past_year_avg_time_to_close_issue":4730357.80952381,"past_year_avg_time_to_close_pull_request":1045743.695652174,"past_year_issues_closed_count":21,"past_year_pull_requests_closed_count":23,"past_year_pull_request_authors_count":8,"past_year_issue_authors_count":6,"past_year_avg_comments_per_issue":0.7818181818181819,"past_year_avg_comments_per_pull_request":0.85,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":22,"created_at":"2023-05-09T10:39:43.852Z","updated_at":"2026-05-18T13:03:36.420Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightwind-dev%2Fbrightwind/issues","issue_labels_count":{"bug":97,"enhancement":87,"function improvement":72,"documentation":23,"breaking change":13,"v3.0.0":11,"v2.4.0":10,"tutorial":7,"good first issue":4,"question":4},"pull_request_labels_count":{"bug":53,"enhancement":30,"function improvement":18,"v2.4.0":7,"good first issue":2,"breaking change":1},"issue_author_associations_count":{"COLLABORATOR":207,"CONTRIBUTOR":111,"NONE":18},"pull_request_author_associations_count":{"COLLABORATOR":176,"CONTRIBUTOR":75,"NONE":39},"issue_authors":{"stephenholleran":125,"BiancaMorandi":98,"ShaneBrightWind":22,"sararafter":15,"dancasey-ie":14,"rach185":11,"AndyBrightWind":11,"inder-preet-kakkar":8,"lucunnin":7,"olivia-bentley":6,"Ilirmc":5,"geekwg":2,"py-jv":2,"MichaelK01":1,"ChristopherStapleton":1,"DOhAW":1,"ews-ffarella":1,"amralaa95":1,"flrs":1,"conorcoady":1,"SteveCordleBW":1,"r-molins-mrp":1,"mdavid800":1},"pull_request_authors":{"stephenholleran":88,"BiancaMorandi":56,"olivia-bentley":39,"inder-preet-kakkar":27,"lucunnin":18,"rach185":12,"sararafter":11,"AndyBrightWind":11,"r-molins-mrp":10,"dancasey-ie":4,"ShaneBrightWind":4,"Ilirmc":3,"amralaa95":3,"rm-mol":2,"abohara":1,"rdmolony":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-05-22T00:00:21.018Z","repositories_count":14663864,"issues_count":34154916,"pull_requests_count":111783144,"authors_count":11269416,"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":{"enhancement":29,"breaking change":12,"v3.0.0":11,"bug":11,"function improvement":8,"v2.4.0":8,"good first issue":1,"documentation":1},"past_year_pull_request_labels_count":{"enhancement":14,"v2.4.0":7,"function improvement":4,"bug":3,"breaking change":1},"past_year_issue_author_associations_count":{"COLLABORATOR":36,"CONTRIBUTOR":19},"past_year_pull_request_author_associations_count":{"COLLABORATOR":30,"CONTRIBUTOR":10},"past_year_issue_authors":{"sararafter":15,"BiancaMorandi":14,"dancasey-ie":14,"stephenholleran":6,"olivia-bentley":5,"Ilirmc":1},"past_year_pull_request_authors":{"sararafter":11,"olivia-bentley":9,"r-molins-mrp":8,"dancasey-ie":4,"stephenholleran":4,"rm-mol":2,"BiancaMorandi":1,"Ilirmc":1},"maintainers":[{"login":"stephenholleran","count":213,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/stephenholleran"},{"login":"inder-preet-kakkar","count":35,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/inder-preet-kakkar"},{"login":"ShaneBrightWind","count":26,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ShaneBrightWind"},{"login":"sararafter","count":26,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sararafter"},{"login":"lucunnin","count":25,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/lucunnin"},{"login":"AndyBrightWind","count":22,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/AndyBrightWind"},{"login":"dancasey-ie","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dancasey-ie"},{"login":"r-molins-mrp","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/r-molins-mrp"},{"login":"Ilirmc","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Ilirmc"},{"login":"rm-mol","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rm-mol"},{"login":"MichaelK01","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/MichaelK01"}],"active_maintainers":[{"login":"sararafter","count":26,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sararafter"},{"login":"dancasey-ie","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dancasey-ie"},{"login":"stephenholleran","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/stephenholleran"},{"login":"r-molins-mrp","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/r-molins-mrp"},{"login":"Ilirmc","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Ilirmc"},{"login":"rm-mol","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rm-mol"}]},"events":{"total":{"ReleaseEvent":1,"DeleteEvent":39,"PullRequestEvent":66,"ForkEvent":3,"IssuesEvent":100,"WatchEvent":15,"IssueCommentEvent":126,"PushEvent":384,"PullRequestReviewEvent":200,"PullRequestReviewCommentEvent":168,"CreateEvent":34},"last_year":{"DeleteEvent":18,"PullRequestEvent":27,"ForkEvent":1,"IssuesEvent":47,"WatchEvent":8,"IssueCommentEvent":43,"PushEvent":134,"PullRequestReviewCommentEvent":52,"PullRequestReviewEvent":53,"CreateEvent":19}},"keywords":[],"dependencies":[{"ecosystem":"pypi","filepath":"requirements.txt","sha":null,"kind":"manifest","created_at":"2023-01-15T04:01:35.934Z","updated_at":"2023-01-15T04:01:35.934Z","repository_link":"https://github.com/brightwind-dev/brightwind/blob/master/requirements.txt","dependencies":[{"id":6914577745,"package_name":"pandas","ecosystem":"pypi","requirements":"\u003e=0.24.0,\u003c=0.25.3","direct":true,"kind":"runtime","optional":false},{"id":6914577746,"package_name":"numpy","ecosystem":"pypi","requirements":"\u003e=1.16.4","direct":true,"kind":"runtime","optional":false},{"id":6914577747,"package_name":"scikit-learn","ecosystem":"pypi","requirements":"\u003e=0.19.1","direct":true,"kind":"runtime","optional":false},{"id":6914577748,"package_name":"matplotlib","ecosystem":"pypi","requirements":"\u003e=3.0.3","direct":true,"kind":"runtime","optional":false},{"id":6914577749,"package_name":"requests","ecosystem":"pypi","requirements":"\u003e=2.20.0","direct":true,"kind":"runtime","optional":false},{"id":6914577750,"package_name":"scipy","ecosystem":"pypi","requirements":"\u003e=0.19.1","direct":true,"kind":"runtime","optional":false},{"id":6914577751,"package_name":"pytest","ecosystem":"pypi","requirements":"\u003e=4.1.0","direct":true,"kind":"runtime","optional":false},{"id":6914577752,"package_name":"six","ecosystem":"pypi","requirements":"\u003e=1.12.0","direct":true,"kind":"runtime","optional":false},{"id":6914577753,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"\u003e=2.8.0","direct":true,"kind":"runtime","optional":false},{"id":6914577754,"package_name":"ipywidgets","ecosystem":"pypi","requirements":"\u003e=7.4.2","direct":true,"kind":"runtime","optional":false},{"id":6914577755,"package_name":"ipython","ecosystem":"pypi","requirements":"\u003e=7.4.0","direct":true,"kind":"runtime","optional":false},{"id":6914577756,"package_name":"gmaps","ecosystem":"pypi","requirements":"\u003e=0.9.0","direct":true,"kind":"runtime","optional":false},{"id":6914577758,"package_name":"boto3","ecosystem":"pypi","requirements":"\u003e=1.9.66","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"setup.py","sha":null,"kind":"manifest","created_at":"2023-01-15T04:01:36.025Z","updated_at":"2023-01-15T04:01:36.025Z","repository_link":"https://github.com/brightwind-dev/brightwind/blob/master/setup.py","dependencies":[{"id":6914577796,"package_name":"pandas","ecosystem":"pypi","requirements":"\u003e=0.24.0,","direct":true,"kind":"runtime","optional":false},{"id":6914577797,"package_name":"numpy","ecosystem":"pypi","requirements":"\u003e=1.16.4","direct":true,"kind":"runtime","optional":false},{"id":6914577798,"package_name":"scikit-learn","ecosystem":"pypi","requirements":"\u003e=0.19.1","direct":true,"kind":"runtime","optional":false},{"id":6914577799,"package_name":"matplotlib","ecosystem":"pypi","requirements":"\u003e=3.0.3","direct":true,"kind":"runtime","optional":false},{"id":6914577800,"package_name":"requests","ecosystem":"pypi","requirements":"\u003e=2.20.0","direct":true,"kind":"runtime","optional":false},{"id":6914577801,"package_name":"scipy","ecosystem":"pypi","requirements":"\u003e=0.19.1","direct":true,"kind":"runtime","optional":false},{"id":6914577802,"package_name":"pytest","ecosystem":"pypi","requirements":"\u003e=","direct":true,"kind":"runtime","optional":false},{"id":6914577803,"package_name":"six","ecosystem":"pypi","requirements":"\u003e=","direct":true,"kind":"runtime","optional":false},{"id":6914577804,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"\u003e=2.8.0","direct":true,"kind":"runtime","optional":false},{"id":6914577805,"package_name":"ipywidgets","ecosystem":"pypi","requirements":"\u003e=7.4.2","direct":true,"kind":"runtime","optional":false},{"id":6914577806,"package_name":"ipython","ecosystem":"pypi","requirements":"\u003e=7.4.0","direct":true,"kind":"runtime","optional":false},{"id":6914577807,"package_name":"gmaps","ecosystem":"pypi","requirements":"\u003e=0.9.0","direct":true,"kind":"runtime","optional":false},{"id":6914577808,"package_name":"boto3","ecosystem":"pypi","requirements":"\u003e=1.9.66","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/tests.yml","sha":null,"kind":"manifest","created_at":"2024-01-08T01:56:48.878Z","updated_at":"2024-01-08T01:56:48.878Z","repository_link":"https://github.com/brightwind-dev/brightwind/blob/master/.github/workflows/tests.yml","dependencies":[{"id":15488464413,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":15488464414,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false}]}],"score":14.502287491516377,"created_at":"2023-09-11T14:52:07.453Z","updated_at":"2026-05-23T15:30:20.013Z","avatar_url":"https://github.com/brightwind-dev.png","language":"Python","category":"Renewable Energy","sub_category":"Wind Energy","monthly_downloads":666,"total_dependent_repos":1,"total_dependent_packages":0,"readme":"--------------\n```\n     __         _       __    __           _           __\n    / /_  _____(_)___  / /_  / /__      __(_)___  ___ / /\n   / __ \\/ ___/ / __ \\/ __ \\/ __/ | /| / / / __ \\/ __  /\n  / /_/ / /  / / /_/ / / / / /_ | |/ |/ / / / / / /_/ /\n /_.___/_/  /_/\\__, /_/ /_/\\__/ |__/|__/_/_/ /_/\\__,_/\n              /____/\n ```\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;**A Python library primarily for wind resource assessments.**\n\n--------------\n\n\u003cbr\u003e\n\nBrightwind is an open-source Python library for wind (and solar) resource analysis. It loads meteorological\ntimeseries data, runs common analyses — shear, long-term adjustments, correlations, distributions — and exports\nresults to formats used by wind analysis software such as WAsP.\n\n📚 **Full documentation, tutorials and API reference:** https://brightwind-dev.github.io/brightwind-docs/\n\n\u003cbr\u003e\n\n---\n### Installation\n\nInstall brightwind into its own environment to avoid dependency clashes. Pick whichever option suits you.\n\n#### Option 1 — venv (quick way to try brightwind out)\n\nCheck Python is installed (3.9+ recommended):\n\n```bash\npython --version\n```\n\nIf not, install it from [python.org/downloads](https://www.python.org/downloads/) — on Windows, tick **\"Add\nPython to PATH\"** in the installer.\n\nThen create an environment and install brightwind:\n\n```bash\npython -m venv brightwind_env\n# Windows\nbrightwind_env\\Scripts\\activate\n# macOS / Linux\nsource brightwind_env/bin/activate\n\npip install brightwind\n```\n\n#### Option 2 — conda\n\nCommon if you already use Anaconda or work primarily in Jupyter.\n[Anaconda](https://www.datacamp.com/tutorial/installing-anaconda-windows) bundles Python, pip and Jupyter in one\ninstaller. From the **Anaconda Prompt**:\n\n```bash\nconda create --name brightwind_env python=3.11\nconda activate brightwind_env\npip install brightwind\n```\n\nA step-by-step Windows install walkthrough is also available in the\n[tutorials](https://brightwind-dev.github.io/brightwind-docs/).\n\n**Optional — parquet support**\n\nReading `.parquet` files from BrightHub needs a parquet engine. Install the default (pyarrow):\n\n```bash\npip install brightwind[parquet]\n```\n\nOr use fastparquet instead: `pip install brightwind[parquet-fastparquet]`.\n\n\u003cbr\u003e\n\n---\n### Quick start\n\nMost analysts use brightwind from a Jupyter Notebook:\n\n```bash\npip install jupyter\njupyter notebook\n```\n\n```python\nimport brightwind as bw\n\ndata = bw.load_csv(bw.demo_datasets.demo_data)\nbw.basic_stats(data)\n```\n\nFor full examples — loading, plotting, shear, correlations, exporting — see the\n[tutorials and API reference](https://brightwind-dev.github.io/brightwind-docs/).\n\n\u003cbr\u003e\n\n\u003cp\u003e\n\n![demo_image_1](read_me_1.png)\n![demo_image_2](read_me_2.png)\n\u003c/p\u003e\n\n\u003cbr\u003e\n\n---\n### Why open-source?\n\nThe brightwind library is open-source, making every step of an assessment transparent, auditable and reproducible. The full record of\nadjustments to a dataset lives in a single file that internal reviewers, third parties and banks can inspect\ndirectly — sharpening due diligence and removing the \"black box\" problem of proprietary tools.\n\nThe intent is a shared, validated toolkit that the wind and solar industry builds on together, rather than each\nconsultancy reinventing the same calculations behind closed doors.\n\n\u003cbr\u003e\n\n---\n### Test datasets\n\nDemo datasets are bundled with the library to demonstrate functions and exercise the test suite:\n\n| Dataset | Source | Notes |\n|:--- |:--- |:--- |\n| `demo_data.csv` | BrightWind | A modified 2-year met mast dataset in CSV and Campbell Scientific format. |\n| `MERRA-2_XX_2000-01-01_2017-06-30.csv` | NASA [GES DISC](https://disc.gsfc.nasa.gov/) | 4 × MERRA-2 18-year datasets to complement the demo data for long-term analyses. |\n| `demo_cleaning_file.csv` | BrightWind | Periods to clean out from the demo data. |\n| `windographer_flagging_log.txt` | BrightWind | Same cleaning info as `demo_cleaning_file.csv` formatted as a Windographer flagging file. |\n| `demo_data_iea43_wra_data_model.json` | BrightWind | A JSON file formatted to the IEA Wind Task 43 [WRA Data Model](https://github.com/IEA-Task-43/digital_wra_data_standard) standard, describing the mast configuration for the demo data. |\n\n\u003cbr\u003e\n\n---\n### Contributing\n\nBrightwind welcomes contributions from across the wind and solar industry — analysts, engineers, researchers and\ndevelopers.\n\n- **Issues, bugs and feature requests:** [GitHub issue tracker](https://github.com/brightwind-dev/brightwind/issues)\n- **Code contributions and development setup:** see [contributing.md](contributing.md)\n- **General enquiries:** stephen@brightwindanalysis.com\n\n\u003cbr\u003e\n\n---\n### License\n\nMIT — see [LICENSE.txt](LICENSE.txt).\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://ost.ecosyste.ms/api/v1/projects/19832","html_url":"https://ost.ecosyste.ms/projects/19832"}