Skip to main content

LCM log utilities

Project description

lcmlog-py

LCM log utilities

Installation

lcmlog-py is available on PyPI:

pip install lcmlog-py

Usage

Events

lcmlog-py provides classes to abstract the LCM log file format. The Event class represents a single event in the log file. An Event is composed of a header, channel string, and data byte array.

The Header class represents a fixed-length header at the beginning of each event which describes the event number, timestamp, and channel/data lengths. This is parsed first, and then the channel and data are read in.

If the header is read incorrectly or is corrupt, a BadSyncError is raised.

To read a header, call the Header.from_file method:

from lcmlog import Header

with open('lcmlog', 'rb') as f:
    header = Header.from_file(f)

print(header.timestamp)  # e.g.

A full event can be read via the Event.from_file method:

from lcmlog.event import Event

with open('lcmlog', 'rb') as f:
    event = Event.from_file(f)

print(event.header.timestamp)
print(event.channel)  # e.g.

Log Reader & Writer

lcmlog-py also provides two utility classes for reading and writing LCM log files in order.

The LogReader reads events from a file (starting at the beginning) and the LogWriter writes events to a file. The LogReader class is iterable. Both classes close their respective files when they are garbage collected.

from lcmlog import LogReader, LogWriter

reader = LogReader('lcmlog_source')
writer = LogWriter('lcmlog_dest')

# Read and write each event
for event in reader:
    writer.write(event)

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

lcmlog_py-0.1.0.tar.gz (3.2 kB view details)

Uploaded Source

Built Distribution

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

lcmlog_py-0.1.0-py3-none-any.whl (3.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: lcmlog_py-0.1.0.tar.gz
  • Upload date:
  • Size: 3.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.1 CPython/3.10.6 Linux/5.19.17-051917-generic

File hashes

Hashes for lcmlog_py-0.1.0.tar.gz
Algorithm Hash digest
SHA256 e435d6016c40d42df657ccbf171a66b0ceaed34d4f8dd5fea49d5a552e46005c
MD5 e4f42167f1f896e988f761b1c967bce6
BLAKE2b-256 dea33bc23453afc785bb04d711e5c7c1a2e1b9f16d541b578eb52bcee9b0914a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: lcmlog_py-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 3.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.1 CPython/3.10.6 Linux/5.19.17-051917-generic

File hashes

Hashes for lcmlog_py-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2d64d5974516128301919fff9fc995ba715172b2060e7faab7a79834b3a5aded
MD5 562c4ef8592ff6f6219d826df51dc21c
BLAKE2b-256 40b606d212a03f8b21db9ffcdd7cc9ff950da22e35d644ce6d9a85d5484e2f92

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