ADIF Parser
A Python library for parsing ADIF (Amateur Data Interchange Format) files used in amateur radio.
What Does This Library Do?
adif_parser is a Python library that reads and parses ADIF files, converting them into structured data.
Installation
pip install adif-parser
Or install from source:
git clone https://github.com/0x9900/adif_parser.git
cd adif_parser
pip install .
Usage
Basic Example
from adif_parser import parse_adif
# Parse an ADIF file
with open('logbook.adi', 'r') as f:
records = parse_adif(f)
# Iterate through contacts
for record in records:
print(f"Callsign: {record.get('CALL')}")
print(f"Date: {record.get('QSO_DATE')}")
print(f"Time: {record.get('TIME_ON')}")
print(f"Frequency: {record.get('FREQ')}")
print(f"Mode: {record.get('MODE')}")
print("---")
Common ADIF Fields
The parser extracts standard ADIF fields including:
CALL: Callsign contactedQSO_DATE: Date of contact (YYYYMMDD)TIME_ON: Start time of contact (HHMMSS)BAND: Operating band (e.g., "20M", "40M")FREQ: Operating frequency in MHzMODE: Operating mode (e.g., "SSB", "CW", "FT8")RST_SENT: Signal report sentRST_RCVD: Signal report receivedNAME: Name of operator contactedQTH: Location of station contactedGRIDSQUARE: Maidenhead grid squareCOUNTRY: DXCC entity nameSTATE: State/province- And many more defined in the ADIF specification
Use Cases
This library is useful for:
- Converting ADIF logs to other formats (CSV, JSON, databases)
- Analyzing amateur radio contact logs
- Building statistics and visualizations from logbook data
- Migrating data between different logging programs
- Contest log processing
- Creating custom reporting tools
- Award tracking and verification
Example ADIF format:
<CALL:6>W1AW <QSO_DATE:8>20231015 <TIME_ON:6>143000 <BAND:3>20M <MODE:3>SSB <EOR>
License
See the LICENSE file in the repository for license information.
Contributing
Contributions are welcome! Please feel free to submit issues or pull requests on GitHub.
Links
- GitHub Repository: https://github.com/0x9900/adif_parser
- ADIF Specification: https://adif.org/
Support
For questions, bug reports, or feature requests, please open an issue on the GitHub repository.
Metadata
Release files for adif-parser 0.2.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| adif_parser-0.2.5.tar.gz | 6.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| adif_parser-0.2.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.0 kB
Release files / adif_parser-0.2.5.tar.gz
| Download URL | adif_parser-0.2.5.tar.gz |
|---|---|
| Size | 6.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e9f14363ecc9a91c4ea6baa4b7870de960d1acadbbfee1bcabb268efe3efe0fe
|
|
BLAKE2b-256 checksum How to use checksums |
916633fc406c7bbaf4dc8072f362ff733f116d65dadaa66b98ac95986d80a628
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / adif_parser-0.2.5-py3-none-any.whl
| Download URL | adif_parser-0.2.5-py3-none-any.whl |
|---|---|
| Size | 6.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a5a9da4b7261f4e545fccd71b1725cc3f2742dcd4ba4da6d18e943c347fe1810
|
|
BLAKE2b-256 checksum How to use checksums |
4d96c6b229f8dc833370c9591979e9ceedfb6ac262f826e419f20c1356341e32
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|