This patch adds the healthcheck app that uses the flask stats url
to fetch the internal stats of a running aprsd server. If the server is
up the stats will return and be checked for 'healthy' status.
IF the url fails to return, healthcheck will exit with -1. You can use
this script to restart aprsd if healthcheck exits with -1 status.
There is a check against the email thread. The email thread updates a
deadman's timer every 5 seconds. If that time gets older than 5
minutes, then healthcheck will say that's a failure and exit with -1.
You can call healthcheck and restart aprsd if it fails (exit -1)
This patch adds a new CLI app called aprsd-dev. arpsd-dev is
used specifically for developing plugins. It allows you to run a
plugin directly without the need to run aprsd server.
This patch also adds the Weather Metar plugin called WxPlugin.
You can use it to fetch METAR from the nearest station for a callsign
or from a known METAR station id. Call WxPlugin with a message of
'wx' for closest metar station or 'wx KAUN' for metar at KAUN wx station
This patch adds the docuemntation source tree in docs.
You can build the documentation with
tox -edocs
View the documentation by opening a browser and viewing
aprsd/docs/_build/index.html
This patch does some refactoring of the code and the directory
structure to conform to the needs of a pypi project.
The python code now lives in the aprsd directory so it acts like a real
python package that can be installed/included/used.
The aprsd.py is now aprds/main.py
This patch also adds support for using pbr, which enables a consistent
bin install that you can then call as 'aprsd' from the command line.
To use this as a developer you should create a virtualenv
virtualenv .venv
source .venv/bin/activate
pip install -e .
now you can edit the aprds/main.py and then test it by immediately
running aprsd from the command line.
The -e option for pip allows you to install the package as an editable
package in the .venv, so you can hack on it and not need to re-install
every time you make a change.