# PyHam AX.25
## Overview
This package provides a set of modules for working with AX.25 packets in an
amateur packet radio environment. The package comprises two functionally
distinct components.
- The `ax25` and `ax25.netrom` modules provide structure definitions
together with methods to pack and unpack native AX.25 frames and NET/ROM
routing table updates. These modules work on all platforms, and can be used
together with the transport mechanism(s) of your choice.
- The `ax25.ports` and `ax25.socket` modules provide facilities for working
with the Linux native AX.25 stack. Unlike other Python AX.25 packages, this
includes the creation and use of connected-mode sessions, and thus it is not
limited to unproto (UI frame) usage.
This package does *not* include implementations of transport mechanisms such as
KISS or AGWPE. However, other PyHam packages do provide this, or you can use
this package in conjunction with any other such software of your choosing.
It is expected that developers working with this package will have some level
of knowledge of the AX.25 protocol. Those less familiar with the protocol may
wish to refer to the
[AX.25 protocol specification](http://www.tapr.org/pdf/AX25.2.2.pdf)
in conjunction with the documentation for this package.
**Author**: Martin F N Cooper, KD6YAM
**License**: MIT License
### Limitations
- The `ax25` module supports almost all of the AX.25 v2.2 protocol. The sole
exception is that only modulo 8 control fields are supported; modulo 128
control fields are not yet supported.
- The `ax25.netrom` module currently supports only routing broadcasts. That
is, NET/ROM I-frame packets are not yet supported.
## Installation
**Important**: This package requires Python 3.7 or later.
The PyHam AX.25 package is distributed on
[PyPI](https://pypi.org/project/pyham_ax25/),
and should be installed with pip as follows:
```console
$ pip install pyham_ax25
```
Then the modules you require may be imported with the appropriate subset of the
following:
```python
import ax25
import ax25.netrom
import ax25.ports
import ax25.socket
```
The source code is available from the
[GitHub repository](https://github.com/mfncooper/pyham_ax25):
```console
$ git clone https://github.com/mfncooper/pyham_ax25
```
## Documentation
Full documentation is available
[online](https://pyham-ax25.readthedocs.io/en/latest/)
and includes the following:
<dl>
<dt><b>User Guide</b></dt>
<dd>The User Guide walks through some use cases for the package, starting
from the basics and adding capability as it progresses.</dd>
<dt><b>Examples</b></dt>
<dd>Complete example applications are included, in order that a developer
can observe the usage of the package in a real-world scenario.</dd>
<dt><b>API Reference</b></dt>
<dd>If you are looking for information on a specific function, class, or
method, this part of the documentation is for you.</dd>
</dl>
## 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 Examples
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 AX.25 Discussions](https://github.com/mfncooper/pyham_ax25/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
<dl>
<dt>AX.25 v2.2 protocol reference:</dt>
<dd><a href="http://www.tapr.org/pdf/AX25.2.2.pdf">http://www.tapr.org/pdf/AX25.2.2.pdf</a></dd>
<dt>NET/ROM protocol reference:</dt>
<dd><a href="https://packet-radio.net/wp-content/uploads/2017/04/netrom1.pdf">https://packet-radio.net/wp-content/uploads/2017/04/netrom1.pdf</a></dd>
</dl>
## 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](https://pyham.org) for more information, and a
list of currently available libraries and applications.
Raw data
{
"_id": null,
"home_page": null,
"name": "pyham_ax25",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "ham radio, amateur radio, packet radio, AX.25, AX25, APRS, NET/ROM, NETROM, protocol",
"author": null,
"author_email": "Martin F N Cooper <mfncooper@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/f5/66/40f4b46525ce21ec4c04d6e29ac027b6d523ca44b1f697fc930a2a9891f8/pyham_ax25-1.0.2.tar.gz",
"platform": null,
"description": "# PyHam AX.25\n\n## Overview\n\nThis package provides a set of modules for working with AX.25 packets in an\namateur packet radio environment. The package comprises two functionally\ndistinct components.\n\n- The `ax25` and `ax25.netrom` modules provide structure definitions\n together with methods to pack and unpack native AX.25 frames and NET/ROM\n routing table updates. These modules work on all platforms, and can be used\n together with the transport mechanism(s) of your choice.\n\n- The `ax25.ports` and `ax25.socket` modules provide facilities for working\n with the Linux native AX.25 stack. Unlike other Python AX.25 packages, this\n includes the creation and use of connected-mode sessions, and thus it is not\n limited to unproto (UI frame) usage.\n\nThis package does *not* include implementations of transport mechanisms such as\nKISS or AGWPE. However, other PyHam packages do provide this, or you can use\nthis package in conjunction with any other such software of your choosing.\n\nIt is expected that developers working with this package will have some level\nof knowledge of the AX.25 protocol. Those less familiar with the protocol may\nwish to refer to the\n[AX.25 protocol specification](http://www.tapr.org/pdf/AX25.2.2.pdf)\nin conjunction with the documentation for this package.\n\n**Author**: Martin F N Cooper, KD6YAM \n**License**: MIT License\n\n### Limitations\n\n- The `ax25` module supports almost all of the AX.25 v2.2 protocol. The sole\n exception is that only modulo 8 control fields are supported; modulo 128\n control fields are not yet supported.\n\n- The `ax25.netrom` module currently supports only routing broadcasts. That\n is, NET/ROM I-frame packets are not yet supported.\n\n## Installation\n\n**Important**: This package requires Python 3.7 or later.\n\nThe PyHam AX.25 package is distributed on\n[PyPI](https://pypi.org/project/pyham_ax25/),\nand should be installed with pip as follows:\n\n```console\n$ pip install pyham_ax25\n```\n\nThen the modules you require may be imported with the appropriate subset of the\nfollowing:\n\n```python\nimport ax25\nimport ax25.netrom\nimport ax25.ports\nimport ax25.socket\n```\n\nThe source code is available from the\n[GitHub repository](https://github.com/mfncooper/pyham_ax25):\n\n```console\n$ git clone https://github.com/mfncooper/pyham_ax25\n```\n\n## Documentation\n\nFull documentation is available\n[online](https://pyham-ax25.readthedocs.io/en/latest/)\nand includes the following:\n\n<dl>\n<dt><b>User Guide</b></dt>\n<dd>The User Guide walks through some use cases for the package, starting\nfrom the basics and adding capability as it progresses.</dd>\n<dt><b>Examples</b></dt>\n<dd>Complete example applications are included, in order that a developer\ncan observe the usage of the package in a real-world scenario.</dd>\n<dt><b>API Reference</b></dt>\n<dd>If you are looking for information on a specific function, class, or\nmethod, this part of the documentation is for you.</dd>\n</dl>\n\n## Discussion\n\nIf you have questions about how to use this package, the documentation should\nbe your first point of reference. If the User Guide, API Reference, or Examples\ndon't answer your questions, or you'd simply like to share your experiences\nor generally discuss this package, please join the community on the\n[PyHam AX.25 Discussions](https://github.com/mfncooper/pyham_ax25/discussions)\nforum.\n\nNote that the GitHub Issues tracker should be used only for reporting bugs or\nfiling feature requests, and should not be used for questions or general\ndiscussion.\n\n## References\n\n<dl>\n<dt>AX.25 v2.2 protocol reference:</dt>\n<dd><a href=\"http://www.tapr.org/pdf/AX25.2.2.pdf\">http://www.tapr.org/pdf/AX25.2.2.pdf</a></dd>\n<dt>NET/ROM protocol reference:</dt>\n<dd><a href=\"https://packet-radio.net/wp-content/uploads/2017/04/netrom1.pdf\">https://packet-radio.net/wp-content/uploads/2017/04/netrom1.pdf</a></dd>\n</dl>\n\n## About PyHam\n\nPyHam is a collection of Python packages targeted at ham radio enthusiasts who\nare also software developers. The name was born out of a need to find unique\nnames for these packages when the most obvious names were already taken.\n\nPyHam packages aim to provide the kind of functionality that makes it much\nsimpler to build sophisticated ham radio applications without having to start\nfrom scratch. In addition to the packages, PyHam aims to provide useful\nreal-world ham radio applications for all hams.\n\nSee the [PyHam home page](https://pyham.org) for more information, and a\nlist of currently available libraries and applications.\n",
"bugtrack_url": null,
"license": null,
"summary": "AX.25 Frame Encoding and Decoding & Socket Support",
"version": "1.0.2",
"project_urls": {
"Change Log": "https://github.com/mfncooper/pyham_ax25/blob/main/CHANGELOG.md",
"Documentation": "https://pyham-ax25.readthedocs.io",
"Source Code": "https://github.com/mfncooper/pyham_ax25"
},
"split_keywords": [
"ham radio",
" amateur radio",
" packet radio",
" ax.25",
" ax25",
" aprs",
" net/rom",
" netrom",
" protocol"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "5a1f5a111e52f5975281eaf138718127415a382ce5cfdbc64a72d7ec3a9c2c45",
"md5": "0dfa2019372dd99a7ccaa5d784837bac",
"sha256": "b6e7f79c4eff2179221e6d8ca474a1c2c061ce9de4789a7efb905df0280faf8d"
},
"downloads": -1,
"filename": "pyham_ax25-1.0.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0dfa2019372dd99a7ccaa5d784837bac",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 17732,
"upload_time": "2024-10-11T17:38:15",
"upload_time_iso_8601": "2024-10-11T17:38:15.210091Z",
"url": "https://files.pythonhosted.org/packages/5a/1f/5a111e52f5975281eaf138718127415a382ce5cfdbc64a72d7ec3a9c2c45/pyham_ax25-1.0.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f56640f4b46525ce21ec4c04d6e29ac027b6d523ca44b1f697fc930a2a9891f8",
"md5": "38d722607caddcf725ef13110d05db8b",
"sha256": "d54ebe9b61403759231253d1fd0593ad31623fed17ae2112cbedcb109ccff26e"
},
"downloads": -1,
"filename": "pyham_ax25-1.0.2.tar.gz",
"has_sig": false,
"md5_digest": "38d722607caddcf725ef13110d05db8b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 43558,
"upload_time": "2024-10-11T17:38:16",
"upload_time_iso_8601": "2024-10-11T17:38:16.542402Z",
"url": "https://files.pythonhosted.org/packages/f5/66/40f4b46525ce21ec4c04d6e29ac027b6d523ca44b1f697fc930a2a9891f8/pyham_ax25-1.0.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-11 17:38:16",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "mfncooper",
"github_project": "pyham_ax25",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"tox": true,
"lcname": "pyham_ax25"
}