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)
| File | Size | Uploaded | |
|---|---|---|---|
| simsys_logevent-1.0.0.tar.gz | 7.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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