{"id":19798,"name":"Pysolar","description":"A collection of Python libraries for simulating the irradiation of any point on earth by the sun. It includes code for extremely precise ephemeris calculations.","url":"https://github.com/pingswept/pysolar","last_synced_at":"2026-04-28T17:30:15.769Z","repository":{"id":384797,"uuid":"2058","full_name":"pingswept/pysolar","owner":"pingswept","description":"Pysolar is a collection of Python libraries for simulating the irradiation of any point on earth by the sun. It includes code for extremely precise ephemeris calculations.","archived":false,"fork":false,"pushed_at":"2025-10-20T14:49:53.000Z","size":5083,"stargazers_count":402,"open_issues_count":16,"forks_count":129,"subscribers_count":26,"default_branch":"master","last_synced_at":"2026-04-23T15:05:42.862Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://pysolar.org","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pingswept.png","metadata":{"files":{"readme":"README.markdown","changelog":null,"contributing":null,"funding":null,"license":"COPYING","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":"2008-03-01T23:35:48.000Z","updated_at":"2026-04-17T07:38:04.000Z","dependencies_parsed_at":"2025-04-17T01:28:29.029Z","dependency_job_id":"6d412128-95d4-43a0-bc7c-d1951eb213e5","html_url":"https://github.com/pingswept/pysolar","commit_stats":{"total_commits":300,"total_committers":50,"mean_commits":6.0,"dds":0.5866666666666667,"last_synced_commit":"eabf85628640bbc4f8b2ac02c9b60a62830b0ac7"},"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"purl":"pkg:github/pingswept/pysolar","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pingswept","download_url":"https://codeload.github.com/pingswept/pysolar/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/sbom","scorecard":{"id":734386,"data":{"date":"2025-08-11","repo":{"name":"github.com/pingswept/pysolar","commit":"14989d5b8bac33e1357ba021de4b9829b9312e98"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.1,"checks":[{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":3,"reason":"Found 7/22 approved changesets -- score normalized to 3","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/testpackage.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":"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":"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/testpackage.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/pingswept/pysolar/testpackage.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/testpackage.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/pingswept/pysolar/testpackage.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/testpackage.yml:28","Warn: pipCommand not pinned by hash: .github/workflows/testpackage.yml:29","Warn: pipCommand not pinned by hash: .github/workflows/testpackage.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":"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: COPYING:0","Info: FSF or OSI recognized license: GNU General Public License v3.0: COPYING: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":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":3,"reason":"7 existing vulnerabilities detected","details":["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"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 15 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-22T15:19:20.336Z","repository_id":384797,"created_at":"2025-08-22T15:19:20.336Z","updated_at":"2025-08-22T15:19:20.336Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32267713,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-25T09:15:33.318Z","status":"ssl_error","status_checked_at":"2026-04-25T09:15:31.997Z","response_time":59,"last_error":"SSL_read: 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":"pingswept","name":"Brandon Stafford","uuid":"1875","kind":"user","description":"","email":"","website":"nolop.org","location":"Somerville, Massachusetts, USA","twitter":null,"company":"Tufts University","icon_url":"https://avatars.githubusercontent.com/u/1875?u=be3961d146d82443359645e74a186bbba98ee497\u0026v=4","repositories_count":50,"last_synced_at":"2024-06-11T16:06:32.393Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/pingswept","funding_links":[],"total_stars":394,"followers":66,"following":40,"created_at":"2022-11-02T16:59:42.602Z","updated_at":"2024-06-11T16:06:41.253Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pingswept","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pingswept/repositories"},"packages":[{"id":5290566,"name":"pysolar","ecosystem":"conda","description":"Pysolar is a collection of Python libraries for simulating the irradiation of any point on earth by the sun. It includes code for extremely precise ephemeris calculations, and more.","homepage":"http://pysolar.org/","licenses":"GPL-3.0","normalized_licenses":["GPL-3.0"],"repository_url":"https://github.com/pingswept/pysolar","keywords_array":[],"namespace":null,"versions_count":5,"first_release_published_at":"2018-09-10T15:13:49.000Z","latest_release_published_at":"2022-10-03T15:50:06.806Z","latest_release_number":"0.6","last_synced_at":"2026-04-02T15:47:57.626Z","created_at":"2022-10-03T15:50:06.797Z","updated_at":"2026-04-02T15:47:57.627Z","registry_url":"https://anaconda.org/conda-forge/pysolar","install_command":"conda install -c conda-forge pysolar","documentation_url":null,"metadata":{},"repo_metadata":{"id":384797,"uuid":"2058","full_name":"pingswept/pysolar","owner":"pingswept","description":"Pysolar is a collection of Python libraries for simulating the irradiation of any point on earth by the sun. It includes code for extremely precise ephemeris calculations.","archived":false,"fork":false,"pushed_at":"2025-10-20T14:49:53.000Z","size":5083,"stargazers_count":394,"open_issues_count":15,"forks_count":133,"subscribers_count":27,"default_branch":"master","last_synced_at":"2025-10-21T20:42:33.021Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://pysolar.org","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pingswept.png","metadata":{"files":{"readme":"README.markdown","changelog":null,"contributing":null,"funding":null,"license":"COPYING","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":"2008-03-01T23:35:48.000Z","updated_at":"2025-10-20T14:50:00.000Z","dependencies_parsed_at":"2025-04-17T01:28:29.029Z","dependency_job_id":"6d412128-95d4-43a0-bc7c-d1951eb213e5","html_url":"https://github.com/pingswept/pysolar","commit_stats":{"total_commits":300,"total_committers":50,"mean_commits":6.0,"dds":0.5866666666666667,"last_synced_commit":"eabf85628640bbc4f8b2ac02c9b60a62830b0ac7"},"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"purl":"pkg:github/pingswept/pysolar","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pingswept","download_url":"https://codeload.github.com/pingswept/pysolar/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/sbom","scorecard":{"id":734386,"data":{"date":"2025-08-11","repo":{"name":"github.com/pingswept/pysolar","commit":"14989d5b8bac33e1357ba021de4b9829b9312e98"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.1,"checks":[{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":3,"reason":"Found 7/22 approved changesets -- score normalized to 3","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/testpackage.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":"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":"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/testpackage.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/pingswept/pysolar/testpackage.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/testpackage.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/pingswept/pysolar/testpackage.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/testpackage.yml:28","Warn: pipCommand not pinned by hash: .github/workflows/testpackage.yml:29","Warn: pipCommand not pinned by hash: .github/workflows/testpackage.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":"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: COPYING:0","Info: FSF or OSI recognized license: GNU General Public License v3.0: COPYING: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":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":3,"reason":"7 existing vulnerabilities detected","details":["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"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 15 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-22T15:19:20.336Z","repository_id":384797,"created_at":"2025-08-22T15:19:20.336Z","updated_at":"2025-08-22T15:19:20.336Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280515930,"owners_count":26343879,"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-10-22T02:00:06.515Z","response_time":63,"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":"pingswept","name":"Brandon Stafford","uuid":"1875","kind":"user","description":"","email":"","website":"nolop.org","location":"Somerville, Massachusetts, USA","twitter":null,"company":"Tufts University","icon_url":"https://avatars.githubusercontent.com/u/1875?u=be3961d146d82443359645e74a186bbba98ee497\u0026v=4","repositories_count":50,"last_synced_at":"2024-06-11T16:06:32.393Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/pingswept","funding_links":[],"total_stars":394,"followers":66,"following":40,"created_at":"2022-11-02T16:59:42.602Z","updated_at":"2024-06-11T16:06:41.253Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pingswept","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pingswept/repositories"},"tags":[{"name":"0.13","sha":"42a1c3311ac3df1fb906abb9723df12804a73426","kind":"commit","published_at":"2025-01-04T15:26:41.000Z","download_url":"https://codeload.github.com/pingswept/pysolar/tar.gz/0.13","html_url":"https://github.com/pingswept/pysolar/releases/tag/0.13","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pingswept/pysolar@0.13","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/tags/0.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/tags/0.13/manifests"},{"name":"0.12","sha":"a3950b717f006800c90a47105f84b70f1e711d8a","kind":"commit","published_at":"2025-01-04T00:26:32.000Z","download_url":"https://codeload.github.com/pingswept/pysolar/tar.gz/0.12","html_url":"https://github.com/pingswept/pysolar/releases/tag/0.12","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pingswept/pysolar@0.12","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/tags/0.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/tags/0.12/manifests"},{"name":"0.11","sha":"fe5cb8e66d32db25279faeaf5c2aad326e6af498","kind":"commit","published_at":"2023-07-25T17:08:33.000Z","download_url":"https://codeload.github.com/pingswept/pysolar/tar.gz/0.11","html_url":"https://github.com/pingswept/pysolar/releases/tag/0.11","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pingswept/pysolar@0.11","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/tags/0.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/tags/0.11/manifests"},{"name":"0.10","sha":"a36e808ba1cdb92d312aeba93b213ee1d89b50fa","kind":"commit","published_at":"2021-09-20T21:29:25.000Z","download_url":"https://codeload.github.com/pingswept/pysolar/tar.gz/0.10","html_url":"https://github.com/pingswept/pysolar/releases/tag/0.10","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pingswept/pysolar@0.10","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/tags/0.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/tags/0.10/manifests"},{"name":"0.9","sha":"2d4b89cd6243bca051680f3ff50b8b311bf51ccf","kind":"commit","published_at":"2020-10-18T13:25:49.000Z","download_url":"https://codeload.github.com/pingswept/pysolar/tar.gz/0.9","html_url":"https://github.com/pingswept/pysolar/releases/tag/0.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pingswept/pysolar@0.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/tags/0.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/tags/0.9/manifests"},{"name":"0.8","sha":"1569b77a833ca2cff79b5f4eb1a427e7fc34032b","kind":"commit","published_at":"2018-09-28T20:10:26.000Z","download_url":"https://codeload.github.com/pingswept/pysolar/tar.gz/0.8","html_url":"https://github.com/pingswept/pysolar/releases/tag/0.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pingswept/pysolar@0.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/tags/0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/tags/0.8/manifests"},{"name":"0.8-RC2","sha":"a47094346054e9cf89c4fa92ba3eec1c0d11496b","kind":"commit","published_at":"2018-09-10T16:34:43.000Z","download_url":"https://codeload.github.com/pingswept/pysolar/tar.gz/0.8-RC2","html_url":"https://github.com/pingswept/pysolar/releases/tag/0.8-RC2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pingswept/pysolar@0.8-RC2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/tags/0.8-RC2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/tags/0.8-RC2/manifests"},{"name":"0.8-RC1","sha":"c2a0869f32ac9967a318f5f62bff9d30d0b7cdfe","kind":"commit","published_at":"2017-11-03T15:32:30.000Z","download_url":"https://codeload.github.com/pingswept/pysolar/tar.gz/0.8-RC1","html_url":"https://github.com/pingswept/pysolar/releases/tag/0.8-RC1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pingswept/pysolar@0.8-RC1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/tags/0.8-RC1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/tags/0.8-RC1/manifests"},{"name":"0.7","sha":"ecd8faef0e6cbc32fa9de84d291c533f1ac8c8ff","kind":"commit","published_at":"2015-04-18T00:57:26.000Z","download_url":"https://codeload.github.com/pingswept/pysolar/tar.gz/0.7","html_url":"https://github.com/pingswept/pysolar/releases/tag/0.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pingswept/pysolar@0.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/tags/0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/tags/0.7/manifests"},{"name":"0.6","sha":"37fcbf1551ea55216b02c5f99b3e7c579f878e85","kind":"commit","published_at":"2014-04-20T23:37:19.000Z","download_url":"https://codeload.github.com/pingswept/pysolar/tar.gz/0.6","html_url":"https://github.com/pingswept/pysolar/releases/tag/0.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pingswept/pysolar@0.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/tags/0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/tags/0.6/manifests"},{"name":"0.6-alpha","sha":"86ae35513a0680e50c34dcd2dc6fbb772bbee30c","kind":"commit","published_at":"2014-04-19T11:30:57.000Z","download_url":"https://codeload.github.com/pingswept/pysolar/tar.gz/0.6-alpha","html_url":"https://github.com/pingswept/pysolar/releases/tag/0.6-alpha","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pingswept/pysolar@0.6-alpha","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/tags/0.6-alpha","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/tags/0.6-alpha/manifests"},{"name":"0.5","sha":"a516baa583f72e5c42913d4b88d24bb2543ce7d3","kind":"commit","published_at":"2012-07-11T22:26:19.000Z","download_url":"https://codeload.github.com/pingswept/pysolar/tar.gz/0.5","html_url":"https://github.com/pingswept/pysolar/releases/tag/0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pingswept/pysolar@0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/tags/0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/tags/0.5/manifests"},{"name":"0.4.4","sha":"42d1abdd877c5f186727c6a59f257c7cf7d4c769","kind":"commit","published_at":"2012-03-05T22:46:22.000Z","download_url":"https://codeload.github.com/pingswept/pysolar/tar.gz/0.4.4","html_url":"https://github.com/pingswept/pysolar/releases/tag/0.4.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pingswept/pysolar@0.4.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/tags/0.4.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/tags/0.4.4/manifests"},{"name":"0.4.3","sha":"44ffa91e00acef349a5b69f3d53914908e097660","kind":"tag","published_at":"2011-04-21T14:07:51.000Z","download_url":"https://codeload.github.com/pingswept/pysolar/tar.gz/0.4.3","html_url":"https://github.com/pingswept/pysolar/releases/tag/0.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pingswept/pysolar@0.4.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/tags/0.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/tags/0.4.3/manifests"},{"name":"0.4.2","sha":"f382f2872d0168721204146476280126d13c2009","kind":"tag","published_at":"2010-03-09T18:15:35.000Z","download_url":"https://codeload.github.com/pingswept/pysolar/tar.gz/0.4.2","html_url":"https://github.com/pingswept/pysolar/releases/tag/0.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pingswept/pysolar@0.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/tags/0.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/tags/0.4.2/manifests"},{"name":"0.4.1","sha":"fafaf8573c85ca47afd676e273bbafe3ddc5fecf","kind":"tag","published_at":"2009-09-18T15:37:33.000Z","download_url":"https://codeload.github.com/pingswept/pysolar/tar.gz/0.4.1","html_url":"https://github.com/pingswept/pysolar/releases/tag/0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pingswept/pysolar@0.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/tags/0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/tags/0.4.1/manifests"},{"name":"0.4.0","sha":"a627996677a9a19d335c250269a5d40425c5833c","kind":"tag","published_at":"2009-06-18T22:00:29.000Z","download_url":"https://codeload.github.com/pingswept/pysolar/tar.gz/0.4.0","html_url":"https://github.com/pingswept/pysolar/releases/tag/0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pingswept/pysolar@0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/tags/0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/tags/0.4.0/manifests"},{"name":"0.3.0","sha":"aa234c2041b69052043304ec40bc0c055eb0becc","kind":"tag","published_at":"2009-01-28T04:06:16.000Z","download_url":"https://codeload.github.com/pingswept/pysolar/tar.gz/0.3.0","html_url":"https://github.com/pingswept/pysolar/releases/tag/0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pingswept/pysolar@0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/tags/0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/tags/0.3.0/manifests"},{"name":"0.2.1","sha":"3ee9f8309fb56bc31ed96d070b071d81907a78fe","kind":"tag","published_at":"2008-03-08T22:15:05.000Z","download_url":"https://codeload.github.com/pingswept/pysolar/tar.gz/0.2.1","html_url":"https://github.com/pingswept/pysolar/releases/tag/0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pingswept/pysolar@0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/tags/0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/tags/0.2.1/manifests"}]},"repo_metadata_updated_at":"2025-10-24T08:04:02.559Z","dependent_packages_count":1,"downloads":null,"downloads_period":null,"dependent_repos_count":6,"rankings":{"downloads":null,"dependent_repos_count":13.835787372098826,"dependent_packages_count":28.954329922635385,"stargazers_count":21.497379585724982,"forks_count":16.93037184926379,"docker_downloads_count":null,"average":20.304467182430745},"purl":"pkg:conda/pysolar?repository_url=https://conda-forge.org","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/conda/pysolar","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/conda/pysolar","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/conda/pysolar/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-10-22T00:39:08.207Z","issues_count":85,"pull_requests_count":82,"avg_time_to_close_issue":19943103.77142857,"avg_time_to_close_pull_request":2237063.0,"issues_closed_count":70,"pull_requests_closed_count":82,"pull_request_authors_count":51,"issue_authors_count":72,"avg_comments_per_issue":2.776470588235294,"avg_comments_per_pull_request":1.0609756097560976,"merged_pull_requests_count":66,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":1,"past_year_pull_requests_count":7,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":261142.2857142857,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":7,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.2857142857142857,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":5,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/issues","maintainers":[{"login":"pingswept","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/pingswept"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/pysolar/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/pysolar/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/pysolar/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/pysolar/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/pysolar/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"}}],"commits":{"id":28908,"full_name":"pingswept/pysolar","default_branch":"master","total_commits":311,"total_committers":52,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":5.980769230769231,"dds":0.5819935691318328,"past_year_total_commits":3,"past_year_total_committers":1,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":3.0,"past_year_dds":0.0,"last_synced_at":"2026-04-23T15:04:32.255Z","last_synced_commit":"5ab944f5b3992306c2c90c18d28aff58d6ded9aa","created_at":"2023-03-07T16:39:09.889Z","updated_at":"2026-04-23T15:03:06.615Z","committers":[{"name":"Brandon Stafford","email":"brandon@pingswept.org","login":"pingswept","count":130},{"name":"Lawrence D'Oliveiro","email":"ldo@geek-central.gen.nz","login":null,"count":60},{"name":"Brandon Stafford","email":"brandon@farb.(none)","login":null,"count":12},{"name":"François Rejeté","email":"w00kie","login":"w00kie","count":9},{"name":"JacquotLeHaricot","email":"louis.redonnet@gmail.com","login":"louis-red","count":8},{"name":"Robin Wilson","email":"robin@rtwilson.com","login":"robintw","count":8},{"name":"François Steinmetz","email":"fs@hygeos.com","login":"fsteinmetz","count":6},{"name":"mborsetti","email":"mike@borsetti.com","login":"mborsetti","count":5},{"name":"ArneBachmann","email":"ArneBachmann","login":"ArneBachmann","count":5},{"name":"Brandon Stafford","email":"brandon@loess.(none)","login":null,"count":4},{"name":"Łukasz Stelmach","email":"stlman@poczta.fm","login":"steelman","count":3},{"name":"Will Hardy","email":"will@willhardy.com.au","login":"willhardy","count":3},{"name":"Eliot Blennerhassett","email":"eliot@blennerhassett.gen.nz","login":"eliotb","count":3},{"name":"Amit Aronovitch","email":"amit@satellogic.com","login":"AmitAronovitch","count":3},{"name":"Alex Rowley","email":"arowley@gmail.com","login":"alex-rowley","count":3},{"name":"Greg Hulands","email":"greg_hulands@apple.com","login":null,"count":3},{"name":"Andrew Freitas","email":"andrew.freitas@pentair.com","login":null,"count":2},{"name":"Juan Luis Leal Contreras","email":"kuenlun13054@gmail.com","login":"Kuenlun","count":2},{"name":"Herbrax","email":"simo.hakim@umontreal.ca","login":"Herbrax","count":2},{"name":"Andrey Kiselev","email":"andrey.kiselev@gmail.com","login":"strezen","count":2},{"name":"Eric Firing","email":"efiring@hawaii.edu","login":"efiring","count":2},{"name":"Eric Semeniuc","email":"3838856+esemeniuc","login":"esemeniuc","count":2},{"name":"Perry Kundert","email":"perry@hardconsulting.com","login":"pjkundert","count":2},{"name":"Tansy Arron","email":"tansy.arron@gmail.com","login":"TansyArron","count":2},{"name":"Will McNaughton","email":"wkmcnaughton@burnsmcd.com","login":"wmacbmcd","count":2},{"name":"solarjoe","email":"walterwhite666@googlemail.com","login":"solarjoe","count":2},{"name":"jgehman","email":"www.gehmanlab.com","login":null,"count":1},{"name":"Ben Robinson","email":"ben.robinson@spensatech.com","login":"bfrobin446","count":1},{"name":"seanth","email":"seanth@gmail.com","login":"seanth","count":1},{"name":"raghu1121","email":"raghuramkalyanam@gmail.com","login":"raghu1121","count":1},{"name":"mrnaz","email":"naz@gassiep.com","login":"mrnaz","count":1},{"name":"mjn","email":"mjn@anadrome.org","login":"anadrome","count":1},{"name":"luz.paz","email":"luzpaz","login":"luzpaz","count":1},{"name":"duncandoo","email":"duncan@mcpherson.org.uk","login":"duncandoo","count":1},{"name":"dpshelio","email":"dps.helio@gmail.com","login":"dpshelio","count":1},{"name":"dietervansteenwegen","email":"github@vansteenwegen.org","login":"dietervansteenwegen","count":1},{"name":"davidvhill","email":"davehill75@gmail.com","login":"davidvhill","count":1},{"name":"arnaldorusso","email":"arnaldorusso@gmail.com","login":"arnaldorusso","count":1},{"name":"arjdk","email":"39184289+arjdk","login":"arjdk","count":1},{"name":"Tom","email":"tom@blackforestbotanics.com","login":"dreamalligator","count":1},{"name":"Roberto Díaz Pérez","email":"r.r.1994a@gmail.com","login":"RoberTnf","count":1},{"name":"René Buffat","email":"buffat@gmail.com","login":"rbuffat","count":1},{"name":"Johannes Hoppe","email":"info@johanneshoppe.com","login":"codingjoe","count":1},{"name":"Johan Heikkila","email":"johan.heikkila@gmail.com","login":"hevanaa","count":1},{"name":"Jan van Haarst","email":"jan@vanhaarst.net","login":"jvhaarst","count":1},{"name":"Jade Deane","email":"jade.deane@gmail.com","login":"jadedeane","count":1},{"name":"Hasan","email":"9531780+JuanPotato","login":"JuanPotato","count":1},{"name":"Dusan Maliarik","email":"dusan.maliarik@gmail.com","login":"skrat","count":1},{"name":"Deepankar Sharma","email":"29166153+cquark7","login":"cquark7","count":1},{"name":"Christoph Rackwitz","email":"christoph.rackwitz@gmail.com","login":"crackwitz","count":1},{"name":"Ceesjan Luiten","email":"ceesjan@ytec.nl","login":"quinox","count":1},{"name":"Andrew Benedict Wallace","email":"aw@andrewbenedictwallace.com","login":"sourcefilter","count":1}],"past_year_committers":[{"name":"Alex Rowley","email":"arowley@gmail.com","login":"alex-rowley","count":3}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-27T00:00:06.983Z","repositories_count":6219948,"commits_count":899625506,"contributors_count":34875429,"owners_count":1146174,"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":"pingswept/pysolar","html_url":"https://github.com/pingswept/pysolar","last_synced_at":"2026-04-23T15:02:29.566Z","status":"error","issues_count":85,"pull_requests_count":82,"avg_time_to_close_issue":19943103.77142857,"avg_time_to_close_pull_request":2237063.0,"issues_closed_count":70,"pull_requests_closed_count":82,"pull_request_authors_count":51,"issue_authors_count":72,"avg_comments_per_issue":2.776470588235294,"avg_comments_per_pull_request":1.0609756097560976,"merged_pull_requests_count":66,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":7,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":261142.2857142857,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":7,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.2857142857142857,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":5,"created_at":"2023-05-09T10:38:30.482Z","updated_at":"2026-04-23T15:02:29.566Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingswept%2Fpysolar/issues","issue_labels_count":{"help wanted":20},"pull_request_labels_count":{},"issue_author_associations_count":{"NONE":65,"CONTRIBUTOR":17,"OWNER":3},"pull_request_author_associations_count":{"CONTRIBUTOR":62,"NONE":17,"OWNER":3},"issue_authors":{"mborsetti":3,"ghost":3,"pingswept":3,"raghu1121":3,"paulocheque":3,"fsteinmetz":2,"rbuffat":2,"mrnaz":2,"jvhaarst":1,"stephanwaz":1,"ghulands":1,"steelman":1,"pjayathissa":1,"SamuelLarkin":1,"mikewen":1,"codingjoe":1,"jonas-hagen":1,"ekplesovskaya":1,"levydanqc":1,"lvella":1,"thomasBrummet":1,"reystern24":1,"krikru":1,"AmitAronovitch":1,"jayvdb":1,"DouglasAllen":1,"trondkr":1,"stmax82":1,"biglimp":1,"kenkehoe":1,"skiddaw":1,"ArneBachmann":1,"jh-deepmap":1,"percurnicus":1,"caviri":1,"sander76":1,"SepehrMosavat":1,"wewa00":1,"luzpaz":1,"aqreed":1,"jf-mgd":1,"martinmCGG":1,"gvdkooij":1,"ValMilkevich":1,"arnaldorusso":1,"s9w":1,"shannond100":1,"keredson":1,"Ikes72000":1,"elliotclee":1,"adbuerger":1,"scardig":1,"Aariq":1,"timseed":1,"varierahul":1,"rb3maker":1,"catafest":1,"nickponline":1,"pdtwonotes":1,"chrisgraf":1,"alexfritz":1,"jessehersch":1,"F6F":1,"jhaskinsPhD":1,"nicholas512":1,"LorenzoBottaccioli":1,"stareh":1,"rm-minus-r-star":1,"mirtaheri":1,"JamesLawrenceGSI":1,"GarennePb":1,"citypilgrim":1},"pull_request_authors":{"mborsetti":7,"Herbrax":6,"ArneBachmann":4,"pingswept":3,"w00kie":3,"louis-red":3,"fsteinmetz":3,"Kuenlun":3,"willhardy":2,"ghulands":2,"dreamalligator":2,"DouglasAllen":2,"eliotb":2,"sourcefilter":2,"robintw":2,"strezen":1,"seanth":1,"duncandoo":1,"steelman":1,"geowiwi":1,"codingjoe":1,"efiring":1,"anadrome":1,"TansyArron":1,"bfrobin446":1,"rm-minus-r-star":1,"ghost":1,"ldo":1,"jvhaarst":1,"AmitAronovitch":1,"esemeniuc":1,"hevanaa":1,"cquark7":1,"arnaldorusso":1,"anfreita":1,"luzpaz":1,"rbuffat":1,"dietervansteenwegen":1,"petebunting":1,"solarjoe":1,"obsoletesystm":1,"JuanPotato":1,"crackwitz":1,"jadedeane":1,"mrnaz":1,"AdamRJensen":1,"raghu1121":1,"alex-rowley":1,"pjkundert":1,"quinox":1,"dpshelio":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-27T00:00:06.950Z","repositories_count":14433531,"issues_count":34434932,"pull_requests_count":112695585,"authors_count":11247083,"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":{},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":1},"past_year_issue_authors":{},"past_year_pull_request_authors":{"alex-rowley":1},"maintainers":[{"login":"pingswept","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/pingswept"}],"active_maintainers":[]},"events":{"total":{"ReleaseEvent":4,"DeleteEvent":1,"PullRequestEvent":8,"ForkEvent":9,"IssuesEvent":3,"WatchEvent":17,"IssueCommentEvent":5,"PushEvent":8,"CreateEvent":3},"last_year":{"PullRequestEvent":1,"ForkEvent":3,"IssuesEvent":1,"WatchEvent":7,"IssueCommentEvent":1}},"keywords":[],"dependencies":[{"ecosystem":"pypi","filepath":"requirements.txt","sha":null,"kind":"manifest","created_at":"2022-07-07T12:54:47.220Z","updated_at":"2022-07-07T12:54:47.220Z","repository_link":"https://github.com/pingswept/pysolar/blob/master/requirements.txt","dependencies":[{"id":110937532,"package_name":"numpy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/testpackage.yml","sha":null,"kind":"manifest","created_at":"2023-07-05T14:44:45.929Z","updated_at":"2023-07-05T14:44:45.929Z","repository_link":"https://github.com/pingswept/pysolar/blob/master/.github/workflows/testpackage.yml","dependencies":[{"id":11145808345,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":11145808346,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"pypi","filepath":"setup.py","sha":null,"kind":"manifest","created_at":"2024-11-05T18:02:36.226Z","updated_at":"2024-11-05T18:02:36.226Z","repository_link":"https://github.com/pingswept/pysolar/blob/master/setup.py","dependencies":[{"id":20577223310,"package_name":"numpy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]}],"score":11.932635300161497,"created_at":"2023-09-11T14:52:07.196Z","updated_at":"2026-04-28T17:30:15.771Z","avatar_url":"https://github.com/pingswept.png","language":"Jupyter Notebook","category":"Renewable Energy","sub_category":"Photovoltaics and Solar Energy","monthly_downloads":0,"total_dependent_repos":6,"total_dependent_packages":1,"readme":"## Pysolar ##\n\n[![Test Python package](https://github.com/pingswept/pysolar/actions/workflows/testpackage.yml/badge.svg)](https://github.com/pingswept/pysolar/actions/workflows/testpackage.yml)\n\nPysolar is a collection of Python libraries for simulating the irradiation of any point on earth by the sun. It includes code for extremely precise ephemeris calculations, and more.\n\n# Note: right now, the latest commits of Pysolar don't work with Python 2.x #\n\n* Release 0.6 works with 2.x: https://github.com/pingswept/pysolar/releases/tag/0.6 but 0.7 and later have a bunch of changes. They have been validated for Python 3.4, but releases 3.2 or earlier are missing features that the changes require. *\n\nAlso, the API has changed slightly:\n\n  * Pysolar now expects you to supply a **timezone-aware datetime**, rather than a naive datetime in UTC. If your results seem crazy, this is probably why.\n  * Function names are now `lowercase_separated_by_underscores`, in compliance with [PEP8](https://www.python.org/dev/peps/pep-0008/#function-names).\n\n## Installation ##\n\nAssuming you have Python 3.4 or higher installed, you can install Pysolar with `pip`:\n\n    sudo pip install pysolar\n\nDocumentation now appears at [docs.pysolar.org](http://docs.pysolar.org).\n\n## Contributions ##\n\nAll contributions go through pull requests on Github.\n\nEditing [the documentation](http://docs.pysolar.org) is particularly easy-- just click the \"Edit on Github\" link at the top of any page.\n\nCode contributions are welcome under the terms of the GPLv3 license. If you're unfamiliar with Github, you could start with [this guide to working on open source projects](https://guides.github.com/activities/contributing-to-open-source/).\n\n## Support ##\n\nYour first move should be to read the [documentation](http://docs.pysolar.org) and think. But you've probably already tried that.\n\nYour second move is to ask a question on the [pysolar-discuss](http://lists.pysolar.org) mailing list. The original author of Pysolar, [Brandon Stafford](http://rascalmicro.com), monitors the mailing list. Please understand that I wrote (most of) Pysolar around a decade ago when I worked in the solar industry. Now, I'm an electrical engineer who just maintains Pysolar as a fun hobby. The other people on the list are other users like you-- some are experts; some are amateurs. None of them are getting paid for this.\n\nTo subscribe to the mailing list, send a blank email to pysolar-discuss+subscribe@pysolar.org. After a few minutes, you'll get a confirmation message; reply to the confirmation to complete the subscription.\n\nIn order to post to the list, you have to subscribe. You also have to pass a threshold of civil discourse regulated by me.\n\nThe archive of the list is publicly available here: http://lists.pysolar.org/.\n\nIf you ever want to unsubscribe, send an email to pysolar-discuss+unsubscribe@pysolar.org and reply to the confirmation message. If you run into trouble, just send me an email at brandon@pingswept.org, and I'll remove your address manually.\n\nPlease report bugs to [the issue tracker on Github](https://github.com/pingswept/pysolar/issues); I am automatically notified when a new issue is opened.\n\n## License ##\n\nPysolar is licensed under [the GPLv3](https://www.gnu.org/licenses/gpl-3.0.html).\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["solar","cython","geospatial-data","spec-0"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/19798","html_url":"https://ost.ecosyste.ms/projects/19798"}