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.0.tar.gz (46.4 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.0-py3-none-any.whl (18.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mgf_tele_teltonika-0.1.0.tar.gz
  • Upload date:
  • Size: 46.4 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.0.tar.gz
Algorithm Hash digest
SHA256 cb70fff339b32001a31b18737d82b977aecd0ac64cf6004d1c96ec371747249c
MD5 a0c721c94e8f24900b299521670c6cdf
BLAKE2b-256 0535efb3a2e358264ca4d033191a30b9889bb7e1bf22df0b83569b28a1eeb120

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mgf_tele_teltonika-0.1.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e3f18d95288dd364d2cc735063d897524b1fd2e170d91faa6f709fff50302108
MD5 6d1089945d15281bd9fac08cb047cb91
BLAKE2b-256 6a9b42909c238fdda6168ee62f6bae03771022c6a3a8c861908fc271ee177773

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