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
ambient_wx-0.1.3.tar.gz
(7.4 kB
view details)
Built Distribution
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 |