ambient-archiver 0.3.0

Creator: codyrutscher

Last updated:

Add to Cart

Description:

ambientarchiver 0.3.0

ambient-archiver
Download and analyse your data from ambientweather.net
Installation
pip install ambient-archiver

This installs ambient in your PATH.
Usage
ambient takes three required options: --api_key, --application_key and
--mac, which you can get from your account page on
ambientweather.net. You can omit the
options by setting AMBIENT_API_KEY AMBIENT_APPLICATION_KEY and AMBIENT_MAC
in your environment.
See ambient --help for more.
Commands


ambient backfill writes all data from 2020-01-01 to the end of the last
UTC day into YYYY-MM-DD.json.gz files in the present working directory (one
file per day)


ambient today overwrites .json.gz with all data since 00:00 UTC


ambient yesterday overwrites .json.gz with all data between
00:00 UTC yesterday and 23:59 UTC yesterday.


backfill does not overwrite files. You must manually delete them if
you want fresh copies for some reason. today and yesterday overwrite.
Shell completion
You can optionally enable shell completion by running the appropriate command
for your shell:
eval "$(_AMBIENT_COMPLETE=bash_source ambient)" >> ~/.bashrc # bash
eval "$(_AMBIENT_COMPLETE=zsh_source ambient)" >> ~/.zshrc # zsh
_AMBIENT_COMPLETE=fish_source foo-bar > ~/.config/fish/completions/ambient.fish # fish

Automation with Github Actions


Create a new repository, run ambient backfill then check everything in


Add these files in .github/workflows/

.github/workflows/ambient.yml (ambient today
every five minutes)
name: ambient

on:
workflow_dispatch:
# every 5 minutes
schedule:
- cron: '*/5 * * * *'

jobs:
ambient:
runs-on: ubuntu-latest
steps:
- name: Check out repo
uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.10
- name: Install Python dependencies
run: |
pip install ambient-archiver
- name: Overwrite since midnight
env:
AMBIENT_MAC: ${{ secrets.AMBIENT_MAC }}
AMBIENT_API_KEY: ${{ secrets.AMBIENT_API_KEY }}
AMBIENT_APPLICATION_KEY: ${{ secrets.AMBIENT_APPLICATION_KEY }}
run: ambient today
- name: Commit and push if it changed
run: |-
git config --global user.name "scraper-bot"
git config user.email "actions@users.noreply.github.com"
git add -A
timestamp=$(date -u)
git commit -m "Scraped at ${timestamp}" || exit 0
git push



.github/workflows/daily.yml (ambient yesterday
every day at 01:00 UTC)
name: daily

on:
workflow_dispatch:
# daily, 1am UTC
schedule:
- cron: '0 1 * * *'

jobs:
daily:
runs-on: ubuntu-latest
steps:
- name: Check out repo
uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.10
- name: Install Python dependencies
run: |
pip install ambient-archiver
- name: Overwrite yesterday
env:
AMBIENT_MAC: ${{ secrets.AMBIENT_MAC }}
AMBIENT_API_KEY: ${{ secrets.AMBIENT_API_KEY }}
AMBIENT_APPLICATION_KEY: ${{ secrets.AMBIENT_APPLICATION_KEY }}
run: ambient-oy
- name: Commit and push if it changed
run: |-
git config --global user.name "scraper-bot"
git config user.email "actions@users.noreply.github.com"
git add -A
timestamp=$(date -u)
git commit -m "Downloaded at at ${timestamp}" || exit 0
git push


The daily workflow deals with the fact that the more regular job does not
in practice run every five minutes. It ensures the completed file for that
day has the last few records for the day.


Push to GitHub


Configure AMBIENT_MAC, AMBIENT_API_KEY and AMBIENT_APPLICATION_KEY as
Secrets in the GitHub settings for that repository

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.