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

[0.2.7] - 2026-04-23

  • Fixed autoflush on exit

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

Uploaded PyPymusllinux: musl 1.2+ i686

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

Uploaded PyPymusllinux: musl 1.2+ ARMv7l

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

Uploaded PyPymusllinux: musl 1.2+ ARM64

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

Uploaded PyPymusllinux: musl 1.2+ i686

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

Uploaded PyPymusllinux: musl 1.2+ ARMv7l

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

Uploaded PyPymusllinux: musl 1.2+ ARM64

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

Uploaded PyPymusllinux: musl 1.2+ i686

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

Uploaded PyPymusllinux: musl 1.2+ ARMv7l

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

Uploaded PyPymusllinux: musl 1.2+ ARM64

py_hpl_logger-0.2.7-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.7-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.7-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.7-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.7-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.7-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.7-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.7-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.7-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.7-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.7-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.7-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.7-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.7-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.7-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.7-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.7-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.7-cp39-abi3-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.9+Windows x86-64

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 54e11a3d91014f5dc9ee290e5b05d953352b19807ff9e69a19b40faeb9a573d6
MD5 5194571a833e194e0274491e40c88aff
BLAKE2b-256 9d5a6e48d354cea8c5cc985175fafe8b99cd1436e2b611e0ff847a1d33304dc1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-pp311-pypy311_pp73-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 2bdfd11b8334087246945476a8eb01bc8ae2319837ce070bfff3350262bce4cd
MD5 92aded593c5beec81b06c6254f01b1a5
BLAKE2b-256 1494f7e7e504f2e1bed3e7e330ee2cc809839501bbe6f7c496bbe33da916a3ea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-pp311-pypy311_pp73-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 91832b4772563eb1fa1bb022674b514a4dd405c04c0907068934ed2c52ed080c
MD5 d2557a783f1ada5a5f683a4cf959c0f3
BLAKE2b-256 100336129ed57e2ca443fe6bac10af3e09dc188e9957c846fc4f43564447a60d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 faa7e5c4faa7a89c72ab665c7e8282c0140443e923f3ba02fff095e270f0a8db
MD5 196aa8e22d4a125361530e7299b6977c
BLAKE2b-256 45e9f3c5c05a6d74adb70821e17c70e08233f345d95f02c371d08498b5e70855

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 49193e23bee370b9eb3b64ae1b464439b64798d83b04b34088576429e2cf8f60
MD5 17564aa4d740f5179eb76b190f0b2244
BLAKE2b-256 18460634b6c01f8ebb09205383f7283427a443a73127683e3d581825f0c456bc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 c6519e3dbee144f422f7573a14f9633c245ab07edeaff51625481aca2f865ffd
MD5 d4e19ea83444ff42481ceceb567d4ed7
BLAKE2b-256 fc867abc221e873b39b1199de9413d623786382d08dc3aad28eff46e40049392

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 1a9fe159ac6e3d4fcefb9b0da708a8a25c37d29d4bbbdeec29000b7ade307b71
MD5 ede88fab7ba98a98466b4010a8683f9d
BLAKE2b-256 de779f7deaaf0d59a32d2ea6a6280e2e1b6d40a3a6b0899363a0cbdeb7b86bf7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-pp311-pypy311_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 cfb5b78b0fb19887a8f6c1cd3fac7f631c5191c362cc9d00763cfe42b65bce1b
MD5 4af218ed14329e62620f18b12436cf21
BLAKE2b-256 682ecb1a37f37a7f0eca2a902589f2f7e29f607ae787eaf3a2071955cf0ddfea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 4159aa99274a916f8fd75e4bcc225f8c72ca0cd7b3939061d74a141eefc6998b
MD5 0181e5cb2297e56eb3738ddbddccfa84
BLAKE2b-256 9a144df46e1b598c49bd6370dbe3aaebc1af3fb67187de997b2a7c41bb630a38

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c60ede399cf2e63456c543039ebdf9277357a52db80a060661187c290033f774
MD5 e5f5d9c3914f0cd9ac6d8aa0e426f380
BLAKE2b-256 848f8ca0f0123207804505dcb0ca1010c84fcb4396acf209d726f9cff7c2b492

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-pp310-pypy310_pp73-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 95a45a8875f42eeee80717a82a30d026a970d5065245cd0dadac8233d35850eb
MD5 892754efb78d5a725bee458c4583d8a1
BLAKE2b-256 69d60291cbb45356ff3c315698f01737e79dcfc15e488a7d207c7b09dda1f0f3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-pp310-pypy310_pp73-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 f0ac81c32aad79ac4db8e4ed445a8028446b13388925c03150aba7b0155674b7
MD5 e5c5f9fbf7672510bd7e5e08b8c97934
BLAKE2b-256 564dd90606a0abca821f80ff07d25353bd334c33b828d5cb093e90a53cfb0001

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 385e163afb6076f5ffd09766288f7e370b89a87232c2214da6ff0161f3f0cb3d
MD5 f1c06d3c086a5aaaea5f8c6dd82bf7ae
BLAKE2b-256 c6a2f9ad5ed734e07900d82dfcfaf31657b30f16bbc2f42cd139624f3b10ed84

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 44295c5db0d53cd2c9780c68af06b446982ee7a9c6b992dadcde8de255f0917d
MD5 68411b8483ceea942ade5011350ba494
BLAKE2b-256 26f19b312635522b6fc0e87788a0653475a267644a12053cff54843247305e37

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 bf20234624e2165d8ab778c03c7e281914a3c881c2e5aecdba4de6f97d79de2e
MD5 ccbd75dfad7c256383b8897aa3f79b75
BLAKE2b-256 7005330fcf8849b2d13ccf54d0bbef51f8a55136cef1ded6046a0367bb98167c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 6606b4f6849308cbb6bab20fe11c7092ab32e6f4d86b8fede12fee14647a91b9
MD5 941fcc7edaa42be5046ea3301c68c1d2
BLAKE2b-256 15850973b6d6f057bf983b886a66525146f171801d608944c35a31f0fed89124

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 173891794161f7166a08c037ba70e70ecf653ed2c4d79f03dcaaf0e0016cb942
MD5 6eaa5d8f961abf3218af644047fc7755
BLAKE2b-256 8c51ca9b5672299ab7ae63abc93cca5772fddb729b02c7532f096f4027ba2a10

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-pp39-pypy39_pp73-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 c854eaa9bf13bbd24b24e1d1d537bf2b125d5fef7cd350f34244dc549cb2643a
MD5 acc1f7c5bdc28826f0c19562ce45ec2c
BLAKE2b-256 3f0d501f0f1352589591d6403ebae900072f77eb41b822c979e9824707aec84f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-pp39-pypy39_pp73-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 b5002e52a59705ba1447be8c4820985e5c669e9cb4b92f8808232cdcb38e87ec
MD5 8a3ff6a437e3c4d677142ae3b107090d
BLAKE2b-256 c7383ee0f8e1942e4fa0ae53d8f65665a9669aa504258a3cd1699f7e1db688df

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9b249bbce1af4ce7e47767aebae11b6247cd515c705a8f14f18428b09179868a
MD5 aaf949129177a2ee91f86877768ca5d3
BLAKE2b-256 ceae4fcd2ffd5540d80aefc690ca0fc093d004123cfa88f37f55ea8dc5800dba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 ee6d50ee264a92ebc7423a0b6be9b7e58d9779a105052be7140a5623d1644a3c
MD5 afaf544199163995c6aef7dda780843b
BLAKE2b-256 b25bf23cfe64f9c6e7d3c77fcd5e42e108420239683304eb9f87e003dceb59f5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 11f00affa3923043fad73cef9ce21f9ec1c838d74a81f9c5997b331e62ef8dee
MD5 6bca46c1f70fd467bde0d9acd8ae6c57
BLAKE2b-256 bef3e961f36b9138e553eb783568d50b3ae1749a1342341dcc20fb4058a7c608

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 2e503cd4a8cf59dd7c3580d48e016938d708854af2676b18d1f423e944d018d3
MD5 99b25c9d75a0cc82a72d10d00fc474f9
BLAKE2b-256 a3d6ee5402fdafa8d7fbf47393406ef01e9286f3f0e4848da663fac35c3a0a0d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 04983f6ac41ba0ca26fab70035a23920af98446d16604a3c55dddefa95ef7fed
MD5 4d2c1a7e2037451c33a1701933785c84
BLAKE2b-256 c5c08f6ae8618d43f2b46a4c1387ab5284921df11dc37680b5531d1f6ea32ab7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-cp314-cp314t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 29fc88ee2c090012553521ecbcfb35daad7d8eedcfcd2756df320351e8d6152f
MD5 751d90b6217adf2473a7dbb9ced70ec4
BLAKE2b-256 d0b256739c1f43ff2a6417f260a0278b818191b88422fb9b52667ca53ab545f9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-cp314-cp314t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 95e4728a726076755d97c1929870c00e275a4ea8bb3d3a26c2413a6cc8e7ceba
MD5 12201234f1ae574fcfd4e0193d692998
BLAKE2b-256 ab91c644750e4f5ac9b4b123e4a93d4895633a3ae3ba29baf3c8101cc09654fc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 ecbff43299265aa240af10f9f3c24e277fedd2d33adef89ed42a487bb16f2e05
MD5 bc49d475a51a642a0c71401d50533877
BLAKE2b-256 28859f90f2748a49d8ff57f2248f34047c1a4f4929e35c896337415c1b1356bd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 baa1e0662a86f949ae5137482bc4151a69e3480667da085fe003ff94bca713b9
MD5 0b0c97fe38fa3acfc56a1ad9cfb45a2f
BLAKE2b-256 1bc3c19f2b4ffda9066475adbf5e21ffb6d7aac205dfc0a1499c0bf967c5aaea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 477de68c2aaba2dab5cfa96fe0fdf400c55f5fa7443b42fb35435e93d6971e00
MD5 77cd805c248647ad5e3af580a57bef20
BLAKE2b-256 8560977ac1ec39cfc1e932b6e28916f76efadbcf2359c657a2bcad49ff5eebba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 1c2aa653c9d1d1c1dfcecf670b462b258b4ad16303da6ff5c1276ebe9628e16f
MD5 5744a427a4a521076bc2101bbed57911
BLAKE2b-256 b39ceb957e4b9e3efca74e3f2e86df298f3299c8c51eac4f8e32615a48f1309d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 119562e47cd2750f5df229b0e98511a64a39d54258d45abf98ad516fe0080d06
MD5 391e6f7c07670e801327abbfcdcbd497
BLAKE2b-256 d675c8e7d79235e2b69f0af20c9e4332f6ff510f59cb3a7990ca0ab1d503e69b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-cp313-cp313t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 4dff1af10b1a3a8154a7ebb9f2ec1728bed30a76e2f884f05a31fb6077205d66
MD5 406e59f20eaada0bac4a4c4e4597cd49
BLAKE2b-256 f9dc24a39ed10869a41a84b8a2e002781b3969363bb8b12e3b513f7d41b142c7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-cp313-cp313t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 723eddf6e451d158e4317d89403b2f21e08317d6e5f9c7dcb9eb248ddf80f9ca
MD5 a2dbdc8bd87df4a6d1d5f9ccd5e45b0c
BLAKE2b-256 6dcbc537b7d9b9ded668695899ecf435552d3e32958de6251ecb063eeaa9b79c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b91ba420eb26ab30aba285125109bbc7de07efd8dcb39dae8786ba05a7d47930
MD5 2082e3140d58a97f75659d967818b2cb
BLAKE2b-256 d975e6b9e19665fc42dcd93f910c1d7ef1f3fcf714a3fc5cfe20e57b9fd803d2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 e9a472bfec1f84e5e9414fa1b48b619f086f62993f1554c7d3975ed546945412
MD5 653afba0197c68e91b9140fee69b86dc
BLAKE2b-256 2dc9939031b737c6906268a1c7be9ed735f6525afbd388a41a062fca42c327b3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 e24b3e5fcf604437ebf06e04049cf4a6912f56862e7072a88cbcbc847545f58b
MD5 4bbe2c935a8250cfad5e6430e260a0e4
BLAKE2b-256 dc11796834bc6764268e3b2552664ec776d10f56c163ae9c4b1eaee921268a7c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 284766a10ad887b75833bbc89993bbf950cf81459aad08a92ac626fbb6df7276
MD5 240765e6f9f386712a5cb240d3e35beb
BLAKE2b-256 40db87eb36f9e07219b67493887078b98169f08f06b32db34954e4f3cdaf31e4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 b54f2b2600dfb43941e576dd46d10a5e066418ce3a94c204a3a3b444b51d4973
MD5 b8399a4877ec6f19e5e6475b28ac4678
BLAKE2b-256 143d4c72e2376632b97fcd01b7e286dfe07804e0ab63ce064aa12f2bf42f0abc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0e48a7a825792e205f85b58c75cbe7d632195ad0167cb16805d6d2add30b7143
MD5 b6c85ce8d697240f8d2d086438a8560f
BLAKE2b-256 9661f5b5a9bf40b36a3d2c7336316a864f5a84e331ae12794ae257cb5389604c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-cp39-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 190e3c365f6278751682ca90052c6e8092fd37e396d7e773d6fb1896d1593a9e
MD5 476a2ec29a54394f0e0e01da15662c1d
BLAKE2b-256 dc4cda306082d6ca75245163f2f05f4359cd0e1ff8e59fc7cc647082f2255e85

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-cp39-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 f9c98b8b0f368889389e71585ae9350d1ed87247877d1153df5033077c863d40
MD5 af46ae282fac690f07e296b08e37ad7c
BLAKE2b-256 2b1573e85ece9fe6bba4363aa4429387399b5f3c45320d5eb46bf1652caecc6c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-cp39-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 93c262678ac949f2f5bb779453aba90e227e09b9a88a025ddf4bf62ec3f4d8b4
MD5 4ec27f8c996edc0e41071363c5033184
BLAKE2b-256 58acb7deb385838790385a9c1d53c7859df84fc36ba412370927a68975cf16fc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fd419ba714a9b55f7a199ad0a2c2570a5c3d3d2b69bda8ea18d117b1ef7dc722
MD5 81321b9ebbdb37dcb01ca83acbc5a3cf
BLAKE2b-256 faeb0911d50b751ac2382f6d4da77b0d3432d5c0ffad82109817b14a97edc8df

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 e80fa55f6ecae888f0143538a325a912cce3ac5bfa85bcbde05f68eba5211a73
MD5 828c26696ab06fc97d9efbb3b94026ce
BLAKE2b-256 0f9c81ecb04cb723040192c56541561a66bfb320e75d8c49cc13ca0054cde411

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 c9875cd4f593bddd679f958e7ba27087bb746ec6f4ced4e5168bd7c6af7717da
MD5 4367e814ea678d5c43f45de22ca14fd9
BLAKE2b-256 11571a1fb8e14f7b556491585a02c432f2b41d1df6dd18df4df432764560b0cd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 8bd09d3fb746e66d34f8cb64db2f801e4356cc3da9903f08afe250bbd781ea3e
MD5 17aa4b908f190b0976bf9e9b9395074e
BLAKE2b-256 7bc9ce95b423064845972ea0edfd4cd325d0a419974218a403c688b339be73ed

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 d8a6e4d204204aede7ea3f6a4927f5474b55176b21af368a730fbac2080702fe
MD5 f006b2ce4e72b073c95ba9fef926e32b
BLAKE2b-256 a7b68867a90a4c2e0ac35b32896d8ff76f319e96a5affb509e04db706b141c32

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5c75637d1d512e94248588b8d23ad9c9d90f28730676a6b6b089651f35e19fb0
MD5 123955c547f991f316b956c5110c5c4a
BLAKE2b-256 1bab355fca9ea343aeae05e686cdb64d18e42a1ae67ed201b1194eb3fdfc41aa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_hpl_logger-0.2.7-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c13ed74466cf76adfa75deac48caed38def4657374a777374f00e32fefa2e0e8
MD5 32175c9d59101f33a715d7a51e86c694
BLAKE2b-256 dcc4564a1a639f67b22ef370bff92fea94b5c02e66f0b8bb947024f63619ec14

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