Skip to content

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

License

Notifications You must be signed in to change notification settings

JayToTheAy/QSPy

Repository files navigation

QSPyLib

Python Package Build Action Status Documentation 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?

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.

About

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

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages