Skip to main content

main

JLS

Welcome to the Joulescope® File Format project. The goal of this project is to provide performant data storage for huge, simultaneous, one-dimensional signals. This repository contains:

  • The JLS file format specification
  • The implementation in C
  • Language bindings for Python

Features

  • Cross-platform
    • Microsoft Windows x64
    • Apple macOS x64
    • Apple macOS ARM
    • Linux x64
    • Linux aarch64 (ARM 64-bit). Supports Raspberry Pi 4.
  • Support for multiple, simultaneous data sources
  • Support for multiple, simultaneous signal waveforms
  • Fixed sample rate signals (FSR)
    • Multiple data types including:
      • Floating point: f32, f64
      • Unsigned integers: u1, u4, u8, u16, u24, u32, u64
      • Signed integers: i4, i8, i16, i24, i32, i64
      • Fixed-point, signed integers (same bit sizes as signed integers)
      • Boolean (digital) 1-bit signals = u1
    • Handles missing samples gracefully (fill with NaN for float, 0 for integer)
  • Variable sample rate (VSR) signals 🔜
  • Fast read performance
    • Signal Summaries
      • "Zoomed out" view with mean, min, max, standard deviation
      • Provides fast waveform load without any additional processing steps
    • Automatic load by summary level
    • Fast seek, next, previous access
  • Sample ID to Wall-clock time (UTC) for FSR signals
  • Annotations
    • Global VSR annotations
    • Signal annotations, timestamped to sample_id for FSR and UTC time for VSR
    • Support for text, marker, and user-defined (text, binary, JSON)
  • User data
    • Arbitrary data included in the same file
    • Support for text, binary, and JSON
  • Reliability
    • Integrated integrity checks using CRC32C
    • File data still accessible in the case of improper program termination
    • Uncorrupted data is still accessible in presence of file corruption
    • Write once, except for indices and the doubly-linked list pointers
  • Compression options 🔜
    • lossless 🔜
    • lossy 🔜
    • lossy with downsampling below threshold 🔜
    • Support level 0 DATA not written (only INDEX & SUMMARY) 🔜

Items marked with 🔜 are under development and coming soon. Items marked with ⏳ are planned for future release.

As of Oct 2026, the JLS v2 file structure is well-defined and stable. However, the compression storage formats are not yet defined.

Why JLS?

The world is already full of file formats, and we would rather not create another one. However, we could not identify a solution that met these requirements. HDF5 meets the large storage requirements, but not the reliability and rapid load requirements. The Saleae binary export file format v2 is also not suitable since it buffers stores single, contiguous blocks. Sigrok v2 is similar. The Sigrok v3 format (under development as of June 2023) is better in that it stores sequences of "packets" containing data blocks, but it still will does not allow for fast seek or summaries.

Timeseries databases, such as InfluxDB, are powerful tools. However, they are not well-designed for fast sample-rate data.

Media containers are another option, especially the ISO base media file format used by MPEG4 and many others:

However, the standard does not include the ability to store the signal summaries and our specific signal types. While we could add these features, these formats are already complicated, greatly reducing the advantage of repurposing them.

Why JLS v2?

This file format is based upon JLS v1 designed for pyjoulescope and used by the Joulescope test instrument. We leveraged the lessons learned from v1 to make v2 better, faster, and more extensible.

The JLS v1 format has been great for the Joulescope ecosystem and has accomplished the objective of long data captures (days) with fast sampling rates (MHz). However, it now has a long list of issues including:

  • Inflexible storage format (always current, voltage, power, current range, GPI0, GPI1).
  • Unable to store from multiple sources.
  • Unable to store other sources and signals.
  • No annotation support: 41, 93.
  • Inflexible user data support.
  • Inconsistent performance across sampling rates, zoom levels, and file sizes: 48, 103.
  • Unable to correlate sample times with UTC: 55.

The JLS v2 file format addressed all of these issues, dramatically improved performance, and added new capabilities, such as signal compression.

How?

At its lowest layer, JLS is an enhanced tag-length-value (TLV) format. TLV files form the foundation of many reliable image and video formats, including MPEG4 and PNG. The enhanced header contains additional fields to speed navigation and improve reliability. The JLS file format calls each TLV a chunk. The enhanced tag-length component the chunk header or simply header. The file also contains a file header, not to be confused with the chunk header. A chunk may have zero payload length, in which case the next header follows immediately. Otherwise, a chunk consists of a header followed by a payload.

The JLS file format defines sources that produce data. The file allows the application to clearly define and label the source. Each source can have any number of associated signals.

Signals are 1-D sequences of values over time consisting of a single, fixed data type. Each signal can have multiple tracks that contain data associated with that signal. The JLS file supports two signal types: fixed sample rate (FSR) and variable sample rate (VSR). FSR signals store their sample data in the FSR track using FSR_DATA and FSR_SUMMARY. FSR time is denoted by samples using timestamp. FSR signals also support:

  • Sample time to UTC time mapping using the UTC track.
  • Annotations with the ANNOTATION track.

VSR signals store their sample data in the VSR track. VSR signals specify time in UTC (wall-clock time). VSR signals also support annotations with the ANNOTATION track. The JLS file format supports VSR signals that only use the ANNOTATION track and not the VSR track. Such signals are commonly used to store UART text data where each line contains a UTC timestamp.

Signals support DATA chunks and SUMMARY chunks. The DATA chunks store the actual sample data. The SUMMARY chunks store the reduced statistics, where each statistic entry represents multiple samples. FSR tracks store the mean, min, max, and standard deviation. Although standard deviation requires the writer to compute the square root, standard deviation keeps the same units and bit depth requirements as the other fields. Variance requires twice the bit size for integer types since it is squared.

Before each SUMMARY chunk, the JLS file will contain the INDEX chunk which contains the starting time and offset for each chunk that contributed to the summary. This SUMMARY chunk enables fast O(log n) navigation of the file. For FSR tracks, the starting time is calculated rather than stored for each entry.

The JLS file format design supports SUMMARY of SUMMARY. It supports the DATA and up to 15 layers of SUMMARIES. timestamp is given as a 64-bit integer, which allows each summary to include only 20 samples and still support the full 64-bit integer timestamp space. In practice, the first level summary increases a single value to 4 values, so summary steps are usually 50 or more.

Many applications, including the Joulescope UI, prioritize read performance, especially visualizing the waveform quickly following open, over write performance. Waiting to scan through a 1 TB file is not a valid option. The reader opens the file and scans for sources and signals. The application can then quickly load the highest summary of summaries for every signal of interest. The application can very quickly display this data, and then start to retrieve more detailed information as requested.

Example file structure

sof
header
USER_DATA(0, NULL)    // Required, point to first real user_data chunk
SOURCE_DEF(0)         // Required, internal, reserved for global annotations
SIGNAL_DEF(0, 0.VSR)  // Required, internal, reserved for global annotations
TRACK_DEF(0.VSR)
TRACK_HEAD(0.VSR)
TRACK_DEF(0.ANNO)
TRACK_HEAD(0.ANNO)
SOURCE_DEF(1)         // input device 1
SIGNAL_DEF(1, 1, FSR) // our signal, like "current" or "voltage"
TRACK_DEF(1.FSR)
TRACK_HEAD(1.FSR)
TRACK_DEF(1.ANNO)
TRACK_HEAD(1.ANNO)
TRACK_DEF(1.UTC)
TRACK_HEAD(1.UTC)
USER_DATA           // just because
TRACK_DATA(1.FSR)
TRACK_DATA(1.FSR)
TRACK_DATA(1.FSR)
TRACK_DATA(1.FSR)
TRACK_INDEX(1.FSR, lvl=0)
TRACK_SUMMARY(1.FSR, lvl=1)
TRACK_DATA(1.FSR)
TRACK_DATA(1.FSR)
TRACK_DATA(1.FSR)
TRACK_DATA(1.FSR)
TRACK_INDEX(1.FSR, lvl=0)
TRACK_SUMMARY(1.FSR, lvl=1)
TRACK_DATA(1.FSR)
TRACK_DATA(1.FSR)
TRACK_DATA(1.FSR)
TRACK_DATA(1.FSR)
TRACK_INDEX(1.FSR, lvl=0)
TRACK_SUMMARY(1.FSR, lvl=1)
TRACK_INDEX(1.FSR, lvl=1)
TRACK_SUMMARY(1.FSR, lvl=2)
USER_DATA           // just because
END
eof

Note that TRACK_HEAD(1.FSR) points to the first TRACK_INDEX(1.FSR, lvl=0) and TRACK_INDEX(1.FSR, lvl=1). Each TRACK_DATA(1.FSR) is in a doubly-linked list with its next and previous neighbors. Each TRACK_INDEX(1.FSR, lvl=0) is likewise in a separate doubly-linked list, and the payload of each TRACK_INDEX points to the summarized TRACK_DATA instances. TRACK_INDEX(1.FSR, lvl=1) points to each TRACK_INDEX(1.FSR, lvl=0) instance. As more data is added, the TRACK_INDEX(1.FSR, lvl=1) will also get added to the INDEX chunks at the same level.

Resources

References

License

This project is Copyright © 2017-2023 Jetperch LLC and licensed under the permissive Apache 2.0 License.

Metadata

Release files for pyjls 0.19.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyjls 0.19.2
File Size Uploaded Provenance Actions
pyjls-0.19.2.tar.gz 472.4 kB With provenance Details for pyjls-0.19.2.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for pyjls 0.19.2
File Actions
pyjls-0.19.2-cp315-cp315-win_arm64.whl CPython 3.15 CPython 3.15 Windows ARM64 Details for pyjls-0.19.2-cp315-cp315-win_arm64.whl
pyjls-0.19.2-cp315-cp315-win_amd64.whl CPython 3.15 CPython 3.15 Windows x86-64 Details for pyjls-0.19.2-cp315-cp315-win_amd64.whl
pyjls-0.19.2-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.15 CPython 3.15 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details for pyjls-0.19.2-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
pyjls-0.19.2-cp315-cp315-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.15 CPython 3.15 Linux glibc 2.27+ ARM64, Linux glibc 2.28+ ARM64 Details for pyjls-0.19.2-cp315-cp315-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
pyjls-0.19.2-cp315-cp315-macosx_10_15_universal2.whl CPython 3.15 CPython 3.15 macOS 10.15+ universal2 (ARM64, x86-64) Details for pyjls-0.19.2-cp315-cp315-macosx_10_15_universal2.whl
pyjls-0.19.2-cp314-cp314-win_arm64.whl CPython 3.14 CPython 3.14 Windows ARM64 Details for pyjls-0.19.2-cp314-cp314-win_arm64.whl
pyjls-0.19.2-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for pyjls-0.19.2-cp314-cp314-win_amd64.whl
pyjls-0.19.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for pyjls-0.19.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
pyjls-0.19.2-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.27+ ARM64, Linux glibc 2.28+ ARM64 Details for pyjls-0.19.2-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
pyjls-0.19.2-cp314-cp314-macosx_10_15_universal2.whl CPython 3.14 CPython 3.14 macOS 10.15+ universal2 (ARM64, x86-64) Details for pyjls-0.19.2-cp314-cp314-macosx_10_15_universal2.whl
pyjls-0.19.2-cp313-cp313-win_arm64.whl CPython 3.13 CPython 3.13 Windows ARM64 Details for pyjls-0.19.2-cp313-cp313-win_arm64.whl
pyjls-0.19.2-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for pyjls-0.19.2-cp313-cp313-win_amd64.whl
pyjls-0.19.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details for pyjls-0.19.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
pyjls-0.19.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.27+ ARM64, Linux glibc 2.28+ ARM64 Details for pyjls-0.19.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
pyjls-0.19.2-cp313-cp313-macosx_10_13_universal2.whl CPython 3.13 CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64) Details for pyjls-0.19.2-cp313-cp313-macosx_10_13_universal2.whl
pyjls-0.19.2-cp312-cp312-win_arm64.whl CPython 3.12 CPython 3.12 Windows ARM64 Details for pyjls-0.19.2-cp312-cp312-win_arm64.whl
pyjls-0.19.2-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for pyjls-0.19.2-cp312-cp312-win_amd64.whl
pyjls-0.19.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for pyjls-0.19.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
pyjls-0.19.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.27+ ARM64, Linux glibc 2.28+ ARM64 Details for pyjls-0.19.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
pyjls-0.19.2-cp312-cp312-macosx_10_13_universal2.whl CPython 3.12 CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64) Details for pyjls-0.19.2-cp312-cp312-macosx_10_13_universal2.whl

Total release size: 17.7 MB

Release files / pyjls-0.19.2.tar.gz

Download URL pyjls-0.19.2.tar.gz
Size 472.4 kB
Tags Source
SHA-256 checksum
How to use checksums
56929655dbbd99cd2571beb6dc0239b913eb29923d682dbf5a1f37ce44b72896
BLAKE2b-256 checksum
How to use checksums
fa37853ee5a3a1c30a0b3c37290e967623da18a873b544f9b91856284d7d2f3c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.

Transparency log

Release files / pyjls-0.19.2-cp315-cp315-win_arm64.whl

Download URL pyjls-0.19.2-cp315-cp315-win_arm64.whl
Size 250.0 kB
Tags CPython 3.15 Windows ARM64
SHA-256 checksum
How to use checksums
917ecb8fbeea4d7077128b721a07aef2bbd06f2d23e086741df5609106ed600f
BLAKE2b-256 checksum
How to use checksums
3a202c9e37df4c7f6781e9bf77085b0cfc609794bf6b3684f80bf67bb755fac9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.

Transparency log

Release files / pyjls-0.19.2-cp315-cp315-win_amd64.whl

Download URL pyjls-0.19.2-cp315-cp315-win_amd64.whl
Size 269.8 kB
Tags CPython 3.15 Windows x86-64
SHA-256 checksum
How to use checksums
73dc01d2bafb4d4a08ab28ed9abfa28283c37e54380bfe43e6c5c12db6742479
BLAKE2b-256 checksum
How to use checksums
ad6e10e337eb022d5aefadae77ebd844ad90adc321e8c289c39e556d61b6f34f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.

Transparency log

Release files / pyjls-0.19.2-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pyjls-0.19.2-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 1.6 MB
Tags CPython 3.15 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
20cfb4b0623f6d34e91699f64148396aceebad0d93208432bb97b236214e364c
BLAKE2b-256 checksum
How to use checksums
276fedc6b27e258c8a7dddb90b984cd88cbc77d60dcf5210d78d0dd9625b8e2b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.

Transparency log

Release files / pyjls-0.19.2-cp315-cp315-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL pyjls-0.19.2-cp315-cp315-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 1.6 MB
Tags CPython 3.15 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
9d70c3eb1076823b8c3206da62a925bb7210afb5e99ab6d8c7f3a2515ef000a0
BLAKE2b-256 checksum
How to use checksums
27b9c308c3fdb1996d1c726c932b00f4457f61ed066b22af6c18f17629ffaab3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.

Transparency log

Release files / pyjls-0.19.2-cp315-cp315-macosx_10_15_universal2.whl

Download URL pyjls-0.19.2-cp315-cp315-macosx_10_15_universal2.whl
Size 563.7 kB
Tags CPython 3.15 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
ce3497ddd7a9f6e85aae55d9759e13c27917a05f9a30cf63d62f1e3503212fa5
BLAKE2b-256 checksum
How to use checksums
7c4a4cabbcadc1730bf630e5fe498ec4a48090bf02372cd75ed7207883ddafac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.

Transparency log

Release files / pyjls-0.19.2-cp314-cp314-win_arm64.whl

Download URL pyjls-0.19.2-cp314-cp314-win_arm64.whl
Size 250.4 kB
Tags CPython 3.14 Windows ARM64
SHA-256 checksum
How to use checksums
704c65057ca8280b8f3b5d2673d449678dbfc7ba538a22667c475cbe115715bd
BLAKE2b-256 checksum
How to use checksums
7e303725bbac004fc98fbeba7cd1eea4342579b18546babada7ad4eab226c3f8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.

Transparency log

Release files / pyjls-0.19.2-cp314-cp314-win_amd64.whl

Download URL pyjls-0.19.2-cp314-cp314-win_amd64.whl
Size 269.9 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
a39f2db3e0be7d4b514b34707396d5ab0d110010dca2e557d1569fce09213977
BLAKE2b-256 checksum
How to use checksums
aba9d339385d25648d10eb31c9825c1509376bc788b0033fc803be36988182cf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.

Transparency log

Release files / pyjls-0.19.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pyjls-0.19.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 1.6 MB
Tags CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
ddf9043728320c1fb18fa25a5ee9c5df7b51e1bde268597149880403dc917639
BLAKE2b-256 checksum
How to use checksums
ceb864fcc22ef08d6feba379a30462ea0247650bb31011024d073e39c7b9d5ec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.

Transparency log

Release files / pyjls-0.19.2-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL pyjls-0.19.2-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 1.6 MB
Tags CPython 3.14 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
97cc28e55f0050cf42d6866e11263500bc0b8c4427633d2d60f008e9fbe63bc1
BLAKE2b-256 checksum
How to use checksums
848f1f844d9113482ff7b77e5eaede1ff76000e815ff239d64f29f4da2787719
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.

Transparency log

Release files / pyjls-0.19.2-cp314-cp314-macosx_10_15_universal2.whl

Download URL pyjls-0.19.2-cp314-cp314-macosx_10_15_universal2.whl
Size 565.5 kB
Tags CPython 3.14 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
520b6c4b6ef9a82524268c1048bbd659bb497effc027e87f6c6c209c109190cb
BLAKE2b-256 checksum
How to use checksums
afe266b3b0e6b7716e95c381e2436083b3d9856c02cc6870346c9739fe007e83
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.

Transparency log

Release files / pyjls-0.19.2-cp313-cp313-win_arm64.whl

Download URL pyjls-0.19.2-cp313-cp313-win_arm64.whl
Size 243.2 kB
Tags CPython 3.13 Windows ARM64
SHA-256 checksum
How to use checksums
b1233afdc5e6a9352cc94d67e7e9070c8405ecace059aef1f0f2944a90080a82
BLAKE2b-256 checksum
How to use checksums
a6705aeeb5b0733c9b6edfe2ab1ac21a6e5d354d555d28ee2392b6fa204e7443
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.

Transparency log

Release files / pyjls-0.19.2-cp313-cp313-win_amd64.whl

Download URL pyjls-0.19.2-cp313-cp313-win_amd64.whl
Size 262.9 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
a00afd76c4f1f600c647bd34e0c753812cc67cf5205a2c212e1c5161f9c561fd
BLAKE2b-256 checksum
How to use checksums
4ba3976522d3fba8f32dcb06b795b12dd3edf4d3b0c47d9a1bbff6305ae1a54b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.

Transparency log

Release files / pyjls-0.19.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pyjls-0.19.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 1.6 MB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
4bc1b5a65540b54f9e76bef88205e29428561f68f13641e895d3890fda01e829
BLAKE2b-256 checksum
How to use checksums
3bce3d8c7df32d3d435942d5cca9b9b1e50a09c68df20610e6613b4589229f12
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.

Transparency log

Release files / pyjls-0.19.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL pyjls-0.19.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 1.6 MB
Tags CPython 3.13 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
7e306decd3cdd724b78ff662f88ee16b0191276b4a361ba1a74e69c78367d4a3
BLAKE2b-256 checksum
How to use checksums
74cc3b71ecb430d8f357076c71ad03bb4a453a46b7cdd36c2c955fca2de7b39e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.

Transparency log

Release files / pyjls-0.19.2-cp313-cp313-macosx_10_13_universal2.whl

Download URL pyjls-0.19.2-cp313-cp313-macosx_10_13_universal2.whl
Size 562.2 kB
Tags CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
eead1f44175975ab58248eda7daf4c5e14cbb371a8e304dd3f6f9be811bd8238
BLAKE2b-256 checksum
How to use checksums
df96e5d569d4d969c921676485d0cf7cbd7b9783eceab3cee295daf083a5ee82
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.

Transparency log

Release files / pyjls-0.19.2-cp312-cp312-win_arm64.whl

Download URL pyjls-0.19.2-cp312-cp312-win_arm64.whl
Size 243.3 kB
Tags CPython 3.12 Windows ARM64
SHA-256 checksum
How to use checksums
fd6f42105ef7a9bfd0424c95486f4510fd700f76710f46d2de100b509438e9c7
BLAKE2b-256 checksum
How to use checksums
19715e9b32f94be4105eff65cab19292ac4f2c32d317acde4b418b5a6750d1eb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.

Transparency log

Release files / pyjls-0.19.2-cp312-cp312-win_amd64.whl

Download URL pyjls-0.19.2-cp312-cp312-win_amd64.whl
Size 263.2 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
6ed5ef010cc863f1d8991a322ff668acd0b0db5e119d34d37b99530acff48b90
BLAKE2b-256 checksum
How to use checksums
1a86ea726aaf127c7614e2179585a3258f997197ca7963382d76520aa1e1dabc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.

Transparency log

Release files / pyjls-0.19.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pyjls-0.19.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 1.6 MB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
25b0d7c8a157942d16802e1486cbb15acb140069e42c1e870639768f968955a5
BLAKE2b-256 checksum
How to use checksums
dfc03412b1da57311e95a306c73111f435743fe55be0dcccab80dc886410ac8d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.

Transparency log

Release files / pyjls-0.19.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL pyjls-0.19.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 1.6 MB
Tags CPython 3.12 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
f840ecee3856ed40a81ec967e1fa526f94d86a091a5a1ba89eef099192e55ad1
BLAKE2b-256 checksum
How to use checksums
07c3023fcd2a237e4083a457cd43db8ed5e19a736eebaba043b8ee5520bb0842
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.

Transparency log

Release files / pyjls-0.19.2-cp312-cp312-macosx_10_13_universal2.whl

Download URL pyjls-0.19.2-cp312-cp312-macosx_10_13_universal2.whl
Size 562.2 kB
Tags CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
f733e9b6dc5b1c0da434630c00e7718e548ed94d9c334c9204e37e7c237ba3aa
BLAKE2b-256 checksum
How to use checksums
b1ed902614d2e333fdd607c699d287f5a13c4fbbe5d9d1d3c60cfcc554a3253b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.

Transparency log

Security for pyjls 0.19.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 21 files in this release have been uploaded with provenance metadata.

Select from 21 files

Attestation for pyjls-0.19.2.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.19.2 This release

21 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page