aprsd 3.2.2__tar.gz → 3.3.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- aprsd-3.3.1/.github/workflows/codeql.yml +84 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/.github/workflows/manual_build.yml +1 -1
- {aprsd-3.2.2 → aprsd-3.3.1}/.github/workflows/master-build.yml +1 -1
- {aprsd-3.2.2 → aprsd-3.3.1}/.github/workflows/release_build.yml +1 -1
- {aprsd-3.2.2 → aprsd-3.3.1}/.pre-commit-config.yaml +3 -3
- {aprsd-3.2.2 → aprsd-3.3.1}/AUTHORS +1 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/ChangeLog +65 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/Makefile +2 -2
- {aprsd-3.2.2 → aprsd-3.3.1}/PKG-INFO +106 -98
- {aprsd-3.2.2 → aprsd-3.3.1}/README.rst +69 -62
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/cli_helper.py +35 -1
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/client.py +3 -3
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/clients/aprsis.py +0 -1
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/cmds/dev.py +31 -2
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/cmds/fetch_stats.py +5 -1
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/cmds/list_plugins.py +87 -10
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/cmds/server.py +10 -1
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/cmds/webchat.py +245 -45
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/conf/common.py +68 -1
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/conf/log.py +8 -10
- aprsd-3.3.1/aprsd/conf/plugin_common.py +191 -0
- aprsd-3.3.1/aprsd/log/log.py +97 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/main.py +11 -11
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/packets/__init__.py +2 -2
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/packets/core.py +20 -1
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/plugin_utils.py +1 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/plugins/fortune.py +4 -1
- aprsd-3.3.1/aprsd/plugins/location.py +179 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/plugins/weather.py +7 -3
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/threads/__init__.py +1 -1
- aprsd-3.3.1/aprsd/threads/registry.py +56 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/threads/rx.py +13 -5
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/threads/tx.py +40 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/utils/__init__.py +19 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/utils/objectstore.py +7 -1
- aprsd-3.3.1/aprsd/web/chat/static/images/globe.svg +3 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/chat/static/js/send-message.js +107 -29
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/chat/templates/index.html +6 -2
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/wsgi.py +4 -39
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd.egg-info/PKG-INFO +106 -98
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd.egg-info/SOURCES.txt +3 -1
- aprsd-3.3.1/aprsd.egg-info/pbr.json +1 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd.egg-info/requires.txt +36 -35
- aprsd-3.3.1/dev-requirements.txt +84 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/docker/Dockerfile +2 -1
- {aprsd-3.2.2 → aprsd-3.3.1}/docker/Dockerfile-dev +2 -1
- {aprsd-3.2.2 → aprsd-3.3.1}/docker/bin/admin.sh +11 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/docker/bin/listen.sh +11 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/docker/bin/run.sh +12 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/requirements.in +3 -2
- {aprsd-3.2.2 → aprsd-3.3.1}/requirements.txt +38 -37
- {aprsd-3.2.2 → aprsd-3.3.1}/tests/cmds/test_webchat.py +6 -2
- {aprsd-3.2.2 → aprsd-3.3.1}/tox.ini +2 -1
- aprsd-3.2.2/aprsd/conf/plugin_common.py +0 -83
- aprsd-3.2.2/aprsd/log/log.py +0 -89
- aprsd-3.2.2/aprsd/log/rich.py +0 -160
- aprsd-3.2.2/aprsd/plugins/location.py +0 -97
- aprsd-3.2.2/aprsd.egg-info/pbr.json +0 -1
- aprsd-3.2.2/dev-requirements.txt +0 -88
- {aprsd-3.2.2 → aprsd-3.3.1}/.coveragerc +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/.github/workflows/python.yml +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/.readthedocs.yaml +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/INSTALL.txt +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/LICENSE +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/MANIFEST.in +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/__init__.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/clients/__init__.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/clients/fake.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/clients/kiss.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/cmds/__init__.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/cmds/completion.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/cmds/healthcheck.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/cmds/listen.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/cmds/send_message.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/conf/__init__.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/conf/client.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/conf/opts.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/conf/plugin_email.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/exception.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/log/__init__.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/messaging.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/packets/packet_list.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/packets/seen_list.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/packets/tracker.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/packets/watch_list.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/plugin.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/plugins/__init__.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/plugins/email.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/plugins/notify.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/plugins/ping.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/plugins/query.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/plugins/time.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/plugins/version.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/rpc/__init__.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/rpc/client.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/rpc/server.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/stats.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/threads/aprsd.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/threads/keep_alive.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/threads/log_monitor.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/utils/counter.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/utils/fuzzyclock.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/utils/json.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/utils/ring_buffer.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/utils/trace.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/__init__.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/admin/__init__.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/admin/static/css/index.css +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/admin/static/css/prism.css +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/admin/static/css/tabs.css +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/admin/static/images/Untitled.png +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/admin/static/images/aprs-symbols-16-0.png +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/admin/static/images/aprs-symbols-16-1.png +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/admin/static/images/aprs-symbols-64-0.png +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/admin/static/images/aprs-symbols-64-1.png +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/admin/static/images/aprs-symbols-64-2.png +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/admin/static/js/charts.js +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/admin/static/js/echarts.js +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/admin/static/js/logs.js +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/admin/static/js/main.js +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/admin/static/js/prism.js +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/admin/static/js/send-message.js +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/admin/static/js/tabs.js +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/admin/static/json-viewer/jquery.json-viewer.css +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/admin/static/json-viewer/jquery.json-viewer.js +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/admin/templates/index.html +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/chat/static/css/chat.css +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/chat/static/css/index.css +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/chat/static/css/style.css.map +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/chat/static/css/tabs.css +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/chat/static/css/upstream/bootstrap.min.css +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/chat/static/css/upstream/font.woff2 +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/chat/static/css/upstream/google-fonts.css +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/chat/static/css/upstream/jquery-ui.css +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/chat/static/css/upstream/jquery.toast.css +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/chat/static/css/upstream/themes/default/assets/fonts/LatoLatin-Bold.woff +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/chat/static/css/upstream/themes/default/assets/fonts/LatoLatin-Bold.woff2 +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/chat/static/css/upstream/themes/default/assets/fonts/LatoLatin-Regular.woff +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/chat/static/css/upstream/themes/default/assets/fonts/LatoLatin-Regular.woff2 +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/chat/static/css/upstream/themes/default/assets/fonts/icons.woff +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/chat/static/css/upstream/themes/default/assets/fonts/icons.woff2 +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/chat/static/css/upstream/themes/default/assets/fonts/outline-icons.woff +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/chat/static/css/upstream/themes/default/assets/fonts/outline-icons.woff2 +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/chat/static/images/Untitled.png +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/chat/static/images/aprs-symbols-16-0.png +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/chat/static/images/aprs-symbols-16-1.png +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/chat/static/images/aprs-symbols-64-0.png +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/chat/static/images/aprs-symbols-64-1.png +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/chat/static/images/aprs-symbols-64-2.png +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/chat/static/js/gps.js +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/chat/static/js/main.js +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/chat/static/js/tabs.js +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/chat/static/js/upstream/bootstrap.bundle.min.js +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/chat/static/js/upstream/jquery-3.7.1.min.js +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/chat/static/js/upstream/jquery-ui.min.js +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/chat/static/js/upstream/jquery.toast.js +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/chat/static/js/upstream/semantic.min.js +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/chat/static/js/upstream/socket.io.min.js +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/chat/static/json-viewer/jquery.json-viewer.css +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd/web/chat/static/json-viewer/jquery.json-viewer.js +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd-lnav.json +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd.egg-info/dependency_links.txt +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd.egg-info/entry_points.txt +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd.egg-info/not-zip-safe +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/aprsd.egg-info/top_level.txt +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/dev-requirements.in +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/docker/build.sh +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/docker/docker-compose.yml +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/docs/_static/.keep +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/docs/_static/aprsd_overview.png +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/docs/_static/aprsd_overview.svg +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/docs/_templates/.keep +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/docs/apidoc/aprsd.clients.rst +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/docs/apidoc/aprsd.cmds.rst +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/docs/apidoc/aprsd.conf.rst +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/docs/apidoc/aprsd.packets.rst +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/docs/apidoc/aprsd.plugins.rst +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/docs/apidoc/aprsd.rpc.rst +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/docs/apidoc/aprsd.rst +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/docs/apidoc/aprsd.threads.rst +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/docs/apidoc/aprsd.utils.rst +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/docs/apidoc/aprsd.web.admin.rst +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/docs/apidoc/aprsd.web.rst +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/docs/apidoc/modules.rst +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/docs/aprsd.drawio +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/docs/changelog.rst +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/docs/clean_docs.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/docs/conf.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/docs/configure.rst +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/docs/index.rst +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/docs/install.rst +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/docs/links.rst +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/docs/plugin.rst +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/docs/readme.rst +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/docs/server.rst +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/examples/plugins/__init__.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/examples/plugins/example_plugin.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/gray.conf +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/pyproject.toml +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/setup.cfg +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/setup.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/tests/__init__.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/tests/cmds/__init__.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/tests/cmds/test_send_message.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/tests/fake.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/tests/plugins/__init__.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/tests/plugins/test_fortune.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/tests/plugins/test_location.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/tests/plugins/test_notify.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/tests/plugins/test_ping.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/tests/plugins/test_query.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/tests/plugins/test_time.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/tests/plugins/test_version.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/tests/plugins/test_weather.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/tests/test_email.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/tests/test_main.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/tests/test_packets.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/tests/test_plugin.py +0 -0
- {aprsd-3.2.2 → aprsd-3.3.1}/tools/fast8.sh +0 -0
@@ -0,0 +1,84 @@
|
|
1
|
+
# For most projects, this workflow file will not need changing; you simply need
|
2
|
+
# to commit it to your repository.
|
3
|
+
#
|
4
|
+
# You may wish to alter this file to override the set of languages analyzed,
|
5
|
+
# or to provide custom queries or build logic.
|
6
|
+
#
|
7
|
+
# ******** NOTE ********
|
8
|
+
# We have attempted to detect the languages in your repository. Please check
|
9
|
+
# the `language` matrix defined below to confirm you have the correct set of
|
10
|
+
# supported CodeQL languages.
|
11
|
+
#
|
12
|
+
name: "CodeQL"
|
13
|
+
|
14
|
+
on:
|
15
|
+
push:
|
16
|
+
branches: [ "master" ]
|
17
|
+
pull_request:
|
18
|
+
branches: [ "master" ]
|
19
|
+
schedule:
|
20
|
+
- cron: '36 8 * * 0'
|
21
|
+
|
22
|
+
jobs:
|
23
|
+
analyze:
|
24
|
+
name: Analyze
|
25
|
+
# Runner size impacts CodeQL analysis time. To learn more, please see:
|
26
|
+
# - https://gh.io/recommended-hardware-resources-for-running-codeql
|
27
|
+
# - https://gh.io/supported-runners-and-hardware-resources
|
28
|
+
# - https://gh.io/using-larger-runners
|
29
|
+
# Consider using larger runners for possible analysis time improvements.
|
30
|
+
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
|
31
|
+
timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }}
|
32
|
+
permissions:
|
33
|
+
# required for all workflows
|
34
|
+
security-events: write
|
35
|
+
|
36
|
+
# only required for workflows in private repositories
|
37
|
+
actions: read
|
38
|
+
contents: read
|
39
|
+
|
40
|
+
strategy:
|
41
|
+
fail-fast: false
|
42
|
+
matrix:
|
43
|
+
language: [ 'javascript-typescript', 'python' ]
|
44
|
+
# CodeQL supports [ 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift' ]
|
45
|
+
# Use only 'java-kotlin' to analyze code written in Java, Kotlin or both
|
46
|
+
# Use only 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both
|
47
|
+
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
|
48
|
+
|
49
|
+
steps:
|
50
|
+
- name: Checkout repository
|
51
|
+
uses: actions/checkout@v4
|
52
|
+
|
53
|
+
# Initializes the CodeQL tools for scanning.
|
54
|
+
- name: Initialize CodeQL
|
55
|
+
uses: github/codeql-action/init@v3
|
56
|
+
with:
|
57
|
+
languages: ${{ matrix.language }}
|
58
|
+
# If you wish to specify custom queries, you can do so here or in a config file.
|
59
|
+
# By default, queries listed here will override any specified in a config file.
|
60
|
+
# Prefix the list here with "+" to use these queries and those in the config file.
|
61
|
+
|
62
|
+
# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
|
63
|
+
# queries: security-extended,security-and-quality
|
64
|
+
|
65
|
+
|
66
|
+
# Autobuild attempts to build any compiled languages (C/C++, C#, Go, Java, or Swift).
|
67
|
+
# If this step fails, then you should remove it and run the build manually (see below)
|
68
|
+
- name: Autobuild
|
69
|
+
uses: github/codeql-action/autobuild@v3
|
70
|
+
|
71
|
+
# ℹ️ Command-line programs to run using the OS shell.
|
72
|
+
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
|
73
|
+
|
74
|
+
# If the Autobuild fails above, remove it and uncomment the following three lines.
|
75
|
+
# modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.
|
76
|
+
|
77
|
+
# - run: |
|
78
|
+
# echo "Run, Build Application using script"
|
79
|
+
# ./location_of_script_within_repo/buildscript.sh
|
80
|
+
|
81
|
+
- name: Perform CodeQL Analysis
|
82
|
+
uses: github/codeql-action/analyze@v3
|
83
|
+
with:
|
84
|
+
category: "/language:${{matrix.language}}"
|
@@ -1,6 +1,6 @@
|
|
1
1
|
repos:
|
2
2
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
3
|
-
rev:
|
3
|
+
rev: v4.5.0
|
4
4
|
hooks:
|
5
5
|
- id: trailing-whitespace
|
6
6
|
- id: end-of-file-fixer
|
@@ -12,11 +12,11 @@ repos:
|
|
12
12
|
- id: check-builtin-literals
|
13
13
|
|
14
14
|
- repo: https://github.com/asottile/setup-cfg-fmt
|
15
|
-
rev:
|
15
|
+
rev: v2.5.0
|
16
16
|
hooks:
|
17
17
|
- id: setup-cfg-fmt
|
18
18
|
|
19
19
|
- repo: https://github.com/dizballanze/gray
|
20
|
-
rev: v0.
|
20
|
+
rev: v0.14.0
|
21
21
|
hooks:
|
22
22
|
- id: gray
|
@@ -4,6 +4,7 @@ Emre Saglam <emresaglam@gmail.com>
|
|
4
4
|
Hemna <waboring@hemna.com>
|
5
5
|
Jason Martin <jhmartin@toger.us>
|
6
6
|
John <johng42@users.noreply.github.com>
|
7
|
+
Martiros Shakhzadyan <vrzh@vrzh.net>
|
7
8
|
Walter A. Boring IV <waboring@hemna.com>
|
8
9
|
Zoe Moore <zoenb@mailbox.org>
|
9
10
|
craigerl <craig@craiger.org>
|
@@ -1,6 +1,71 @@
|
|
1
1
|
CHANGES
|
2
2
|
=======
|
3
3
|
|
4
|
+
v3.3.1
|
5
|
+
------
|
6
|
+
|
7
|
+
* Fixed failure with fetch-stats
|
8
|
+
* Fixed problem with list-plugins
|
9
|
+
|
10
|
+
v3.3.0
|
11
|
+
------
|
12
|
+
|
13
|
+
* Changelog for 3.3.0
|
14
|
+
* sample-config fix
|
15
|
+
* Fixed registry url post
|
16
|
+
* Changed processpkt message
|
17
|
+
* Fixed RegistryThread not sending requests
|
18
|
+
* use log.setup\_logging
|
19
|
+
* Disable debug logs for aprslib
|
20
|
+
* Make registry thread sleep
|
21
|
+
* Put threads first after date/time
|
22
|
+
* Replace slow rich logging with loguru
|
23
|
+
* Updated requirements
|
24
|
+
* Fixed pep8
|
25
|
+
* Added list-extensions and updated README.rst
|
26
|
+
* Change defaults for beacon and registry
|
27
|
+
* Add log info for Beacon and Registry threads
|
28
|
+
* fixed frequency\_seconds to IntOpt
|
29
|
+
* fixed references to conf
|
30
|
+
* changed the default packet timeout to 5 minutes
|
31
|
+
* Fixed default service registry url
|
32
|
+
* fix pep8 failures
|
33
|
+
* py311 fails in github
|
34
|
+
* Don't send uptime to registry
|
35
|
+
* Added sending software string to registry
|
36
|
+
* add py310 gh actions
|
37
|
+
* Added the new APRS Registry thread
|
38
|
+
* Added installing extensions to Docker run
|
39
|
+
* Cleanup some logs
|
40
|
+
* Added BeaconPacket
|
41
|
+
* updated requirements files
|
42
|
+
* removed some unneeded code
|
43
|
+
* Added iterator to objectstore
|
44
|
+
* Added some missing classes to threads
|
45
|
+
* Added support for loading extensions
|
46
|
+
* Added location for callsign tabs in webchat
|
47
|
+
* updated gitignore
|
48
|
+
* Create codeql.yml
|
49
|
+
* update github action branchs to v8
|
50
|
+
* Added Location info on webchat interface
|
51
|
+
* Updated dev test-plugin command
|
52
|
+
* Update requirements.txt
|
53
|
+
* Update for v3.2.3
|
54
|
+
|
55
|
+
v3.2.3
|
56
|
+
------
|
57
|
+
|
58
|
+
* Force fortune path during setup test
|
59
|
+
* added /usr/games to path
|
60
|
+
* Added fortune to Dockerfile-dev
|
61
|
+
* Added missing fortune app
|
62
|
+
* aprsd: main.py: Fix premature return in sample\_config
|
63
|
+
* Update weather.py because you can't sort icons by penis
|
64
|
+
* Update weather.py both weather plugins have new Ww regex
|
65
|
+
* Update weather.py
|
66
|
+
* Fixed a bug with OWMWeatherPlugin
|
67
|
+
* Rework Location Plugin
|
68
|
+
|
4
69
|
v3.2.2
|
5
70
|
------
|
6
71
|
|
@@ -84,5 +84,5 @@ update-requirements: dev ## Update the requirements.txt and dev-requirements.tx
|
|
84
84
|
rm dev-requirements.txt
|
85
85
|
touch requirements.txt
|
86
86
|
touch dev-requirements.txt
|
87
|
-
$(VENV)/pip-compile --resolver backtracking --annotation-style
|
88
|
-
$(VENV)/pip-compile --resolver backtracking --annotation-style
|
87
|
+
$(VENV)/pip-compile --resolver backtracking --annotation-style=line requirements.in
|
88
|
+
$(VENV)/pip-compile --resolver backtracking --annotation-style=line dev-requirements.in
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: aprsd
|
3
|
-
Version: 3.
|
3
|
+
Version: 3.3.1
|
4
4
|
Summary: Amateur radio APRS daemon which listens for messages and responds
|
5
5
|
Home-page: http://aprsd.readthedocs.org
|
6
6
|
Author: Craig Lamparter
|
@@ -19,79 +19,80 @@ Classifier: Programming Language :: Python :: 3.9
|
|
19
19
|
Description-Content-Type: text/x-rst
|
20
20
|
License-File: LICENSE
|
21
21
|
Requires-Dist: aprslib==0.7.2
|
22
|
-
Requires-Dist: attrs==23.
|
22
|
+
Requires-Dist: attrs==23.2.0
|
23
23
|
Requires-Dist: ax253==0.1.5.post1
|
24
|
-
Requires-Dist: beautifulsoup4==4.12.
|
25
|
-
Requires-Dist: bidict==0.
|
26
|
-
Requires-Dist: bitarray==2.
|
24
|
+
Requires-Dist: beautifulsoup4==4.12.3
|
25
|
+
Requires-Dist: bidict==0.23.1
|
26
|
+
Requires-Dist: bitarray==2.9.2
|
27
27
|
Requires-Dist: blinker==1.7.0
|
28
|
-
Requires-Dist: certifi==
|
28
|
+
Requires-Dist: certifi==2024.2.2
|
29
29
|
Requires-Dist: charset-normalizer==3.3.2
|
30
30
|
Requires-Dist: click==8.1.7
|
31
31
|
Requires-Dist: click-completion==0.5.2
|
32
|
-
Requires-Dist: click-params==0.
|
32
|
+
Requires-Dist: click-params==0.5.0
|
33
33
|
Requires-Dist: commonmark==0.9.1
|
34
34
|
Requires-Dist: dacite2==2.0.0
|
35
35
|
Requires-Dist: dataclasses==0.6
|
36
|
-
Requires-Dist: dataclasses-json==0.6.
|
37
|
-
Requires-Dist: debtcollector==
|
38
|
-
Requires-Dist:
|
39
|
-
Requires-Dist: dnspython==2.
|
40
|
-
Requires-Dist: eventlet==0.
|
41
|
-
Requires-Dist: flask==3.0.
|
36
|
+
Requires-Dist: dataclasses-json==0.6.4
|
37
|
+
Requires-Dist: debtcollector==3.0.0
|
38
|
+
Requires-Dist: deprecated==1.2.14
|
39
|
+
Requires-Dist: dnspython==2.6.1
|
40
|
+
Requires-Dist: eventlet==0.35.2
|
41
|
+
Requires-Dist: flask==3.0.2
|
42
42
|
Requires-Dist: flask-httpauth==4.8.0
|
43
43
|
Requires-Dist: flask-socketio==5.3.6
|
44
44
|
Requires-Dist: geographiclib==2.0
|
45
|
-
Requires-Dist: geopy==2.4.
|
46
|
-
Requires-Dist: gevent==
|
47
|
-
Requires-Dist: greenlet==3.0.
|
45
|
+
Requires-Dist: geopy==2.4.1
|
46
|
+
Requires-Dist: gevent==24.2.1
|
47
|
+
Requires-Dist: greenlet==3.0.3
|
48
48
|
Requires-Dist: h11==0.14.0
|
49
|
-
Requires-Dist: idna==3.
|
50
|
-
Requires-Dist: imapclient==3.0.
|
51
|
-
Requires-Dist: importlib-metadata==
|
49
|
+
Requires-Dist: idna==3.6
|
50
|
+
Requires-Dist: imapclient==3.0.1
|
51
|
+
Requires-Dist: importlib-metadata==7.0.1
|
52
52
|
Requires-Dist: itsdangerous==2.1.2
|
53
|
-
Requires-Dist: jinja2==3.1.
|
53
|
+
Requires-Dist: jinja2==3.1.3
|
54
54
|
Requires-Dist: kiss3==8.0.0
|
55
|
-
Requires-Dist:
|
56
|
-
Requires-Dist:
|
55
|
+
Requires-Dist: loguru==0.7.2
|
56
|
+
Requires-Dist: markupsafe==2.1.5
|
57
|
+
Requires-Dist: marshmallow==3.21.1
|
57
58
|
Requires-Dist: mypy-extensions==1.0.0
|
58
|
-
Requires-Dist: netaddr==
|
59
|
-
Requires-Dist: oslo-config==9.
|
60
|
-
Requires-Dist: oslo-i18n==6.
|
59
|
+
Requires-Dist: netaddr==1.2.1
|
60
|
+
Requires-Dist: oslo-config==9.4.0
|
61
|
+
Requires-Dist: oslo-i18n==6.3.0
|
61
62
|
Requires-Dist: packaging==23.2
|
62
63
|
Requires-Dist: pbr==6.0.0
|
63
|
-
Requires-Dist: pluggy==1.
|
64
|
+
Requires-Dist: pluggy==1.4.0
|
64
65
|
Requires-Dist: plumbum==1.8.2
|
65
|
-
Requires-Dist: pygments==2.
|
66
|
+
Requires-Dist: pygments==2.17.2
|
66
67
|
Requires-Dist: pyserial==3.5
|
67
68
|
Requires-Dist: pyserial-asyncio==0.6
|
68
|
-
Requires-Dist: python-engineio==4.
|
69
|
-
Requires-Dist: python-socketio==5.
|
70
|
-
Requires-Dist: pytz==
|
69
|
+
Requires-Dist: python-engineio==4.9.0
|
70
|
+
Requires-Dist: python-socketio==5.11.1
|
71
|
+
Requires-Dist: pytz==2024.1
|
71
72
|
Requires-Dist: pyyaml==6.0.1
|
72
73
|
Requires-Dist: requests==2.31.0
|
73
74
|
Requires-Dist: rfc3986==2.0.0
|
74
75
|
Requires-Dist: rich==12.6.0
|
75
|
-
Requires-Dist: rpyc==
|
76
|
+
Requires-Dist: rpyc==6.0.0
|
76
77
|
Requires-Dist: rush==2021.4.0
|
77
78
|
Requires-Dist: shellingham==1.5.4
|
78
79
|
Requires-Dist: simple-websocket==1.0.0
|
79
80
|
Requires-Dist: six==1.16.0
|
80
81
|
Requires-Dist: soupsieve==2.5
|
81
|
-
Requires-Dist: stevedore==5.
|
82
|
+
Requires-Dist: stevedore==5.2.0
|
82
83
|
Requires-Dist: tabulate==0.9.0
|
83
84
|
Requires-Dist: thesmuggler==1.0.1
|
84
|
-
Requires-Dist: typing-extensions==4.
|
85
|
+
Requires-Dist: typing-extensions==4.10.0
|
85
86
|
Requires-Dist: typing-inspect==0.9.0
|
86
87
|
Requires-Dist: update-checker==0.18.0
|
87
|
-
Requires-Dist: urllib3==2.1
|
88
|
-
Requires-Dist: validators==0.
|
88
|
+
Requires-Dist: urllib3==2.2.1
|
89
|
+
Requires-Dist: validators==0.22.0
|
89
90
|
Requires-Dist: werkzeug==3.0.1
|
90
91
|
Requires-Dist: wrapt==1.16.0
|
91
92
|
Requires-Dist: wsproto==1.2.0
|
92
93
|
Requires-Dist: zipp==3.17.0
|
93
94
|
Requires-Dist: zope-event==5.0
|
94
|
-
Requires-Dist: zope-interface==6.
|
95
|
+
Requires-Dist: zope-interface==6.2
|
95
96
|
|
96
97
|
===============================================
|
97
98
|
APRSD - Ham radio APRS-IS Message plugin server
|
@@ -105,32 +106,38 @@ ____________________
|
|
105
106
|
|
106
107
|
`APRSD <http://github.com/craigerl/aprsd>`_ is a Ham radio `APRS <http://aprs.org>`_ message command gateway built on python.
|
107
108
|
|
108
|
-
APRSD listens on amateur radio aprs-is network for messages and respond to them.
|
109
|
-
It has a plugin architecture for extensibility. Users of APRSD can write their own
|
110
|
-
plugins that can respond to APRS-IS messages.
|
111
109
|
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
time of day, get weather, and fortune telling as well as version information
|
117
|
-
of aprsd itself.
|
118
|
-
|
119
|
-
Please `read the docs`_ to learn more!
|
110
|
+
What is APRSD
|
111
|
+
=============
|
112
|
+
APRSD is a python application for interacting with the APRS network and providing
|
113
|
+
APRS services for HAM radio operators.
|
120
114
|
|
115
|
+
APRSD currently has 4 main commands to use.
|
116
|
+
* server - Connect to APRS and listen/respond to APRS messages
|
117
|
+
* webchat - web based chat program over APRS
|
118
|
+
* send-message - Send a message to a callsign via APRS_IS.
|
119
|
+
* listen - Listen to packets on the APRS-IS Network based on FILTER.
|
121
120
|
|
122
|
-
|
121
|
+
Each of those commands can connect to the APRS-IS network if internet connectivity
|
122
|
+
is available. If internet is not available, then APRS can be configured to talk
|
123
|
+
to a TCP KISS TNC for radio connectivity.
|
123
124
|
|
125
|
+
Please `read the docs`_ to learn more!
|
124
126
|
|
125
127
|
APRSD Overview Diagram
|
126
128
|
======================
|
127
129
|
|
128
130
|
.. image:: https://raw.githubusercontent.com/craigerl/aprsd/master/docs/_static/aprsd_overview.svg?sanitize=true
|
129
131
|
|
130
|
-
|
131
132
|
Typical use case
|
132
133
|
================
|
133
134
|
|
135
|
+
APRSD's typical use case is that of providing an APRS wide service to all HAM
|
136
|
+
radio operators. For example the callsign 'REPEAT' on the APRS network is actually
|
137
|
+
an instance of APRSD that can provide a list of HAM repeaters in the area of the
|
138
|
+
callsign that sent the message.
|
139
|
+
|
140
|
+
|
134
141
|
Ham radio operator using an APRS enabled HAM radio sends a message to check
|
135
142
|
the weather. An APRS message is sent, and then picked up by APRSD. The
|
136
143
|
APRS packet is decoded, and the message is sent through the list of plugins
|
@@ -141,55 +148,6 @@ callsigns to look out for. The watch list can notify you when a HAM callsign
|
|
141
148
|
in the list is seen and now available to message on the APRS network.
|
142
149
|
|
143
150
|
|
144
|
-
Current list of built-in plugins
|
145
|
-
======================================
|
146
|
-
|
147
|
-
::
|
148
|
-
|
149
|
-
└─> aprsd list-plugins
|
150
|
-
🐍 APRSD Built-in Plugins 🐍
|
151
|
-
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
152
|
-
┃ Plugin Name ┃ Info ┃ Type ┃ Plugin Path ┃
|
153
|
-
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
|
154
|
-
│ AVWXWeatherPlugin │ AVWX weather of GPS Beacon location │ RegexCommand │ aprsd.plugins.weather.AVWXWeatherPlugin │
|
155
|
-
│ EmailPlugin │ Send and Receive email │ RegexCommand │ aprsd.plugins.email.EmailPlugin │
|
156
|
-
│ FortunePlugin │ Give me a fortune │ RegexCommand │ aprsd.plugins.fortune.FortunePlugin │
|
157
|
-
│ LocationPlugin │ Where in the world is a CALLSIGN's last GPS beacon? │ RegexCommand │ aprsd.plugins.location.LocationPlugin │
|
158
|
-
│ NotifySeenPlugin │ Notify me when a CALLSIGN is recently seen on APRS-IS │ WatchList │ aprsd.plugins.notify.NotifySeenPlugin │
|
159
|
-
│ OWMWeatherPlugin │ OpenWeatherMap weather of GPS Beacon location │ RegexCommand │ aprsd.plugins.weather.OWMWeatherPlugin │
|
160
|
-
│ PingPlugin │ reply with a Pong! │ RegexCommand │ aprsd.plugins.ping.PingPlugin │
|
161
|
-
│ QueryPlugin │ APRSD Owner command to query messages in the MsgTrack │ RegexCommand │ aprsd.plugins.query.QueryPlugin │
|
162
|
-
│ TimeOWMPlugin │ Current time of GPS beacon's timezone. Uses OpenWeatherMap │ RegexCommand │ aprsd.plugins.time.TimeOWMPlugin │
|
163
|
-
│ TimePlugin │ What is the current local time. │ RegexCommand │ aprsd.plugins.time.TimePlugin │
|
164
|
-
│ USMetarPlugin │ USA only METAR of GPS Beacon location │ RegexCommand │ aprsd.plugins.weather.USMetarPlugin │
|
165
|
-
│ USWeatherPlugin │ Provide USA only weather of GPS Beacon location │ RegexCommand │ aprsd.plugins.weather.USWeatherPlugin │
|
166
|
-
│ VersionPlugin │ What is the APRSD Version │ RegexCommand │ aprsd.plugins.version.VersionPlugin │
|
167
|
-
└───────────────────┴────────────────────────────────────────────────────────────┴──────────────┴─────────────────────────────────────────┘
|
168
|
-
|
169
|
-
|
170
|
-
Pypi.org APRSD Installable Plugin Packages
|
171
|
-
|
172
|
-
Install any of the following plugins with 'pip install <Plugin Package Name>'
|
173
|
-
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
|
174
|
-
┃ Plugin Package Name ┃ Description ┃ Version ┃ Released ┃ Installed? ┃
|
175
|
-
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
|
176
|
-
│ 📂 aprsd-stock-plugin │ Ham Radio APRSD Plugin for fetching stock quotes │ 0.1.3 │ Dec 2, 2022 │ No │
|
177
|
-
│ 📂 aprsd-sentry-plugin │ Ham radio APRSD plugin that does.... │ 0.1.2 │ Dec 2, 2022 │ No │
|
178
|
-
│ 📂 aprsd-timeopencage-plugin │ APRSD plugin for fetching time based on GPS location │ 0.1.0 │ Dec 2, 2022 │ No │
|
179
|
-
│ 📂 aprsd-weewx-plugin │ HAM Radio APRSD that reports weather from a weewx weather station. │ 0.1.4 │ Dec 7, 2021 │ Yes │
|
180
|
-
│ 📂 aprsd-repeat-plugins │ APRSD Plugins for the REPEAT service │ 1.0.12 │ Dec 2, 2022 │ No │
|
181
|
-
│ 📂 aprsd-telegram-plugin │ Ham Radio APRS APRSD plugin for Telegram IM service │ 0.1.3 │ Dec 2, 2022 │ No │
|
182
|
-
│ 📂 aprsd-twitter-plugin │ Python APRSD plugin to send tweets │ 0.3.0 │ Dec 7, 2021 │ No │
|
183
|
-
│ 📂 aprsd-slack-plugin │ Amateur radio APRS daemon which listens for messages and responds │ 1.0.5 │ Dec 18, 2022 │ No │
|
184
|
-
└──────────────────────────────┴────────────────────────────────────────────────────────────────────┴─────────┴──────────────┴────────────┘
|
185
|
-
|
186
|
-
|
187
|
-
🐍 APRSD Installed 3rd party Plugins 🐍
|
188
|
-
┏━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
189
|
-
┃ Package Name ┃ Plugin Name ┃ Version ┃ Type ┃ Plugin Path ┃
|
190
|
-
┡━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
|
191
|
-
│ aprsd-weewx-plugin │ WeewxMQTTPlugin │ 1.0 │ RegexCommand │ aprsd_weewx_plugin.weewx.WeewxMQTTPlugin │
|
192
|
-
└────────────────────┴─────────────────┴─────────┴──────────────┴──────────────────────────────────────────┘
|
193
151
|
|
194
152
|
Installation
|
195
153
|
=============
|
@@ -282,6 +240,56 @@ look for incomming commands to the callsign configured in the config file
|
|
282
240
|
12/07/2021 03:16:17 PM MainThread INFO aprs.logfile = /tmp/aprsd.log server.py:60
|
283
241
|
|
284
242
|
|
243
|
+
Current list of built-in plugins
|
244
|
+
======================================
|
245
|
+
|
246
|
+
::
|
247
|
+
|
248
|
+
└─> aprsd list-plugins
|
249
|
+
🐍 APRSD Built-in Plugins 🐍
|
250
|
+
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
251
|
+
┃ Plugin Name ┃ Info ┃ Type ┃ Plugin Path ┃
|
252
|
+
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
|
253
|
+
│ AVWXWeatherPlugin │ AVWX weather of GPS Beacon location │ RegexCommand │ aprsd.plugins.weather.AVWXWeatherPlugin │
|
254
|
+
│ EmailPlugin │ Send and Receive email │ RegexCommand │ aprsd.plugins.email.EmailPlugin │
|
255
|
+
│ FortunePlugin │ Give me a fortune │ RegexCommand │ aprsd.plugins.fortune.FortunePlugin │
|
256
|
+
│ LocationPlugin │ Where in the world is a CALLSIGN's last GPS beacon? │ RegexCommand │ aprsd.plugins.location.LocationPlugin │
|
257
|
+
│ NotifySeenPlugin │ Notify me when a CALLSIGN is recently seen on APRS-IS │ WatchList │ aprsd.plugins.notify.NotifySeenPlugin │
|
258
|
+
│ OWMWeatherPlugin │ OpenWeatherMap weather of GPS Beacon location │ RegexCommand │ aprsd.plugins.weather.OWMWeatherPlugin │
|
259
|
+
│ PingPlugin │ reply with a Pong! │ RegexCommand │ aprsd.plugins.ping.PingPlugin │
|
260
|
+
│ QueryPlugin │ APRSD Owner command to query messages in the MsgTrack │ RegexCommand │ aprsd.plugins.query.QueryPlugin │
|
261
|
+
│ TimeOWMPlugin │ Current time of GPS beacon's timezone. Uses OpenWeatherMap │ RegexCommand │ aprsd.plugins.time.TimeOWMPlugin │
|
262
|
+
│ TimePlugin │ What is the current local time. │ RegexCommand │ aprsd.plugins.time.TimePlugin │
|
263
|
+
│ USMetarPlugin │ USA only METAR of GPS Beacon location │ RegexCommand │ aprsd.plugins.weather.USMetarPlugin │
|
264
|
+
│ USWeatherPlugin │ Provide USA only weather of GPS Beacon location │ RegexCommand │ aprsd.plugins.weather.USWeatherPlugin │
|
265
|
+
│ VersionPlugin │ What is the APRSD Version │ RegexCommand │ aprsd.plugins.version.VersionPlugin │
|
266
|
+
└───────────────────┴────────────────────────────────────────────────────────────┴──────────────┴─────────────────────────────────────────┘
|
267
|
+
|
268
|
+
|
269
|
+
Pypi.org APRSD Installable Plugin Packages
|
270
|
+
|
271
|
+
Install any of the following plugins with 'pip install <Plugin Package Name>'
|
272
|
+
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
|
273
|
+
┃ Plugin Package Name ┃ Description ┃ Version ┃ Released ┃ Installed? ┃
|
274
|
+
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
|
275
|
+
│ 📂 aprsd-stock-plugin │ Ham Radio APRSD Plugin for fetching stock quotes │ 0.1.3 │ Dec 2, 2022 │ No │
|
276
|
+
│ 📂 aprsd-sentry-plugin │ Ham radio APRSD plugin that does.... │ 0.1.2 │ Dec 2, 2022 │ No │
|
277
|
+
│ 📂 aprsd-timeopencage-plugin │ APRSD plugin for fetching time based on GPS location │ 0.1.0 │ Dec 2, 2022 │ No │
|
278
|
+
│ 📂 aprsd-weewx-plugin │ HAM Radio APRSD that reports weather from a weewx weather station. │ 0.1.4 │ Dec 7, 2021 │ Yes │
|
279
|
+
│ 📂 aprsd-repeat-plugins │ APRSD Plugins for the REPEAT service │ 1.0.12 │ Dec 2, 2022 │ No │
|
280
|
+
│ 📂 aprsd-telegram-plugin │ Ham Radio APRS APRSD plugin for Telegram IM service │ 0.1.3 │ Dec 2, 2022 │ No │
|
281
|
+
│ 📂 aprsd-twitter-plugin │ Python APRSD plugin to send tweets │ 0.3.0 │ Dec 7, 2021 │ No │
|
282
|
+
│ 📂 aprsd-slack-plugin │ Amateur radio APRS daemon which listens for messages and responds │ 1.0.5 │ Dec 18, 2022 │ No │
|
283
|
+
└──────────────────────────────┴────────────────────────────────────────────────────────────────────┴─────────┴──────────────┴────────────┘
|
284
|
+
|
285
|
+
|
286
|
+
🐍 APRSD Installed 3rd party Plugins 🐍
|
287
|
+
┏━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
288
|
+
┃ Package Name ┃ Plugin Name ┃ Version ┃ Type ┃ Plugin Path ┃
|
289
|
+
┡━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
|
290
|
+
│ aprsd-weewx-plugin │ WeewxMQTTPlugin │ 1.0 │ RegexCommand │ aprsd_weewx_plugin.weewx.WeewxMQTTPlugin │
|
291
|
+
└────────────────────┴─────────────────┴─────────┴──────────────┴──────────────────────────────────────────┘
|
292
|
+
|
285
293
|
|
286
294
|
|
287
295
|
send-message
|