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).

[!IMPORTANT] This library provides core functionality for an LLM-based APRS chatbot, but does not itself directly handle APRS messaging (RX, or TX). If you want to run APRS Assistant yourself, on the APRS IS network, you should visit the sister project aprs-assistant-plugin, which has everything you need.

For local development, or to integrate APRS Assistant into other frameworks, read on. For running APRS Assistant, heed the above advice and go to aprs-assistant-plugin now.


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.4.tar.gz (21.1 kB view details)

Uploaded Source

Built Distribution

aprs_assistant-0.0.4-py3-none-any.whl (24.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for aprs_assistant-0.0.4.tar.gz
Algorithm Hash digest
SHA256 8f65d923a5f6f9484193b2e6736eaedf98873eeb4e0c73b3e0d22ddae991847a
MD5 36c5bb06a1a2c6926425ff670cb50d23
BLAKE2b-256 12b39d4128a52deffc7cce3ee87f2ce740fb8bde1d503f4b13a6a44acc314fc7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aprs_assistant-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 bad314d04cc2480f826db1d2284a62b71163f953937b58604c0cb8f811541f2e
MD5 ab8b383494329ab0f36596cdf6c149ce
BLAKE2b-256 719420b427133a893e9688e7eebcd5c41d385be3ac9c8f260f8a174430ddfc86

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