Registry / serialization / pyjls
library0.17.0pypypi✓ verified 86d ago

Python library for reading and writing Joulescope™ file format (.jls). Version 0.17.0 supports Python 3.11+. Release cadence: approximately monthly.

pip install pyjls
INSTALL
IMPORT
SIG · PYJLS
P
pyjls
serializationpythonv0.17.0
harness data pending
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)
Debug
Known issues
breakingDropped Python 3.10 support in v0.16.0; requires ~=3.11.
fix
Upgrade Python to 3.11 or later.
affects: >=0.16.0
deprecatedUTC time default changed: Reader now uses 2018-01-01T00:00:00.0000000Z when UTC not found.
fix
Ensure your JLS files embed UTC timezone info if you rely on absolute timestamps.
affects: >=0.14.0
gotchaSignal IDs are not guaranteed to be consecutive integers; use reader.signal_ids instead of assuming range.
fix
Iterate over reader.signal_ids to get valid signal IDs.
affects: all
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'pyjls'
Package not installed.
fix
Run 'pip install pyjls'.
AttributeError: module 'pyjls' has no attribute 'Reader'
Importing 'pyjls' directly instead of submodule.
fix
Use 'from pyjls import Reader'.
RuntimeError: Only supports up to 4096 bytes per signal name
Signal name exceeds 4096 bytes.
fix
Shorten the signal name.
Upgrade
Version history
0.17.0latest on PyPI · released Apr 28, 2026
Audit
Dependencies
numpyrequiredUsed for array operations in signal data.
Agent activity
9 hits · last 30 days
node
8
Resources
pyjls — pip install pyjls · libregistry