magogi/prod/: mgf-tele-teltonika-0.1.6 metadata and description
Teltonika Codec 8 / 8 Extended decoder + TelematicsProvider implementation — the first vendor package in the mgf-tele-* family, built on mgf-tele-core. Sibling of mgf-common under the mgf.* namespace.
| author | Bassam Alsanie, mgf-tele-teltonika contributors |
| classifiers |
|
| description_content_type | text/markdown |
| keywords | avl, codec8, fmb, gps, telematics, teltonika |
| license | MIT |
| license_file |
|
| metadata_version | 2.4 |
| requires_dist |
|
| requires_python | >=3.11 |
Because this project isn't in the mirror_whitelist,
no releases from root/pypi are included.
| File | Tox results | History |
|---|---|---|
mgf_tele_teltonika-0.1.6-py3-none-any.whl
|
|
mgf-tele-teltonika
Teltonika Codec 8 / 8 Extended decoder + a TelematicsProvider
implementation for FMB/FMC/FMM devices. The first vendor package in the
mgf-tele-* family — it builds on mgf-tele-core
(the vendor-neutral seam) and never the other way around.
Extracted from PlasmaMapper's ingest path.
Install
pip install mgf-tele-teltonika
Use
from mgf.tele.teltonika import TeltonikaProvider, decode_avl_packet
# Decoder (pure: bytes -> mgf.tele.core.DecodedAvlRecord[]):
records = decode_avl_packet(wire_bytes)
# Provider (the mgf.tele.core.TelematicsProvider seam) in an ingest loop:
provider = TeltonikaProvider(imei_authoriser=my_registry_lookup)
handle = await provider.open_session(reader, writer) # IMEI handshake
packet = await provider.receive_packet(handle) # ReceivedPacket
What's in it
| Name | What |
|---|---|
decode_avl_packet / decode_codec8 / decode_codec8e |
pure decoders → mgf.tele.core.DecodedAvlRecord; unsupported codecs raise mgf.tele.core.UnsupportedCodecError |
TeltonikaProvider / TeltonikaSessionHandle |
the TelematicsProvider concrete (TCP handshake → receive → ack → close) |
mgf.tele.teltonika._crc.crc16_ibm |
the CRC-16/IBM primitive |
mgf.tele.teltonika._packets |
wire-packet encoders (round-trip testing) |
Codec 12 RX (command responses), 13/14/15, and 16 are not yet
implemented and raise UnsupportedCodecError.
Design
- The decoder is a pure function (
bytes → records); the provider owns the session lifecycle (themgf-tele-coretwo-layer shape). - Every malformed-frame / CRC / unsupported-codec / handshake / unknown-
tracker / peer-close condition is a typed
mgf.tele.core.TelematicsErrorsubclass (rule EH-02). - A 64 KiB frame cap (SH-04) bounds the unauthenticated ingest socket
against a hostile
data_field_length.