Skip to main content

pyjournalexport

Incremental parser for the systemd journal export format, written in Rust with Python bindings.

The export format is what journalctl -o export writes and what systemd-journal-gatewayd serves for Accept: application/vnd.fdo.journal. Every entry carries all of its fields, so a consumer that only needs a few of them spends most of its time skipping the rest. This parser does the skipping in Rust and only decodes the fields you ask for.

Usage

from pyjournalexport import JournalExportParser, MalformedBinaryEntryError

parser = JournalExportParser(["__CURSOR", "MESSAGE"])
for chunk in stream:  # bytes, any chunking
    for entry in parser.feed(chunk):  # list of {field: value}
        print(entry["MESSAGE"])
for entry in parser.close():  # trailing entry cut off at EOF
    print(entry["MESSAGE"])
  • feed() returns the entries completed by the data so far; entries without any requested field are dropped.
  • Binary fields (name, newline, little-endian 64-bit size, data, newline) are supported. Values are decoded as UTF-8 with replacement characters.
  • The last occurrence of a repeated field wins.
  • MalformedBinaryEntryError is raised when binary data is not followed by a newline, or from close() when the stream ended inside a binary field.
  • Parsing is linear in the stream length regardless of chunking; an entry spanning many feeds is not rescanned.

Development

Requires a Rust toolchain (https://rustup.rs) and Python 3.12+.

uv sync
uv run maturin develop --release
uv run pytest
cargo test
cargo clippy --all-targets -- -D warnings

python benches/bench_parser.py times the parser on a synthetic stream.

Release

Tag a release on GitHub; the release workflow builds manylinux and musllinux wheels for x86_64, aarch64 and armv7, macOS wheels and an sdist, and publishes them to PyPI via trusted publishing.

Metadata

Release files for pyjournalexport 0.1.0

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

Source distribution (sdist)

Source distribution for pyjournalexport 0.1.0
File Size Uploaded Provenance Actions
pyjournalexport-0.1.0.tar.gz 39.4 kB With provenance Details for pyjournalexport-0.1.0.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for pyjournalexport 0.1.0
File Actions
pyjournalexport-0.1.0-cp312-abi3-musllinux_1_2_x86_64.whl CPython 3.12 abi3 Linux musl 1.2+ x86-64 Details for pyjournalexport-0.1.0-cp312-abi3-musllinux_1_2_x86_64.whl
pyjournalexport-0.1.0-cp312-abi3-musllinux_1_2_armv7l.whl CPython 3.12 abi3 Linux musl 1.2+ ARMv7l Details for pyjournalexport-0.1.0-cp312-abi3-musllinux_1_2_armv7l.whl
pyjournalexport-0.1.0-cp312-abi3-musllinux_1_2_aarch64.whl CPython 3.12 abi3 Linux musl 1.2+ ARM64 Details for pyjournalexport-0.1.0-cp312-abi3-musllinux_1_2_aarch64.whl
pyjournalexport-0.1.0-cp312-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.12 abi3 Linux glibc 2.17+ x86-64 Details for pyjournalexport-0.1.0-cp312-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
pyjournalexport-0.1.0-cp312-abi3-manylinux2014_armv7l.manylinux_2_17_armv7l.whl CPython 3.12 abi3 Linux glibc 2.17+ ARMv7l Details for pyjournalexport-0.1.0-cp312-abi3-manylinux2014_armv7l.manylinux_2_17_armv7l.whl
pyjournalexport-0.1.0-cp312-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl CPython 3.12 abi3 Linux glibc 2.17+ ARM64 Details for pyjournalexport-0.1.0-cp312-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
pyjournalexport-0.1.0-cp312-abi3-macosx_11_0_arm64.whl CPython 3.12 abi3 macOS 11.0+ ARM64 Details for pyjournalexport-0.1.0-cp312-abi3-macosx_11_0_arm64.whl
pyjournalexport-0.1.0-cp312-abi3-macosx_10_12_x86_64.whl CPython 3.12 abi3 macOS 10.12+ x86-64 Details for pyjournalexport-0.1.0-cp312-abi3-macosx_10_12_x86_64.whl

Total release size: 2.6 MB

Release files / pyjournalexport-0.1.0.tar.gz

Download URL pyjournalexport-0.1.0.tar.gz
Size 39.4 kB
Tags Source
SHA-256 checksum
How to use checksums
dd67b44aaf2d2476bfd4b90f27ebc9af150bdfc8c8877280d03f00f1b49eb765
BLAKE2b-256 checksum
How to use checksums
d209b2363bf7cd36594ad84fe5be90bd28d6f38e5fecaaf70b7d11efffe9b130
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

Release files / pyjournalexport-0.1.0-cp312-abi3-musllinux_1_2_x86_64.whl

Download URL pyjournalexport-0.1.0-cp312-abi3-musllinux_1_2_x86_64.whl
Size 442.8 kB
Tags CPython 3.12 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
a0513a23b3cdf38b6d8797bf0328bcf78db384a3efdeb4ceecbf14ec7cb5e4dd
BLAKE2b-256 checksum
How to use checksums
a3600ff2f71479dc9da941f638c32bbaecc9b708a6959a5b67d136f4f4d9b018
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

Release files / pyjournalexport-0.1.0-cp312-abi3-musllinux_1_2_armv7l.whl

Download URL pyjournalexport-0.1.0-cp312-abi3-musllinux_1_2_armv7l.whl
Size 518.1 kB
Tags CPython 3.12 Linux musl 1.2+ ARMv7l abi3
SHA-256 checksum
How to use checksums
852b5b5ba0519eb52513e8e5dfab72e4acdf48a99e0cfdde33a357d2b6dd1ad7
BLAKE2b-256 checksum
How to use checksums
a48baa8e36f3eb33685f52f6a80ec33bcb7eef6b837af4f2d0354b34f932bdaa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

Release files / pyjournalexport-0.1.0-cp312-abi3-musllinux_1_2_aarch64.whl

Download URL pyjournalexport-0.1.0-cp312-abi3-musllinux_1_2_aarch64.whl
Size 409.2 kB
Tags CPython 3.12 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
1097011240ff9ca9c01e1f2fc468ef806e9671b02d10754abd260a8736d7b2b5
BLAKE2b-256 checksum
How to use checksums
d9bee17b25e8e7b899c44cb8d41530d9a979879f1bf32c8d0a6d597114202291
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

Release files / pyjournalexport-0.1.0-cp312-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL pyjournalexport-0.1.0-cp312-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 232.0 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
8a4e22213281b4ea356e3a9ee0ba9b3a66860d0981b07344751843aa7ed95476
BLAKE2b-256 checksum
How to use checksums
a225ffbd2ab152f1f67a5117f12aa6ec91e544872c3f61e13daa2c53749ef600
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

Release files / pyjournalexport-0.1.0-cp312-abi3-manylinux2014_armv7l.manylinux_2_17_armv7l.whl

Download URL pyjournalexport-0.1.0-cp312-abi3-manylinux2014_armv7l.manylinux_2_17_armv7l.whl
Size 242.6 kB
Tags CPython 3.12 Linux glibc 2.17+ ARMv7l abi3
SHA-256 checksum
How to use checksums
22842d2aefb3be1d4c3221e68f5ae17f991807ea34614b3cbf9f580fb6798d83
BLAKE2b-256 checksum
How to use checksums
171472d4cf8c994b0cdc04b0c3f63058f3b25fbed84abb3b0e7dbf6755bec91f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

Release files / pyjournalexport-0.1.0-cp312-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL pyjournalexport-0.1.0-cp312-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 230.8 kB
Tags CPython 3.12 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
23a26113cffe59aaed9466e3436f674a4a056fff1df440642077fdababa6eaf1
BLAKE2b-256 checksum
How to use checksums
b545c84c682c2f0bdc944af359974c8c23e0840e5450f74b8d64b058c9a0ff7b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

Release files / pyjournalexport-0.1.0-cp312-abi3-macosx_11_0_arm64.whl

Download URL pyjournalexport-0.1.0-cp312-abi3-macosx_11_0_arm64.whl
Size 212.2 kB
Tags CPython 3.12 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7d672e81a71b72566431cebb704c98e2602d82810cd8cb46fdbd00081e32377b
BLAKE2b-256 checksum
How to use checksums
9b30184da20bffc883f280aec1054f6acf9dfb401067ebb5d47db7f9b020d0f4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

Release files / pyjournalexport-0.1.0-cp312-abi3-macosx_10_12_x86_64.whl

Download URL pyjournalexport-0.1.0-cp312-abi3-macosx_10_12_x86_64.whl
Size 223.0 kB
Tags CPython 3.12 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
3cf9f22bc0fbc389f3cecca009114f6c2e3267102a02fce16fb8224bdff368a0
BLAKE2b-256 checksum
How to use checksums
68bbe42404cc92188b29f643ba19d24b436e7e78846e61c224eee0127b4f5ec8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

Security for pyjournalexport 0.1.0

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 9 files in this release have been uploaded with provenance metadata.

Select from 9 files

Attestation for pyjournalexport-0.1.0.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 Nov 2, 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.

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