Skip to main content

An LLM-based assistant for the Automatic Packet Reporting System (APRS).

Project description

APRS Assistant

PyPI - Version PyPI - Python Version

An LLM-based assistant for the Automatic Packet Reporting System (APRS).

Note: This library provides core functionality for an LLM-based APRS chatbot, but does not itself directly handle APRS messaging (RX, or TX). For this, a library like apsd is needed. Instructions for connecting the assistant to the APRS network are forthcoming in a future update.


Installation

pip install aprs-assistant

Callsign

Your bot needs a callsign! Set with the APRS_ASSISTANT_CALLSIGN environment variable.

export APRS_ASSISTANT_CALLSIGN=<CLEVER_CALLSIGN>

API Keys

At a minimum, this library requires setting an OpenAI API key. Bing and APRS.fi API keys are also used to support various tools and services. Set the, as environment variable in bash, as follows:

export OPENAI_API_KEY=<YOUR_KEY>
export BING_API_KEY=<YOUR_KEY>
export APRSFI_API_KEY=<YOUR_KEY>

Running Local Chat

The library supports local chats (e.g., for debugging) as follows:

python -m aprs_assistant <YOUR_CALLSIGN>

Type exit or press Ctrl-D to exit.

FCC ULS Integration

APRS Assistant supports basic callsign lookups using a local copy of the FCC ULS database. This database is about 325 MB and is easily created.

cd ./tools/parse_fcc_uls
bash create_db.bash
cd ../..
mkdir data
mv ./tools/parse_fcc_uls/fcc_uls.db data/.

This step only needs to be done once (or when you wish to update the database with new records!)

See ./tools/parse_fcc_uls/README for more details.

Integration

To integrate aprs-assistant into your application, simply use:

from aprs_assistant import generate_reply

sender_callsign = "NOCALL"
message = "What's the weather?"
response = generate_reply(sender_callsign, message)

print(response)

Note: response can be None

License

aprs-assistant is distributed under the terms of the MIT license.

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

aprs_assistant-0.0.3.tar.gz (21.9 kB view details)

Uploaded Source

Built Distribution

aprs_assistant-0.0.3-py3-none-any.whl (23.3 kB view details)

Uploaded Python 3

File details

Details for the file aprs_assistant-0.0.3.tar.gz.

File metadata

  • Download URL: aprs_assistant-0.0.3.tar.gz
  • Upload date:
  • Size: 21.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.26.0

File hashes

Hashes for aprs_assistant-0.0.3.tar.gz
Algorithm Hash digest
SHA256 0ddf03fc72bdb6ebc622f1aab201235cf2e5477c8cd2193056872befbe09187b
MD5 36182217c20071630dda2678e9b1fe69
BLAKE2b-256 5eebd61b8213e0ccd78e0c97f1e767d4f7657f8872963e3abd77dca07012ddd1

See more details on using hashes here.

File details

Details for the file aprs_assistant-0.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for aprs_assistant-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 54eb0b7d638b4c3f296903118a4949dc7f341deafa53236a30979631c08b4099
MD5 4c53bf7f32afcc24b2261f53c4519964
BLAKE2b-256 26062c42c31a1a0eaea68977c543afe746eb2bf30506e37b66a96370bd3f6ba5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page