HamKit
The hamkit package installs ALL HamKit submodules, and provides a command-line interface to demonstrate HamKit functionality.
pip install hamkit
At present, HamKit includes the following submodules:
| Package | Version | Description |
|---|---|---|
| hamkit-itu | Tools for working with ITU call sign prefixes (e.g., to look up country of origin) | |
| hamkit-uls | Tools for working with local copies of the FCC Universal Licensing System database, (e.g., to look up call signs, etc.) | |
| hamkit-repeaterbook | Tools for working with data exported from RepeaterBook (e.g., to save a database of local repeaters, etc.) | |
| hamkit-aprs | Tools for working with (encoding/decoding) APRS packets. |
Command-line Interface
hamkit provides a command-line interface to demonstrate HamKit functionality. Invoke it as follows:
Syntax:
python -m hamkit COMMAND [ARGS..]
Available commands, and their arguments:
help show *this* help message
itu [QUERY], where QUERY is a call sign, prefix, or 2-letter
country code (e.g., itu_prefixes KK7CMT)
uls [CALLSIGN], where CALLSIGN is the callsign to look up
repeateroook return a list of nearby repeaters
aprs decode [PACKET..] decode APRS packets in TNC2 format (e.g.,
"N0CALL>APRS:>Ready") to pretty-printed JSON.
With no PACKET, or "-", packets are read from
stdin, one per line. Use "-f FILE" to read them
from a file instead.
aprs encode [JSON] encode APRS packets from JSON (an object, an
array of objects, or one object per line) to
TNC2 format. With no JSON, or "-", it is read
from stdin. Use "-f FILE" to read it from a file.
aprs message [-p PATH] SENDER RECIPIENT TEXT
encode an APRS message
aprs position [-p PATH] SENDER LAT LON [COMMENT]
encode an APRS position report, where LAT and
LON are in decimal degrees (negative for south
and west)
For message and position, PATH is a comma-
separated digipeater path (default:
"WIDE1-1,WIDE2-1"). Use -p "" for no path.
For example:
user@HOST:~$ python -m hamkit itu_prefixes KK7CMT
SUBROUTINE: call_sign_to_country('KK7CMT'):
If KK7CM is a call sign, then it was likely issued by:
ITU Prefix: K
Country Name: United States
Country Code: US
Or:
user@HOST:~$ python -m hamkit aprs decode 'KK7CMT>APRS,WIDE1-1,WIDE2-1::N0CALL :Hello world'
SUBROUTINE: to_json_dict(parse_packet(b'KK7CMT>APRS,WIDE1-1,WIDE2-1::N0CALL :Hello world')):
The packet decodes to:
{
"type": "packet",
"header": {
"source": "KK7CMT",
"destination": "APRS",
"path": [
{
"address": "WIDE1-1"
},
{
"address": "WIDE2-1"
}
]
},
"payload": {
"type": "message",
"addressee": "N0CALL",
"text": "Hello world"
},
"original_wire": "KK7CMT>APRS,WIDE1-1,WIDE2-1::N0CALL :Hello world"
}
License
hamkit is distributed under the terms of the MIT license.
Metadata
Release files for hamkit 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| hamkit-0.0.1.tar.gz | 7.7 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hamkit-0.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 15.7 kB
Release files / hamkit-0.0.1.tar.gz
| Download URL | hamkit-0.0.1.tar.gz |
|---|---|
| Size | 7.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
51620c222e8af7154bacb4b2ab7fba8e3d2f13ddb0e482f3731ddab8d22c44ea
|
|
BLAKE2b-256 checksum How to use checksums |
adb2081ae41faac3d787cb30e17ba3a6d437d7e8459d1444462d442c8a4b057d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
Hatch/1.18.1 {"ci":null,"cpu":"x86_64","distro":{"id":"resolute","libc":{"lib":"glibc","version":"2.43"},"name":"Ubuntu","version":"26.04"},"implementation":{"name":"CPython","version":"3.14.4"},"installer":{"name":"hatch","version":"1.18.1"},"openssl_version":"OpenSSL 3.5.5 27 Jan 2026","python":"3.14.4","system":{"name":"Linux","release":"6.18.54.1-microsoft-standard-WSL2"}} HTTPX2/2.13.1
|
Release files / hamkit-0.0.1-py3-none-any.whl
| Download URL | hamkit-0.0.1-py3-none-any.whl |
|---|---|
| Size | 8.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ae2811b09ab27dee1c46476e9036f53f88594664f0f8704db697028ffa20dd6e
|
|
BLAKE2b-256 checksum How to use checksums |
a1ad662f69592e70427a285cd5c98d2706af69c0d13d55515a1790539523fd41
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
Hatch/1.18.1 {"ci":null,"cpu":"x86_64","distro":{"id":"resolute","libc":{"lib":"glibc","version":"2.43"},"name":"Ubuntu","version":"26.04"},"implementation":{"name":"CPython","version":"3.14.4"},"installer":{"name":"hatch","version":"1.18.1"},"openssl_version":"OpenSSL 3.5.5 27 Jan 2026","python":"3.14.4","system":{"name":"Linux","release":"6.18.54.1-microsoft-standard-WSL2"}} HTTPX2/2.13.1
|
Security for hamkit 0.0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.