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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file pyham_pe-1.0.0.tar.gz.

File metadata

  • Download URL: pyham_pe-1.0.0.tar.gz
  • Upload date:
  • Size: 34.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.31.0

File hashes

Hashes for pyham_pe-1.0.0.tar.gz
Algorithm Hash digest
SHA256 e2fb5d8439297f540acc58d0b5732c85cc77ebffec5c145b361f29bf0e835ce4
MD5 dfae4449d3a180a073374e422a733d7e
BLAKE2b-256 2340af5bd2a911c40493b373e2b74eb9efc98354791d39958eb9e4a8ace2ba63

See more details on using hashes here.

File details

Details for the file pyham_pe-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: pyham_pe-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 24.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.31.0

File hashes

Hashes for pyham_pe-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2ead1298318a72b67480e3429373a2d0fa46e136cf2f70555d76929245dc918a
MD5 9ac7c5ca0b1bf1593a7ac683885a27c3
BLAKE2b-256 a44159a1970bd00017ebc1ab791faf3dfc172babb1ed56450a274df50b3d7a97

See more details on using hashes here.

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