{"id":19777,"name":"pvoutput","description":"Python code for downloading PV data from PVOutput.org.","url":"https://github.com/openclimatefix-archives/pvoutput","last_synced_at":"2026-04-14T02:30:20.509Z","repository":{"id":35326070,"uuid":"197233143","full_name":"openclimatefix-archives/pvoutput","owner":"openclimatefix-archives","description":"Python code for downloading PV data from PVOutput.org","archived":true,"fork":false,"pushed_at":"2026-03-30T17:28:35.000Z","size":5403,"stargazers_count":38,"open_issues_count":34,"forks_count":19,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-04-06T23:06:47.293Z","etag":null,"topics":["nowcasting","pvoutput","python","python-library","solar"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openclimatefix-archives.png","metadata":{"funding":{"github":["openclimatefix"],"patreon":null,"open_collective":"openclimatefix","ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null},"files":{"readme":"README.md","changelog":null,"contributing":null,"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":"2019-07-16T16:51:03.000Z","updated_at":"2026-04-02T14:47:48.000Z","dependencies_parsed_at":"2026-02-25T03:03:23.456Z","dependency_job_id":null,"html_url":"https://github.com/openclimatefix-archives/pvoutput","commit_stats":{"total_commits":282,"total_committers":14,"mean_commits":"20.142857142857142","dds":0.7092198581560284,"last_synced_commit":"60d682c406a50c448658063121d7d13a85121920"},"previous_names":["openclimatefix-archives/pvoutput"],"tags_count":40,"template":false,"template_full_name":null,"purl":"pkg:github/openclimatefix-archives/pvoutput","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatefix-archives%2Fpvoutput","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatefix-archives%2Fpvoutput/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatefix-archives%2Fpvoutput/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatefix-archives%2Fpvoutput/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openclimatefix-archives","download_url":"https://codeload.github.com/openclimatefix-archives/pvoutput/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatefix-archives%2Fpvoutput/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31579058,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"ssl_error","status_checked_at":"2026-04-08T14:31:17.202Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"openclimatefix-archives","name":"Open Climate Fix (Archives)","uuid":"237017945","kind":"organization","description":"Archived repositories from the Open Climate Fix organisation","email":"info@openclimatefix.org","website":"https://openclimatefix.org","location":"United Kingdom","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/237017945?v=4","repositories_count":1,"last_synced_at":"2025-10-10T00:33:46.330Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/openclimatefix-archives","funding_links":[],"total_stars":44,"followers":0,"following":0,"created_at":"2025-10-10T00:33:46.352Z","updated_at":"2025-10-10T00:33:46.352Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openclimatefix-archives","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openclimatefix-archives/repositories"},"packages":[],"commits":{"id":11711806,"full_name":"openclimatefix-archives/pvoutput","default_branch":"master","total_commits":308,"total_committers":16,"total_bot_commits":57,"total_bot_committers":2,"mean_commits":19.25,"dds":0.7272727272727273,"past_year_total_commits":26,"past_year_total_committers":5,"past_year_total_bot_commits":7,"past_year_total_bot_committers":1,"past_year_mean_commits":5.2,"past_year_dds":0.6538461538461539,"last_synced_at":"2026-04-06T23:11:58.621Z","last_synced_commit":"0f1c82a359d26f682b152f7aeb8c620893e235f1","created_at":"2026-04-06T23:01:10.169Z","updated_at":"2026-04-06T23:11:05.819Z","committers":[{"name":"Jack Kelly","email":"jack-list@xlk.org.uk","login":"JackKelly","count":84},{"name":"peterdudfield","email":"peter.dudfield@hotmail.com","login":"peterdudfield","count":80},{"name":"pre-commit-ci[bot]","email":"66853113+pre-commit-ci[bot]","login":"pre-commit-ci[bot]","count":39},{"name":"BumpVersion Action","email":"bumpversion@github-actions","login":null,"count":39},{"name":"allcontributors[bot]","email":"46447321+allcontributors[bot]","login":"allcontributors[bot]","count":18},{"name":"ssmssam","email":"ssmssam@gmail.com","login":"ssmssam","count":17},{"name":"Jamie Taylor","email":"jamie.taylor@sheffield.ac.uk","login":"JamieTaylor-TUOS","count":7},{"name":"Ayush Singh","email":"ayush1009208@gmail.com","login":"ArkVex","count":5},{"name":"devsjc","email":"dev.solc@outlook.com","login":"devsjc","count":4},{"name":"Jacob Bieker","email":"jacob@bieker.tech","login":"jacobbieker","count":4},{"name":"Vishal","email":"vishal.goyal7711@gmail.com","login":"CodeVishal-17","count":3},{"name":"vnshanmukh","email":"vnshanmukh@gmail.com","login":"vnshanmukh","count":2},{"name":"Gabriel Tseng","email":"gabriel.tseng@mail.mcgill.ca","login":"gabrieltseng","count":2},{"name":"Antsthebul","email":"anthony.allen.srt@gmail.com","login":"Antsthebul","count":2},{"name":"Rachit Singh","email":"rachitsingh@outlook.com","login":"rachtsingh","count":1},{"name":"Sol OCF","email":"solc@Sols-OCF-Mac.local","login":null,"count":1}],"past_year_committers":[{"name":"BumpVersion Action","email":"bumpversion@github-actions","login":null,"count":9},{"name":"pre-commit-ci[bot]","email":"66853113+pre-commit-ci[bot]","login":"pre-commit-ci[bot]","count":7},{"name":"Ayush Singh","email":"ayush1009208@gmail.com","login":"ArkVex","count":5},{"name":"Vishal","email":"vishal.goyal7711@gmail.com","login":"CodeVishal-17","count":3},{"name":"Jack Kelly","email":"jack@OpenClimateFix.org","login":"JackKelly","count":2}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatefix-archives%2Fpvoutput/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-09T00:00:23.197Z","repositories_count":6212577,"commits_count":914700709,"contributors_count":35335598,"owners_count":1143285,"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":"openclimatefix/pvoutput","html_url":"https://github.com/openclimatefix/pvoutput","last_synced_at":"2026-03-11T10:00:36.676Z","status":"active","issues_count":68,"pull_requests_count":65,"avg_time_to_close_issue":3290011.775,"avg_time_to_close_pull_request":2744371.789473684,"issues_closed_count":40,"pull_requests_closed_count":57,"pull_request_authors_count":15,"issue_authors_count":10,"avg_comments_per_issue":1.5588235294117647,"avg_comments_per_pull_request":1.1538461538461537,"merged_pull_requests_count":56,"bot_issues_count":0,"bot_pull_requests_count":19,"past_year_issues_count":1,"past_year_pull_requests_count":5,"past_year_avg_time_to_close_issue":515969.0,"past_year_avg_time_to_close_pull_request":33286.333333333336,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":3,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":7.0,"past_year_avg_comments_per_pull_request":3.6,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":2,"past_year_merged_pull_requests_count":3,"created_at":"2023-05-09T10:35:39.195Z","updated_at":"2026-03-11T10:00:36.677Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatefix%2Fpvoutput","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatefix%2Fpvoutput/issues","issue_labels_count":{"enhancement":23,"bug":12,"good first issue":5,"Refactoring":5,"documentation":2,"testing":1,"wontfix":1},"pull_request_labels_count":{"enhancement":2,"help wanted":1},"issue_author_associations_count":{"MEMBER":38,"CONTRIBUTOR":15,"COLLABORATOR":11,"NONE":4},"pull_request_author_associations_count":{"CONTRIBUTOR":50,"COLLABORATOR":8,"NONE":6,"MEMBER":1},"issue_authors":{"JackKelly":37,"peterdudfield":14,"JamieTaylor-TUOS":7,"JulianBriggs":4,"jacobbieker":1,"hazaioud":1,"SophiaLi20":1,"fabmid":1,"flowirtz":1,"ArkVex":1},"pull_request_authors":{"peterdudfield":18,"pre-commit-ci[bot]":10,"allcontributors[bot]":9,"JamieTaylor-TUOS":6,"ssmssam":5,"rachel-labri-tipton":4,"devsjc":2,"gabrieltseng":2,"falknerdominik":2,"ArkVex":2,"rachtsingh":1,"Antsthebul":1,"vnshanmukh":1,"jacobbieker":1,"CodeVishal-17":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-03-13T00:00:08.721Z","repositories_count":13696701,"issues_count":34652433,"pull_requests_count":113078105,"authors_count":11199705,"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":1},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{"CONTRIBUTOR":1},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":5},"past_year_issue_authors":{"ArkVex":1},"past_year_pull_request_authors":{"ArkVex":2,"pre-commit-ci[bot]":2,"CodeVishal-17":1},"maintainers":[{"login":"JackKelly","count":37,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/JackKelly"},{"login":"JamieTaylor-TUOS","count":13,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/JamieTaylor-TUOS"},{"login":"JulianBriggs","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/JulianBriggs"},{"login":"jacobbieker","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jacobbieker"},{"login":"devsjc","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/devsjc"}],"active_maintainers":[]},"events":{"total":{},"last_year":{}},"keywords":["nowcasting","pvoutput","python","python-library","solar"],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/pytest.yml","sha":null,"kind":"manifest","created_at":"2023-12-18T03:45:45.041Z","updated_at":"2023-12-18T03:45:45.041Z","repository_link":"https://github.com/openclimatefix-archives/pvoutput/blob/main/.github/workflows/pytest.yml","dependencies":[]},{"ecosystem":"actions","filepath":".github/workflows/release.yaml","sha":null,"kind":"manifest","created_at":"2023-12-18T03:45:45.093Z","updated_at":"2023-12-18T03:45:45.093Z","repository_link":"https://github.com/openclimatefix-archives/pvoutput/blob/main/.github/workflows/release.yaml","dependencies":[]},{"ecosystem":"pypi","filepath":"requirements.txt","sha":null,"kind":"manifest","created_at":"2023-12-18T03:45:45.189Z","updated_at":"2023-12-18T03:45:45.189Z","repository_link":"https://github.com/openclimatefix-archives/pvoutput/blob/main/requirements.txt","dependencies":[{"id":15153465292,"package_name":"numpy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":15153465293,"package_name":"pandas","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":15153465294,"package_name":"pyproj","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":15153465295,"package_name":"pyshp","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":15153465296,"package_name":"shapely","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":15153465298,"package_name":"cython","ecosystem":"pypi","requirements":"\u003e0.15.1","direct":true,"kind":"runtime","optional":false},{"id":15153465300,"package_name":"geopandas","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":15153465303,"package_name":"pytest","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":15153465305,"package_name":"pyyaml","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":15153465308,"package_name":"tables","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":15153465311,"package_name":"matplotlib","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":15153465312,"package_name":"jupyter","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":15153465315,"package_name":"urllib3","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":15153465318,"package_name":"requests","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":15153465321,"package_name":"beautifulsoup4","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"setup.py","sha":null,"kind":"manifest","created_at":"2023-12-18T03:45:45.267Z","updated_at":"2023-12-18T03:45:45.267Z","repository_link":"https://github.com/openclimatefix-archives/pvoutput/blob/main/setup.py","dependencies":[]},{"ecosystem":"conda","filepath":"environment.yml","sha":null,"kind":"manifest","created_at":"2024-02-19T19:03:19.504Z","updated_at":"2024-02-19T19:03:19.504Z","repository_link":"https://github.com/openclimatefix-archives/pvoutput/blob/main/environment.yml","dependencies":[{"id":16322381600,"package_name":"beautifulsoup4","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":16322381601,"package_name":"jupyterlab","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":16322381602,"package_name":"matplotlib","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":16322381603,"package_name":"pandas","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":16322381604,"package_name":"pytables","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":16322381605,"package_name":"pytest","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":16322381606,"package_name":"python","ecosystem":"conda","requirements":"\u003e=3.7","direct":true,"kind":"runtime","optional":false},{"id":16322381607,"package_name":"pyyaml","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":16322381608,"package_name":"requests","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":16322381609,"package_name":"urllib3","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false}]}],"score":7.049254841255836,"created_at":"2023-09-11T14:52:07.058Z","updated_at":"2026-04-14T02:30:20.524Z","avatar_url":"https://github.com/openclimatefix-archives.png","language":"Python","category":"Renewable Energy","sub_category":"Photovoltaics and Solar Energy","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"\u003c!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --\u003e\n[![All Contributors](https://img.shields.io/badge/all_contributors-9-orange.svg?style=flat-square)](#contributors-)\n\u003c!-- ALL-CONTRIBUTORS-BADGE:END --\u003e\n\n[![codecov](https://codecov.io/gh/openclimatefix/pvoutput/branch/main/graph/badge.svg?token=GTQDR2ZZ2S)](https://codecov.io/gh/openclimatefix/pvoutput)\n\nDownload historical solar photovoltaic data from [PVOutput.org](https://pvoutput.org).\n\nThis code is a work-in-progress.  The aim is to provide both a Python library for interacting with [PVOutput.org's API](https://pvoutput.org/help.html#api), and a set of scripts for downloading lots of data :)\n\n# Installation\n\n```bash\n$ pip install pvoutput-ocf\n```\n\n## Development installation\n\nIf you want to install the latest development version directly from GitHub:\n\n```bash\npip install git+https://github.com/openclimatefix/pvoutput.git\n```\n\n\n## Register with PVOutput.org\n\nYou need to get an API key *and* a system ID from PVOutput.org.\n\nIf you don't own a physical PV system, click the \"energy consumption only\" box\nwhen registering on PVOutput.  If you don't include a\nsystem ID, then you'll get a \"401 Unauthorized\" response from the PVOutput API.\n\nYou can pass the API key and system ID into the `PVOutput` constructor.\nOr, create a `~/.pvoutput.yml` file which looks like:\n\n```yaml\napi_key: \u003cAPI key from PVOutput.org\u003e\nsystem_id: \u003cSystemID from PVOutput.org\u003e\n```\n\nThe default location of the `.pvoutput.yml` is the user's home directory, expanded from `~`. This can be overridden by setting the `PVOUTPUT_CONFIG` environment variable.\n\ne.g. `export PVOUTPUT_CONFIG=\"/my/preferred/location/.pvoutput.yml\"`\n\nAlternatively, you can set `API_KEY`, `SYSTEM_ID` and `DATA_SERVICE_URL` (see below) as environmental variables.\n\n### API quotas and paid subscriptions\nPlease see [here](https://pvoutput.org/help/data_services.html) for update info.\n\n#### Free\n\nFor free, PVOutput.org gives you 60 API requests per hour. In a single API request you can download one day of data for one PV system.  (See PVOutput's docs for more info about [rate limits](https://pvoutput.org/help/api_specification.html#rate-limits).)\n\n#### Donate\n[Donating to PVOutput.org](https://pvoutput.org/help/donations.html#donations) increases your API quota to 300 requests per hour.\n\n#### Paid\nTo get more historical data, you can pay $800 Australian dollars for a year's 'Live System History' subscription for a single country ([more info here](https://pvoutput.org/help/data_services.html). And [here's PVOutput.org's full price list](https://pvoutput.org/services.jsp)).\nThis allows you to use the [`get batch status`](https://pvoutput.org/help/data_services.html#get-batch-status-service) API to download 900 PV-system-*years* per hour.\n\nIf you have subscribed to PVOutput's data service then either\n- add `data_service_url` to your configuration file (`~/.pvoutput.yml`) or\n- pass `data_service_url` to the `PVOutput` constructor.\n\nThe `data_service_url` should end in `.org` (note the `data_service_url` doesn't include the `/service/r2` part of the URL)\nFor example: `data_service_url: https://pvoutput.org/`\n\n# Usage\n\nSee the [Quick Start notebook](examples/quick_start.ipynb).\n\n## Contributors ✨\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"http://jack-kelly.com\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/460756?v=4?s=100\" width=\"100px;\" alt=\"Jack Kelly\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJack Kelly\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/openclimatefix/pvoutput/commits?author=JackKelly\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/ssmssam\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/39378848?v=4?s=100\" width=\"100px;\" alt=\"Sam Murphy-Sugrue\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eSam Murphy-Sugrue\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/openclimatefix/pvoutput/commits?author=ssmssam\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://gabrieltseng.github.io/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/29063740?v=4?s=100\" width=\"100px;\" alt=\"Gabriel Tseng\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eGabriel Tseng\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/openclimatefix/pvoutput/commits?author=gabrieltseng\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"http://www.solar.sheffield.ac.uk/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/12187350?v=4?s=100\" width=\"100px;\" alt=\"Jamie Taylor\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJamie Taylor\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/openclimatefix/pvoutput/commits?author=JamieTaylor-TUOS\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/peterdudfield\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/34686298?v=4?s=100\" width=\"100px;\" alt=\"Peter Dudfield\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ePeter Dudfield\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#infra-peterdudfield\" title=\"Infrastructure (Hosting, Build-Tools, etc)\"\u003e🚇\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/vnshanmukh\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/67438038?v=4?s=100\" width=\"100px;\" alt=\"Shanmukh Chava\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eShanmukh Chava\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/openclimatefix/pvoutput/commits?author=vnshanmukh\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/Antsthebul\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/56587872?v=4?s=100\" width=\"100px;\" alt=\"Antsthebul\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAntsthebul\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/openclimatefix/pvoutput/commits?author=Antsthebul\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"http://www.rachitsingh.com\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/1606892?v=4?s=100\" width=\"100px;\" alt=\"Rachit Singh\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eRachit Singh\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#data-rachtsingh\" title=\"Data\"\u003e🔣\u003c/a\u003e \u003ca href=\"https://github.com/openclimatefix/pvoutput/commits?author=rachtsingh\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/devsjc\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/47188100?v=4?s=100\" width=\"100px;\" alt=\"devsjc\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003edevsjc\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/openclimatefix/pvoutput/commits?author=devsjc\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!\n","funding_links":["https://github.com/sponsors/openclimatefix","https://opencollective.com/openclimatefix"],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["eumetsat","forecasting-models","graph-neural-networks","weather","solar-energy","gan","nowcasting-models","nowcasting-precipitation","pytorch-implementation","pytorch-lightning"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/19777","html_url":"https://ost.ecosyste.ms/projects/19777"}