Skip to main content

A set of amateur radio website API wrappers

Project description

QSPyLib

Python Package Build Action Status

QSPyLib is a bundle of API wrappers for various amateur radio-related websites, including QRZ, LOTW, eQSL, and ClubLog.

It is currently in development and should be considered unstable version-to-version while the version number is still 0.x.x.

Issues and pull requests are welcome, and should be made on the GitHub repository.

What works right now?

As of v0.0.1:

  • The LotW module is, in theory, finished -- no doubt something will come up about how it's not actually practical and needs more work.
  • The eQSL module has most of the functionality of eQSL's API, but is incredibly unpolished and needs more work.
  • The QRZ module exists; the Logbook API is currently only supported for FETCH operations, and the XML Interface is not supported yet.
  • The ClubLog module is on-hold pending the ready-status of the other modules.

How do I use it?

An example of pulling a Logbook from LOTW:

from qspylib import lotw
LOTWAccount = lotw.LOTWSession("callsign", "password")
logbook = LOTWAccount.fetch_logbook()

This will give you a Logbook object, which contains a list of QSO objects and a parsed, usable adif_io log. The adif_io log property contains all the ADIF info that LOTW outputs (and likewise for other logging sites); the built-in log property of a Logbook object contains only some limited information, like callsign, band, mode, date, time, and QSL status from the originating site (which is a little handy as a single-reference for if a QSO is a QSL, since different sites use different, extra ADIF fields to express being QSL'd on their platform.)

Other functions of APIs are generally available, like checking if an eQSL is verified:

from qspylib import eqsl
confirmed, raw_result = eqsl.verify_eqsl('N5UP', 'TEST', '160m', 'SSB', '01/01/2000')

This will return a tuple; here, confirmed will be False, since this QSO is not verified on eQSL, and raw_result will contain any extra information eQSL provides, for instance, if it's Authenticity Guaranteed.

The best way to find out the functions, methods and objects available is to code dive; an okay-amount-of-effort has been put in to documenting the code with doc strings.

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

qspylib-0.0.1.tar.gz (14.4 kB view details)

Uploaded Source

Built Distribution

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

qspylib-0.0.1-py3-none-any.whl (17.9 kB view details)

Uploaded Python 3

File details

Details for the file qspylib-0.0.1.tar.gz.

File metadata

  • Download URL: qspylib-0.0.1.tar.gz
  • Upload date:
  • Size: 14.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for qspylib-0.0.1.tar.gz
Algorithm Hash digest
SHA256 aaf5db6276fa4108c0890647ffb13895f66fd24437b1e1fcf8703d1509ef8885
MD5 cbb205bb663b098df19eab214e03694b
BLAKE2b-256 20fb99c610f16af79daa0637a91ff128ca7ffcfff6e90cb5f51a19bffc7fab7c

See more details on using hashes here.

File details

Details for the file qspylib-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: qspylib-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 17.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for qspylib-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3c21f1993fd111df44d07272f33e1b5b445b55899c52ef43028b7463b581c591
MD5 ac261450025593711f3008cbfc8eafe8
BLAKE2b-256 0ef1d4ca273c018431460d573510b78f52a2dfe29d7b986b58cd15ca0a7ada37

See more details on using hashes here.

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