Install & Compatibility
Where this runs
No compatibility data collected yet for this library.
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
Reader
✓ from pyjls import Reader
✗ import pyjls
Direct import of module does not expose Reader; need explicit submodule import.
Writer
✓ from pyjls import Writer
✗ from pyjls.writer import Writer
Writer is exposed at package level, not submodule.
Minimal example: create a JLS file with one signal, write samples, read back signal info.
from pyjls import Reader, Writer
import os
# Write a simple JLS file
filename = 'example.jls'
writer = Writer(filename)
signal_id = writer.add_signal(
name='voltage',
units='V',
sample_type='f32',
sample_rate=1000.0
)
writer.append_samples(signal_id, [1.0, 2.0, 3.0], time=[0, 1000, 2000])
writer.close()
# Read it back
reader = Reader(filename)
for sample_id in reader.signal_ids:
print(f'Signal {sample_id}: {reader.signal_name(sample_id)}')
reader.close()
os.remove(filename)
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'pyjls'
Package not installed.
fixRun 'pip install pyjls'.
AttributeError: module 'pyjls' has no attribute 'Reader'
Importing 'pyjls' directly instead of submodule.
fixUse 'from pyjls import Reader'.
RuntimeError: Only supports up to 4096 bytes per signal name
Signal name exceeds 4096 bytes.
fixShorten the signal name.
Upgrade
Version history
0.17.0latest on PyPI · released Apr 28, 2026
Audit
Dependencies
numpyrequiredUsed for array operations in signal data.