<p align="center">
<img width=75% src="/gridstatus-header.png" alt="gridstatus logo" />
</p>
<p align="center">
<a href="https://github.com/gridstatus/gridstatusio/actions/workflows/tests.yaml" target="_blank">
<img src="https://github.com/gridstatus/gridstatusio/actions/workflows/tests.yaml/badge.svg" alt="Tests" />
</a>
<a href="https://badge.fury.io/py/gridstatusio" target="_blank">
<img src="https://badge.fury.io/py/gridstatusio.svg?maxAge=2592000" alt="PyPI version">
</a>
</p>
# GridStatus.io Hosted API
Python client for accessing the [GridStatus.io Hosted API](https://www.gridstatus.io/api).
## Installation
gridstatusio supports python 3.9+. Install with pip:
```bash
pip install gridstatusio
```
Upgrade using the following command
```
python -m pip install --upgrade gridstatusio
```
## Getting Started
* Sign up for a Grid Status account and retrieve your API key from your [settings page](https://www.gridstatus.io/settings/api)
* Set your API key as an environment variable: `export GRIDSTATUS_API_KEY=your_api_key`
* **NOTE**: the Grid Status API has a 1 million rows per month limit on the free plan. This limit is _very_ easy to exceed when querying data, especially real time prices.
* Make sure to add `limit` to all of your `get_dataset` calls to avoid quickly exceeding the limit.
* The Grid Status API has rate limits that restrict the number of requests that are allowed each second, minute and hour. If rate limits are hit the client will automatically retry the request after a delay. You can configure the maximum number of retries using the `max_retries` parameter when initializing the client. If you find yourself hitting rate limits, you may need to add a delay between your requests. The [Grid Status Pricing Page](https://www.gridstatus.io/pricing) contains more details on specific rate limits.
Check out this example notebook: [Getting Started](/Examples/Getting%20Started.ipynb)
Other Examples:
- [Stacked Net Load Visualization](/Examples/Stacked%20Net%20Load%20Visualization.ipynb)
- [CAISO April Net Load Analysis](/Examples/CAISO%20April%20Net%20Load.ipynb)
- [Resample Data to Different Frequencies](/Examples/Resample%20Data.ipynb)
## Open Source
If you prefer to use an open source library that fetches data directly from the source, you can check out the [github repo](https://github.com/kmax12/gridstatus). For more information on Hosted API vs Open Source API, please see this [guide](https://api.gridstatus.io/docs#section/Getting-Started/Open-Source)
## Get Help
We'd love to answer any usage or data access questions! Please let us know by emailing us at contact@gridstatus.io
Raw data
{
"_id": null,
"home_page": null,
"name": "gridstatusio",
"maintainer": "Max Kanter",
"docs_url": null,
"requires_python": "<4,>=3.9",
"maintainer_email": "kmax12@gmail.com",
"keywords": "energy, independent system operator",
"author": "Max Kanter",
"author_email": "kmax12@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/12/80/664a9fd6097ebf746a82a1441f00a3c030b9f2a30693c5c3dd819e94972f/gridstatusio-0.8.0.tar.gz",
"platform": null,
"description": "<p align=\"center\">\n<img width=75% src=\"/gridstatus-header.png\" alt=\"gridstatus logo\" />\n</p>\n<p align=\"center\">\n <a href=\"https://github.com/gridstatus/gridstatusio/actions/workflows/tests.yaml\" target=\"_blank\">\n <img src=\"https://github.com/gridstatus/gridstatusio/actions/workflows/tests.yaml/badge.svg\" alt=\"Tests\" />\n </a>\n <a href=\"https://badge.fury.io/py/gridstatusio\" target=\"_blank\">\n <img src=\"https://badge.fury.io/py/gridstatusio.svg?maxAge=2592000\" alt=\"PyPI version\">\n </a>\n</p>\n\n# GridStatus.io Hosted API\n\nPython client for accessing the [GridStatus.io Hosted API](https://www.gridstatus.io/api).\n\n## Installation\n\ngridstatusio supports python 3.9+. Install with pip:\n\n```bash\npip install gridstatusio\n```\n\nUpgrade using the following command\n\n```\npython -m pip install --upgrade gridstatusio\n```\n\n## Getting Started\n\n* Sign up for a Grid Status account and retrieve your API key from your [settings page](https://www.gridstatus.io/settings/api)\n* Set your API key as an environment variable: `export GRIDSTATUS_API_KEY=your_api_key`\n* **NOTE**: the Grid Status API has a 1 million rows per month limit on the free plan. This limit is _very_ easy to exceed when querying data, especially real time prices.\n * Make sure to add `limit` to all of your `get_dataset` calls to avoid quickly exceeding the limit.\n* The Grid Status API has rate limits that restrict the number of requests that are allowed each second, minute and hour. If rate limits are hit the client will automatically retry the request after a delay. You can configure the maximum number of retries using the `max_retries` parameter when initializing the client. If you find yourself hitting rate limits, you may need to add a delay between your requests. The [Grid Status Pricing Page](https://www.gridstatus.io/pricing) contains more details on specific rate limits.\n\nCheck out this example notebook: [Getting Started](/Examples/Getting%20Started.ipynb)\n\nOther Examples:\n\n- [Stacked Net Load Visualization](/Examples/Stacked%20Net%20Load%20Visualization.ipynb)\n- [CAISO April Net Load Analysis](/Examples/CAISO%20April%20Net%20Load.ipynb)\n- [Resample Data to Different Frequencies](/Examples/Resample%20Data.ipynb)\n\n## Open Source\n\nIf you prefer to use an open source library that fetches data directly from the source, you can check out the [github repo](https://github.com/kmax12/gridstatus). For more information on Hosted API vs Open Source API, please see this [guide](https://api.gridstatus.io/docs#section/Getting-Started/Open-Source)\n\n## Get Help\n\nWe'd love to answer any usage or data access questions! Please let us know by emailing us at contact@gridstatus.io\n\n",
"bugtrack_url": null,
"license": "LICENSE",
"summary": "Python Client for GridStatus.io API",
"version": "0.8.0",
"project_urls": {
"Issue Tracker": "https://github.com/kmax12/gridstatusio/issues",
"Source Code": "https://github.com/kmax12/gridstatusio/"
},
"split_keywords": [
"energy",
" independent system operator"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "f30062723a93999a1bcf13c0337e7ecccf4d98e9bf78eec6fac88402465ff8cc",
"md5": "1ada2d8f68894c4732705544d30bc92e",
"sha256": "06f5a0d1374e447c5d8eac4ada4af6a9a343abcc054ee650cc66f3feb211540e"
},
"downloads": -1,
"filename": "gridstatusio-0.8.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1ada2d8f68894c4732705544d30bc92e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4,>=3.9",
"size": 15030,
"upload_time": "2024-09-25T22:54:44",
"upload_time_iso_8601": "2024-09-25T22:54:44.895068Z",
"url": "https://files.pythonhosted.org/packages/f3/00/62723a93999a1bcf13c0337e7ecccf4d98e9bf78eec6fac88402465ff8cc/gridstatusio-0.8.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1280664a9fd6097ebf746a82a1441f00a3c030b9f2a30693c5c3dd819e94972f",
"md5": "cbb5ce8f87c2e3419287bd1d2a5fe60f",
"sha256": "7fb92374826a0a28119e8a36542f7a0223d538b3c30bc71bcd657d3ba60a30fb"
},
"downloads": -1,
"filename": "gridstatusio-0.8.0.tar.gz",
"has_sig": false,
"md5_digest": "cbb5ce8f87c2e3419287bd1d2a5fe60f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4,>=3.9",
"size": 14638,
"upload_time": "2024-09-25T22:54:46",
"upload_time_iso_8601": "2024-09-25T22:54:46.529670Z",
"url": "https://files.pythonhosted.org/packages/12/80/664a9fd6097ebf746a82a1441f00a3c030b9f2a30693c5c3dd819e94972f/gridstatusio-0.8.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-25 22:54:46",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "kmax12",
"github_project": "gridstatusio",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "gridstatusio"
}