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.

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.")
    
    # 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()

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.5-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.5-pp311-pypy311_pp73-musllinux_1_2_i686.whl (2.4 MB view details)

Uploaded PyPymusllinux: musl 1.2+ i686

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

Uploaded PyPymusllinux: musl 1.2+ ARMv7l

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

Uploaded PyPymusllinux: musl 1.2+ ARM64

py_hpl_logger-0.2.5-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.5-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.5-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.7 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ppc64le

py_hpl_logger-0.2.5-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.5-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.5-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.5-pp310-pypy310_pp73-musllinux_1_2_i686.whl (2.4 MB view details)

Uploaded PyPymusllinux: musl 1.2+ i686

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

Uploaded PyPymusllinux: musl 1.2+ ARMv7l

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

Uploaded PyPymusllinux: musl 1.2+ ARM64

py_hpl_logger-0.2.5-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.5-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.7 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ppc64le

py_hpl_logger-0.2.5-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.5-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.5-pp39-pypy39_pp73-musllinux_1_2_i686.whl (2.4 MB view details)

Uploaded PyPymusllinux: musl 1.2+ i686

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

Uploaded PyPymusllinux: musl 1.2+ ARMv7l

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

Uploaded PyPymusllinux: musl 1.2+ ARM64

py_hpl_logger-0.2.5-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.5-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.7 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ppc64le

py_hpl_logger-0.2.5-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.5-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.5-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.5-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.5-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.5-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.5-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.7 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ppc64le

py_hpl_logger-0.2.5-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.5-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.5-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.5-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.5-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.5-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.5-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.7 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ppc64le

py_hpl_logger-0.2.5-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.2 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARMv7l

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

Uploaded CPython 3.9+Windows x86-64

py_hpl_logger-0.2.5-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.5-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.5-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.5-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.5-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.5-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.5-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.7 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ppc64le

py_hpl_logger-0.2.5-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.5-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.5-cp39-abi3-macosx_11_0_arm64.whl (2.0 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

py_hpl_logger-0.2.5-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.5-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9a21ff40f3de1ce8989cfbff62d91a7f18ac0463b03105a4cd2cac694294940b
MD5 f1d1d5ad6bb966ecda6ae08ef0bd0a97
BLAKE2b-256 8935784c6b0395588e6715680efd855dbf46aff195845989cacee99105b6690f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-pp311-pypy311_pp73-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 cdeece3b77b66b812100fe988ddf541dd41fe3877a8a5f01d2362188206a9d49
MD5 eb3ce31b421c6a6c7c54ce1c10857126
BLAKE2b-256 cf992e75cd23a91109ccd23c42c4be1d5fb813912ce42af73da734039aae6af9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-pp311-pypy311_pp73-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 b889b3fa2714224a0fec91eb572e894b21579125a0645b1bd90bd9f251424d75
MD5 167fba25305fe7251c7fb35a661e4ed1
BLAKE2b-256 87455a13802ffd8b0ccf6162de78884d35bf1a63774f4e7bd0375fef97755ae0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 7e9ec3e6bfd8521b89006a56a4aae21c59a0e3c148f11d7e205efb1cbadb0585
MD5 e59f18bf6b63ce636dc59fd39652db81
BLAKE2b-256 013dbade1614499f8ca82363af28b5a84d07951561aca1a0a98b25f9a6b45b8a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 327ce00740fbc6b7f92eeb44e08145aae4da2e6580cc4b4618246115d3d1a2b1
MD5 58b375403a00979cd2ffd486771d7b10
BLAKE2b-256 924ba88926b1915cd37792fc0f905782d8c031fa34c078ad868c7141436a030e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 6be2ae09f0030bf0b5237181e1add9c6bf61a4c4ee9c7c032d987403a3f506d2
MD5 fd212004a9d6aa3ecfc285255587b4e7
BLAKE2b-256 210e1fecb916c2e09ee1c90840571c0a603ab3a8d35d072bc32876627e10a608

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.5-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 0ef0b60e3ab7c73513eb24d65987ca9683ade6bb201090d67d4787b0927ce928
MD5 23d497fb503b28dd67672406610a779b
BLAKE2b-256 7164c7d90420ea04e2f64092d8e947d132003865f63447088b741397fb307f0f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-pp311-pypy311_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 5ef48f1ebf9250e4710def07c41886fd0d22ece6dc5d5cb3675601ddecb9b8ea
MD5 d9e8e9ed727821f60c2c14cfbea27f08
BLAKE2b-256 e0162c99cb39b119838fb5ace66fc6aa039cbccfe9b9eac657f31cac93d5d437

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 1c858d5f68c320688829d6cafa02081bb3a3adfb97e9f009b34a6341307df199
MD5 7511adad1ca7d2744e0acb0007596edb
BLAKE2b-256 b2c00d41a2e0b6b9dde4f616c29d3969ba3c0fd66f513e483f1dd1233c07a196

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9d6c0e352e5a1329da6cc801d76a5455a08af1561f59fdf42190e61f36e667c0
MD5 df6385371a71cee1f183d7d51f3b358c
BLAKE2b-256 4c11f52ed50e6887ea19f7ef03a6a8695e4beec8239a30a83cbdc81d6b785048

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-pp310-pypy310_pp73-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 7ab228cfa630c0647db2547d04eb54ed78d31bb7805dd78fbeeedf44f21cf03a
MD5 5a14e1d6f8918040b72cacc53d42ea8c
BLAKE2b-256 ffe021aa5fab950c472ff7ec96e6d759f7e6259552e6b3affee0191fe1aa35c8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-pp310-pypy310_pp73-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 0926d4064476d817bde72d3e3586871285b96cc338ff2014fe5fc24db2235ece
MD5 d431c779d851c2c0ec54190a7f95cdad
BLAKE2b-256 f40a736938e40d9d248e8c857365142dc86a5dc7443edac31b7a02eb2f1fa0f3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 bdfdc6bd6204cbd94f797239d574e807dcac6e04d83558cf8affc5b10696a21c
MD5 70055004489e2dd71a1a6dcdbf20dbaa
BLAKE2b-256 9f5ab2650fc4a94a0aa341913844ec00e0fbb0770f19b37b86ae6e45434197a5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 c9e5a5a71195529b7e1dac385f940336623cb92e7551107aa59e031b91f48a55
MD5 e0c49f8962ae56e6d45f21521409ec69
BLAKE2b-256 b4044511b8784379a54454e2a9d21152a8a0a4ad0cc1612f9ea1d9197628d221

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.5-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 ad2ed8a50ca0b2e2d612407a4c00eec58d0ca6d04678fadc36821de9d4a9c20a
MD5 cbf25be01ac37ddb04d35e0f007153fd
BLAKE2b-256 0d2da91a6a39a86a94076688f690f99f1926fd2982e0af89bd9065278d85566d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 aea91a7db3b1fe7f9172c67e4ab1f17a0704d0442f82742358fa9bd9616c812a
MD5 f24f83fc7d68ee0bc13ad74593dc29ac
BLAKE2b-256 5b396b16ebd0cbc573a3cc602267313fb3f91287d0036382b5d8cafeb69687fa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 90597e2a38deee21de9b147a9bf64d9f721b459554fe17481c6773a57fa8e501
MD5 eb8dc39d5d529105931df11595f0a35c
BLAKE2b-256 9be5ba5cd6aa942fb022d020f359a3d681607ddef7173b1b902eab61b22a84dc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-pp39-pypy39_pp73-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 217a9e2e9ecc10970510f0135baa996cfdda5674711eeb56a6186b5e604bcb52
MD5 74c638b51dbce7b9687e7131e392778d
BLAKE2b-256 0596275362d476be3e70e9e63999bb22d907ce8e553206c3ebe619397283f524

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-pp39-pypy39_pp73-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 682bbcfd463e2eb39ccb15c8a2f90fed7c8ed64d0cef7ccfbbe3216d9b5f6a7f
MD5 203f1e1a627924fdd02708bc94696965
BLAKE2b-256 510eadfccfe2ba218f6107a13f3d2604331c33e9d25f0c2a5ff8e980ccef974c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 819f34d2254e8bad216ed2405fcd700f9642f6c81f8950abe5bb16ff5bd482c9
MD5 0ffd1b15f7b2b117464dedffe7c69369
BLAKE2b-256 a9ef324eb24e91dd845e46d229e726e96ab70e0b2b0cfd343eadc3c9d84b3788

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 36362742b02195448a7434354bb016cd94ebe8e6b0cd56c849ec2d2828b06cc7
MD5 b7135fb481f7a5ee903c3a57ce2990d9
BLAKE2b-256 596aeb2f1c105ca1eb8ff29ed31ac9f0b14d2ded2ac0693f439b8b096b08c96a

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.5-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 ce04ade38cb1f120bc3e6536a9ed4bb55d5fa60448bd45bdada64768433a0423
MD5 594d3c9381c2201cdaacffbdcaa2dd44
BLAKE2b-256 2b0647c031a5164678fdf6a7e4ed62f5571acd0f5551dbde623984646acdc465

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 bf39d3fd80a297dd1add4d1286e6c7faa0173134dea2a41babecdc74c47abb5f
MD5 c57b9504a3ee41982c1b163f51e25332
BLAKE2b-256 f75ca202442af9a56fc9464d15b559cbf64cee442ca6073f22fa7bb5b102dbb3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0aa23521dac1964541c3932efa1b38b52a0dedd1e16e3dc98c9dc641df3645fd
MD5 63dcc09556f57979c48c8632feb3aac4
BLAKE2b-256 c1ad28fe9d3f00fa69c67495a113b5f71ab8f0c4e203b2e5e77c2c558d18e93d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-cp314-cp314t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 b3c6b5908349bd1bacd6cd09a4849c96c0df9866b65bc907211074f574ed79e3
MD5 7bd24bdd1a3010428d7c9b2f0f11693c
BLAKE2b-256 5a223a010859cf5cb324468d6bb1815849b8837f398333c3bc3906fd86989c87

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-cp314-cp314t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 b8a1de0ed04ae59feb33480701d610b42afaf6a80a752eed4fa8ad4b840c69a2
MD5 12f334af9a8e2f916b6c45b03581ba74
BLAKE2b-256 b82c76b09480264d21677dd1bd174d3ca52d9be5d7180e089a2252aa83fb496c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 44c99d4a78ca47708369d3b60428f5cf3a13a641b650aaa9265d178ac5f0144c
MD5 ac82e749bbfb9d97d01a2e712c972f90
BLAKE2b-256 e31fe4d90847eeb45c6ac389b09953f4b6ed26cc34283324323b83fb825e1592

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 1395cd44870059eaa36e888c2b4ba44e24aa4862cf2416101bd14c26a8895d21
MD5 6ecabf91ff62586f265eb425e76855d1
BLAKE2b-256 7dc5874cda10672b8a76b374457c58883ed3bf8827c253d649803f74bbd49c94

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.5-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 6393965fefc0cf9cec784d9856c6d1a12930a35c3dbaf4bddef5bdbde66d90e7
MD5 cf14539a485f2d36ebe29fa3d55daf94
BLAKE2b-256 1f0508d2ced1e80cba4973c765f0ce0498716bb59d61f29617521109b21dba2a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 ad9143f5c370f7f4a157133a58530b83039a42bfc5d6222e417ff2ca752fd89b
MD5 399552e0d383e74d010678a9abdf031f
BLAKE2b-256 5a632c45563b525eada459aaf42b3e71f10af6f7d025a840b4089647ef71cb86

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b9c7d77cb1ba6e745cfb9248ff7659c93e12261c40a0143aa6a95eb8653f4c20
MD5 3702d6bb1e5122548e749b4f56ceb2b3
BLAKE2b-256 fa19127ffc8f4366869ee86a3157f85593ae348e00e86724d39a5f35e0d01bc2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-cp313-cp313t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 59d9bc8734930f90fc8a2bf64f799cf6aae1b4c5dc82f2b78a5d2be0ba84d772
MD5 dc8f4a13dc721d152a8464f87b0b276f
BLAKE2b-256 8c5777731300dfaa8a815a65cda65c8d5bb7bc99f7ea9fcccb887e78d8c9f930

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-cp313-cp313t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 4a513c4b29602f33e413715e583affb6a9a73e7f4e03fb09da2cda30cd3fce5e
MD5 2f2956719396c0046c9f2e75a44691a9
BLAKE2b-256 705adbc3d35a0555455e756dfe44d94c8469dd721754cccd5cccada6f7af876c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 516cd2178789582f1e1238210212a59f0aae12ddfa6b7a87eec505c86e1e01b3
MD5 4d0fc856210e7930c0e14c0f4b12445d
BLAKE2b-256 311066e4547ac70b25e2b22c923fb026e83d94c5c51fb4ee8760172438f61a3c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 e4e56c3391ac9c029411586007b12295f44fba3e69b478dedec15c094e3bda24
MD5 7ef65bfade5df333b3b285fb0427fcbe
BLAKE2b-256 ec073ab4073d0b5de2012206c56576454e716ab68a0f564296e3136226eb0b8b

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.5-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 f437030d87ab5b03987675d727a91faeaf5f75cfa0741fe07da9d625383806cb
MD5 44b74a4c0ed24d40cb1df46974849768
BLAKE2b-256 0ab19e8001492e6f6b894146b3ff340c4c5bb8b1c60b8df95d70369881c80825

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 6229b1a929bad5a826a06c1b5e5e4f26897c32e12075f555021e965c636c88b7
MD5 22eb6f7505193820f55bc910784ecbcc
BLAKE2b-256 1ce9bb898b62f6d2aaeee774c7f59bd9d8707c2f6de7bbf0a7519f6efcd98c4d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 bb80bd441d0826398dccf9ac0bdc28516592296aa0e6da3471de827f0938f4e4
MD5 aca4328f0f48af1f16d0415ae6ccb7e0
BLAKE2b-256 184b6b46854d58647f916105a96e00bf2d9d5a472abd27d323d7237e9a455ccd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 03cfc7210870a14188f8e0d4d23d06c6e6e60a5c6ee624ca6565aebc22e7dc4c
MD5 ea99afe1028368473f887ab8c754eb03
BLAKE2b-256 46ea7d6948746057518771d310b04afa7cd4ff7aaca8e11148fde127aeb6391c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-cp39-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 f7ba4ae9e6336194e49c9b80028146ba114b71f04a4d79a84c69ff348e94ff4f
MD5 56faa15b527af520f261260058d128e9
BLAKE2b-256 3d8d2cbbbcbfd411ceaf9b8c62c8244bb1ec45ba84f4fd21ff988acc382ef124

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-cp39-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 6bb360543d2b8863a5ce6f3327c94ca7626dfce1828d40fd590a7524e1e5a974
MD5 7576ddb6f27763ae0b0991728bb942c9
BLAKE2b-256 9697b94077c24811e10467b889ea4435f1953dde4d59993e5e2b7b57307d80e8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-cp39-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 d6641d3b5dbe61fce4bde95a3a98749d177e3e023380d954b608b1c518810032
MD5 452695dc47775ac2274b2ee355b55b9a
BLAKE2b-256 f830015b77035166a7e901e70e537c3ff69fc834e90c06b0b114362ea5d333d8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 16910e7f8e0ec44a7e0748109a45d5fb625cef5d7d507496ae6f937015b3471e
MD5 639e32102efc439b0278976d7aea8491
BLAKE2b-256 8a170e923d946d2d62ea47ef5e5a9e4e36a4a6bdecf73f8e73f74d95cc6d2959

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 70efe67e092a15ab020a907450a22ffca4e2cc50d1c4cacbc0580d11b0e59ce1
MD5 ba8ac791a26d2eea31b3fd5a00db367a
BLAKE2b-256 5defe9fe30f201e48f9db17b4ee2ee0e1a32388cdb9695fcdd2f716dbd800287

See more details on using hashes here.

File details

Details for the file py_hpl_logger-0.2.5-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 2862b06f2aed3738a1720323a56a591fa9d72d795f5aa4df3abda560235ae23e
MD5 46edc4d0b28de4398d1b085d5b8484f0
BLAKE2b-256 4eb353c3d9651205b92faa8f1544111dd541cfbbf8dde363c3fe008b4655eff2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 fc725ba080e1ce03e82b4eb0b96b0fcc185968c5e71a7c96cf44c015a5905967
MD5 80f3ebf7c0338dc6787a7b754e8c6b6b
BLAKE2b-256 adae097bc857e7dbb3c1c598a24c5a93ae133c750bdb557e7dac6dbfb2bc294f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 cc586fa37e8e88134984eb287ba3317b7be6e64570f46fa4327d33111b4b25ff
MD5 24056b9a50f743c5a28d8c4791662843
BLAKE2b-256 7b26487b9de84db5bf1726da5a52d6ce53a5b8b4b1b675f0cd6295cb7a240f36

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a57c7001d457e4ca30a57b5c592c09231ce32c13a7f7cdfcb4e2149ab8dace83
MD5 bb72e1f8a60dce3e6e83c34a9e415c88
BLAKE2b-256 f5c5336add38cb3fb8d7d1a8ef1ccd677d1d699e091a3914dcbd84d2fef7aa53

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.5-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 9e3afaf040b6ec914f9dac70939c92520bce1fb3393208d75dce43df29474ada
MD5 40757574bf7eead6064816af83472ddc
BLAKE2b-256 4dadd053916c3704a24835c2d23d843ced355382f7dd47027aabb9ac1ec4ab22

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