Skip to main content

A standard C/C++ native extension template for Python stream pusher plugins.

Project description

pusher

pusher 是一个基于 FFmpeg SDK 二次开发的 Python C/C++ 原生推流/转推插件。它直接链接本项目内的 include/lib/,在当前 Python 进程内启动 C++ worker 线程完成工作,不需要为每路流启动一个 ffmpeg 命令进程。

完整 SDK 方法、参数、默认值、环境变量和 CLI 说明见 SDK_API.md

它适合 -c copy 这类复制转推场景,例如:

ffmpeg -rtsp_transport tcp -i rtsp://192.168.0.206:8554/av0_0 \
  -c copy -f flv rtmp://192.168.0.138:1935/live/detect_1500

在本项目中对应为:

from pusher import Pusher

pusher = Pusher(loop=False, realtime=False)
pusher.start(
    "rtsp://192.168.0.206:8554/av0_0",
    "rtmp://192.168.0.138:1935/live/detect_1500",
)

协议路由

  • rtmp://rtsp://srt://rtp:// 输出:自动使用 FFmpeg SDK 在进程内处理。文件/网络流默认 remux/copy;摄像头输入会采集并编码为 H264 后推流。
  • http(s)://.../rtc/v1/whip/ 输出:自动使用内嵌 WHIP/WebRTC worker 发布 H264 视频。

所有运行时推流路径都在 _native 内部执行。100 路复制转推时每路流是一个 C++ worker 线程,不会产生 100 个外部子进程。

目录结构

pusher-py/
├── include/
│   ├── pusher/              # 本项目 C++ 头文件
│   ├── libavformat/         # FFmpeg SDK 头文件
│   ├── libavcodec/
│   └── libavutil/
├── src/pusher/
│   ├── _native.cpp          # CPython C API 绑定层
│   ├── pusher.cpp           # libav 转推和 worker 生命周期
│   ├── stream_push/whip.cpp # 内嵌 WHIP/WebRTC 推流实现
│   ├── url_utils.c          # 协议识别
│   ├── cli.py               # 命令行工具
│   └── __init__.py
├── examples/basic_usage.py
├── lib/                     # FFmpeg 动态库
├── scripts/build_ffmpeg.sh  # 从源码自动编译 FFmpeg SDK
├── third_party/FFmpeg/      # 内置 FFmpeg 源码
├── tests/test_basic.py
├── pyproject.toml
└── setup.py

SDK 依赖

开发仓库内可放置 FFmpeg SDK 文件:

include/libavformat
include/libavcodec
include/libavutil
lib/libavformat.so
lib/libavcodec.so
lib/libavutil.so
third_party/FFmpeg

PyPI 发布包不包含 third_party/FFmpeg 全量源码,也不包含本机编译出的 lib/*.so 构建产物。源码安装时需要提前准备本地 FFmpeg SDK,或从 GitHub 仓库获取完整源码后执行构建。

构建顺序:

  1. 如果 lib/libavformat.so 已存在,直接使用本地动态库。
  2. 如果本地动态库不存在,setup.py 会调用 scripts/build_ffmpeg.sh,从 third_party/FFmpeg 自动编译共享库并安装到本项目 include/lib/

构建脚本不会读取 /usr/local/ffmpeg,也不要求用户提前安装或编译 FFmpeg。

自动编译采用精简 FFmpeg SDK 配置,主要启用 avformatavcodecavdeviceavutilswscaleswresample,以及 RTSP/RTMP/RTP/HTTP/TCP/UDP/文件协议、摄像头输入和常见 muxer/demuxer。目标是 native 推流/转推,不包含 ffmpeg/ffprobe 命令行程序。

CI 发布平台

GitHub Actions 会从仓库内的 third_party/FFmpeg 自动构建 FFmpeg SDK,再构建 Python wheel。PyPI wheel 不包含 third_party/FFmpeg 源码;Linux wheel 会携带运行所需的 FFmpeg .so 动态库。

当前自动发布目标是 Linux x86_64aarch64armv7l,以及 Windows x86x64ARM64。Linux 使用 scripts/build_ffmpeg.sh,Windows 使用 MSVC + MSYS2 执行 scripts/build_ffmpeg.ps1 并产出 .lib/.dll SDK。RK 系列、树莓派、香橙派等开发板通常使用 aarch64 64 位系统或 armv7l 32 位系统;板载硬编解码能力需要单独的设备镜像/系统库适配,不包含在通用 PyPI wheel 中。

安装与构建

cd /root/workspace/ms-fish-recg-pro/pusher-py
python -m pip install -U pip setuptools wheel
python setup.py build_ext --inplace --force

开发安装:

python -m pip install -e ".[dev]"

验证导入:

PYTHONPATH=src python -c "from pusher import Pusher; print(Pusher)"

用例总览

下表所有场景都支持 Python SDK;CLI 使用 PYTHONPATH=src python -m pusher.cli 展示,安装后可把前缀替换为 pusherpusher-py

场景 输入 输出 说明
RTSP 转 RTMP rtsp://... rtmp://... 摄像头或网络流复制转推。
RTSP 转 RTMP 带鉴权 rtsp://... rtmp://...?secret=... build_output_urlbuild-url 生成地址。
本地 MP4 循环推 RTMP sample.mp4 rtmp://... loop=True,按时间戳实时推送。
本地 MP4 单次推 RTMP sample.mp4 rtmp://... loop=False,文件结束后退出。
RTSP 转 RTSP rtsp://... rtsp://... 输出侧默认 TCP。
RTSP 转 SRT rtsp://... srt://... 要求当前 FFmpeg SDK 启用 SRT。
RTSP 转 RTP rtsp://... rtp://... 单路 RTP 输出。
MP4 推 WHIP/WebRTC H264 MP4 WHIP HTTP URL 走内嵌 WHIP/WebRTC worker,不启动外部程序。
摄像头推 RTMP/RTSP/SRT/RTP /dev/video0video=设备名 rtmp://... native 采集并编码为 H264 后推流。
摄像头推 WHIP/WebRTC /dev/video0video=设备名 WHIP HTTP URL native 采集、H264 编码、内嵌 WHIP 推流。
预览任务 任意支持输入 任意支持输出 打印 native 任务描述,不启动推流。
协议识别和 URL 构造 URL 参数 URL 字符串 业务侧生成和检查推流地址。
多路转推 多个输入 多个输出 Python SDK 推荐,一个实例一个 native worker 线程。

注意:start() 会启动后台 C++ worker 线程并立即返回,业务进程需要保持运行。脚本如果启动后直接退出,Pusher 对象析构会停止转推。

Python 用例

1. RTSP 转 RTMP

import time

from pusher import Pusher

pusher = Pusher(
    log_path="pusher.log",
    loop=False,
    realtime=False,
    timeout_ms=5000,
)

pusher.start(
    "rtsp://192.168.0.206:8554/av0_0",
    "rtmp://192.168.0.138:1935/live/detect_1500",
)

try:
    while pusher.is_running:
        print(pusher.status())
        time.sleep(5)
finally:
    pusher.stop(3000)

2. RTSP 转 RTMP 带鉴权地址

import time

from pusher import Pusher, build_output_url

output_url = build_output_url(
    protocol="rtmp",
    host="192.168.0.138",
    app="live",
    stream="test",
    secret="557ea19cf905454bad9dc988d0c6a5g1",
)

pusher = Pusher(loop=False, realtime=False)
pusher.start("rtsp://192.168.0.206:8554/av0_0", output_url)

try:
    while pusher.is_running:
        print(pusher.status())
        time.sleep(5)
finally:
    pusher.stop(3000)

生成的地址:

rtmp://192.168.0.138:1935/live/test?secret=557ea19cf905454bad9dc988d0c6a5g1

3. 本地 MP4 循环推 RTMP

from pusher import Pusher

pusher = Pusher(loop=True, realtime=True)
pusher.start("sample.mp4", "rtmp://127.0.0.1:1935/live/test")
print(pusher.status())

4. 本地 MP4 单次推 RTMP

from pusher import Pusher

pusher = Pusher(loop=False, realtime=True)
pusher.start("sample.mp4", "rtmp://127.0.0.1:1935/live/test")
exit_code = pusher.wait(timeout_ms=-1)
print("exit:", exit_code)

5. RTSP 转 RTSP

from pusher import Pusher, build_output_url

output_url = build_output_url(
    protocol="rtsp",
    host="192.168.0.138",
    app="live",
    stream="detect_1500",
    port=8554,
)

pusher = Pusher(loop=False, realtime=False)
pusher.start("rtsp://192.168.0.206:8554/av0_0", output_url)
print(pusher.status())

6. RTSP 转 SRT

from pusher import Pusher, build_output_url

output_url = build_output_url(
    protocol="srt",
    host="192.168.0.138",
    app="live",
    stream="detect_1500",
    port=10080,
)

pusher = Pusher(loop=False, realtime=False)
pusher.start("rtsp://192.168.0.206:8554/av0_0", output_url)
print(pusher.status())

SRT 需要当前 FFmpeg SDK 编译时启用 srt 协议;默认脚本未启用外部 libsrt 依赖。

7. RTSP 转 RTP

from pusher import Pusher

pusher = Pusher(loop=False, realtime=False)
pusher.start(
    "rtsp://192.168.0.206:8554/av0_0",
    "rtp://192.168.0.138:5004",
)
print(pusher.status())

8. MP4 推 WHIP/WebRTC

WHIP 不走 FFmpeg SDK muxer,输出 URL 为 WHIP 地址时会自动选择内嵌 WHIP/WebRTC worker。它不会执行 whip-push-demo 或任何 stream_push 可执行文件。文件或网络输入推 WHIP 时要求输入视频已经是 H264;摄像头输入会在 native 路径中编码为 H264。

import time

from pusher import Pusher, build_output_url

output_url = build_output_url(
    protocol="whip",
    host="192.168.0.138",
    app="live",
    stream="test",
    secret="replace-me",
    port=1985,
)

pusher = Pusher(loop=True, bitrate=2_000_000)
pusher.start("sample.mp4", output_url)

try:
    while pusher.is_running:
        print(pusher.status())
        time.sleep(5)
finally:
    pusher.stop(3000)

生成的 WHIP 地址格式:

http://192.168.0.138:1985/rtc/v1/whip/?app=live&stream=test&secret=replace-me

9. 预览任务但不启动

from pusher import Pusher

pusher = Pusher(loop=False, realtime=False)
command = pusher.preview_command(
    "rtsp://192.168.0.206:8554/av0_0",
    "rtmp://192.168.0.138:1935/live/detect_1500",
)
print(" ".join(command))

10. 停止、等待和上下文管理

from pusher import Pusher

with Pusher(loop=False, realtime=False) as pusher:
    pusher.start("sample.mp4", "rtmp://127.0.0.1:1935/live/test")
    exit_code = pusher.wait(timeout_ms=10_000)
    if exit_code is None:
        pusher.stop(timeout_ms=3000)

11. 多路转推

from pusher import Pusher

tasks = []
for i in range(100):
    p = Pusher(name=f"stream-{i}", loop=False, realtime=False)
    p.start(
        f"rtsp://192.168.0.{100 + i}:8554/av0_0",
        f"rtmp://192.168.0.138:1935/live/detect_{i}",
    )
    tasks.append(p)

try:
    for p in tasks:
        print(p.status())
finally:
    for p in tasks:
        p.stop()

12. 协议识别和 URL 构造

from pusher import build_output_url, detect_protocol, version

print(version())
print(detect_protocol("rtmp://192.168.0.138:1935/live/test"))

for protocol in ["rtmp", "rtsp", "srt", "rtp", "whip"]:
    print(protocol, build_output_url(protocol, "192.168.0.138", stream="demo"))

13. 查找摄像头输入标识

摄像头标识不是固定值,需要从操作系统查询。Linux 使用 V4L2 设备路径;Windows 使用 DirectShow 设备名。下面这些命令只用于列设备,不参与实际推流,推流仍然由 native worker 完成。

Linux 常用方式:

ls -l /dev/video*
ls -l /dev/v4l/by-id/
ls -l /dev/v4l/by-path/

/dev/video0/dev/video1 这类编号可能会随插拔顺序变化;生产环境更推荐使用稳定路径,例如:

/dev/v4l/by-id/usb-046d_HD_Pro_Webcam_C920-video-index0
/dev/v4l/by-path/pci-0000:00:14.0-usb-0:5:1.0-video-index0

如果系统安装了 v4l-utils,可以查看摄像头名称、设备路径、支持的分辨率和编码格式:

v4l2-ctl --list-devices
v4l2-ctl -d /dev/video0 --list-formats-ext

典型输出类似:

HD Pro Webcam C920 (usb-0000:00:14.0-5):
    /dev/video0
    /dev/video1

这时通常选择带视频采集能力的 /dev/video0,或选择 /dev/v4l/by-id/...video-index0 稳定路径。--list-formats-ext 中如果能看到 H264,SDK 会优先尝试直接读取 H264;如果只有 MJPGYUYV 等格式,SDK 会走 native 解码/编码为 H264。

Windows 使用 DirectShow 设备名,输入格式是:

video=摄像头名称

可以在 PowerShell 里列出摄像头友好名称:

Get-CimInstance Win32_PnPEntity |
  Where-Object { $_.PNPClass -eq "Camera" -or $_.Name -match "Camera|Webcam|Video" } |
  Select-Object Name

也可以在“设备管理器 -> 照相机/图像设备”里查看名称。假设名称是 Integrated Camera,传给 SDK/CLI 的输入就是:

video=Integrated Camera

如果同名设备不止一个,建议在系统里修改设备名称,或者后续扩展 SDK 增加设备枚举 API 后按枚举结果选择。

14. 摄像头推 RTMP/RTSP/SRT/RTP

摄像头输入使用 native FFmpeg SDK 采集;如果摄像头直接输出 H264 会直接封装,否则会解码后编码为 H264。不会启动外部 ffmpeg。 Linux 使用 /dev/video0 这类 V4L2 路径;Windows 使用 dshow 设备名,例如 video=Integrated Camera

from pusher import Pusher

pusher = Pusher(
    width=1280,
    height=720,
    fps=30,
    bitrate=2_000_000,
    loop=False,
    realtime=False,
)
pusher.start("/dev/video0", "rtmp://192.168.0.138:1935/live/camera0")
print(pusher.status())

同一个摄像头输入也可以输出到 RTSP/SRT/RTP:

from pusher import Pusher

pusher = Pusher(width=1280, height=720, fps=30, bitrate=2_000_000)
pusher.start("/dev/video0", "rtsp://192.168.0.138:8554/live/camera0")

Windows 摄像头输入示例:

from pusher import Pusher

pusher = Pusher(width=1280, height=720, fps=30, bitrate=2_000_000)
pusher.start("video=Integrated Camera", "rtmp://192.168.0.138:1935/live/camera0")

15. 摄像头推 WHIP/WebRTC

import time

from pusher import Pusher, build_output_url

output_url = build_output_url(
    protocol="whip",
    host="192.168.0.138",
    app="live",
    stream="camera0",
    port=1985,
)

pusher = Pusher(width=1280, height=720, fps=30, bitrate=2_000_000)
pusher.start("/dev/video0", output_url)

try:
    while pusher.is_running:
        print(pusher.status())
        time.sleep(5)
finally:
    pusher.stop(3000)

摄像头路径要求 FFmpeg SDK 启用 avdeviceswscale 和至少一个 H264 编码器,例如 libx264h264_v4l2m2mh264_mf 或平台硬编码器。

CLI 用例

源码目录示例统一使用 PYTHONPATH=src python -m pusher.cli。开发安装后可以改成 pusher

pusher push input output_url
pusher preview input output_url --json
pusher build-url rtmp 192.168.0.138 --stream demo

1. RTSP 转 RTMP

PYTHONPATH=src python -m pusher.cli push \
  rtsp://192.168.0.206:8554/av0_0 \
  rtmp://192.168.0.138:1935/live/detect_1500 \
  --no-loop \
  --no-realtime \
  --log-path pusher.log \
  --status-interval 5

2. RTSP 转 RTMP 带鉴权地址

PYTHONPATH=src python -m pusher.cli build-url rtmp 192.168.0.138 \
  --app live \
  --stream test \
  --secret 557ea19cf905454bad9dc988d0c6a5g1

PYTHONPATH=src python -m pusher.cli push \
  rtsp://192.168.0.206:8554/av0_0 \
  'rtmp://192.168.0.138:1935/live/test?secret=557ea19cf905454bad9dc988d0c6a5g1' \
  --no-loop \
  --no-realtime \
  --status-interval 5

3. 本地 MP4 循环推 RTMP

PYTHONPATH=src python -m pusher.cli push \
  sample.mp4 \
  rtmp://127.0.0.1:1935/live/test \
  --status-interval 5

4. 本地 MP4 单次推 RTMP

PYTHONPATH=src python -m pusher.cli push \
  sample.mp4 \
  rtmp://127.0.0.1:1935/live/test \
  --no-loop \
  --status-interval 5

5. RTSP 转 RTSP

PYTHONPATH=src python -m pusher.cli push \
  rtsp://192.168.0.206:8554/av0_0 \
  rtsp://192.168.0.138:8554/live/detect_1500 \
  --no-loop \
  --no-realtime

6. RTSP 转 SRT

PYTHONPATH=src python -m pusher.cli push \
  rtsp://192.168.0.206:8554/av0_0 \
  'srt://192.168.0.138:10080?streamid=live/detect_1500' \
  --no-loop \
  --no-realtime

SRT 需要当前 FFmpeg SDK 编译时启用 srt 协议;默认脚本未启用外部 libsrt 依赖。

7. RTSP 转 RTP

PYTHONPATH=src python -m pusher.cli push \
  rtsp://192.168.0.206:8554/av0_0 \
  rtp://192.168.0.138:5004 \
  --no-loop \
  --no-realtime

8. MP4 推 WHIP/WebRTC

PYTHONPATH=src python -m pusher.cli build-url whip 192.168.0.138 \
  --app live \
  --stream test \
  --secret replace-me \
  --port 1985

PYTHONPATH=src python -m pusher.cli push \
  sample.mp4 \
  'http://192.168.0.138:1985/rtc/v1/whip/?app=live&stream=test&secret=replace-me' \
  --status-interval 5

9. 预览任务但不启动

PYTHONPATH=src python -m pusher.cli preview \
  rtsp://192.168.0.206:8554/av0_0 \
  rtmp://192.168.0.138:1935/live/detect_1500 \
  --no-loop \
  --no-realtime

PYTHONPATH=src python -m pusher.cli preview \
  sample.mp4 \
  'http://192.168.0.138:1985/rtc/v1/whip/?app=live&stream=test' \
  --json

10. 停止和等待

PYTHONPATH=src python -m pusher.cli push \
  sample.mp4 \
  rtmp://127.0.0.1:1935/live/test \
  --status-interval 5

CLI 会等待推流结束。按 Ctrl+C 或发送 SIGTERM 时会调用 native stop(),不会启动或清理外部推流进程。

11. 多路转推

CLI 每条命令是一个 Python 进程,适合调试和少量任务;大量任务推荐使用上面的 Python 多实例方式统一管理。

PYTHONPATH=src python -m pusher.cli push \
  rtsp://192.168.0.101:8554/av0_0 \
  rtmp://192.168.0.138:1935/live/detect_1 \
  --no-loop \
  --no-realtime

PYTHONPATH=src python -m pusher.cli push \
  rtsp://192.168.0.102:8554/av0_0 \
  rtmp://192.168.0.138:1935/live/detect_2 \
  --no-loop \
  --no-realtime

12. 协议识别和 URL 构造

PYTHONPATH=src python -m pusher.cli detect \
  rtmp://192.168.0.138:1935/live/test

PYTHONPATH=src python -m pusher.cli detect \
  'http://192.168.0.138:1985/rtc/v1/whip/?app=live&stream=test'

PYTHONPATH=src python -m pusher.cli build-url rtmp 192.168.0.138 \
  --app live \
  --stream demo

PYTHONPATH=src python -m pusher.cli build-url whip 192.168.0.138 \
  --app live \
  --stream demo \
  --port 1985 \
  --tls

13. 查找摄像头输入标识

CLI 使用的摄像头输入标识和 Python SDK 相同。Linux 先用下面命令确认设备:

ls -l /dev/video*
ls -l /dev/v4l/by-id/
v4l2-ctl --list-devices
v4l2-ctl -d /dev/video0 --list-formats-ext

Windows 先在 PowerShell 查询设备名:

Get-CimInstance Win32_PnPEntity |
  Where-Object { $_.PNPClass -eq "Camera" -or $_.Name -match "Camera|Webcam|Video" } |
  Select-Object Name

Linux CLI 输入示例是 /dev/video0/dev/v4l/by-id/...;Windows CLI 输入示例是 "video=Integrated Camera"

14. 摄像头推 RTMP/RTSP/SRT/RTP

PYTHONPATH=src python -m pusher.cli push \
  /dev/video0 \
  rtmp://192.168.0.138:1935/live/camera0 \
  --width 1280 \
  --height 720 \
  --fps 30 \
  --bitrate 2000000 \
  --no-loop \
  --no-realtime \
  --status-interval 5

PYTHONPATH=src python -m pusher.cli push \
  /dev/video0 \
  rtsp://192.168.0.138:8554/live/camera0 \
  --width 1280 \
  --height 720 \
  --fps 30 \
  --bitrate 2000000 \
  --status-interval 5

Windows CLI 示例:

python -m pusher.cli push `
  "video=Integrated Camera" `
  rtmp://192.168.0.138:1935/live/camera0 `
  --width 1280 `
  --height 720 `
  --fps 30 `
  --bitrate 2000000 `
  --status-interval 5

15. 摄像头推 WHIP/WebRTC

PYTHONPATH=src python -m pusher.cli build-url whip 192.168.0.138 \
  --app live \
  --stream camera0 \
  --port 1985

PYTHONPATH=src python -m pusher.cli push \
  /dev/video0 \
  'http://192.168.0.138:1985/rtc/v1/whip/?app=live&stream=camera0' \
  --width 1280 \
  --height 720 \
  --fps 30 \
  --bitrate 2000000 \
  --status-interval 5

摄像头推流仍然是 native worker,不执行外部 ffmpegstream_pushwhip-push-demo

支持协议

输出协议映射:

输出 URL 自动处理方式 输出封装/程序
rtmp:// / rtmps:// FFmpeg SDK remux flv
rtsp:// / rtsps:// FFmpeg SDK remux rtsp
srt:// FFmpeg SDK remux mpegts,要求当前 FFmpeg SDK 编译时启用 srt 协议
rtp:// FFmpeg SDK remux rtp
http://.../rtc/v1/whip/ / https://.../rtc/v1/whip/ 内嵌 WHIP worker WHIP/WebRTC

WHIP/WebRTC 不属于 FFmpeg 常规 muxer 输出,本项目使用内嵌 WHIP/WebRTC worker 处理。

参数说明

参数 默认值 说明
log_path libav 运行日志
loop True 本地文件读到 EOF 后是否循环
realtime True 本地文件是否按媒体时间戳限速
timeout_ms 5000 网络打开/停止等待超时
analyzeduration_us 10000000 RTSP/网络流探测时长,单位微秒
probesize 50000000 RTSP/网络流探测数据量,摄像头首包缺少尺寸时可增大

测试

PYTHONPATH=src python -m pusher.cli preview sample.mp4 rtmp://127.0.0.1/live/test
PYTHONPATH=src python examples/basic_usage.py

项目根目录的 test-push.py 可用于真实 RTSP 到 RTMP 验证:

cd /root/workspace/ms-fish-recg-pro
PYTHONPATH=pusher-py/src python test-push.py
PUSH_SECONDS=10 PUSH_STATUS_INTERVAL=1 PYTHONPATH=pusher-py/src python test-push.py

安装开发依赖后:

python -m pytest -q

注意事项

  • 文件和网络流默认 remux/copy 转推;摄像头输入会 native 采集并编码为 H264。
  • 运行时不启动外部 ffmpegstream_push 程序;所有推流路径都在 native worker 内执行。
  • 如果输入编码或目标协议不被当前 FFmpeg SDK 支持,任务会退出并在 status() 或日志中给出错误。
  • 自动编译脚本默认不启用外部 libsrt 依赖;如需 SRT,请在系统安装 libsrt 开发包后调整 scripts/build_ffmpeg.sh 的 configure 参数。
  • 摄像头输入会走 native 采集和 H264 编码;对应 FFmpeg SDK 必须包含 avdeviceswscale 和可用 H264 编码器。

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.

pusher_py-0.1.9-cp314-cp314-win_arm64.whl (2.4 MB view details)

Uploaded CPython 3.14Windows ARM64

pusher_py-0.1.9-cp314-cp314-win_amd64.whl (2.5 MB view details)

Uploaded CPython 3.14Windows x86-64

pusher_py-0.1.9-cp314-cp314-win32.whl (2.1 MB view details)

Uploaded CPython 3.14Windows x86

pusher_py-0.1.9-cp314-cp314-manylinux_2_31_armv7l.whl (2.7 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.31+ ARMv7l

pusher_py-0.1.9-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

pusher_py-0.1.9-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (2.7 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

pusher_py-0.1.9-cp313-cp313-win_arm64.whl (2.3 MB view details)

Uploaded CPython 3.13Windows ARM64

pusher_py-0.1.9-cp313-cp313-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.13Windows x86-64

pusher_py-0.1.9-cp313-cp313-win32.whl (2.1 MB view details)

Uploaded CPython 3.13Windows x86

pusher_py-0.1.9-cp313-cp313-manylinux_2_31_armv7l.whl (2.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.31+ ARMv7l

pusher_py-0.1.9-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

pusher_py-0.1.9-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (2.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

pusher_py-0.1.9-cp312-cp312-win_arm64.whl (2.3 MB view details)

Uploaded CPython 3.12Windows ARM64

pusher_py-0.1.9-cp312-cp312-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.12Windows x86-64

pusher_py-0.1.9-cp312-cp312-win32.whl (2.1 MB view details)

Uploaded CPython 3.12Windows x86

pusher_py-0.1.9-cp312-cp312-manylinux_2_31_armv7l.whl (2.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.31+ ARMv7l

pusher_py-0.1.9-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pusher_py-0.1.9-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (2.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

pusher_py-0.1.9-cp311-cp311-win_arm64.whl (2.3 MB view details)

Uploaded CPython 3.11Windows ARM64

pusher_py-0.1.9-cp311-cp311-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.11Windows x86-64

pusher_py-0.1.9-cp311-cp311-win32.whl (2.1 MB view details)

Uploaded CPython 3.11Windows x86

pusher_py-0.1.9-cp311-cp311-manylinux_2_31_armv7l.whl (2.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.31+ ARMv7l

pusher_py-0.1.9-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pusher_py-0.1.9-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (2.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

pusher_py-0.1.9-cp310-cp310-win_arm64.whl (2.3 MB view details)

Uploaded CPython 3.10Windows ARM64

pusher_py-0.1.9-cp310-cp310-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.10Windows x86-64

pusher_py-0.1.9-cp310-cp310-win32.whl (2.1 MB view details)

Uploaded CPython 3.10Windows x86

pusher_py-0.1.9-cp310-cp310-manylinux_2_31_armv7l.whl (2.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.31+ ARMv7l

pusher_py-0.1.9-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pusher_py-0.1.9-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (2.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

pusher_py-0.1.9-cp39-cp39-win_arm64.whl (2.3 MB view details)

Uploaded CPython 3.9Windows ARM64

pusher_py-0.1.9-cp39-cp39-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.9Windows x86-64

pusher_py-0.1.9-cp39-cp39-win32.whl (2.1 MB view details)

Uploaded CPython 3.9Windows x86

pusher_py-0.1.9-cp39-cp39-manylinux_2_31_armv7l.whl (2.7 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.31+ ARMv7l

pusher_py-0.1.9-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

pusher_py-0.1.9-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (2.7 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

File details

Details for the file pusher_py-0.1.9-cp314-cp314-win_arm64.whl.

File metadata

  • Download URL: pusher_py-0.1.9-cp314-cp314-win_arm64.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: CPython 3.14, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pusher_py-0.1.9-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 5e18b785b4848d48cc713fb7b22bbe69e8f511defc89cb9d779ff27c64e7dd88
MD5 d19de0144e4adf5411d462c7b045dba1
BLAKE2b-256 915bb55dd476a42ee7750a9882ed030ed24f020ccf3fcc7843e0ef519f12e127

See more details on using hashes here.

File details

Details for the file pusher_py-0.1.9-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: pusher_py-0.1.9-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pusher_py-0.1.9-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 a4ea357abea78fde0b9d7b78442a6f34fd0c73ee12e97db498db8f7dbdb90c6e
MD5 d6a75da2d13304c6d2bf9a2c0d86bf90
BLAKE2b-256 28b6999713f53c2427a69c5b5a3f6e9556a31f885aaf0f82e215ac17d1c79069

See more details on using hashes here.

File details

Details for the file pusher_py-0.1.9-cp314-cp314-win32.whl.

File metadata

  • Download URL: pusher_py-0.1.9-cp314-cp314-win32.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: CPython 3.14, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pusher_py-0.1.9-cp314-cp314-win32.whl
Algorithm Hash digest
SHA256 cc4bd483d434956dab0d884571bd5f6e9838c2600bc0005963561ceea3985cae
MD5 0e6ea960013992caae59e6989e1e9632
BLAKE2b-256 abb25e27401752df125382e433b51349f54f24e4997d5f35acb3b907b0087f2f

See more details on using hashes here.

File details

Details for the file pusher_py-0.1.9-cp314-cp314-manylinux_2_31_armv7l.whl.

File metadata

File hashes

Hashes for pusher_py-0.1.9-cp314-cp314-manylinux_2_31_armv7l.whl
Algorithm Hash digest
SHA256 fb1fae4ffb586c9d7548e9dd16290288f8aa6b72f0b68c47da9047f6796440ef
MD5 38e6841d0f6b3dabf4be62a0346f0032
BLAKE2b-256 35e5d1ee5d0eaf97fdd80fc973ee2987b4ac3b3a425caced278cbd96db6b22fc

See more details on using hashes here.

File details

Details for the file pusher_py-0.1.9-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pusher_py-0.1.9-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 6e6141bfa662a188aa71c6cc9d93f4aaf49f1495b34d0fc00b035751c086d8c7
MD5 c5ab597d4215f8c5d35370dcb843c42c
BLAKE2b-256 e0cb2bb74bd31040895e07743692a50ec1004949b2784b3219fc4c802e7a681f

See more details on using hashes here.

File details

Details for the file pusher_py-0.1.9-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for pusher_py-0.1.9-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 6668b98d9ac9a1dada22e6d234cfea45f245ac82adcf42163a22607b3b6ee016
MD5 fe45bfa459572a3fe0fb4a9703dc315b
BLAKE2b-256 a2e2b42b586c9a81324b7b060c14393dc294065288c98d2e8c929e71b11df457

See more details on using hashes here.

File details

Details for the file pusher_py-0.1.9-cp313-cp313-win_arm64.whl.

File metadata

  • Download URL: pusher_py-0.1.9-cp313-cp313-win_arm64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: CPython 3.13, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pusher_py-0.1.9-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 e6dda2729257bff4afdc58a75bf4cfe55ffb904d4eb1e38a28d50c0579817e90
MD5 bd244f541ad26c80ee2d839c2082ef17
BLAKE2b-256 3dff4a1c7c5ec00cdf19ff7522d343877a515d4e63a93b7c779e26dce7b93d83

See more details on using hashes here.

File details

Details for the file pusher_py-0.1.9-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: pusher_py-0.1.9-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pusher_py-0.1.9-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 bd6782cb1968efa2bea1db5bf27386a16d82f57ae484735d8166d80b9dd78bc1
MD5 9fdb130c81deb3391a6ec94a9a470ad4
BLAKE2b-256 34ed18568fbfe5459619e4fad6008bea772640dbcb3ebfefa534b5b3bb900f84

See more details on using hashes here.

File details

Details for the file pusher_py-0.1.9-cp313-cp313-win32.whl.

File metadata

  • Download URL: pusher_py-0.1.9-cp313-cp313-win32.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pusher_py-0.1.9-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 7d08306bf01a369a7b5133eade5d5ba0e7f7edf42639e8e684a19dce11ec8101
MD5 26e453f819a536dc56c4e9c9f606bd62
BLAKE2b-256 b694981e9976d6ba994c5e62e54c4d88e5117ee319af4b6102edcb3de219b1b2

See more details on using hashes here.

File details

Details for the file pusher_py-0.1.9-cp313-cp313-manylinux_2_31_armv7l.whl.

File metadata

File hashes

Hashes for pusher_py-0.1.9-cp313-cp313-manylinux_2_31_armv7l.whl
Algorithm Hash digest
SHA256 a38218de0371fbba217bdcd8a1abb6328b1d82619aebb0d3296809e7ebeaf043
MD5 f622845916beea2170be03a4283c2b1d
BLAKE2b-256 cb9e52181ae276137642b2d0750041ee42fef1c5c6e111b6dd8b71cacdfc4bf7

See more details on using hashes here.

File details

Details for the file pusher_py-0.1.9-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pusher_py-0.1.9-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 65e33e6aa72c0c85947b4d167cb57a593a1ec7fbe4488451999ab72675a2691b
MD5 379b4cb2075bf5ef2f8c7720930f629b
BLAKE2b-256 b5af46cb191686e862855c62044659cdf445035d6ef32f08c0eab8e9c0d20d05

See more details on using hashes here.

File details

Details for the file pusher_py-0.1.9-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for pusher_py-0.1.9-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 7e9fd9a5c842ee768426552e034da217ac9747107ac965fae3228b337ddb1fd3
MD5 8ac6573d4d095fb1160957a702e81f1e
BLAKE2b-256 077578aaa15b83989ee421313fbff90f614a78446a2e771597cbc6c13e300144

See more details on using hashes here.

File details

Details for the file pusher_py-0.1.9-cp312-cp312-win_arm64.whl.

File metadata

  • Download URL: pusher_py-0.1.9-cp312-cp312-win_arm64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: CPython 3.12, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pusher_py-0.1.9-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 ecc3be4244a7c9334d24b0a8937543c16e00b830076050709d31b7a7f5364ccd
MD5 f3b8d4bd9d29f05b99f26d29ae913de8
BLAKE2b-256 e3146a010fa88d82329b89894f26032f70903d168a9d88080d8e30c9159a3c82

See more details on using hashes here.

File details

Details for the file pusher_py-0.1.9-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pusher_py-0.1.9-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pusher_py-0.1.9-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 64855bf633a6ed7ef3e0a953542530fd0635f4493b2f62f909ce77b2566e4656
MD5 2222ab37f70f17fd1e8466a86fab26b9
BLAKE2b-256 358d55753f02d9a5976328f025456430c92dd680fd63dd69372d682effd5d181

See more details on using hashes here.

File details

Details for the file pusher_py-0.1.9-cp312-cp312-win32.whl.

File metadata

  • Download URL: pusher_py-0.1.9-cp312-cp312-win32.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pusher_py-0.1.9-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 24bf2afa7e8549083f3cc9b1813a1d023d4aa551d768ea08e28511596f30c18d
MD5 4b201dbf8294f2c96b523b83cf2ae44b
BLAKE2b-256 c04a37ddfd50fb991f54246605a15895cab5a3cde6e83442e7ca443e562bb5ef

See more details on using hashes here.

File details

Details for the file pusher_py-0.1.9-cp312-cp312-manylinux_2_31_armv7l.whl.

File metadata

File hashes

Hashes for pusher_py-0.1.9-cp312-cp312-manylinux_2_31_armv7l.whl
Algorithm Hash digest
SHA256 df9ca2b6e827589189792e7de734321c34a57092f543a8b304ca4b2b500f4430
MD5 39812b704ec9f30220934644d4bed606
BLAKE2b-256 7ea784a3887631d25a5281d61d1a92c2619e0b832faab7ce0f8520a5e23bde20

See more details on using hashes here.

File details

Details for the file pusher_py-0.1.9-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pusher_py-0.1.9-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 83daf774f77f870bba4514dc0c610288e6a104df65a125048395736fd8be19b6
MD5 0b3c460a1b533587e63bf763c03ac14a
BLAKE2b-256 b45fbf66441f176d8ec87f0e2f554ad241df53d1ee9d343634ffe94c25b04bc9

See more details on using hashes here.

File details

Details for the file pusher_py-0.1.9-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for pusher_py-0.1.9-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 0deb1aab926c1ff47ad60ff9eec150064c6c818ab6a8db512ce7b063d630be15
MD5 5350323d11fe5026fa21585eda9f80eb
BLAKE2b-256 6940dfdb12986f7fe9d64d4f4424f9d0c7305e471db99c58ba0064808977e6ee

See more details on using hashes here.

File details

Details for the file pusher_py-0.1.9-cp311-cp311-win_arm64.whl.

File metadata

  • Download URL: pusher_py-0.1.9-cp311-cp311-win_arm64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: CPython 3.11, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pusher_py-0.1.9-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 21743588f047f5dac688805cc70e1382a711b90d33c6d4222172929a7aff0b8d
MD5 716bf17bc98b2a1f2ba24d32aec3cf4f
BLAKE2b-256 6f1aab92fd1a4123351321c75135145e5c2f9c68a59745c5f9d5fd362311dea6

See more details on using hashes here.

File details

Details for the file pusher_py-0.1.9-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pusher_py-0.1.9-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pusher_py-0.1.9-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 306f225a1a6f770f304ba7ba17f50004313f08f158f45774d6b5d97c583c353b
MD5 e25b01f0b381a3f250f35f2ca54aacf7
BLAKE2b-256 4c3289ef8192891a6009b2a5b403d6ed6fa72afc2852112fc4b2cf90c6c8dee8

See more details on using hashes here.

File details

Details for the file pusher_py-0.1.9-cp311-cp311-win32.whl.

File metadata

  • Download URL: pusher_py-0.1.9-cp311-cp311-win32.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pusher_py-0.1.9-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 b8d4c196e7dc9225ff5aea1c12702a6d568a6bd42c60acde4f76ba1abca55cdb
MD5 ad67a64d10b0a4752b828dcecef52d89
BLAKE2b-256 8cb7ee68dc8aa2ba7f49bdcf9c6d74c245855c26355dcfd7ce0af8f57fa1adda

See more details on using hashes here.

File details

Details for the file pusher_py-0.1.9-cp311-cp311-manylinux_2_31_armv7l.whl.

File metadata

File hashes

Hashes for pusher_py-0.1.9-cp311-cp311-manylinux_2_31_armv7l.whl
Algorithm Hash digest
SHA256 a1c2042cd08e939fa8b1bad86a4ce8edde8d2dd6dcf9be9584a355ff32d96a5b
MD5 4503b07ba6938ade65530062f187eb27
BLAKE2b-256 0ba93cc1ac61f671f41fdcb0e8c733529a3f08291796fad52aef36f8f2116f50

See more details on using hashes here.

File details

Details for the file pusher_py-0.1.9-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pusher_py-0.1.9-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 1097ad68c989465faf97ce1dea98929467aadd0e125d2c22fcd913c9a228c8b3
MD5 9d47dd9fb25e01defa278a2abcfc482c
BLAKE2b-256 8b456619897baf3c9735bd4ad28b6d73c11b1cfac44f3903200fa93c7ae43e22

See more details on using hashes here.

File details

Details for the file pusher_py-0.1.9-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for pusher_py-0.1.9-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 cf7e69bb312107314312355d07a5d5e7984dd4f683326a814e17c9a6be23d376
MD5 6d66f7630d84f9a993b7b570423cc191
BLAKE2b-256 40f22e5ffc8eee426257b7435004acaf9d9176efee55ad4d4c3438f5a01e3415

See more details on using hashes here.

File details

Details for the file pusher_py-0.1.9-cp310-cp310-win_arm64.whl.

File metadata

  • Download URL: pusher_py-0.1.9-cp310-cp310-win_arm64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: CPython 3.10, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pusher_py-0.1.9-cp310-cp310-win_arm64.whl
Algorithm Hash digest
SHA256 29186f69f1ebf5eadab1ca4de3e185268c485f36483d6254a1a9b7390c0aeaa7
MD5 eae6a4166aee7870a00768414d1efbe1
BLAKE2b-256 1dca61741e9fe072d25c7c2e9414e0371eb19fc1c9200881743fad2b114266a1

See more details on using hashes here.

File details

Details for the file pusher_py-0.1.9-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pusher_py-0.1.9-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pusher_py-0.1.9-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 6c8cfd9f27c3f76ebb1f5d1dad5c25df003401626339a9ff1b3f9905e44b38fa
MD5 29f5e28286207958f15a1304cd124c7f
BLAKE2b-256 75d444c03c4b5768e15570bc3f21378c3ade66bd8901fe75f5ceccba550797a4

See more details on using hashes here.

File details

Details for the file pusher_py-0.1.9-cp310-cp310-win32.whl.

File metadata

  • Download URL: pusher_py-0.1.9-cp310-cp310-win32.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pusher_py-0.1.9-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 49b1031be6ce0e502aa0d41815ffe509574bf70be3cce35749cbe83a880aa922
MD5 70e069b5f1d986a30241828a479c044d
BLAKE2b-256 c1d9d0beffde24789a20b659ba54bb4ab60be3ecaccaf70f8f5aa67623738c3b

See more details on using hashes here.

File details

Details for the file pusher_py-0.1.9-cp310-cp310-manylinux_2_31_armv7l.whl.

File metadata

File hashes

Hashes for pusher_py-0.1.9-cp310-cp310-manylinux_2_31_armv7l.whl
Algorithm Hash digest
SHA256 15e2e92ce62544691145809389695c1985818d328100d75a4e6b14d22b021aef
MD5 6373b0fc27726dd9301d44e65cda54ba
BLAKE2b-256 a0ad456b1468f3757d357501a6542bbdc8e8160ab757c86739ca53d2c67f29d8

See more details on using hashes here.

File details

Details for the file pusher_py-0.1.9-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pusher_py-0.1.9-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 1bac54a7589fbcfb5c6834acf2454d71cbbaee3fe5d8e4980011c9041f11ab00
MD5 bb73556032027719eeeb4e0c0e104b2b
BLAKE2b-256 bcd85cdd9912fa72508510516b3e91754205ddf395dff804d70aa7dfd6f3ea05

See more details on using hashes here.

File details

Details for the file pusher_py-0.1.9-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for pusher_py-0.1.9-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 fb8a11e3b041c970a97bb3d7a997b7fe96680488d97863ffb7cb4e4c5b693093
MD5 58c44722b7876815434bc881b6c3fbeb
BLAKE2b-256 fc01157615271c680095e7d2811fb1d8ea9e3b32be331489090393940fd9f943

See more details on using hashes here.

File details

Details for the file pusher_py-0.1.9-cp39-cp39-win_arm64.whl.

File metadata

  • Download URL: pusher_py-0.1.9-cp39-cp39-win_arm64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: CPython 3.9, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pusher_py-0.1.9-cp39-cp39-win_arm64.whl
Algorithm Hash digest
SHA256 5108e15216c8cab21e09a823326881ad191762535587b9547348d5fe56d03977
MD5 973e843f787677947026b99aad73a102
BLAKE2b-256 16c98840a2a3db78e7af58d4a55ae3a72a6ae2638bf8f071d73d6a55417b89ff

See more details on using hashes here.

File details

Details for the file pusher_py-0.1.9-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: pusher_py-0.1.9-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pusher_py-0.1.9-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 b37190af8cc9f830a67c9c3a6a57bb407bd041561e41f4030dd2515452cbdaa1
MD5 f8fd2da6cd0df4b3c74699a972377bd2
BLAKE2b-256 6f71ce2869c545d824b2c0af3b81743611b3cd090353b0fcc8e8aea6e5b194f3

See more details on using hashes here.

File details

Details for the file pusher_py-0.1.9-cp39-cp39-win32.whl.

File metadata

  • Download URL: pusher_py-0.1.9-cp39-cp39-win32.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pusher_py-0.1.9-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 9bdea2cf6f084db4c2675e75686a039295c75138f909f20ff932337aeb6dc9ae
MD5 33e85b23af62b6c82d6071da014d1acf
BLAKE2b-256 f81f2067e1aa97ef7c749eee954bbe2ab1db20e745091735dfe60d94df1d6929

See more details on using hashes here.

File details

Details for the file pusher_py-0.1.9-cp39-cp39-manylinux_2_31_armv7l.whl.

File metadata

File hashes

Hashes for pusher_py-0.1.9-cp39-cp39-manylinux_2_31_armv7l.whl
Algorithm Hash digest
SHA256 c0cdb5456e8291ba73552ded5a9cc844c9f0cc725d433a95999f26ed49773945
MD5 c460576dcf5562902d4c334a9fd72c1c
BLAKE2b-256 3b6734f15a98170b6ab16996c83326e161c7612a58be9231a1fed710887d6088

See more details on using hashes here.

File details

Details for the file pusher_py-0.1.9-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pusher_py-0.1.9-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 468ff340682e71688a3822eb9b81d570223d6ad6ddfe2eaed00950f7192caa2a
MD5 07d43ab3cb23164d58210d0aebc4b917
BLAKE2b-256 b746cc16ca9acc360db4aadea5988f0253b04546949733e1310d8e1d6dc877c1

See more details on using hashes here.

File details

Details for the file pusher_py-0.1.9-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for pusher_py-0.1.9-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 1ceb1b339755f1b868c5578dff3b83f27f29931a135797cd9a92ea5b76818f3c
MD5 9c6a94fc5132e2de03484a55f1dd39e4
BLAKE2b-256 866cdff9b972e657a5cd008dfdf3f0deba731083277a36219db1d52b0905ed64

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