Skip to main content

Utilities for interacting with ham radio logs, including a QRZ Logbook API client

Project description

QRZ Logbook Client

Python utilities for amateur radio log workflows, including a QRZ Logbook API client.

Features

  • QRZ API support for FETCH, INSERT, DELETE, and STATUS
  • Class-based client (QRZClient) for reusable integrations
  • Convenience module-level functions (setup, fetch_records, etc.)
  • Response parsing into Python dictionaries with normalized numeric fields

Installation

Local development

pip install -e .

From GitHub (after publishing)

pip install git+https://github.com/jakevdub/qrz-logbook-client.git

Quick Start (Recommended)

from qrz_logbook_client import QRZClient

client = QRZClient(
    api_key="YOUR-QRZ-API-KEY",
    user_agent="MyCoolUploadScript.py/1.0.0 (YOUR-CALLSIGN)",
)

# STATUS
status_response = client.status()
print(status_response)

# INSERT
adif = "<band:3>20m<mode:3>SSB<call:8>CALLSIGN<qso_date:8>20260322<station_callsign:13>YOUR-CALLSIGN<time_on:4>1830<eor>"
insert_response = client.insert_record(adif)
print(insert_response)

# FETCH (paged)
fetch_response = client.fetch_records(limit=250, offset=0)
print(fetch_response.get("COUNT"), fetch_response.get("LOGIDS"))

# DELETE
delete_response = client.delete_record([123456789])
print(delete_response)

Convenience Function Style

from qrz_logbook_client import setup, fetch_records

setup(
    api_key="YOUR-QRZ-API-KEY",
    user_agent="MyCoolUploadScript.py/1.0.0 (YOUR-CALLSIGN)",
)

response = fetch_records(limit=100, offset=0)
print(response)

Notes

  • QRZ requires a specific and identifiable User-Agent value.
  • Do not use generic values like python-requests or node-fetch.
  • Some QRZ actions require a paid subscription.

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

qrz_logbook_client-0.1.0.tar.gz (6.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qrz_logbook_client-0.1.0-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file qrz_logbook_client-0.1.0.tar.gz.

File metadata

  • Download URL: qrz_logbook_client-0.1.0.tar.gz
  • Upload date:
  • Size: 6.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for qrz_logbook_client-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1c0a81aad1fa6e9c22495614e99296957a56ebe21da22789e35ac1ecbd7a6eda
MD5 137b5fd2a873b55c873cdbb55c71077c
BLAKE2b-256 c33e37f8a78dfb6a0971dce152f85e0467819bcfa934031021137d32bd70eade

See more details on using hashes here.

Provenance

The following attestation bundles were made for qrz_logbook_client-0.1.0.tar.gz:

Publisher: publish.yml on JakeVdub/qrz-logbook-client

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qrz_logbook_client-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for qrz_logbook_client-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5f9201759976c27c4a4e955d85340e5c7bfccc12f24c6b1404acbbb6eb279f95
MD5 889300e3a9aa6c67d76b83909db84820
BLAKE2b-256 a97f3843b3222cd6935c06c9df833246f62c810030ba2eb8f8bfc5bac55423eb

See more details on using hashes here.

Provenance

The following attestation bundles were made for qrz_logbook_client-0.1.0-py3-none-any.whl:

Publisher: publish.yml on JakeVdub/qrz-logbook-client

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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