Skip to main content

A set of API wrappers for different amateur radio websites, including LotW, QRZ, eQSL, and ClubLog

Project description

QSPyLib

Python Package Build Action Status Documentation Status PyPI - Python Version PyPI - Version PyPI - Wheel PyPI - License

QSPyLib is a bundle of API wrappers for various amateur radio-related sites, 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.

How do I install it?

The latest stable* version of QSPyLib is available on PyPI, and can be installed by just running

py -m pip install qspylib

This release should match what is on the GitHub repository under a corresponding tagged release.

To build the most recent source code (which isn’t necessarily stable – see the build test status), you can download the source code from GitHub, navigate to the directory, and run:

py -m build

This will generate a .whl and tar.gz, which you can then install locally.

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?

Documentation of all functions and classes, including examples, is available at the ReadTheDocs listing for this project:

http://qspylib.readthedocs.io/

A quick example of pulling a Logbook from LOTW:

from qspylib import lotw
LOTWAccount = lotw.LOTWClient("callsign", "password")
logbook = LOTWClient.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.

Modules, functions, and classes are documented in-code via docstrings, and you can learn more by reading those docstrings; you can also read the Read the Docs listings for a visually pleasing guide on what the docstrings say.

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-1.0.0a3.tar.gz (31.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-1.0.0a3-py3-none-any.whl (24.8 kB view details)

Uploaded Python 3

File details

Details for the file qspylib-1.0.0a3.tar.gz.

File metadata

  • Download URL: qspylib-1.0.0a3.tar.gz
  • Upload date:
  • Size: 31.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for qspylib-1.0.0a3.tar.gz
Algorithm Hash digest
SHA256 8cce003d18c6288a2d1c977d72f9c584921a0fc921e7909936c78ad03f7fb5a6
MD5 26e33ffeba94a3c8c9b8882289d2b548
BLAKE2b-256 a71bb681548f30df9126f6575e610997209cfebeaead8bf264d8cb4fc7e1d806

See more details on using hashes here.

Provenance

The following attestation bundles were made for qspylib-1.0.0a3.tar.gz:

Publisher: publish.yml on JayToTheAy/QSPy

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

File details

Details for the file qspylib-1.0.0a3-py3-none-any.whl.

File metadata

  • Download URL: qspylib-1.0.0a3-py3-none-any.whl
  • Upload date:
  • Size: 24.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for qspylib-1.0.0a3-py3-none-any.whl
Algorithm Hash digest
SHA256 593ba720ba0bd0d8546a1c87c118e8a011bca8ccd06b98594c7e9de2bfdb255f
MD5 5534016efc7dd631363eed5eee264545
BLAKE2b-256 11d79dd403d66a6e344e2722380c25c0c892d7b38bf8007fb982f350f5a10b79

See more details on using hashes here.

Provenance

The following attestation bundles were made for qspylib-1.0.0a3-py3-none-any.whl:

Publisher: publish.yml on JayToTheAy/QSPy

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