Skip to main content

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.

Project description

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 (the mgf-tele-core two-layer shape).
  • Every malformed-frame / CRC / unsupported-codec / handshake / unknown- tracker / peer-close condition is a typed mgf.tele.core.TelematicsError subclass (rule EH-02).
  • A 64 KiB frame cap (SH-04) bounds the unauthenticated ingest socket against a hostile data_field_length.

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

mgf_tele_teltonika-0.1.2.tar.gz (111.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mgf_tele_teltonika-0.1.2-py3-none-any.whl (18.5 kB view details)

Uploaded Python 3

File details

Details for the file mgf_tele_teltonika-0.1.2.tar.gz.

File metadata

  • Download URL: mgf_tele_teltonika-0.1.2.tar.gz
  • Upload date:
  • Size: 111.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for mgf_tele_teltonika-0.1.2.tar.gz
Algorithm Hash digest
SHA256 fdc127882e999c0b8b6f139a908ce3caf32bc9c4897818af43955b23bbc92642
MD5 d3a2d07f4f373262e46b0ed275be8c6a
BLAKE2b-256 5004159120d89a1852fc3c4eb4e6b33cb012da6b9605e7634adb51668ff7ea0a

See more details on using hashes here.

File details

Details for the file mgf_tele_teltonika-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: mgf_tele_teltonika-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 18.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for mgf_tele_teltonika-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7ae58b07c330692408ac2b31e3d91cbbbd2be7493b7ac9d8508cd084dc48ee60
MD5 a30de339444c3cbad162cef45bc1799c
BLAKE2b-256 535c00270686b59250604c0163126bc2f1de1d51fd5a59641c5a72b321cc7cea

See more details on using hashes here.

Supported by

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