A simple parser library.
Project description
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.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file adif_parser-0.1.7.tar.gz.
File metadata
- Download URL: adif_parser-0.1.7.tar.gz
- Upload date:
- Size: 5.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b1b3c69b4abdee8d4ffe35c46b65f3811a23e1201659545c5cf29eb729cd8f5c
|
|
| MD5 |
6d59e7cf55b25c3740581051173d9673
|
|
| BLAKE2b-256 |
2207ab2a8ab4e6f1ee0ac614cc9f6a216553201403e5b39c807877863c005872
|
File details
Details for the file adif_parser-0.1.7-py3-none-any.whl.
File metadata
- Download URL: adif_parser-0.1.7-py3-none-any.whl
- Upload date:
- Size: 5.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
055d5d670bf79eaa88154289ee1fec53121db7d9884c875f840b1f32a0b0afb7
|
|
| MD5 |
52f46b8755b7d1f02337747045db6189
|
|
| BLAKE2b-256 |
29fda92d000b983a030029e635954373f733bcbb1c13459bfe97b2e9e5c27961
|