Skip to main content

Packet Engine client for the AGWPE protocol

Project description

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.

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.

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

pyham_pe-1.0.0.tar.gz (34.2 kB view hashes)

Uploaded Source

Built Distribution

pyham_pe-1.0.0-py3-none-any.whl (24.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page