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.1

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.1
File Size Uploaded Provenance Actions
pyjournalexport-0.1.1.tar.gz 39.7 kB With provenance Details for pyjournalexport-0.1.1.tar.gz

Built distributions (wheels)

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

Total release size: 2.6 MB

Release files / pyjournalexport-0.1.1.tar.gz

Download URL pyjournalexport-0.1.1.tar.gz
Size 39.7 kB
Tags Source
SHA-256 checksum
How to use checksums
1e9dab869a2293923fcc092cff7923818e7a6176f8e4ccaa8930c53405fbbbde
BLAKE2b-256 checksum
How to use checksums
15888cbc3a72779459c314f2404bc1272bb5c16e8db63351223fca0840d28856
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.1-cp312-abi3-musllinux_1_2_x86_64.whl

Download URL pyjournalexport-0.1.1-cp312-abi3-musllinux_1_2_x86_64.whl
Size 443.0 kB
Tags CPython 3.12 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
16667ba1afca671637eb129e268b88189ae72c2403cd9770e94026123cbb8245
BLAKE2b-256 checksum
How to use checksums
d97a1fdb0a93fea93f3debed845dd8934633a52384175d27997d8461eacfd2b2
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.1-cp312-abi3-musllinux_1_2_armv7l.whl

Download URL pyjournalexport-0.1.1-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
172914f9d408a927c3d193296d8ad59deafd41fb14d376ebf20dc5092bb0993c
BLAKE2b-256 checksum
How to use checksums
8a2befbb285fad06eeeff2730065be2e88fe4a65fd6333c8aebcf505e59e1b18
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.1-cp312-abi3-musllinux_1_2_aarch64.whl

Download URL pyjournalexport-0.1.1-cp312-abi3-musllinux_1_2_aarch64.whl
Size 409.3 kB
Tags CPython 3.12 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
4b1634007747484225df4d2ef2d3808761c50cfda77e69f1162e9d53080e86be
BLAKE2b-256 checksum
How to use checksums
4a00a6426479d2727c01e702e69f7e41a83dae61fae1dcd2e47c9133b9fd3158
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.1-cp312-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL pyjournalexport-0.1.1-cp312-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 232.2 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
94ebacb5cf41397368b255481062fe1ef5611e4e423c6708d0b1995ba73e88aa
BLAKE2b-256 checksum
How to use checksums
accf9cd9cdf8c22472985052f7e337615d72d4cd8de6027394b240a49d25c5d9
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.1-cp312-abi3-manylinux2014_armv7l.manylinux_2_17_armv7l.whl

Download URL pyjournalexport-0.1.1-cp312-abi3-manylinux2014_armv7l.manylinux_2_17_armv7l.whl
Size 242.7 kB
Tags CPython 3.12 Linux glibc 2.17+ ARMv7l abi3
SHA-256 checksum
How to use checksums
ac9ac601361d8ad781325fa3dbf5088be5819f75493facd0a97bcbeec8ab0465
BLAKE2b-256 checksum
How to use checksums
e0b808d28086c025b4a62f36fa360e9bef7b08ad1db5c985a0409bd875be3fe8
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.1-cp312-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL pyjournalexport-0.1.1-cp312-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 231.2 kB
Tags CPython 3.12 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
34d34e39c229488b07582cfca309f131d22933bf713b7c593972e484dd6ede6a
BLAKE2b-256 checksum
How to use checksums
ec8c243699bcb86d9582718a43a708c6e7412c02f5e477527a765d8b329cfb03
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.1-cp312-abi3-macosx_11_0_arm64.whl

Download URL pyjournalexport-0.1.1-cp312-abi3-macosx_11_0_arm64.whl
Size 212.3 kB
Tags CPython 3.12 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
4ca0686e3cea0c9823de85f89e689487815f165937f06e8f058993a9f83efb75
BLAKE2b-256 checksum
How to use checksums
99b372e018fa8ec001174a80a89342dce5784201553e2fc71cce5c29d9575829
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.1-cp312-abi3-macosx_10_12_x86_64.whl

Download URL pyjournalexport-0.1.1-cp312-abi3-macosx_10_12_x86_64.whl
Size 223.1 kB
Tags CPython 3.12 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
d546d287148811b65519da569e81493bf196acc1ba7504421d850fffd10de347
BLAKE2b-256 checksum
How to use checksums
6a4cf600207048b4ee752586a0edb672b6005e7e868c3eeb8a119c3073132662
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.1

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.1.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