Skip to main content

High-performance structured logging library with component tracking and visualization

Telelog is a Rust-first logging library that combines structured logging, performance profiling, and architectural visualization. It provides rich console output and generates Mermaid diagrams to help you understand your application's execution flow.

Features

  • Performance Profiling - Automatic timing with RAII guards and context managers
  • Component Tracking - Track architectural components and their relationships
  • Visualization - Generate Mermaid flowcharts, timelines, and Gantt charts
  • Context Management - Add persistent context to all log messages
  • Rich Console Output - Clean, colored output for development
  • Python Bindings - Use from Python with Rust-backed performance
  • Type Hints - Full static type checking support for Python (mypy, pyright)
  • High Performance - Thread-local buffer pooling reduces allocations (~788ns per log)
  • Async Support - Bounded async channels with backpressure (requires async feature)

Example Visualizations

Quick Start

Rust

use telelog::Logger;

let logger = Logger::new("my_app");

// Basic logging
logger.info("Application started");
logger.warning("This is a warning");

// Context management
logger.add_context("user_id", "12345");
logger.info("Processing request"); // Includes context

// Performance profiling
{
    let _timer = logger.profile("database_query");
    // Your operation here
} // Automatically logs duration

// Component tracking
{
    let _component = logger.track_component("web_server");
    logger.info("Handling request");
}

Python

# Install via pip
pip install telelog-python
import telelog as tl

logger = tl.Logger("my_app")

# Basic logging with context
logger.add_context("user_id", "12345")
logger.info("Processing request")

# Performance profiling
with logger.profile("database_query"):
    # Your operation here
    pass

# Component tracking with visualization
with logger.track_component("data_pipeline"):
    logger.info("Processing data")

# Generate flowchart
chart = logger.generate_visualization("flowchart")
print(f"Generated chart with {len(chart)} characters")

Visualization

Generate Mermaid diagrams from component tracking:

use telelog::{Logger, MermaidGenerator, ChartConfig, ChartType};

let logger = Logger::new("app");

// Track nested components
{
    let _pipeline = logger.track_component("data_pipeline");
    {
        let _extract = logger.track_component("extract");
        // extraction logic
    }
    {
        let _transform = logger.track_component("transform");
        // transformation logic
    }
}

// Generate visualization
let tracker = logger.get_component_tracker();
let config = ChartConfig::new().with_chart_type(ChartType::Flowchart);
let generator = MermaidGenerator::new(config);
let diagram = generator.generate_diagram(tracker)?;

Supported chart types:

  • Flowchart - Component relationships and dependencies
  • Timeline - Execution order and timing
  • Gantt - Component durations and overlaps

View generated diagrams at mermaid.live or in VS Code with the Mermaid extension.

Documentation

📖 Comprehensive documentation is available in the Telelog Wiki

The wiki includes:

  • Getting started guides for both Rust and Python
  • Detailed feature documentation (profiling, component tracking, visualization)
  • Configuration and customization guides
  • Cookbook with real-world examples
  • Framework integration guides (Flask, FastAPI, Axum, Actix, etc.)
  • Complete API references
  • Migration guides from other logging libraries
  • Troubleshooting and FAQ

Examples

See the examples/ directory for comprehensive usage examples in both Rust and Python.

# Try the examples
cargo run --example 01_basic_logging
cargo run --example 04_component_tracking
cargo run --example 05_visualization

Contributing

Contributions are welcome! Please feel free to submit a Pull Request. See the examples directory for comprehensive usage patterns.

License

This project is licensed under the MIT License.


Built with ❤️ by Vedant Asati

Metadata

Release files for telelog-python 0.3.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 telelog-python 0.3.0
File Size Uploaded Provenance
telelog_python-0.3.0.tar.gz 472.4 kB Without provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for telelog-python 0.3.0
File
telelog_python-0.3.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
telelog_python-0.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
telelog_python-0.3.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
telelog_python-0.3.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
telelog_python-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
telelog_python-0.3.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
telelog_python-0.3.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
telelog_python-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
telelog_python-0.3.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
telelog_python-0.3.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
telelog_python-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
telelog_python-0.3.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
telelog_python-0.3.0-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
telelog_python-0.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
telelog_python-0.3.0-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details

Total release size: 6.7 MB

Release files / telelog_python-0.3.0.tar.gz

Download URL telelog_python-0.3.0.tar.gz
Size 472.4 kB
Tags Source
SHA-256 checksum
How to use checksums
cec3ea13f09d25f1d9e2c789c7f029f5303c21db3eddcdc254ffde19d17c80aa
BLAKE2b-256 checksum
How to use checksums
d0a0e6d580a9bbf6c3073e04de0a9c4b9884017011b68165dcd5358edeef375d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.10.2

Release files / telelog_python-0.3.0-cp313-cp313-win_amd64.whl

Download URL telelog_python-0.3.0-cp313-cp313-win_amd64.whl
Size 308.0 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
54ae9dec9780cb369ffaf4e05fa1c14165433a58d49fa51cc43951cf01d94716
BLAKE2b-256 checksum
How to use checksums
c736298b40c5982de7cb8a5cb3f407d3847ad2dd0c1c5bb7ced705b59e5570e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.10.2

Release files / telelog_python-0.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL telelog_python-0.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 512.4 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
fcaad7bc17ad096b2f4794419f08605f5c197b9759157de22f4954cb7c248016
BLAKE2b-256 checksum
How to use checksums
d08bca35920b7660cccd916466969286b8e508b9c8ab87512de65f22da0ec5e2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.10.2

Release files / telelog_python-0.3.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL telelog_python-0.3.0-cp313-cp313-macosx_11_0_arm64.whl
Size 416.8 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
bd3d8c0013fbd5a1a6a39a58c9f67051275602ea7a970d5ccabaa3c875b21062
BLAKE2b-256 checksum
How to use checksums
8c34351a6c93cd1c547951aa96943f831a9a2f6d7d7278f6d60b78bccf05cfed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.10.2

Release files / telelog_python-0.3.0-cp312-cp312-win_amd64.whl

Download URL telelog_python-0.3.0-cp312-cp312-win_amd64.whl
Size 308.3 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
e582ddc19be5ce505b56d89db395a616a7e614932edf2c05544d3ffcf001b114
BLAKE2b-256 checksum
How to use checksums
fbb6d2570dd6597a949769fa27905e9a4d1d57fcec1f24898b3797b79a341ffc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.10.2

Release files / telelog_python-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL telelog_python-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 512.7 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
e235397d55291bbe416bb0bdd003ed37fd8efe54f3445dec55fb405cb625aedc
BLAKE2b-256 checksum
How to use checksums
7b7370740a7da5c96929974a204d46e9acbb6b88f621ce67e564db2d537576d7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.10.2

Release files / telelog_python-0.3.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL telelog_python-0.3.0-cp312-cp312-macosx_11_0_arm64.whl
Size 417.0 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
c07c61adb3b75d13ec6995758f2ad8a54b3be55db99620614b303dfd38639900
BLAKE2b-256 checksum
How to use checksums
1812a0c8b9ecfdb1f17a1cffdebef90455e64d54d63538c91cfcdecb10dac0ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.10.2

Release files / telelog_python-0.3.0-cp311-cp311-win_amd64.whl

Download URL telelog_python-0.3.0-cp311-cp311-win_amd64.whl
Size 310.2 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
d7c88b335f10987f5a05cca92ea0dfb99bed295f0fec708f798b501491d23732
BLAKE2b-256 checksum
How to use checksums
156a29ac8b3f340223e321dd325141a5de2d6d2efcc95a54117d9bc41bbfbfeb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.10.2

Release files / telelog_python-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL telelog_python-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 515.6 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
b7d1a34e223186261437f5d619f92cd38a761d506103e226eb0606bd64049d48
BLAKE2b-256 checksum
How to use checksums
64411f0faf8cc822f2c6525c9d40bdaf389a9f57fc47b9f9851e1692a79c9b1b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.10.2

Release files / telelog_python-0.3.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL telelog_python-0.3.0-cp311-cp311-macosx_11_0_arm64.whl
Size 419.4 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d84a862199578ef1a196e28adaa864111b493bf1f5d8090bf06d7ceb09b307f3
BLAKE2b-256 checksum
How to use checksums
9685b2f775378b927675940a08dc958043d4ff71e98701f8818aebf77d1e9f31
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.10.2

Release files / telelog_python-0.3.0-cp310-cp310-win_amd64.whl

Download URL telelog_python-0.3.0-cp310-cp310-win_amd64.whl
Size 309.9 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
e0ad9acedabe586d3f1ee8fb412779c0171284d0606e31afce24a373ae6a1357
BLAKE2b-256 checksum
How to use checksums
8dd891af0692be1b560d0838f6405079a0f989712abd9825086cc2e827edf107
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.10.2

Release files / telelog_python-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL telelog_python-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 515.4 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
c346e12123bc6f411c921600bf0a4825374f3cf0dfb92349e620161c5b347d28
BLAKE2b-256 checksum
How to use checksums
e6dc8b0ec1ace50f54f8a567d88e6fd493c27c0f078f04fdd793ec26766808b6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.10.2

Release files / telelog_python-0.3.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL telelog_python-0.3.0-cp310-cp310-macosx_11_0_arm64.whl
Size 419.4 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
38ace91a9bd7ddfe1fb384fcbba3b3698b1de6497985eceaef381e6ed7a7cca5
BLAKE2b-256 checksum
How to use checksums
88d7c5c958aab0b9a60ccf5a403252c96d0f0a8d694152dba202714633ae2eae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.10.2

Release files / telelog_python-0.3.0-cp39-cp39-win_amd64.whl

Download URL telelog_python-0.3.0-cp39-cp39-win_amd64.whl
Size 311.3 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
4a093cdb8d54701b5bc9fa33725e8b2048903f6670a3638ddb4f106a7e3fc2f7
BLAKE2b-256 checksum
How to use checksums
857b76344278601fded1e58cd994594db9929ca7b61cfb0372bc7ded23ceec5f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.10.2

Release files / telelog_python-0.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL telelog_python-0.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 516.6 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
6ca54ff809ed756829d7923b387cadb8bf14f35534379b92f56f12ac4373e6ae
BLAKE2b-256 checksum
How to use checksums
273e1e357accbe57a1a847db55669f741076079e0cc014aee3b9d6438d90d83c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.10.2

Release files / telelog_python-0.3.0-cp39-cp39-macosx_11_0_arm64.whl

Download URL telelog_python-0.3.0-cp39-cp39-macosx_11_0_arm64.whl
Size 421.1 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
0f579a2ec5f4db59a1161731afe6f57690d6769cdcccdb6547841890f437e2d2
BLAKE2b-256 checksum
How to use checksums
37f32cb14e3f61acfb036a46522cc610b23ec23caecfff3de4155e55dc1043fb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.10.2

Security for telelog-python 0.3.0

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

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.

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