Skip to main content

Loglite (Python)

The Python package is a thin convenience layer on top of the loglite C++ core. It provides:

  • CLI (loglite server run, loglite migrate rollout/rollback) — delegates directly to the C++ server via a pybind11 extension (_core).
  • Built-in harvesters — SocketHarvester and (optional) ZMQHarvester.
  • Custom harvesters — subclass loglite.Harvester[Config] to write custom log ingestors in Python. Ingested entries are pushed directly into the C++ server's backlog in the same process.

The C++ core handles everything else: the HTTP server, SQLite read/write, migrations, SSE, and vacuuming. The Python package adds zero server-side overhead.

Installation

Pre-built wheels are published to PyPI:

pip install loglite

# With ZeroMQ harvester support
pip install "loglite[zmq]"

Writing a custom harvester

from dataclasses import dataclass
from loglite.harvesters.base import BaseHarvesterConfig, Harvester

@dataclass
class MyConfig(BaseHarvesterConfig):
    source: str

class MyHarvester(Harvester[MyConfig]):
    async def run(self):
        while self._running:
            log = await fetch_from_somewhere(self.config.source)
            self.ingest(log)  # pushes into the C++ backlog, thread-safe

Register it in your YAML config:

harvesters:
  - type: myapp.harvesters.MyHarvester
    name: my-source
    config:
      source: "tcp://localhost:5000"

Local development

Prerequisites

  • uv
  • Conan 2 — pip install conan && conan profile detect
  • CMake ≥ 3.25
  • A C++20-capable compiler (GCC 12+, Clang 16+, or Homebrew LLVM on macOS)

Build

cd py
uv sync --all-groups

That's it. CMake automatically invokes Conan during the configure step, so no separate Conan command is needed. The first sync compiles the C++ dependencies (SQLite3, Boost headers, yaml-cpp); subsequent syncs use Conan's binary cache and are fast 💪.

For building docs

uv run --group docs sphinx-build -W --keep-going -b html ../docs ../docs/_build/html

Running tests

cd py
uv run pytest                    # all tests
uv run pytest tests/test_cli.py  # single file

Metadata

Release files for loglite 1.4.0

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

Built distributions (wheels)

Table of built distributions (wheels) for loglite 1.4.0
File
loglite-1.4.0-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details
loglite-1.4.0-cp313-cp313-manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64 Details
loglite-1.4.0-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details
loglite-1.4.0-cp312-cp312-manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64 Details
loglite-1.4.0-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details
loglite-1.4.0-cp311-cp311-manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64 Details
loglite-1.4.0-cp310-cp310-manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64 Details
loglite-1.4.0-cp310-cp310-manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ ARM64 Details

Total release size: 12.1 MB

Release files / loglite-1.4.0-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL loglite-1.4.0-cp313-cp313-manylinux_2_28_x86_64.whl
Size 1.6 MB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
24753a0c01f02c562d7afbe237f501220a9c4b65f97ad21496429fd53739f106
BLAKE2b-256 checksum
How to use checksums
a08b033b0b8a214a836534fa70cbffa6780a4a0e2f0bef92ae27e2dd46d83140
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.8

Release files / loglite-1.4.0-cp313-cp313-manylinux_2_28_aarch64.whl

Download URL loglite-1.4.0-cp313-cp313-manylinux_2_28_aarch64.whl
Size 1.5 MB
Tags CPython 3.13 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
48cefa7e269cd6827c22b64be5ceffafc11b109466ea5341504813aa161ddfaa
BLAKE2b-256 checksum
How to use checksums
eb62a3ad334e1e482b55bc8e5aa01583827cd2a94c1a5bb9e8ce923f53ebe26c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.8

Release files / loglite-1.4.0-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL loglite-1.4.0-cp312-cp312-manylinux_2_28_x86_64.whl
Size 1.6 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
8714aeb7ea8b30b2aa51328c1eaad5d03f8430464b48761352db0fdd343c681d
BLAKE2b-256 checksum
How to use checksums
3783cc162fc34257a72e178300f5047453f78947f2cac8c3c0b81d5fff70c58c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.8

Release files / loglite-1.4.0-cp312-cp312-manylinux_2_28_aarch64.whl

Download URL loglite-1.4.0-cp312-cp312-manylinux_2_28_aarch64.whl
Size 1.5 MB
Tags CPython 3.12 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
581f2ce4f29d0467219af5b07ca5a83c590c8143551ceedc992e247dc55ed951
BLAKE2b-256 checksum
How to use checksums
7b3f4e3f0530a6b13c0fda584b139c060534fe56f0ba3a800aaded84835ae688
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.8

Release files / loglite-1.4.0-cp311-cp311-manylinux_2_28_x86_64.whl

Download URL loglite-1.4.0-cp311-cp311-manylinux_2_28_x86_64.whl
Size 1.6 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
c6dacc7c72e610c5ecf30885b4187f77cb6eb20018a9247e0419a7420311f5fa
BLAKE2b-256 checksum
How to use checksums
50d0b07004966d3097903694f0c8274615530ac0d10ba7363400d3e0f0792bb5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.8

Release files / loglite-1.4.0-cp311-cp311-manylinux_2_28_aarch64.whl

Download URL loglite-1.4.0-cp311-cp311-manylinux_2_28_aarch64.whl
Size 1.5 MB
Tags CPython 3.11 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
d49f3b1f8d4a6891e3d6529302f5b6505e08ab668af27035be87c873717021eb
BLAKE2b-256 checksum
How to use checksums
06cc9a41d70035fa4cbc20e6cac920b2593824fa5a0ad71f5bfa562b35d079e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.8

Release files / loglite-1.4.0-cp310-cp310-manylinux_2_28_x86_64.whl

Download URL loglite-1.4.0-cp310-cp310-manylinux_2_28_x86_64.whl
Size 1.6 MB
Tags CPython 3.10 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
8d3046f22865df6e7d0d647988746f1274280eb9c0925dbaa0b6ffb0b916f83e
BLAKE2b-256 checksum
How to use checksums
74814a3a6b0d47f1b2c232f77466a25f2c41c48568661dde19c45c664fef99f8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.8

Release files / loglite-1.4.0-cp310-cp310-manylinux_2_28_aarch64.whl

Download URL loglite-1.4.0-cp310-cp310-manylinux_2_28_aarch64.whl
Size 1.5 MB
Tags CPython 3.10 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
0355d7a8452fd595f296ab91faf26174e24d415454712f8f2f1a4cc88006f32f
BLAKE2b-256 checksum
How to use checksums
832f2336b6a370a04519d4c6d9a2f8f178ac2212f150ea1acd92fb97ea867905
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.8

Release history Release notifications | RSS feed

This release

1.4.0 This release

8 release files

1.3.3

8 release files

1.3.2

8 release files

1.3.1

8 release files

1.3.0

8 release files

1.2.0

8 release files

1.1.0

8 release files

1.0.0

8 release files

0.4.1

1 release file

0.4.0

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

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