Name | PyWeatherKit JSON |
Version |
0.0.4
JSON |
| download |
home_page | None |
Summary | A Python wrapper for the WeatherKit API |
upload_time | 2023-04-05 12:36:01 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.11 |
license | None |
keywords |
weather
kit
weatherkit
api
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# PyWeatherKit
A simple Python wrapper for [Apple's WeatherKit REST API](https://developer.apple.com/documentation/weatherkitrestapi).
You need an Apple developer account to use this library and you should first follow the [setup instructions](https://developer.apple.com/documentation/weatherkitrestapi/request_authentication_for_weatherkit_rest_api) in their documentation.
It has a simple interface for retrieving a raw dictionary of weather data from the API, and a method for retrieving simplified daily forecasts as Pythonic objects. Pull requests are welcome!
## Install
```bash
pip install pyweatherkit
```
## Simple Forecast Usage
```python
from weatherkit.client import WKClient
client = WKClient("YOUR TEAM ID", "YOUR SERVICE ID", "YOUR KEY ID", "PATH TO YOUR PRIVATE KEY FILE")
forecast = client.get_simple_forecast(latitude, longitude)
for day in forecast:
print(f"{day.day_of_week}: {day.daytime_icon} with a high of {round(day.temperature_high)} and a low of {round(day.temperature_low)}")
```
Assuming you input all of the correct client authentication parameters and a valid latitude and longitude, this should result in something like:
```bash
Thursday: 🌤️ with a high of 38 and a low of 23
Friday: 🌧️ with a high of 45 and a low of 22
Saturday: 🌧️ with a high of 67 and a low of 40
...
```
## Pulling Full Data Sets
```python
from weatherkit.client import WKClient
client = WKClient("YOUR TEAM ID", "YOUR SERVICE ID", "YOUR KEY ID", "PATH TO YOUR PRIVATE KEY FILE")
res = client.get_weather(44.50572, -73.24026)
```
You can also specify the language of the response, the timezone, and the specific datasets you need.
### Historical Data Pull
Only available from dates after 08/01/2021 (as of 2023-03-23)
```python
from weatherkit.client import WKClient
from datetime import datetime
# Set dates
dailyStart = datetime.strptime("2022-11-29", "%Y-%m-%d")
dailyEnd = datetime.strptime("2022-11-30", "%Y-%m-%d")
currentAsOf = datetime.strptime("2022-11-29", "%Y-%m-%d")
client = WKClient("YOUR TEAM ID", "YOUR SERVICE ID", "YOUR KEY ID", "PATH TO YOUR PRIVATE KEY FILE")
res = client.get_weather(44.50572, -73.24026, dailyStart=dailyStart, dailyEnd=dailyEnd, currentAsOf=currentAsOf)
```
## Test/Example Program
Try running simple_test.py from the same directory as this package.
```bash
python3 simple_test.py your_team_id your_service_id your_key_id your_key_path your_latitude your_longitude
```
Raw data
{
"_id": null,
"home_page": null,
"name": "PyWeatherKit",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": null,
"keywords": "weather,kit,weatherkit,api",
"author": null,
"author_email": "David Kopec <david@oaksnow.com>",
"download_url": "https://files.pythonhosted.org/packages/0e/58/a30e1fab3ac45f8ee01dafecb4f9ba649900a7e0933b17006cf43635d65f/PyWeatherKit-0.0.4.tar.gz",
"platform": null,
"description": "# PyWeatherKit\nA simple Python wrapper for [Apple's WeatherKit REST API](https://developer.apple.com/documentation/weatherkitrestapi).\n\nYou need an Apple developer account to use this library and you should first follow the [setup instructions](https://developer.apple.com/documentation/weatherkitrestapi/request_authentication_for_weatherkit_rest_api) in their documentation.\n\nIt has a simple interface for retrieving a raw dictionary of weather data from the API, and a method for retrieving simplified daily forecasts as Pythonic objects. Pull requests are welcome!\n\n## Install\n\n```bash\npip install pyweatherkit\n```\n\n## Simple Forecast Usage\n\n```python\nfrom weatherkit.client import WKClient \nclient = WKClient(\"YOUR TEAM ID\", \"YOUR SERVICE ID\", \"YOUR KEY ID\", \"PATH TO YOUR PRIVATE KEY FILE\")\nforecast = client.get_simple_forecast(latitude, longitude)\nfor day in forecast:\n print(f\"{day.day_of_week}: {day.daytime_icon} with a high of {round(day.temperature_high)} and a low of {round(day.temperature_low)}\")\n```\n\nAssuming you input all of the correct client authentication parameters and a valid latitude and longitude, this should result in something like:\n\n```bash\nThursday: \ud83c\udf24\ufe0f with a high of 38 and a low of 23\nFriday: \ud83c\udf27\ufe0f with a high of 45 and a low of 22\nSaturday: \ud83c\udf27\ufe0f with a high of 67 and a low of 40\n...\n```\n\n## Pulling Full Data Sets\n\n```python\nfrom weatherkit.client import WKClient \nclient = WKClient(\"YOUR TEAM ID\", \"YOUR SERVICE ID\", \"YOUR KEY ID\", \"PATH TO YOUR PRIVATE KEY FILE\")\nres = client.get_weather(44.50572, -73.24026)\n```\n\nYou can also specify the language of the response, the timezone, and the specific datasets you need.\n\n### Historical Data Pull \nOnly available from dates after 08/01/2021 (as of 2023-03-23)\n```python\nfrom weatherkit.client import WKClient\nfrom datetime import datetime\n\n# Set dates \ndailyStart = datetime.strptime(\"2022-11-29\", \"%Y-%m-%d\")\ndailyEnd = datetime.strptime(\"2022-11-30\", \"%Y-%m-%d\")\ncurrentAsOf = datetime.strptime(\"2022-11-29\", \"%Y-%m-%d\")\n\nclient = WKClient(\"YOUR TEAM ID\", \"YOUR SERVICE ID\", \"YOUR KEY ID\", \"PATH TO YOUR PRIVATE KEY FILE\")\nres = client.get_weather(44.50572, -73.24026, dailyStart=dailyStart, dailyEnd=dailyEnd, currentAsOf=currentAsOf)\n```\n\n## Test/Example Program\n\nTry running simple_test.py from the same directory as this package.\n\n```bash\npython3 simple_test.py your_team_id your_service_id your_key_id your_key_path your_latitude your_longitude\n```\n",
"bugtrack_url": null,
"license": null,
"summary": "A Python wrapper for the WeatherKit API",
"version": "0.0.4",
"split_keywords": [
"weather",
"kit",
"weatherkit",
"api"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "0a213d83b18836193ed7d515beef6f14d9b2c946cd80b09b9e452f4f77b64a2a",
"md5": "c25a10710b04cb2129e1f076a31c2aed",
"sha256": "71d07f0bdc72946c82ab00c988aedfc8729d2c30b0a43bdf3e6a7a7f66386ac7"
},
"downloads": -1,
"filename": "pyweatherkit-0.0.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c25a10710b04cb2129e1f076a31c2aed",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 11316,
"upload_time": "2023-04-05T12:35:54",
"upload_time_iso_8601": "2023-04-05T12:35:54.795755Z",
"url": "https://files.pythonhosted.org/packages/0a/21/3d83b18836193ed7d515beef6f14d9b2c946cd80b09b9e452f4f77b64a2a/pyweatherkit-0.0.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "0e58a30e1fab3ac45f8ee01dafecb4f9ba649900a7e0933b17006cf43635d65f",
"md5": "134ea9232a8b2341495d1c4b9c380c10",
"sha256": "86810e30df68084a85fc262c60290c2b16a89fcccc98de985228659b84ea6dc9"
},
"downloads": -1,
"filename": "PyWeatherKit-0.0.4.tar.gz",
"has_sig": false,
"md5_digest": "134ea9232a8b2341495d1c4b9c380c10",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 11706,
"upload_time": "2023-04-05T12:36:01",
"upload_time_iso_8601": "2023-04-05T12:36:01.318057Z",
"url": "https://files.pythonhosted.org/packages/0e/58/a30e1fab3ac45f8ee01dafecb4f9ba649900a7e0933b17006cf43635d65f/PyWeatherKit-0.0.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-04-05 12:36:01",
"github": false,
"gitlab": false,
"bitbucket": false,
"lcname": "pyweatherkit"
}