QSO - A simple logging program for amateur radio

QSO is a simple, command line, logging program for amateur radio.

Commands:
 add      Add an entry
 ammend   Change the last entry
 clear    Remove the database
 config   Print the current configuration
 dump     Dump the database contents as a csv
 eqsl     Upload new QSOs to eqsl.cc
 export   Print adif formatted log entries
 previous Show previous QSOs with the given callsign
 print    Print the database contents
 rescue   Re-build the database from a specified CSV file (see dump)
 search   Search for a callsign in the database
 shell    Run a python shell with access to the database
 wsjt     Listen for UDP connections from wsjt-x and add log records

The shell command allows the user to programatically manipulate the database. To generate maps like the one shown below (from OK2PBQ's qso map) a list of locators worked is required. Generating this list with the shell is simple:

QSO Shell: db is the log database.
>>> "\n".join(r.location for r in db.ptr if r.location is not None and len(r.location) == 6)

qso map

The user can also modify the database from the shell, e.g. to change all records with the mode PSK to have the mode PSK31:

QSO Shell: db is the log database.
>>> records = db.ptr.select_for_update(mode='PSK')
>>> for record in records:
...     r.update(mode='PSK31')
>>> db.ptr.commit()

qso can communicate with a hamlib RPC server take mode and frequency information directly from the transceiver. For those keen on digimodes, qso can communicate with fldigi to extract logging information and pre-populate fields. If data is available from fldigi and hamlib then recent fldigi data takes priority.

qso allows the simple upload of logged QSOs to eQSL with the comamnd eqsl. The eQSL username is assumed to be identical to the configured callsign, and no passwords are stored.

qso can communicate with a running wsjt instance and receive log records over a udp socket.

See the source, Download, or clone, it from gitweb.