Skip to main content

loki-service

PyPI version Python License Documentation Status

Python logging handler for Grafana Loki,支持自定义 HTTP Headers、Basic 认证、异步队列、结构化日志。

特性

  • 开箱即用 — LokiLogger 一行代码完成异步队列 + 控制台 + Loki 推送
  • 生产级健壮性 — Loki 异常静默隔离、HTTP 请求超时保护、队列满时非阻塞丢弃、进程退出自动 flush
  • 结构化日志 — 自动注入 path(调用者文件:行号)、ip(主机名)、trace_err(异常堆栈)等上下文字段
  • 控制台着色 — 内置 ColorFormatter 按日志级别彩色输出,也支持自定义 logging.Formatter
  • 多租户支持 — 通过 headers 传入 X-Scope-OrgID 实现多租户隔离
  • 灵活组合 — 底层 LokiHandler / LokiQueueHandler 可自由搭配标准 logging 模块
  • Loki API V0 & V1 — 支持 Loki < 0.4.0(V0)和 >= 0.4.0(V1)两种协议

安装

pip install loki-service

快速开始

LokiLogger(推荐)

开箱即用的生产级Logger,内置异步队列 + 控制台输出:

from loki_service import LokiLogger

# 完整模式:控制台 + Loki 推送
logger = LokiLogger(
    app_name="my-app",
    loki_url="http://loki:3100/loki/api/v1/push",
    level="INFO",
    env="production",
    headers={"X-Scope-OrgID": "my-tenant"},
    auth=("username", "password"),
)

# 本地模式:仅控制台输出,不启动 Loki 推送(loki_url 默认为 None)
logger = LokiLogger(app_name="my-app")

# 基本用法
logger.info("用户登录成功")
logger.error("请求失败", status_code=500, request_id="abc123")

# 传入 dict 作为消息
logger.warning({"event": "timeout", "cost": 3200})

# 在 except 块中调用,自动捕获异常堆栈到 trace_err 字段
try:
    1 / 0
except ZeroDivisionError:
    logger.error("除零异常")
    # 输出 JSON 中将包含 "trace_err": "Traceback (most recent call last)..."

# 如果不需要异常堆栈,显式关闭
logger.info("普通消息", is_trace=False)

# 额外关键字段直接传入
logger.error("订单失败", order_id="ORD-001", cost=3200)
# 输出: {"msg": "订单失败", "order_id": "ORD-001", "cost": 3200, "path": "...", "ip": "...", "trace_err": "..."}

# 位置参数 + msg 关键字同时传入时,关键字值存为 msg_extra
logger.debug("主消息", msg="补充信息")
# 输出: {"msg": "主消息", "msg_extra": "补充信息", ...}

# 启用 asctime 注入
logger.info("带时间戳", is_asctime=True)
# 输出: {"msg": "带时间戳", "asctime": "2026-07-08 15:30:00.123", ...}

自动注入字段

LokiLogger 的 info / error / warning / debug / critical / success 方法会将消息序列化为 JSON,并自动注入以下上下文字段:

字段 说明 示例
msg 消息文本(当 msg 参数为 str 时) "用户登录成功"
asctime 时间戳(毫秒精度),仅在 is_asctime=True 时注入 "2026-07-08 15:30:00.123"
msg_extra 当位置参数和 msg= 关键字同时传入时,关键字值存于此字段 "补充信息"
path 调用者文件路径及行号 "/app/main.py:42"
ip 主机名(HOSTNAME 环境变量或 socket.gethostname(),- 替换为 .) "my.server.com"
trace_err 当前异常堆栈(仅在 except 块中调用且 is_trace=True 时注入) "Traceback (most recent call last)..."

额外的 **kwargs 会直接作为 JSON 字段输出:

logger.error("订单失败", order_id="ORD-001", cost=3200)
# 输出: {"msg": "订单失败", "order_id": "ORD-001", "cost": 3200, "path": "...", "ip": "..."}

LokiLogger 参数说明:

参数 类型 默认值 说明
app_name str 必填 应用名称,作为 Loki 标签 app
loki_url str / None None Loki push API 地址;传 None 时仅作为本地日志使用,不启动Loki推送
level str / int "DEBUG" 日志级别,支持字符串(大小写不敏感)或 logging.DEBUG 等整数;无效字符串回退到 DEBUG
env str "dev" 环境标识,作为 Loki 标签 env
extra_tags dict None 额外的 Loki 标签
queue_size int 5000 异步日志队列大小;队列满时日志静默丢弃,不阻塞业务线程
enable_console bool True 是否同时输出到控制台(stdout)
headers dict None 自定义 HTTP 请求头
auth tuple None Basic HTTP 认证 (username, password)
formatter logging.Formatter None 公共自定义 Formatter,同时应用于控制台、文件和 Loki 输出;各输出未指定时使用各自默认格式;传入 ColorFormatter() 可启用彩色输出
timeout float 10.0 HTTP 请求超时秒数,防止 Loki 不可达时阻塞程序退出
log_file str / None None 日志文件路径;传 None 时不写文件;目录不存在时自动创建
max_bytes int 10485760 (10MB) 单个日志文件最大字节数,超出后自动转轮
backup_count int 3 转轮保留的旧日志文件数(即最多 backup_count + 1 个文件)
is_asctime bool False 是否在日志 JSON 中自动注入 asctime 字段;每次调用时也可通过 is_asctime=True/False 单独覆盖

文件日志(转轮)

通过 log_file 参数启用文件日志,内置 RotatingFileHandler 自动转轮:

from loki_service import LokiLogger

logger = LokiLogger(
    app_name="my-app",
    log_file="/var/log/my-app/app.log",  # 目录不存在时自动创建
    max_bytes=10 * 1024 * 1024,          # 单文件最大 10MB
    backup_count=5,                        # 保留 5 个旧文件(共 6 个文件)
)

logger.info("这条日志同时输出到控制台和文件")

转轮规则:当 app.log 达到 max_bytes 时,自动重命名为 app.log.1,新日志写入新的 app.log。最多保留 backup_count 个旧文件,最旧的被删除。

LokiLogger 生命周期管理

LokiLogger 在进程退出时(atexit)会自动 flush 队列中剩余日志。也可以手动关闭:

logger = LokiLogger(app_name="my-app")
# ... 使用 logger ...
logger.close()  # 停止队列监听,等待剩余日志发送完毕

如果需要获取底层 logging.Logger 实例(例如添加自定义 Handler):

raw_logger = logger.get_logger()

自定义格式化

各输出未指定 formatter 时使用各自默认格式。通过 formatter 参数可统一自定义:

from loki_service import LokiLogger, ColorFormatter
import logging

# 启用彩色输出(按日志级别着色:DEBUG灰/INFO绿/WARNING黄/ERROR红/CRITICAL紫)
logger = LokiLogger(app_name="my-app", formatter=ColorFormatter())

# 完全自定义格式(同时应用于控制台、文件、Loki)
logger = LokiLogger(
    app_name="my-app",
    formatter=logging.Formatter("%(asctime)s [%(levelname)s] %(message)s"),
)

重复初始化警告

如果同一个 app_name 多次创建 LokiLogger,由于 logging.getLogger() 返回同一实例,新的配置参数不会生效,并在 DEBUG 级别输出警告。请确保每个 app_name 只初始化一次。


LokiHandler(底层 Handler)

适合需要自行组合 Handler 的场景:

import logging
import loki_service

handler = loki_service.LokiHandler(
    url="http://loki:3100/loki/api/v1/push",
    tags={"application": "my-app"},
    auth=("username", "password"),
    version="1",                              # Loki >= 0.4.0 使用 "1",< 0.4.0 使用 "0"
    headers={"X-Scope-OrgID": "my-tenant"},
)

logger = logging.getLogger("my-logger")
logger.addHandler(handler)
logger.error("Something happened", extra={"tags": {"service": "my-service"}})

LokiHandler 参数说明:

参数 类型 默认值 说明
url str 必填 Loki push API 地址
tags dict None 默认 Loki 标签,每条日志都会携带
auth tuple None Basic HTTP 认证 (username, password)
version str 自动 Emitter 版本:"0"(Loki < 0.4.0)或 "1"(Loki >= 0.4.0);未指定时使用 "0" 并触发 DeprecationWarning
headers dict None 自定义 HTTP 请求头
timeout float 5.0 HTTP 请求超时秒数

SafeLokiHandler

SafeLokiHandler 继承自 LokiHandler,在 Loki 推送异常时完全静默(吞掉所有异常),绝不影响业务逻辑。LokiLogger 内部默认使用的就是此 Handler。

from loki_service import SafeLokiHandler

handler = SafeLokiHandler(
    url="http://loki:3100/loki/api/v1/push",
    tags={"app": "my-app"},
    version="1",
)

LokiQueueHandler(异步队列模式)

使用 LokiQueueHandler 在独立线程中发送日志,不阻塞主线程:

import logging
import loki_service
from multiprocessing import Queue

handler = loki_service.LokiQueueHandler(
    Queue(-1),
    url="http://loki:3100/loki/api/v1/push",
    tags={"application": "my-app"},
    version="1",
)

logger = logging.getLogger("my-logger")
logger.addHandler(handler)

Loki 标签体系

Loki 使用标签(Labels)对日志流进行索引和查询。以下是各组件的标签行为:

标签 来源 说明
app LokiLogger.app_name 应用名称
env LokiLogger.env 环境标识
host socket.gethostname() 主机名
severity 自动注入 日志级别小写(info / error 等)
logger 自动注入 logging.Logger 名称
自定义 extra_tags 或 extra={"tags": {...}} 用户额外标签

标签名只允许字母、数字和下划线。包含 . - 空格等的标签名会被自动替换为 _。

多租户(X-Scope-OrgID)

Loki 多租户模式通过 X-Scope-OrgID 请求头区分租户,使用 headers 参数传入:

from loki_service import LokiLogger

logger = LokiLogger(
    app_name="order-service",
    loki_url="http://loki:3100/loki/api/v1/push",
    headers={"X-Scope-OrgID": "tenant-abc"},
)

logger.info("订单创建成功", order_id="ORD-001")

等效 curl 请求:

curl -X POST http://loki:3100/loki/api/v1/push \
  -H "Content-Type: application/json" \
  -H "X-Scope-OrgID: tenant-abc" \
  -d '{"streams": [{"stream": {"app": "order-service", "severity": "info"}, "values": [["1234567890000000000", "订单创建成功"]]}]}'

生产环境注意事项

  • 队列溢出保护:当异步队列满时,新日志会被静默丢弃而非阻塞业务线程,防止 Loki 故障拖垮整个服务。
  • 异常隔离:SafeLokiHandler 会吞掉所有 Loki 推送异常,logging.raiseExceptions 也被设为 False。
  • HTTP 超时保护:每次 Loki 推送请求默认 10 秒超时(可通过 timeout 参数调整),防止 Loki 不可达时 listener 线程无限阻塞导致程序无法退出。
  • 自动 flush:进程退出时通过 atexit 自动停止所有 QueueListener,确保队列中剩余日志发送完毕。
  • 重复初始化:相同 app_name 重复创建 LokiLogger 时,新参数不生效,请注意避免。

Metadata

Release files for loki-service 1.4.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for loki-service 1.4.1
File
loki_service-1.4.1-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
loki_service-1.4.1-cp314-cp314-manylinux_2_17_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64 Details
loki_service-1.4.1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
loki_service-1.4.1-cp313-cp313-manylinux_2_17_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
loki_service-1.4.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
loki_service-1.4.1-cp312-cp312-manylinux_2_17_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
loki_service-1.4.1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
loki_service-1.4.1-cp311-cp311-manylinux_2_17_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
loki_service-1.4.1-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
loki_service-1.4.1-cp310-cp310-manylinux_2_17_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
loki_service-1.4.1-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
loki_service-1.4.1-cp39-cp39-manylinux_2_17_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
loki_service-1.4.1-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
loki_service-1.4.1-cp38-cp38-manylinux_2_17_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ x86-64 Details

Total release size: 8.1 MB

Release files / loki_service-1.4.1-cp314-cp314-win_amd64.whl

Download URL loki_service-1.4.1-cp314-cp314-win_amd64.whl
Size 155.9 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
1a2c877547d9952bb73700d7cbee599ba1c970167969f5d34fc81b86b3a51d7d
BLAKE2b-256 checksum
How to use checksums
5255375d29dc747eaf590bf7ec5146769f7dda05b2528f5729cd374e2b9737d5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 25, 2026.

Transparency log

Release files / loki_service-1.4.1-cp314-cp314-manylinux_2_17_x86_64.whl

Download URL loki_service-1.4.1-cp314-cp314-manylinux_2_17_x86_64.whl
Size 969.7 kB
Tags CPython 3.14 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
8c4e3f525cd0a393cfe7762ed947cabf24b0a9ba0ab5bd1df708c5ebc8bb9b0d
BLAKE2b-256 checksum
How to use checksums
b2f68ccf4fd9a9c26b573be84b6edc6239dc9603bde6ada14ea6913800f5e73d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 25, 2026.

Transparency log

Release files / loki_service-1.4.1-cp313-cp313-win_amd64.whl

Download URL loki_service-1.4.1-cp313-cp313-win_amd64.whl
Size 151.5 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
cec7d4eb1c8088497c9642dcff7530102c72871b6e4b14ce4046c5cd5f271781
BLAKE2b-256 checksum
How to use checksums
9223f9725149897ef1cd6c1b936c2fdacd7521e0339a7cbf23a77bd728d93fdd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 25, 2026.

Transparency log

Release files / loki_service-1.4.1-cp313-cp313-manylinux_2_17_x86_64.whl

Download URL loki_service-1.4.1-cp313-cp313-manylinux_2_17_x86_64.whl
Size 980.2 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
27b2fe4e7eb0146a9ac00b07af617340db349237f48245f2f4cce6ae21a2e812
BLAKE2b-256 checksum
How to use checksums
f602d79c2c6ee4446874e8548491f8307b63fb91e2f3ee3d3e05226f8226cf78
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 25, 2026.

Transparency log

Release files / loki_service-1.4.1-cp312-cp312-win_amd64.whl

Download URL loki_service-1.4.1-cp312-cp312-win_amd64.whl
Size 154.1 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
0a97f1c5b26b897b0b56c91088af01e7a74d97d1a7fd0bd00b4bdc26e005f268
BLAKE2b-256 checksum
How to use checksums
6de5e265eb06cb60e36b22cb88f8ed4cc305036f2cb181889613e4842489ae8b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 25, 2026.

Transparency log

Release files / loki_service-1.4.1-cp312-cp312-manylinux_2_17_x86_64.whl

Download URL loki_service-1.4.1-cp312-cp312-manylinux_2_17_x86_64.whl
Size 1.0 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
e2abf3a5f1248a58f68dbd049accc569a6b6259fae42f510d0d6b1757a3627ef
BLAKE2b-256 checksum
How to use checksums
3828d48cd76dcadce10c1bf9f66010682551d9b9a25908f46472aa2cfecf1115
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 25, 2026.

Transparency log

Release files / loki_service-1.4.1-cp311-cp311-win_amd64.whl

Download URL loki_service-1.4.1-cp311-cp311-win_amd64.whl
Size 157.7 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
5a6bd179acea4044c922edf68b46419393b10c49598e58ed91b9093727be8d66
BLAKE2b-256 checksum
How to use checksums
523d34834c41d81b6f4b31718f04e091a3eadd7cfd54701b4bbc473e921d2692
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 25, 2026.

Transparency log

Release files / loki_service-1.4.1-cp311-cp311-manylinux_2_17_x86_64.whl

Download URL loki_service-1.4.1-cp311-cp311-manylinux_2_17_x86_64.whl
Size 1.0 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
721039fe034959b2364c8e8450f7ca9d9dff174232ee20ec7b729d54a582e357
BLAKE2b-256 checksum
How to use checksums
ea9e847ab0b37f173152af2f88e1c44f42d737e499ab1786fe41a3a523c42b36
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 25, 2026.

Transparency log

Release files / loki_service-1.4.1-cp310-cp310-win_amd64.whl

Download URL loki_service-1.4.1-cp310-cp310-win_amd64.whl
Size 158.4 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
18dff87373e56d4d217a387197479fceb5a279463e9d37943ab761af47bcccc7
BLAKE2b-256 checksum
How to use checksums
ee5a529be41464a8cc675976a99043732163dce732a2365d1fdf2ea53c88cdda
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 25, 2026.

Transparency log

Release files / loki_service-1.4.1-cp310-cp310-manylinux_2_17_x86_64.whl

Download URL loki_service-1.4.1-cp310-cp310-manylinux_2_17_x86_64.whl
Size 960.7 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
ad32d8d7ebda5f8837d3bffd5210acbb46015ea7cb671db68654f82022670b93
BLAKE2b-256 checksum
How to use checksums
d1ffaa0cc2712d5b1bf3f10d1e72de5244393944925fe678317501717919c9c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 25, 2026.

Transparency log

Release files / loki_service-1.4.1-cp39-cp39-win_amd64.whl

Download URL loki_service-1.4.1-cp39-cp39-win_amd64.whl
Size 208.3 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
023dc14c8eaaf4f30b01e7942546ee2e3e48e9a1d2a6d9bbc974ad2d05993673
BLAKE2b-256 checksum
How to use checksums
10dd9e5e1daf5dcde9c919f1e14d164c17ee1013c4fca00696e0266b2ffc864c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 25, 2026.

Transparency log

Release files / loki_service-1.4.1-cp39-cp39-manylinux_2_17_x86_64.whl

Download URL loki_service-1.4.1-cp39-cp39-manylinux_2_17_x86_64.whl
Size 955.2 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
12c2326b34acefd9aaf7811046f997420146aa93af9094dbd2053460fa42f672
BLAKE2b-256 checksum
How to use checksums
d032114f5b25492a2b264fa0b88f9409bcee2091f6f905c8aacecf5a6fab6f9d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 25, 2026.

Transparency log

Release files / loki_service-1.4.1-cp38-cp38-win_amd64.whl

Download URL loki_service-1.4.1-cp38-cp38-win_amd64.whl
Size 212.9 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
4e4ae5cbc419335644799f3242787d38bd08228df7f0934cdc26aca38716bf92
BLAKE2b-256 checksum
How to use checksums
e4e1f78d101e573a2a203565fcb1d006358e747d3843544be14728c55e728ac1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 25, 2026.

Transparency log

Release files / loki_service-1.4.1-cp38-cp38-manylinux_2_17_x86_64.whl

Download URL loki_service-1.4.1-cp38-cp38-manylinux_2_17_x86_64.whl
Size 985.8 kB
Tags CPython 3.8 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
0dfec55ec17ac52e167cff0b93b7728a4679556a92c53be83fda8d1ac973d924
BLAKE2b-256 checksum
How to use checksums
9d67dd7d02acdb4e952f6757e8f4af5201f4546aeb35c27940981848dd651378
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 25, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.4.1 This release

14 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page