Skip to main content

simsys-logevent (Python)

Structured JSON log events for Python apps, designed for systemd-journal → Loki pipelines (Grafana Alloy loki.source.journal). Every call writes one JSON line to stdout.

Intentionally minimal — a stable schema, a configured service name, and never-throws guarantees. No transports, no batching, no sampling. Loki and LogQL handle querying.

This is the Python lane of a three-SDK repo (Node, Python, Go) that all emit the same event envelope. Full documentation, including the shared schema and cardinality guidance, lives in the repository README.

Install

Not yet on PyPI. Install from the repository subdirectory:

pip install "simsys-logevent @ git+https://github.com/Simmons-Systems/simsys-logevent.git#subdirectory=python"

Usage

from simsys_logevent import configure, log_event, log_error

configure(service="board-portal")

log_event(
    event="auth.signin",
    user="u_8f2c1a94",          # stable internal ID, not an email
    route="/api/auth/callback/google",
    outcome="success",
)

try:
    ...
except Exception as err:
    log_error("db.query.failed", err, route="/api/shifts")

Emits one JSON line per call:

{"user": "u_8f2c1a94", "route": "/api/auth/callback/google", "outcome": "success", "ts": "2026-04-27T12:34:56.789Z", "level": "info", "level_code": 2, "service": "board-portal", "hostname": "bfr", "pid": 12345, "event": "auth.signin"}

Schema

Every emitted object includes ts, level, level_code, service, hostname, pid, and event. Library-set fields always win over caller-supplied keys of the same name, so payloads cannot spoof system metadata.

Level codes are debug=1, info=2, warn=3, error=4.

Configuration

configure() is the only function that raises. It rejects a missing, non-string, empty, or whitespace-only service, and a default_level outside debug/info/warn/error. Nothing is mutated when configuration is rejected, and the service name is stored trimmed.

An invalid per-event level is not an error — it normalizes to the configured default, so a bad level never costs you the log line.

service defaults to "unknown", and logging before configure() emits normally rather than failing: a misconfigured bootstrap is exactly when logs matter most. Treat {service="unknown"} in Loki as a bug signal.

Sensitive data

This library preserves arbitrary caller fields verbatim and performs no redaction. Never log passwords, API secrets, private keys, tokens, session cookies, Authorization headers, or full request bodies. Prefer a stable internal user ID over an email address — log_error() also copies the exception message and full traceback into the event, and neither is guaranteed free of sensitive data.

License

MIT. See LICENSE.

Metadata

Release files for simsys-logevent 1.0.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 simsys-logevent 1.0.0
File Size Uploaded
simsys_logevent-1.0.0.tar.gz 7.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for simsys-logevent 1.0.0
File Interpreter ABI Platform
simsys_logevent-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 12.8 kB

Release files / simsys_logevent-1.0.0.tar.gz

Download URL simsys_logevent-1.0.0.tar.gz
Size 7.1 kB
Tags Source
SHA-256 checksum
How to use checksums
394f08e4e6eefb2c6bc32f6c993aefea3fb1be36b9bf151af1cd292080a80262
BLAKE2b-256 checksum
How to use checksums
855af57228c9f12eecac8bd77932f0a39d4424feb8217d74c470daeef702e27c
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 Aug 24, 2026.

Transparency log

Release files / simsys_logevent-1.0.0-py3-none-any.whl

Download URL simsys_logevent-1.0.0-py3-none-any.whl
Size 5.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
70ec0aabcc2219f7eae4981d1747bd41c569b05d0a64905b72bf75b8496205ea
BLAKE2b-256 checksum
How to use checksums
a1357c5761bc2881e75d471809cc00032d08bea42f80687efd95ebd96758d0a5
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 Aug 24, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

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