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

Built distributions (wheels)

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

Total release size: 2.6 MB

Release files / pyjournalexport-0.1.2.tar.gz

Download URL pyjournalexport-0.1.2.tar.gz
Size 40.2 kB
Tags Source
SHA-256 checksum
How to use checksums
5d8a1bdd095ac0797e21ba481ffd86f33aaeeff71769c2f0d7eddafd84c5d4d8
BLAKE2b-256 checksum
How to use checksums
ac60c00e138b4e3c271d2f7d16f6f1a72b0d7ee67e479a02b4129f370e0654c5
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 3, 2026.

Transparency log

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

Download URL pyjournalexport-0.1.2-cp312-abi3-musllinux_1_2_x86_64.whl
Size 443.3 kB
Tags CPython 3.12 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
28a6b183a88b57ff66d3c10ce3300d80b39f0b859d76b0a94b02644a72078a9e
BLAKE2b-256 checksum
How to use checksums
5da6159d8004d11406eb556c567b1effb0db01ae50e19f1a4cb9348a1dd01702
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 3, 2026.

Transparency log

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

Download URL pyjournalexport-0.1.2-cp312-abi3-musllinux_1_2_armv7l.whl
Size 518.7 kB
Tags CPython 3.12 Linux musl 1.2+ ARMv7l abi3
SHA-256 checksum
How to use checksums
c23eeb93d83350ab4f0d923a7d3958b755fcd783dc5c98b1d9181491b9976b9b
BLAKE2b-256 checksum
How to use checksums
6e98a703146eae41e9af4a2c8552d428a3107b4c940575942893a537553fc970
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 3, 2026.

Transparency log

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

Download URL pyjournalexport-0.1.2-cp312-abi3-musllinux_1_2_aarch64.whl
Size 409.5 kB
Tags CPython 3.12 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
b65508a82695b7bc0e97eb616e884269e8dd7b899d46ee7d615e5e1b78b1016d
BLAKE2b-256 checksum
How to use checksums
938b1e322f999e5bf5689af517b5740ca6913fa38b1081e0911a2fb3c4e297a6
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 3, 2026.

Transparency log

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

Download URL pyjournalexport-0.1.2-cp312-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 232.6 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
7f8b4d5b92a12c85c62d967653e90a23d38b9b5133e1975611795c42c01c9b35
BLAKE2b-256 checksum
How to use checksums
ef5f64a9690506fb0533a2ced761ccd65e2de4b60947e39922129ee973a15ce6
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 3, 2026.

Transparency log

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

Download URL pyjournalexport-0.1.2-cp312-abi3-manylinux2014_armv7l.manylinux_2_17_armv7l.whl
Size 243.1 kB
Tags CPython 3.12 Linux glibc 2.17+ ARMv7l abi3
SHA-256 checksum
How to use checksums
eda3a62a31bbf4bafa5e29ca348ffab25b6aadef61b288cf0e5dcd0246f1ca3a
BLAKE2b-256 checksum
How to use checksums
e1aa100646ac73d0690ac0880ca907dcab8db346a5449e05b72ccfa9b6971cfe
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 3, 2026.

Transparency log

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

Download URL pyjournalexport-0.1.2-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
feac4b87f6e872e8cb2e7b2c0a2880df38eba42a09c0b781f30ecf94ea038256
BLAKE2b-256 checksum
How to use checksums
96fd61d937127df54ec7db6b2f50c22e9b7807666787f65b2023f5a162bd8bc0
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 3, 2026.

Transparency log

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

Download URL pyjournalexport-0.1.2-cp312-abi3-macosx_11_0_arm64.whl
Size 212.6 kB
Tags CPython 3.12 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
13ac8e583c57d137bd3fee2b31a3fa32309648e8436060f3adff1854dadc8770
BLAKE2b-256 checksum
How to use checksums
8f1d36abeedd60dc62bb769bcf8f15656091328fb89c0632d82f35264b3bfed0
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 3, 2026.

Transparency log

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

Download URL pyjournalexport-0.1.2-cp312-abi3-macosx_10_12_x86_64.whl
Size 223.3 kB
Tags CPython 3.12 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
c8e827530283de0b883560f0b6cbb36e2d11aba60bcd63e05a0ef0341bfb64d6
BLAKE2b-256 checksum
How to use checksums
d7a4808cbce8b45fa114e43eb158037912852b27120b5699c0bdc86b37736699
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 3, 2026.

Transparency log

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

Select from 9 files

Attestation for pyjournalexport-0.1.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 Nov 3, 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