{"id":75870,"name":"pvfree","description":"Free PV API","url":"https://github.com/BreakingBytes/pvfree","last_synced_at":"2025-09-08T16:46:45.020Z","repository":{"id":27962873,"uuid":"31455907","full_name":"BreakingBytes/pvfree","owner":"BreakingBytes","description":"Free PV API","archived":false,"fork":false,"pushed_at":"2025-06-07T06:14:06.000Z","size":371,"stargazers_count":23,"open_issues_count":12,"forks_count":5,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-09-02T04:03:10.588Z","etag":null,"topics":["api","python","solar-energy"],"latest_commit_sha":null,"homepage":"https://pvfree.azurewebsites.net/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BreakingBytes.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2015-02-28T08:09:30.000Z","updated_at":"2025-08-05T00:49:06.000Z","dependencies_parsed_at":"2025-04-17T08:56:31.635Z","dependency_job_id":"6c592260-792d-4201-a330-bfdd7c70fcde","html_url":"https://github.com/BreakingBytes/pvfree","commit_stats":{"total_commits":221,"total_committers":2,"mean_commits":110.5,"dds":0.03167420814479638,"last_synced_commit":"6943f127e3a5b37d5a0d973f4a64d8d8c528d164"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/BreakingBytes/pvfree","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BreakingBytes%2Fpvfree","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BreakingBytes%2Fpvfree/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BreakingBytes%2Fpvfree/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BreakingBytes%2Fpvfree/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BreakingBytes","download_url":"https://codeload.github.com/BreakingBytes/pvfree/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BreakingBytes%2Fpvfree/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274146716,"owners_count":25230122,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-08T02:00:09.813Z","response_time":121,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"BreakingBytes","name":"Breaking Bytes","uuid":"1437576","kind":"organization","description":"","email":"breaking-bytes@alwaysdata.net","website":"http://breakingbytes.github.io/","location":"Oakland, CA","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/1437576?v=4","repositories_count":8,"last_synced_at":"2024-04-16T02:52:05.522Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/BreakingBytes","funding_links":[],"total_stars":62,"followers":0,"following":0,"created_at":"2022-11-03T11:44:40.885Z","updated_at":"2024-04-16T02:52:08.781Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BreakingBytes","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BreakingBytes/repositories"},"packages":[],"commits":{"id":1253911,"full_name":"BreakingBytes/pvfree","default_branch":"main","committers":[{"name":"Mark Mikofski","email":"bwana.marko@yahoo.com","login":"mikofski","count":312},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":14}],"total_commits":326,"total_committers":2,"total_bot_commits":14,"total_bot_committers":1,"mean_commits":163.0,"dds":0.042944785276073594,"past_year_committers":[{"name":"Mark Mikofski","email":"mark.mikofski@dnv.com","login":"mikofski","count":90},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":7}],"past_year_total_commits":97,"past_year_total_committers":2,"past_year_total_bot_commits":7,"past_year_total_bot_committers":1,"past_year_mean_commits":48.5,"past_year_dds":0.07216494845360821,"last_synced_at":"2025-09-03T10:44:01.583Z","last_synced_commit":"3c93a132c5778369bfea8f7e560f7b6c8ac627f0","created_at":"2023-03-27T10:48:04.636Z","updated_at":"2025-08-08T16:04:33.502Z","commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/BreakingBytes%2Fpvfree/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-04T00:00:25.936Z","repositories_count":5480019,"commits_count":853389012,"contributors_count":31098138,"owners_count":906558,"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":"BreakingBytes/pvfree","html_url":"https://github.com/BreakingBytes/pvfree","last_synced_at":"2025-09-01T03:33:24.716Z","status":"error","issues_count":30,"pull_requests_count":51,"avg_time_to_close_issue":15907922.52631579,"avg_time_to_close_pull_request":2154389.5098039215,"issues_closed_count":19,"pull_requests_closed_count":51,"pull_request_authors_count":2,"issue_authors_count":1,"avg_comments_per_issue":0.5333333333333333,"avg_comments_per_pull_request":0.2549019607843137,"merged_pull_requests_count":46,"bot_issues_count":0,"bot_pull_requests_count":19,"past_year_issues_count":14,"past_year_pull_requests_count":26,"past_year_avg_time_to_close_issue":831665.1666666666,"past_year_avg_time_to_close_pull_request":484051.1923076923,"past_year_issues_closed_count":6,"past_year_pull_requests_closed_count":26,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.35714285714285715,"past_year_avg_comments_per_pull_request":0.19230769230769232,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":9,"past_year_merged_pull_requests_count":24,"created_at":"2023-05-09T10:38:28.199Z","updated_at":"2025-09-02T05:49:34.295Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/BreakingBytes%2Fpvfree","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/BreakingBytes%2Fpvfree/issues","issue_labels_count":{"bug":5,"enhancement":4,"dependencies":3,"python":3,"help wanted":2},"pull_request_labels_count":{"dependencies":30,"python":18,"enhancement":3,"github_actions":2},"issue_author_associations_count":{"MEMBER":30},"pull_request_author_associations_count":{"MEMBER":49,"CONTRIBUTOR":28},"issue_authors":{"mikofski":30},"pull_request_authors":{"mikofski":49,"dependabot[bot]":28},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-07T00:00:10.533Z","repositories_count":10142800,"issues_count":31975455,"pull_requests_count":99810167,"authors_count":10718855,"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":3,"python":3,"bug":2,"dependencies":2,"help wanted":1},"past_year_pull_request_labels_count":{"dependencies":18,"python":18,"enhancement":3},"past_year_issue_author_associations_count":{"MEMBER":14},"past_year_pull_request_author_associations_count":{"MEMBER":33,"CONTRIBUTOR":16},"past_year_issue_authors":{"mikofski":14},"past_year_pull_request_authors":{"mikofski":33,"dependabot[bot]":16},"maintainers":[{"login":"mikofski","count":79,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mikofski"}],"active_maintainers":[{"login":"mikofski","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mikofski"}]},"events":{"total":{"IssuesEvent":27,"WatchEvent":3,"DeleteEvent":10,"IssueCommentEvent":18,"PushEvent":42,"GollumEvent":48,"PullRequestEvent":46,"CreateEvent":9},"last_year":{"IssuesEvent":27,"WatchEvent":3,"DeleteEvent":10,"IssueCommentEvent":18,"PushEvent":42,"GollumEvent":48,"PullRequestEvent":46,"CreateEvent":9}},"keywords":["api","python","solar-energy"],"dependencies":[{"ecosystem":"pypi","filepath":"requirements.txt","sha":null,"kind":"manifest","created_at":"2022-08-01T09:09:00.026Z","updated_at":"2022-08-01T09:09:00.026Z","repository_link":"https://github.com/BreakingBytes/pvfree/blob/main/requirements.txt","dependencies":[{"id":538327678,"package_name":"bokeh","ecosystem":"pypi","requirements":"==2.0.1","direct":true,"kind":"runtime","optional":false},{"id":538327679,"package_name":"defusedxml","ecosystem":"pypi","requirements":"==0.6.0","direct":true,"kind":"runtime","optional":false},{"id":538327680,"package_name":"dj_database_url","ecosystem":"pypi","requirements":"==0.5.0","direct":true,"kind":"runtime","optional":false},{"id":538327681,"package_name":"django","ecosystem":"pypi","requirements":"==1.11.29","direct":true,"kind":"runtime","optional":false},{"id":538327682,"package_name":"django_tastypie","ecosystem":"pypi","requirements":"==0.14.3","direct":true,"kind":"runtime","optional":false},{"id":538327683,"package_name":"future","ecosystem":"pypi","requirements":"==0.18.2","direct":true,"kind":"runtime","optional":false},{"id":538327684,"package_name":"gunicorn","ecosystem":"pypi","requirements":"==20.0.4","direct":true,"kind":"runtime","optional":false},{"id":538327685,"package_name":"jinja2","ecosystem":"pypi","requirements":"==2.11.3","direct":true,"kind":"runtime","optional":false},{"id":538327686,"package_name":"lxml","ecosystem":"pypi","requirements":"==4.6.5","direct":true,"kind":"runtime","optional":false},{"id":538327687,"package_name":"nose","ecosystem":"pypi","requirements":"==1.3.7","direct":true,"kind":"runtime","optional":false},{"id":538327688,"package_name":"numpy","ecosystem":"pypi","requirements":"==1.16.2","direct":true,"kind":"runtime","optional":false},{"id":538327689,"package_name":"openpyxl","ecosystem":"pypi","requirements":"==3.0.3","direct":true,"kind":"runtime","optional":false},{"id":538327690,"package_name":"pandas","ecosystem":"pypi","requirements":"==0.24.2","direct":true,"kind":"runtime","optional":false},{"id":538327691,"package_name":"psycopg2","ecosystem":"pypi","requirements":"==2.8.5","direct":true,"kind":"runtime","optional":false},{"id":538327692,"package_name":"pvlib","ecosystem":"pypi","requirements":"==0.6.1","direct":true,"kind":"runtime","optional":false},{"id":538327693,"package_name":"pytest","ecosystem":"pypi","requirements":"==5.4.1","direct":true,"kind":"runtime","optional":false},{"id":538327694,"package_name":"pytest-django","ecosystem":"pypi","requirements":"==3.9.0","direct":true,"kind":"runtime","optional":false},{"id":538327695,"package_name":"pytz","ecosystem":"pypi","requirements":"==2019.3","direct":true,"kind":"runtime","optional":false},{"id":538327696,"package_name":"python_dateutil","ecosystem":"pypi","requirements":"==2.8.1","direct":true,"kind":"runtime","optional":false},{"id":538327697,"package_name":"pyyaml","ecosystem":"pypi","requirements":"==5.4","direct":true,"kind":"runtime","optional":false},{"id":538327698,"package_name":"scipy","ecosystem":"pypi","requirements":"==1.2.1","direct":true,"kind":"runtime","optional":false},{"id":538327699,"package_name":"six","ecosystem":"pypi","requirements":"==1.14.0","direct":true,"kind":"runtime","optional":false},{"id":538327700,"package_name":"tables","ecosystem":"pypi","requirements":"==3.6.1","direct":true,"kind":"runtime","optional":false},{"id":538327701,"package_name":"whitenoise","ecosystem":"pypi","requirements":"==5.0.1","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/master_pvfree.yml","sha":null,"kind":"manifest","created_at":"2024-03-17T04:51:40.557Z","updated_at":"2024-03-17T04:51:40.557Z","repository_link":"https://github.com/BreakingBytes/pvfree/blob/main/.github/workflows/master_pvfree.yml","dependencies":[{"id":16864555613,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":16864555727,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":16864555728,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":16864555729,"package_name":"actions/download-artifact","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":16864555730,"package_name":"azure/webapps-deploy","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/test_pvfree.yml","sha":null,"kind":"manifest","created_at":"2025-04-17T08:56:31.550Z","updated_at":"2025-04-17T08:56:31.550Z","repository_link":"https://github.com/BreakingBytes/pvfree/blob/main/.github/workflows/test_pvfree.yml","dependencies":[{"id":22722112304,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":22722112305,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v5","direct":true,"kind":"composite","optional":false},{"id":22722112306,"package_name":"postgres","ecosystem":"actions","requirements":"*","direct":true,"kind":"docker","optional":false}]}],"score":4.2484952420493585,"created_at":"2025-09-08T15:39:15.317Z","updated_at":"2025-10-07T08:27:22.183Z","avatar_url":"https://github.com/BreakingBytes.png","language":"Python","category":null,"sub_category":null,"monthly_downloads":0,"funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["photovoltaic","projection","interactive","serializer","measurement","cycles","packaging","charts","network-simulation","archival"],"project_url":"https://science.ecosyste.ms/api/v1/projects/75870","html_url":"https://science.ecosyste.ms/projects/75870"}