Skip to main content

PyHam PE

Overview

This package provides a client implementation of the AGWPE protocol, enabling and simplifying the creation of applications using that protocol in order to communicate with servers such as Direwolf or ldsped.

A lower level API provides access to the protocol at a level close to that of individual AGWPE frames (not to be confused with AX.25 frames), enabling the ultimate level of control over communication with the server.

A higher level API provides abstractions helpful in building more complex applications, transparently taking care of some of the details, such as connection management and monitoring.

The AGWPE protocol, and thus this package, has the advantage, over other commonly used protocols such as KISS, that it can be easily used to create connected-mode sessions. As such, it can be used to create many types of ham radio software, from simple beaconing to full-fledged packet radio terminal applications akin to Linpac. (See PyHam's Paracon software for an example of the latter.)

It is expected that developers working with this package will have some level of understanding of the AGWPE protocol, though detailed knowledge is not required due to the abstractions provided. Those interested in the details may wish to refer to the AGWPE protocol reference in conjunction with the documentation for this package.

Author: Martin F N Cooper, KD6YAM
License: MIT License

A note on naming

The protocol on which this package is based is commonly referred to as AGWPE, and more properly as the AGWPE TCP/IP API. The 'AGWPE' stands for AGW Packet Engine, where the 'AGW' comes from the callsign of the original creator of the protocol, George Rossopoulos, SV2AGW. In order to avoid confusion with software written by SV2AGW and using the name AGWPE, this PyHam package uses the name PE when referring to the package, and AGWPE when referring to the protocol.

Installation

Important: This package requires Python 3.7 or later.

The PyHam PE package is distributed on PyPI, and should be installed with pip as follows:

$ pip install pyham_pe

Then the modules you require may be imported with the appropriate subset of the following:

   import pe
   import pe.app
   import pe.connect
   import pe.handler
   import pe.monitor

The source code is available from the GitHub repository:

$ git clone https://github.com/mfncooper/pyham_pe

Documentation

Full documentation is available online and includes the following:

User Guide
The User Guide introduces some conceptual material and then explains the lower level API and gradually progresses to the simpler, higher level.
Compatibility
Some information on the level of support for the protocol that can be expected from the most popular AGWPE servers.
API Reference
If you are looking for information on a specific function, class, or method, this part of the documentation is for you.

Discussion

If you have questions about how to use this package, the documentation should be your first point of reference. If the User Guide, API Reference, or Compatibility guide don't answer your questions, or you'd simply like to share your experiences or generally discuss this package, please join the community on the PyHam PE Discussions forum.

Note that the GitHub Issues tracker should be used only for reporting bugs or filing feature requests, and should not be used for questions or general discussion.

References

AGWPE protocol reference:
https://www.on7lds.net/42/sites/default/files/AGWPEAPI.HTM

About PyHam

PyHam is a collection of Python packages targeted at ham radio enthusiasts who are also software developers. The name was born out of a need to find unique names for these packages when the most obvious names were already taken.

PyHam packages aim to provide the kind of functionality that makes it much simpler to build sophisticated ham radio applications without having to start from scratch. In addition to the packages, PyHam aims to provide useful real-world ham radio applications for all hams.

See the PyHam home page for more information, and a list of currently available libraries and applications.

Metadata

Release files for pyham_pe 1.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyham_pe 1.1.2
File Size Uploaded
pyham_pe-1.1.2.tar.gz 35.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyham_pe 1.1.2
File Interpreter ABI Platform
pyham_pe-1.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 60.5 kB

Release files / pyham_pe-1.1.2.tar.gz

Download URL pyham_pe-1.1.2.tar.gz
Size 35.5 kB
Tags Source
SHA-256 checksum
How to use checksums
633433b153a03232b87c0729b8441db5654a8b4bd4a715dd9433339a433912f0
BLAKE2b-256 checksum
How to use checksums
dee967e47ed801978f5203eb95e658dfba1fb205d8a361a929966d78a23bf8a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.31.0

Release files / pyham_pe-1.1.2-py3-none-any.whl

Download URL pyham_pe-1.1.2-py3-none-any.whl
Size 25.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
27c0fbcfcc452b6e7bb2c81592a94e52613761cc85477eacc8f856575a68993b
BLAKE2b-256 checksum
How to use checksums
089c1e81543cb2717d80d3b368f0af65bc7b8c14d4431fa90d2d7073f4d5ba10
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.31.0

Release history Release notifications | RSS feed

This release

1.1.2 This release

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page