pdn-aprs 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. pdn_aprs-0.1.0/.gitignore +11 -0
  2. pdn_aprs-0.1.0/CHANGELOG.md +24 -0
  3. pdn_aprs-0.1.0/LICENSE +661 -0
  4. pdn_aprs-0.1.0/PKG-INFO +229 -0
  5. pdn_aprs-0.1.0/README.md +200 -0
  6. pdn_aprs-0.1.0/THIRD-PARTY-NOTICES.md +14 -0
  7. pdn_aprs-0.1.0/pyproject.toml +76 -0
  8. pdn_aprs-0.1.0/src/pdn_aprs/__init__.py +162 -0
  9. pdn_aprs-0.1.0/src/pdn_aprs/_comment.py +369 -0
  10. pdn_aprs-0.1.0/src/pdn_aprs/_decode.py +1430 -0
  11. pdn_aprs-0.1.0/src/pdn_aprs/_deviceid_data.py +489 -0
  12. pdn_aprs-0.1.0/src/pdn_aprs/_util.py +95 -0
  13. pdn_aprs-0.1.0/src/pdn_aprs/_weather.py +188 -0
  14. pdn_aprs-0.1.0/src/pdn_aprs/builder.py +385 -0
  15. pdn_aprs-0.1.0/src/pdn_aprs/devices.py +99 -0
  16. pdn_aprs-0.1.0/src/pdn_aprs/diagnostics.py +300 -0
  17. pdn_aprs-0.1.0/src/pdn_aprs/encode.py +1217 -0
  18. pdn_aprs-0.1.0/src/pdn_aprs/errors.py +29 -0
  19. pdn_aprs-0.1.0/src/pdn_aprs/model.py +942 -0
  20. pdn_aprs-0.1.0/src/pdn_aprs/neutral.py +296 -0
  21. pdn_aprs-0.1.0/src/pdn_aprs/options.py +65 -0
  22. pdn_aprs-0.1.0/src/pdn_aprs/packet.py +139 -0
  23. pdn_aprs-0.1.0/src/pdn_aprs/py.typed +0 -0
  24. pdn_aprs-0.1.0/src/pdn_aprs/symbols.py +454 -0
  25. pdn_aprs-0.1.0/tests/conformance.py +305 -0
  26. pdn_aprs-0.1.0/tests/known_differences.json +3 -0
  27. pdn_aprs-0.1.0/tests/test_api.py +255 -0
  28. pdn_aprs-0.1.0/tests/test_robustness.py +65 -0
  29. pdn_aprs-0.1.0/tests/test_vectors.py +65 -0
  30. pdn_aprs-0.1.0/tools/diff_dump.py +142 -0
  31. pdn_aprs-0.1.0/tools/generate_devices.py +92 -0
  32. pdn_aprs-0.1.0/vectors/LICENSE +661 -0
  33. pdn_aprs-0.1.0/vectors/README.md +246 -0
  34. pdn_aprs-0.1.0/vectors/tools/check.py +134 -0
  35. pdn_aprs-0.1.0/vectors/tools/compare.py +175 -0
@@ -0,0 +1,11 @@
1
+ __pycache__/
2
+ *.py[cod]
3
+ *.egg-info/
4
+ .venv/
5
+ venv/
6
+ build/
7
+ dist/
8
+ .pytest_cache/
9
+ .mypy_cache/
10
+ .ruff_cache/
11
+ *.jsonl.gz
@@ -0,0 +1,24 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project are documented here. The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and the project uses [semantic versioning](https://semver.org/).
4
+
5
+ ## [Unreleased]
6
+
7
+ ## [0.1.0]
8
+
9
+ First release.
10
+
11
+ ### Added
12
+
13
+ - Decoding of TNC2 / APRS-IS lines, AX.25 UI frames and KISS frames into a `Packet`: source, destination, path with used flags, q-construct, the raw information field, the decoded data and diagnostics.
14
+ - Every APRS data type the conformance vectors cover: positions (plain and compressed, with timestamps, data extensions, weather, DF bearings, storm data, area objects, signposts, `!DAO!`, base-91 telemetry, voice frequencies), Mic-E, objects, items, messages, acks and rejects with reply-acks, bulletins, NWS bulletins, telemetry and its metadata, directed and general queries, status reports, station capabilities, positionless and raw weather, NMEA, Maidenhead beacons, third-party packets, user-defined and test data, Agrelo DF.
15
+ - `ParseOptions`: lenient (the default), strict, or any tolerable defect accepted or rejected on its own. Diagnostics use the vectors' codes.
16
+ - An encoder for every data type (`encode_info`, `build_packet`, `mic_e_destination`) that writes only what the spec allows and raises `EncodeError` otherwise, checking free text by decoding what it wrote.
17
+ - `Station`, a builder for the packets an application typically sends, and `Packet.to_ax25()` and `Packet.to_kiss()`.
18
+ - `Symbol`, with every defined symbol by name and description, and an overlay helper.
19
+ - Device identification from the aprs-deviceid database (commit 845e3f8, 2026-09-18).
20
+ - `pdn_aprs.neutral`: the conformance vectors' neutral data form.
21
+ - The aprs-vectors conformance suite as a submodule: all 5,594 checks pass.
22
+ - `tools/diff_dump.py`, the differential dump the vectors' `tools/compare.py` reads. On the 6,879,893-packet APRS-IS capture it agrees with aprs-rs and Packet.Aprs on every packet.
23
+
24
+ [Unreleased]: https://github.com/packet-net/aprs-py/compare/v0.1.0...HEAD [0.1.0]: https://github.com/packet-net/aprs-py/releases/tag/v0.1.0