API Wrapper for the Ambient Weather Station API with meteorological units and pandas functionality as well
Project description
Ambient Weather Station API Wrapper
There are a couple of great packages that do a great job but this package introduces units. It also serves as a side-project for me. ☺️
This is currently a work in progress to get it in a package and with the proper tests and CI.
Install
python 3.8 or greater is required
pip install ambient_wx
Units
Units are set for these fields using the pint python library:
- windspeedmph - mph
- windgustmph - mph
- maxdailygust - mph
- tempf - degF
- baromrelin - Hg
- baromabsin - Hg
- tempinf - degF
- hourlyrainin - inches
- dailyrainin - inches
- monthlyrainin - inches
- yearlyrainin - inches
- feelsLike - degF
- dewPoint - degF
- winddir - degrees
- winddir_avg10m - degrees
- humidity - percent
- humidityin - percent
Setup the API object
from ambient_wx import AmbientApi
api_key = "123"
app_key = "456"
api = AmbientApi(api_key, app_key)
Get Devices
from ambient_wx import WxDeviceCollection
devices = WxDeviceCollection(api)
devices.get_devices()
device = devices.devices[0] # first device
print(device.mac_addr)
Get Device Obervations
from ambient_wx import WxObservationCollection
# with a device object
obs = WxObservationCollection(api, device=device)
# or with a known device mac addr to skip an api call for a device
obs = WxObservationCollection(api, mac_addr="some_mac_addr")
# get the last 5 observations this populates obs.data as a
# list of WxObservation objects
obs.get_observations(limit=5)
# iterate through observations
for o in obs.data:
print(o.tempf, o.winddir, o.humidity)
Get data for an end date
obs = WxObservationCollection(api, device)
obs.get_observations(end_date=datetime(2024, 4, 25))
for o in obs.data:
print(o.tempf, o.winddir, o.humidity)
Perform Unit Conversions
# convert deg F to deg C
degc = obs.data[0].tempf.to('degC')
print(degc)
Create pandas Dataframe from Observations
df = obs.to_dataframe()
print(df)
Write csv from Observations
obs.write_csv("/some_path/my_observations.csv")
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ambient_wx-0.1.3.tar.gz.
File metadata
- Download URL: ambient_wx-0.1.3.tar.gz
- Upload date:
- Size: 7.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.3 Darwin/23.4.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ffb1e88b15d29bda45c264e2c55c02686a6dfcb907f44a350e71af50986f07e1
|
|
| MD5 |
1ba84acf8c1958de089c932653b0723e
|
|
| BLAKE2b-256 |
146944defbad8d3417d26e6f41e18211570a617add76aba9bbec6a98611018d3
|
File details
Details for the file ambient_wx-0.1.3-py3-none-any.whl.
File metadata
- Download URL: ambient_wx-0.1.3-py3-none-any.whl
- Upload date:
- Size: 7.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.3 Darwin/23.4.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
69ad2ebae0b73e7072fd1be5fcce59ac684c6b633d7cdd4be55553ec7e9bfb72
|
|
| MD5 |
239ec8a7f56845a81bba46a5265a315c
|
|
| BLAKE2b-256 |
a9b9b245aacf1a93dfcfee677975e2ddf42001face0a8a4c4557b70c71ea79f8
|