KNXOps Tech - Cabrillo Generator Script

2026-05-26


The Cabrillo Generator Script is a Python script that allows for quick conversion of paper logs to Cabrillo-format for the purposes of contesting.

Basically, you follow the text prompts given in the terminal when you run the script and it will generate a log file.

Below is an example of the script running.

KNX Cabrillo Generator: Get Cabrillo log file
Enter your callsign: CALL
Enter the contest (CQ-WPX-SSB, ARRL-10, NAQP-CW, etc): CQ-WW-CW
Assisted? (y/N): n
Enter band (160M, 2M, ALL, etc): 20m
Enter mode (FM, DIGI, RTTY, MIXED, etc): cw
Enter operator type (SINGLE-OP, MULTI-OP, or CHECKLOG): single-op
Enter power level (HIGH, LOW, or QRP): low
Enter station type (FIXED, MOBILE, ROVER, SCHOOL, etc. or "n" for N/A): fixed
Enter operating time (6-HOURS, 8-HOURS, 12-HOURS, 24-HOURS or "n" for N/A): n
Enter transmitter number (ONE, TWO, LIMITED, UNLIMITED, or SWL): one
Enter overlay (CLASSIC, ROOKIE, TB-WIRES, YOUTH, NOVICE-TECH, or YL or "n" for N/A): classic
Receive contest certificate, if eligible? (Y/n): y
Enter claimed score, or leave blank:
Enter full name of club or "n" for N/A: n
Enter email address: email@email.com
Enter Maidenhead grid locator: fn30
Enter location information (ARRL code, DX, IOTA code, RDA code, etc): NY
Enter name: First Last
Enter street address: 123 Main Street
Enter second street address or leave blank for N/A):
Enter city: New York
Enter state/province: NY
Enter postal or ZIP code: 11561
Enter country: USA
Enter offtime or leave blank for N/A):
Enter soapbox, or leave blank:
Mark all contacts as 59/599? (y/N): y
Enter date of first contact (YYYY-MM-DD): 2026-11-28
Enter frequency of contact or "n" to finish log: 14000
Enter time of contact (UTC, no colon): 1522
Enter sent code: 001
Enter DX call: W1AW
Enter received code: 253
Enter frequency of contact or "n" to finish log: 14000
Enter time of contact (UTC, no colon): 1523
Enter sent code: 002
Enter DX call: GB2RS
Enter received code: 523
Enter frequency of contact or "n" to finish log: n
Confirm log finish (Y/n): y

And here is the output file:

START-OF-LOG: 3.0
CALLSIGN: CALL
CONTEST: CQ-WW-CW
CATEGORY-ASSISTED: NONASSISTED
CATEGORY-BAND: 20M
CATEGORY-MODE: CW
CATEGORY-OPERATOR: SINGLE-OP
CATEGORY-POWER: LOW
CATEGORY-STATION: FIXED
CATEGORY-TRANSMITTER: ONE
CATEGORY-OVERLAY: CLASSIC
CERTIFICATE: YES
CLAIMED-SCORE:
CREATED-BY: KNX Logging Software
EMAIL: email@email.com
EMAIL: fn30
LOCATION: NY
NAME: FIRST LAST
ADDRESS: 123 Main Street
ADDRESS-CITY: New York
ADDRESS-STATE-PROVINCE: NY
ADDRESS-POSTALCODE: 11561
ADDRESS-COUNTRY: USA
SOAPBOX:
QSO: 14000 CW 2026-11-8 1522 CALL 59 001 W1AW 59 253
QSO: 14000 CW 2026-11-8 1523 CALL 59 002 GB2RS 59 523

You can download this script at https://krys.ltimas.com/software/cabrilloscript/cabrilloscript.py

You can review the sample output file at https://krys.ltimas.com/software/cabrilloscript/sample.log