Skip to main content

A high-performance, buffered, non-blocking logger for Python, implemented in Rust.

Project description

High-Performance Python Logger (in Rust)

Python Version PyPI version License Development Status Downloads

A high-performance, buffered, non-blocking logger for Python, with the core logic implemented in Rust for maximum speed and efficiency.

This logger is designed for high-throughput applications where standard Python logging would become a bottleneck. It sends logs on a dedicated background thread, ensuring your application's main threads are never blocked by I/O.

Features

  • Non-Blocking: Log calls return instantly.
  • Batching: Logs are sent to destinations in efficient batches (Elastic bulk API).
  • Resilient: In-memory buffer with retries for when destinations are temporarily unavailable.
  • Multiple Outputs: Configure logging to stdout, files, and Elasticsearch simultaneously.
  • Python logging Integration: Includes a logging.Handler to seamlessly integrate with the standard library.
  • Structured Fields: Logger.info(..., extra={...}) and logging handler extra= fields are preserved as JSON.

Requirements

  • Python 3.9+
  • pip version 21 or newer.

This package uses modern Python packaging standards (PEP 517). Older versions of pip may not be able to install it correctly. You can upgrade pip with the following command:

pip install --upgrade pip

Pre-compiled wheels for officially Supported Platforms

  • Linux: x86_64 (manylinux compatible)
  • macOS: arm64 (Apple Silicon, Intel)
  • Windows: amd64

Installation

pip install py-hpl-logger

Quick Start

1(Optional). Configure your logger with ElasticConfig if needed:

ELASTIC_HOST=localhost
ELASTIC_PORT=9200
ELASTIC_USERNAME=elastic
ELASTIC_PASSWORD=changeme
ELASTIC_INDEX=my-python-logs

Configure using code:

elastic_config = ElasticConfig(
    host="localhost",
    port=9200,
    index="my-app",
    username="elastic",
    password="changeme"
)

Configure using .env. You can choose .env search depth using local_only argument:

elastic_config = ElasticConfig.from_env(local_only=False)
  1. Use the logger in your Python application:

    import logging
    from py_hpl_logger import LoggerBuilder, ElasticConfig, RustLogHandler
    
    # 1. Build the Rust logger backend once
    elastic_config = ElasticConfig(
        host="localhost",
        port=9200,
        index="my-app",
        username="elastic",
        password="changeme"
    )
    # default buffer params:
    # channel_size: 4096
    # batch_size: 256
    # `channel_size` sets maximum inner buffer size. If log amount exceeds this argument, over limiting logs are dropped to avoid memory leaks
    # `batch_size` is an argument used to bulk push amount of logs specified
    rust_backend = (
        LoggerBuilder()
        .with_stdout(True) # whether to use stdout or not
        .with_file_output("my_app_session")
        .with_elastic_output(elastic_config)
        .with_batch_size(1000) # how many log rows to wait before forced flush
        .with_flush_interval(1.0) # # how many seconds to wait before forced flush
        .build()
    )
    
    # 2. Integrate with Python's standard logging
    handler = RustLogHandler(rust_logger=rust_backend)
    formatter = logging.Formatter("%(threadName)s - %(message)s")
    handler.setFormatter(formatter)
    logger.addHandler(handler)
    
    # 3. Use the standard logging API anywhere!
    log = logging.getLogger(__name__)
    log.info("This log is being handled by Rust!")
    log.error("This is a high-performance error log.")
    
    # You can also send structured fields directly.
    rust_backend.info(
        "Article parsing completed",
        extra={
            "title": "Example article",
            "date": "2026-04-22",
            "text_len": 1024,
            "duration": 0.84,
        },
    )
    
    # 4. For graceful shutdown, flush the logger before exiting
    # (The logger also attempts to flush automatically on exit)
    rust_backend.flush()
    

Benchmark

Measurements completed under python3.11 on Apple M2 Max using remote Elastic Search instance with 2 Gb memory limit. The logger version used is py-hpl-logger==0.2.1.

20.000 messages were successfully written in a total time of 2.0091 seconds

    --- Running Benchmark for: High-Performance Rust Logger ---
    Logging 20,000 messages across 10 threads...
    Time taken for High-Performance Rust Logger: 0.1128 seconds
    Throughput: 177,282.63 logs/second

    Flushing Rust logger buffer...
    Flush took an additional 1.8963 seconds.

    --- Benchmark Results ---
    The application code was blocked for 0.1128 seconds with the Rust logger.
    Throughput: 177,282.63 logs/second
    Logs written: 20,000
    Time taken for flush: 1.8963 seconds
    Total time: 2.0091 seconds

Changelog

[0.1.5] - 2025-11-04

  • Added 'with_channel_size' constructor to LoggerBuilder

[0.1.6] - 2025-11-04

  • Added win_amd64 support
  • Added macos_x86_64 support
  • Added benchmark results

[0.1.9] - 2025-11-06

  • Added 'with_base_log' constructor to LoggerBuilder to add a base prefix '[<event.timestamp>] <event.level>:'
  • Fixed potential malloc problems in stdout buffer
  • Improved buffer offload with async elastic/file write execution

[0.2.0] - 2025-11-07

  • Fixed macos binaries imports

[0.2.1] - 2025-11-08

  • Added log file rotation. Now 5 files of 10Mb are set for rotation as a default setting. File rotation can be disabled with 'without_file_rotation' builder
  • File rotation can be configured with 'with_file_rotation' builder. It accepts max_file_size_bytes: int, max_backup_files: int as arguments where max_file_size_bytes is the maximum size of each file in bytes and max_backup_files is the maximum number of files to keep
  • Added graceful file writing at the cost of an 8% log throughput decrease

[0.2.2] - 2025-11-10

  • Fixed stdout only config not producing logs

[0.2.3] - 2025-12-17

  • Added protocol argument for ElasticConfig. Now Elastic can be configured to use https hosts. (http -> https redirects not supported for safety reasons)
   elastic_config = ElasticConfig(
       host="localhost",
       port=9200,
       index="my-app",
       username="elastic",
       password="changeme"
       protocol="https", # you can skip protocol setup, default fallback is "http"
   )

[0.2.4] - 2025-12-18

  • Added gzip bulk payload compression
  • Added WARNING and DEBUG levels

[0.2.5] - 2025-12-20

  • Added atexit hook to remove logger references on exit You can call a cleanup yourself using Logger.close()
from py_hpl_logger import LoggerBuilder
backend = (
    LoggerBuilder()
    .with_stdout(True)
    .build()
)
backend.close()

[0.2.6] - 2026-04-22

  • Added structured logging fields for Python logging integration via RustLogHandler
  • Structured fields are now merged into the root log document, so Elasticsearch stores title, duration, is_valid, etc. without an extra. prefix

License

This project is licensed under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

py_hpl_logger-0.2.6-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl (2.5 MB view details)

Uploaded PyPymusllinux: musl 1.2+ x86-64

py_hpl_logger-0.2.6-pp311-pypy311_pp73-musllinux_1_2_i686.whl (2.4 MB view details)

Uploaded PyPymusllinux: musl 1.2+ i686

py_hpl_logger-0.2.6-pp311-pypy311_pp73-musllinux_1_2_armv7l.whl (2.4 MB view details)

Uploaded PyPymusllinux: musl 1.2+ ARMv7l

py_hpl_logger-0.2.6-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl (2.5 MB view details)

Uploaded PyPymusllinux: musl 1.2+ ARM64

py_hpl_logger-0.2.6-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

py_hpl_logger-0.2.6-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.2 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ s390x

py_hpl_logger-0.2.6-pp311-pypy311_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (2.3 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ i686

py_hpl_logger-0.2.6-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.2 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARMv7l

py_hpl_logger-0.2.6-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl (2.5 MB view details)

Uploaded PyPymusllinux: musl 1.2+ x86-64

py_hpl_logger-0.2.6-pp310-pypy310_pp73-musllinux_1_2_i686.whl (2.4 MB view details)

Uploaded PyPymusllinux: musl 1.2+ i686

py_hpl_logger-0.2.6-pp310-pypy310_pp73-musllinux_1_2_armv7l.whl (2.4 MB view details)

Uploaded PyPymusllinux: musl 1.2+ ARMv7l

py_hpl_logger-0.2.6-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl (2.5 MB view details)

Uploaded PyPymusllinux: musl 1.2+ ARM64

py_hpl_logger-0.2.6-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.2 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ s390x

py_hpl_logger-0.2.6-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.2 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARMv7l

py_hpl_logger-0.2.6-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl (2.5 MB view details)

Uploaded PyPymusllinux: musl 1.2+ x86-64

py_hpl_logger-0.2.6-pp39-pypy39_pp73-musllinux_1_2_i686.whl (2.4 MB view details)

Uploaded PyPymusllinux: musl 1.2+ i686

py_hpl_logger-0.2.6-pp39-pypy39_pp73-musllinux_1_2_armv7l.whl (2.4 MB view details)

Uploaded PyPymusllinux: musl 1.2+ ARMv7l

py_hpl_logger-0.2.6-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl (2.5 MB view details)

Uploaded PyPymusllinux: musl 1.2+ ARM64

py_hpl_logger-0.2.6-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.2 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ s390x

py_hpl_logger-0.2.6-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.2 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARMv7l

py_hpl_logger-0.2.6-cp314-cp314t-musllinux_1_2_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

py_hpl_logger-0.2.6-cp314-cp314t-musllinux_1_2_i686.whl (2.4 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ i686

py_hpl_logger-0.2.6-cp314-cp314t-musllinux_1_2_armv7l.whl (2.4 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARMv7l

py_hpl_logger-0.2.6-cp314-cp314t-musllinux_1_2_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

py_hpl_logger-0.2.6-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.2 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ s390x

py_hpl_logger-0.2.6-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.2 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARMv7l

py_hpl_logger-0.2.6-cp313-cp313t-musllinux_1_2_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ x86-64

py_hpl_logger-0.2.6-cp313-cp313t-musllinux_1_2_i686.whl (2.4 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ i686

py_hpl_logger-0.2.6-cp313-cp313t-musllinux_1_2_armv7l.whl (2.4 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARMv7l

py_hpl_logger-0.2.6-cp313-cp313t-musllinux_1_2_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARM64

py_hpl_logger-0.2.6-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.2 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ s390x

py_hpl_logger-0.2.6-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.1 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARMv7l

py_hpl_logger-0.2.6-cp311-abi3-macosx_11_0_arm64.whl (28.8 kB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

py_hpl_logger-0.2.6-cp39-abi3-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.9+Windows x86-64

py_hpl_logger-0.2.6-cp39-abi3-musllinux_1_2_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ x86-64

py_hpl_logger-0.2.6-cp39-abi3-musllinux_1_2_i686.whl (2.4 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ i686

py_hpl_logger-0.2.6-cp39-abi3-musllinux_1_2_armv7l.whl (2.4 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARMv7l

py_hpl_logger-0.2.6-cp39-abi3-musllinux_1_2_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARM64

py_hpl_logger-0.2.6-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ x86-64

py_hpl_logger-0.2.6-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.2 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ s390x

py_hpl_logger-0.2.6-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl (2.3 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ i686

py_hpl_logger-0.2.6-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.2 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARMv7l

py_hpl_logger-0.2.6-cp39-abi3-macosx_11_0_arm64.whl (2.1 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

py_hpl_logger-0.2.6-cp39-abi3-macosx_10_12_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

Details for the file py_hpl_logger-0.2.6-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.6-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 fcd9869f3fdfa397e4ff548245376deb83ee06a88aa315279619617644c0d303
MD5 f2ba4463352dacd69b4fc07d22a1cd76
BLAKE2b-256 5d83f2aa5183e8a5544577d524c3bdc5b4a3ce1fa0ff4855bb0fb666fa6ab5d8

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.6-pp311-pypy311_pp73-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.6-pp311-pypy311_pp73-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 2dbcdf4307240b823d52a6fc2906de971b6774f4ea0768ff8cedb1dc7761f4d7
MD5 304922752241e19d1a3276db6df3aa97
BLAKE2b-256 64bdb233e7671133033ec9530e66ef82eded4317e6f80e9e1ecf51dbb96811fa

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.6-pp311-pypy311_pp73-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.6-pp311-pypy311_pp73-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 47a65a0f0b67748aacf9793db270061d033bf675c7e6e463bf54a7177726dac2
MD5 ac0addfab5b449872ce820d86c43d3dc
BLAKE2b-256 60bbabeee3350cc4e021fced835fd1c475a41278c708458725b1d1b3c9e48b81

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.6-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.6-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 45006337eea7ba12e4a6525b6725bdb2d7a80f9d81f06fd25711147b48d64089
MD5 90f4940dbf71e93ff4886aa77af577e0
BLAKE2b-256 00459cb6a02fca9bedd9a564676dd0956d2c47e6221ec12a632eca215395dc23

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.6-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.6-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5315886533c2fed23ca87fe73c1a78cb28a6133dde507d761f07e7d1a967f031
MD5 440c7e23ee5d9ae2d64d72891e9d8dde
BLAKE2b-256 bca797ad9d28fb9c8bf7e77f554ae5b569a7067b838f26bcc46cf068d73f5f37

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.6-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.6-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 c179590272ecc9181e20f4f4345d467956d428a4dd3116238a59a49f8a149060
MD5 e67993923941696628108df6d9fcdcfe
BLAKE2b-256 00321f266070518bbe763dc4a40081ba19296a99031f96dd8471701407d6ffd9

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.6-pp311-pypy311_pp73-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.6-pp311-pypy311_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 2aae49dad4bdc87c050191e227ea4f2a18bc2822c6d4789e4ef594862ffb1fae
MD5 1e89876d860679d5184f00ed0a8b2e22
BLAKE2b-256 90e4afaba290466ef2e0bee36bb5495206e07713bfbe49cb3922e9ee2c96d84c

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.6-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.6-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 b06b732d1e257aafbc868b9f6cf1be082e151dd97208227709b137ca49d671e5
MD5 2deef04699aeffc1069f7204f419c3ab
BLAKE2b-256 70bd9611887c9bb3d485cc1a70591b6f5d950a73bb1a925853c643a7f2c67d24

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.6-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.6-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 63afdb797cad2f500ac6f57b23f38d34927d27ede7cc5898a87ab1bfc38b5158
MD5 ff554849abd60e8cd7d6aabea9453306
BLAKE2b-256 fa7ae6c707b283b31c99e003351830be0080ba61f21b8c462f419d101556b1a6

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.6-pp310-pypy310_pp73-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.6-pp310-pypy310_pp73-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 a894a559501509833d36daa938b3e641b60717a079d9f8f38063eb0cb519ad37
MD5 20b3bd4f65964ab24ec6bfbb36d88c3b
BLAKE2b-256 1de660c2899bea04abd97e5c3bdd91680dd530dae2990a5f5b91bfbb93b0f743

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.6-pp310-pypy310_pp73-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.6-pp310-pypy310_pp73-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 2f95c85c87c432ba55a08d1e7bb5a130db97c72d28f17fa1c9a0fbbbf090a17a
MD5 33ba0eb0513b4ae425b8ad373d9d337a
BLAKE2b-256 2582ff9ed7699056d71b211c2e30a5de0d0d2e7ddd8d081041289de730994925

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.6-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.6-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 3f7aed4c3e295c1f76b3f140a297244a5b7baa9985df8e1f82250a2a09ebce80
MD5 60b2361b06348bcca4ff230a25dba159
BLAKE2b-256 76e49951f4f831322dde11aeaace3ac4a224f2cca08032b74491eb1453c8578f

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.6-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.6-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 ea17171d62964c6bbfacf11ce55fb536a4ef7ac79dd85971571c4b504a6dc4bd
MD5 7159870a9852180651208ce81ae299c9
BLAKE2b-256 3389c49b57cc6e188357996849effa3f66fd99c5333ef1e150c0aa90bfeef4ab

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.6-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.6-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 79ad4028370c34cea453282270f257a9c9982e56262941107a000761289c38d3
MD5 fd541525a69692e0eded88d9c7aab233
BLAKE2b-256 31a7e0b518025d1e1aa5dacff10f388e23dddb663dce27813757e3cfd90ed2f9

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.6-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.6-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6218cedac6ae1d0943daf9750b0047a4c5754e0ce1596f73442ce8448e888057
MD5 3071992ee37a93664a4ec9e40cda8f90
BLAKE2b-256 fc805d69f7108290eadbc9dd5a5bccf6c993053d8b2bb518fd0f4089234f347f

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.6-pp39-pypy39_pp73-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.6-pp39-pypy39_pp73-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 0017e7fd1f5ba1fc99b6d15098911480a74eca6bfbdfb2c3f180d8bd9bc7b931
MD5 f86dc8d0ff2c8ee770612d15d55afe94
BLAKE2b-256 4da63080f93690bd3539124d914e8c079715baace0cd7c33e6b9e5113300cee6

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.6-pp39-pypy39_pp73-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.6-pp39-pypy39_pp73-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 36c66c230696d5604a6c624905dcda1d0abc2696c92800d97b827e05afdccd9c
MD5 52b5387458072a843c665fc921ad2d01
BLAKE2b-256 bfbdf6af83e0d3976ff35cca1b33e4affca4e561a1c48b6db92f4b33feca156b

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.6-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.6-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c4099481709e71ad10b117359c8e907f0772e16f347e56fa8d22bcb2c3c777a1
MD5 5e09d886722b23b0f7d850e9cc6e16b4
BLAKE2b-256 7954e77cc597bbd912df18d8568547f474674dec72e19ce4422eedc0c50afda3

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.6-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.6-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 a24d4e729706959d43566149f1b75a9dcfd1865e64917a800e92303c8b22e90b
MD5 711b0d6cb5aee8b769867ae0693a48a7
BLAKE2b-256 fef9adf7a8fc4a8d8671d6cba2087569a676b01c5a1a1d8a4c23386274762aea

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.6-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.6-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 ac7e8bab1e2011cb2edf090ea8d3ef39b9b91902a6f21e4ecdfea07f5f0b5264
MD5 9094867e2f10ec12d53c7932b9852b10
BLAKE2b-256 51068a42a257b242f4a87480c39c8be498f096ed1fc5baa43c8ffe9f2d831a88

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.6-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.6-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 df655fc3dacc3ef13d786ccac3a4b94400dbf40f55180c461c8ded35a34e4499
MD5 42116043c96a91a162a53f59896e827b
BLAKE2b-256 0bc1d259460a28edd0bef9b81831da80849722eb44ffc9baca4db47bf8764531

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.6-cp314-cp314t-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.6-cp314-cp314t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 09a876ade353363a5a9bad7a0a7a5dcfcf10b8c53e736228dbc676bb34111934
MD5 7bdd74c24d811e62fdc0db7042a6866c
BLAKE2b-256 8e24c06ce6482c487de7d962ddfebcd09d0bfe3749a76c93689a710fdc61e3e1

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.6-cp314-cp314t-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.6-cp314-cp314t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 6c2f988b3788beaed232eb3334b49c7844a663e4ebfcea8034ccf72faa9ce8af
MD5 6303696bd68a2f32b748d1142e0686de
BLAKE2b-256 7d5183db36f66ed02dde1252d9508f66618b91ed392f3fcd57e07452b5aff7cf

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.6-cp314-cp314t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.6-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c4f5cb0135cf6c6404076c5771047a824c16c11ccbc0ce4c33918cfd6b113aec
MD5 1f957d80590be28542b103f102d62641
BLAKE2b-256 6bcdd9a49afcc5f38750cdbde6be0b40c33d8343487fe9053b82332367e62f9d

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.6-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.6-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 39158605b2e58be321f96630e571761029fef6d5d9df86fdbffce5582f7ab2b7
MD5 a75f7818d80799ff635cfb905ee90fee
BLAKE2b-256 21cca9f9f80b468419b4c4e66951b88e7ecc2640c20a93d728ff27c89cc0319e

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.6-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.6-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 71a94b4a245e5c3c503c46921836a333a6c9188939679dd14728a607e9875b27
MD5 9827fd75c49b1b540a10a1ad37a7b32b
BLAKE2b-256 75e29e2bfb6b5cef35e7edfcdf0137ad2669a16b72706950b6ad8fdb2d09fab9

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.6-cp313-cp313t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.6-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0a60408dfa32a435a8d97cc854a57bba83a733fa9b1e6f6b2b6e231b81a9074a
MD5 9faec6807d923fe95b649e11488309cd
BLAKE2b-256 2e50ea4644852f865fe96360ed535c407b5e0fb4bb10b328a79efab7fe541b24

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.6-cp313-cp313t-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.6-cp313-cp313t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 e0ba32f238dfaf23c208b411299749785db3fc91b137052f1baed30214cffdd4
MD5 54f3ef81a5cbc664f3a579e056d15609
BLAKE2b-256 03d7dbc9e3b8f010e22273989c5773810a7152ca795d3f48e0743bbcbc8156d5

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.6-cp313-cp313t-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.6-cp313-cp313t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 de7bfe2ec7618f00463454d0442a58c3925846e3dc64c4e0cf310a5d4639f048
MD5 5fbdbda614ae18a005fc8ecc5c994cff
BLAKE2b-256 6daccec4d9d6711f673e920aa91d61fe1dc3b9765305a743efaae577bb586eee

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.6-cp313-cp313t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.6-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 4d6b27f52ddb3a5219801c179c4c3c42fba4395328fd47b37881914c4245086f
MD5 0d5b22e417b0fdafa755b5068c081aa7
BLAKE2b-256 d97d48ef565a1cb75b389776836e5b0ceaf7a0beb973d0d734d416d617712adc

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.6-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.6-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 2ca3ad7d081ffde8b24b0870ea84d22f64b530ac8f1c0db4989d1171da1389e6
MD5 dfc3556b04182cb06737ab4c277cfb41
BLAKE2b-256 d7f64a7175106cf21ed1f856037b95c00022079b724da60778a36c1f168aa6e8

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.6-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.6-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 4e52130b83f0e910fd612ab80cafc74c9e22351c757cdb0ac93d54e0d7f3e29b
MD5 c36879e970277540572163406e339143
BLAKE2b-256 cc0c8cb0abb66638bccd6b5c9f8e17dfc0665d1d326699bfafec83f360bf45be

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.6-cp311-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.6-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 51677766ee195bbad4bfa659cc67cc2f37efe72ef927b8772186787862541090
MD5 86c2a000a3a7c69ccb656a8dac56b420
BLAKE2b-256 79688c169c240f4db9c56d9dc22fe7c61ebe26fb3c7a233820a573fd5e5f6771

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.6-cp39-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.6-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 4473ad018a0e91c1c9716a26bff7785aaa39039ebf847ceef23c235c53f1bb41
MD5 d0593d2f9d1386ee71b8e567a1fe2ab6
BLAKE2b-256 07a6248d2627c56d3d87759ecfb4ab8158df81a2e3aa6855dd095e2dfe0010ab

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.6-cp39-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.6-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c5283c9d57fe9cf482adabb66f89358c9cc421fb95b1ed78871fef3ec4702a8c
MD5 207fd137a29d1c337e959e0e171fb823
BLAKE2b-256 190a3c946f86215f043ee7084c1b1e4b76a1adbd9d5ee5fc9b2b56712b13377d

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.6-cp39-abi3-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.6-cp39-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 d8a16478ed559e880d391b0867efaa1df48c4df56d73ff758c3c2c4c0068f6a3
MD5 420ebff8e5bd7c1dc299428a2563e95b
BLAKE2b-256 cb48f70c4ca8aafbffbb8c1c8b9144e0f3fe93338ca262b7f7a2b6cbbfc46439

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.6-cp39-abi3-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.6-cp39-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 114a399b4297dfaea8ba70289b3856fb2f731448f5ba54afbec9318e07547014
MD5 0d9e75c4dba541a878e12778df19f812
BLAKE2b-256 0ed0d0715000680c123125310c248f08910bc45ca1e89ff6197773218e29d5bd

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.6-cp39-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.6-cp39-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 febd3e926e42df8667ff3dd234307077f9de20ee01ac1dc378cfe75c8cd4c281
MD5 294cf4f9c59e02a42e53be21bab97d96
BLAKE2b-256 72d96fdc02b11ba0f2ee69093cefbe6a72bb20328f93e2fddb090181201a3a53

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.6-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.6-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d8a4639dae496ecccc6eb8205660c01e5b4ae5daf140afd3b69de01e65ed4a38
MD5 ab320ebc4e09c4ea886d0d5b7edf5e7d
BLAKE2b-256 ba7891edabba405277ce17ac28ca12349a9d58f0f789487a7ab20c128f56309f

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.6-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.6-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 cfedec03603d44a8578a043d03df528b1fda65de87422295b91868e33968304c
MD5 312a2968cd7c04df7672caacbccc6c30
BLAKE2b-256 ce09b9021867b5fd71c4c8f8cac73465d73b05d4c000b0e9136e8064f1938fd5

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.6-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.6-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 84fb5cbe1c6718b39f2fe7404b2c1df0ca7327a27f7619129a51b2271841793c
MD5 076d4c3fd2254cf3b65527563ed5a1e3
BLAKE2b-256 650ccc9a583b9c2cbbfe8125847d5492662478b240929128c91e1a4892c075cf

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.6-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.6-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 59199a83939c7255ff58fd287023598f576c41f638d3bbcfc697714d7d673e26
MD5 a5c3b1e18f43ecf55e6c3b8c0b091a6d
BLAKE2b-256 f4d4dad0b7282ed515f30def419192ae47f2b99a9103bfceccae553c5aed00fe

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.6-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.6-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9b404ba19da7b6048b3b1caad1d17f3656404949d4a5291eab3199f1fd8f7d0d
MD5 d6580cf0fe65cb53798bba92b2ffa232
BLAKE2b-256 0d53e3b8c919c07153fc9f6a281f89ebd4477ebd17d64718071ce64d48635716

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.6-cp39-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.6-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ca8467586e862a05797cb77fe9b4b8a22a991128a7a6250bd29fd353e62d1e5c
MD5 347abc9161ae8a295b3ab34b7aa99638
BLAKE2b-256 04467bf12e37e34f347f3c0a69dcd70961f7e449c9045e7efccf3ee0f2469016

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page