Catalog PyPI
Back to packageRELEASE DETAILS

1.1.0

PyPI

ailogx

LLM-optimized structured logging and summarization for large-scale debugging.

Published11 Jul 2025
Direct dependencies6
Transitive dependenciesNot calculated

README

Version 1.1.0 documentation

🧠 LLM Logger

LLM Logger is a Python logging framework designed for seamless integration with Large Language Models (LLMs).
It produces structured, LLM-friendly logs that can be easily summarized or reasoned about — even across massive, deeply nested codebases.


🚀 Features

  • 🪵 Structured JSON logs (timestamped, contextual, machine-readable)
  • 🧠 LLM-optimized format with reason, inputs, outputs, and semantic tags
  • 📂 Log grouping (start_group, end_group) and function spans
  • 🔌 Modular LLM backend support via environment variable:
    • Ollama (local models)
    • Groq (LLama, Gemma via API)
    • OpenAI (GPT-3.5 / GPT-4)
  • 📊 Summarization CLI with smart filtering and token-aware chunking
  • 💾 Cache for LLM calls with expiration/cleanup
  • 🧪 Test harness to simulate deeply nested logs

📦 Installation

pip install ailogx

🛠️ Basic Usage

from ailogx.core import LLMLogger

log = LLMLogger("my-service")

log.llm_info("User login started", inputs={"username": "admin"})
log.llm_decision("Using 2FA", reason="high-risk user")
log.llm_error("Login failed", reason="Invalid OTP")

🔁 Function Span

with log.function_span("process_payment", reason="checkout flow"):
    # your logic
    pass

📂 Grouping Logs

log.start_group("req-42", reason="incoming API request")
# your logs here
log.end_group("req-42")

📊 LLM Summarization

🧠 Environment-based Backend Selection

Supports:

  • LLM_LOGGER_BACKEND=ollama (default)
  • LLM_LOGGER_BACKEND=groq
  • LLM_LOGGER_BACKEND=openai

🧾 Example

export LLM_LOGGER_BACKEND=groq  # or 'openai', 'ollama'
export GROQ_API_KEY="your-groq-api-key"
- You must have a Groq account.
- Supported models: gemma3, llama3-70b, etc.

export OPENAI_API_KEY="your-openai-api-key"
- You must have an OpenAI API key.Models like gpt-3.5-turbo, gpt-4, etc. are supported.

For selecting Models : 
| Backend  | Env Var to Set | Example Value         |
|----------|----------------|-----------------------|
| groq     | GROQ_MODEL     | llama-3-70b-8192      |
| openai   | OPENAI_MODEL   | gpt-4o                |
| ollama   | OLLAMA_MODEL   | llama3                |

python -m ailogx.summarize simulated_logs/deep_nested_logs.jsonl --filter=smart --fast

For using with relevant intent:
python -m ailogx.summarize huge_app_logs.jsonl --filter=smart --fast --intent "focus on authentication and signup failures"

Or call from Python:

from ailogx.summarizer.summarizer import multi_pass_summarize
from ailogx.backends.registry import get_analyzer
import json

with open("llm_logs.jsonl") as f:
    logs = [json.loads(line) for line in f]

summary = multi_pass_summarize(logs, get_analyzer())
print(summary)

🧪 Test Harness

Generate deep, nested logs for benchmarking:

python ailogx/core.py

Outputs:

  • llm_simulated_logs.jsonl (LLMLogger)
  • standard_simulated_logs.log (Python logging)

🔁 Cache & Optimization

  • ✅ LLM responses cached to .cache/
  • 🧠 Token-aware chunking
  • 🔎 Smart filtering (--filter=smart, --intent="auth errors")
  • ⚡ --fast mode for shallow summaries before full deep dives

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 6

Native requirements
6 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
tiktoken
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
tiktokenruntime
requests
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
requestsruntime
rich
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
richruntime
groq
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
groqruntime
openai
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
openairuntime
ollama
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
ollamaruntime

Distribution files

2 collected
ailogx-1.1.0-py3-none-any.whl

bdist_wheel · 17.39 KB · Python py3

Source file
ailogx-1.1.0.tar.gz

sdist · 13.22 KB · Python source

Source file

Metadata history

Meaningful changes
Current collected state Current

Observed since 21 Oct, 11:12 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:d6181cffc21d2b62e4cd6289607e663bd69fe7019f85f1b577155d898e01b6f2

Other collected versions

View all collected versions →