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 hashes)

Uploaded Source

Built Distribution

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

Uploaded Python 3

Supported by

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