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.