A Library with Amateur Radio specific Functions and Methods
Find a file
Tobias Wellnitz, DH1TW dabc500795 added travis support
2018-01-27 19:52:37 +01:00
.cache/v/cache python3 compatible 2018-01-27 19:52:27 +01:00
docs python3 compatible 2018-01-27 19:52:27 +01:00
pyhamtools python3 compatible 2018-01-27 19:52:27 +01:00
test python3 compatible 2018-01-27 19:52:27 +01:00
.gitignore lotw users not loaded from ARRL; added gitignore 2017-08-20 16:26:37 +02:00
.travis.yml added travis support 2018-01-27 19:52:37 +01:00
LICENSE Initial commit 2014-04-24 04:48:38 -07:00
README.md corrected minor typo 2016-08-26 10:02:41 +07:00
requirements-docs.txt python3 compatible 2018-01-27 19:52:27 +01:00
requirements-pytest.txt python3 compatible 2018-01-27 19:52:27 +01:00
setup.py python3 compatible 2018-01-27 19:52:27 +01:00

pyhamtools

Join the chat at https://gitter.im/dh1tw/pyhamtools

Pyhamtools is a set of functions and classes for Amateur Radio purpose. Currently the core part is the Callsign Lookup which decodes any amateur radio callsign string and provides the corresponding information (Country, DXCC entity, CQ Zone...etc). This basic functionality is needed for Logbooks, DX-Clusters or Log Checking.

Currently,

are supported sources. All these lookup services can be accessed through a unified interface.

Other modules include location based calculations (e.g. distance, heading between Maidenhead locators) or frequency based calculations (e.g. frequency to band).

References

This Library is used in production at the DXHeat.com DX Cluster, performing several thousand lookups and calculations per day.

Documentation

Check out the full documentation at: PyHamTools.readthedocs.org

License

PyHamTools are published under the permissive MIT License. You can find a good comparison of Open Source Software licenses, including the MIT license at choosealicense.com

Installation

Easiest way to install pyhamtools is through the packet manager PIP:

pip install pyhamtools

Example: How to use pyhamtools


>>> from pyhamtools.locator import calculate_heading
>>> calculate_heading("JN48QM", "QF67bf")
74.3136


>>> from pyhamtools import LookupLib, Callinfo
>>> my_lookuplib = LookupLib(lookuptype="countryfile")
>>> cic = Callinfo(my_lookuplib)
>>> cic.get_all("DH1TW")
    {
        'country': 'Fed. Rep. of Germany',
        'adif': 230,
        'continent': 'EU',
        'latitude': 51.0,
        'longitude': -10.0,
        'cqz': 14,
        'ituz': 28
    }

Testing

An extensive set of unit tests has been created for all Classes & Methods.