Skip to main content

Real-time avatar engine — 100+ FPS on CPU. Generate lip-synced video, stream live avatars to browsers. 1-2 CPU cores, <200ms latency. ARM, x86, macOS.

Project description

bitHuman Avatar Runtime

bitHuman Banner

Real-time avatar engine for visual AI agents, digital humans, and creative characters.

PyPI version Python Platforms

bitHuman powers visual AI agents and conversational AI with photorealistic avatars and real-time lip-sync. Build voice agents with faces, video chatbots, AI assistants, and interactive digital humans — all running on edge devices with just 1-2 CPU cores and <200ms latency. Raw generation speed is 100+ FPS on CPU alone, enabling real-time streaming applications.

The SDK supports two model families through the same AsyncBithuman API:

Model type Runtime Where it runs
Essence In-process (C++ + Cython) Linux / macOS / Windows, x86_64 + ARM64. Default — what every existing caller uses.
Expression Out-of-process Swift daemon macOS + Apple Silicon (M3+) only. Bundled pre-built in the macOS arm64 wheel; dispatches automatically when an .imx manifest stamps model_type: "expression".

A single call — AsyncBithuman.create(model_path=…) — works for both. If the model can't run on the current host, you get a typed ExpressionModelNotSupported instead of a cryptic crash.

See docs/architecture.md for the full picture across all repos; docs/best-practices.md for production patterns.

Installation

pip install bithuman --upgrade

Pre-built wheels for all major platforms — no compilation required:

Linux macOS Windows
x86_64 yes yes yes
ARM64 yes yes (Apple Silicon)
Python 3.9 — 3.14 3.9 — 3.14 3.9 — 3.14

For LiveKit agent integration:

pip install bithuman[agent]

Quick Start

Generate a lip-synced video

bithuman generate avatar.imx --audio speech.wav --key YOUR_API_KEY

Stream a live avatar to your browser

# Terminal 1: Start the streaming server
bithuman stream avatar.imx --key YOUR_API_KEY

# Terminal 2: Send audio to trigger lip-sync
bithuman speak speech.wav

Open http://localhost:3001 to see the avatar streaming live.

Python API (async)

import asyncio
from bithuman import AsyncBithuman
from bithuman.audio import load_audio, float32_to_int16

async def main():
    runtime = await AsyncBithuman.create(
        model_path="avatar.imx",
        api_secret="YOUR_API_KEY",
    )
    await runtime.start()

    # Load and stream audio
    audio, sr = load_audio("speech.wav")
    audio_int16 = float32_to_int16(audio)

    async def stream_audio():
        chunk_size = sr // 25  # match video FPS
        for i in range(0, len(audio_int16), chunk_size):
            await runtime.push_audio(
                audio_int16[i:i + chunk_size].tobytes(), sr
            )
        await runtime.flush()

    asyncio.create_task(stream_audio())

    # Receive lip-synced video frames
    async for frame in runtime.run():
        if frame.has_image:
            image = frame.bgr_image       # numpy (H, W, 3), uint8
            audio = frame.audio_chunk     # synchronized audio
        if frame.end_of_speech:
            break

    await runtime.stop()

asyncio.run(main())

Python API (sync)

from bithuman import Bithuman
from bithuman.audio import load_audio, float32_to_int16

runtime = Bithuman.create(model_path="avatar.imx", api_secret="YOUR_API_KEY")

audio, sr = load_audio("speech.wav")
audio_int16 = float32_to_int16(audio)

chunk_size = sr // 100
for i in range(0, len(audio_int16), chunk_size):
    runtime.push_audio(audio_int16[i:i+chunk_size].tobytes(), sr)
runtime.flush()

for frame in runtime.run():
    if frame.has_image:
        image = frame.bgr_image
    if frame.end_of_speech:
        break

How It Works

  1. Load model.imx file contains the avatar's appearance, animations, and lip-sync data
  2. Push audio — Stream audio bytes in real-time via push_audio(), call flush() when done
  3. Get frames — Iterate runtime.run() to receive lip-synced video frames with synchronized audio

The runtime handles the full motion graph internally: idle animations, talking with lip-sync, head movements, blinking, and smooth transitions between states.

Performance

Metric Value
Raw FPS 100+ on CPU (Intel i5-12400, Apple M2)
CPU cores 1-2 cores at 25 FPS
End-to-end latency <200ms
Memory (IMX v2) ~200 MB per session
Model load time <10ms (IMX v2)
Audio formats WAV, MP3, FLAC, OGG, M4A

Features

  • Real-time lip-sync — Audio-driven mouth animation at 25 FPS with synchronized audio output
  • Cross-platform — Linux, macOS, Windows; x86_64 and ARM64; Python 3.9-3.14
  • Edge-ready — 1-2 CPU cores, no GPU required for inference
  • Sync + AsyncBithuman for threads, AsyncBithuman for async/await
  • Streaming-first — Push audio chunks in real-time, receive frames as they're generated
  • Actions & emotions — Trigger avatar gestures (wave, nod) and emotion states (joy, surprise)
  • Interrupt support — Cancel mid-speech for natural conversation flow
  • LiveKit integration — Built-in support for LiveKit Agents (WebRTC streaming)
  • CLI tools — Generate videos, stream live, convert models, validate setups
  • IMX v2 format — Optimized binary container with O(1) random access and WebP patches
  • Zero scipy dependency — Pure numpy audio pipeline, minimal install footprint
  • Expression models on macOS (Apple Silicon M3+)AsyncBithuman.create() auto-detects .imx files whose manifest stamps model_type: "expression" and dispatches to the native Swift runtime out-of-process. Frames and audio stream back over an async pipe at 1500+ FPS, and the public API stays unchanged. See bithuman-expression-swift.

Expression model support (macOS arm64)

The bithuman wheel for macOS Apple Silicon (M3+) ships a pre-built bithuman-expression-daemon binary from the bithuman-expression-swift SDK. When you load an .imx packed with bithuman pack, AsyncBithuman.create() detects the Expression manifest and transparently spawns the Swift daemon; subsequent push_audio / run / flush calls behave exactly like they do for Essence models.

from bithuman import AsyncBithuman

# Same API, either model type — dispatch happens inside create().
runtime = await AsyncBithuman.create(
    model_path="expression.imx",
    api_secret=os.environ["BITHUMAN_API_SECRET"],
)
await runtime.push_audio(pcm_bytes, sample_rate=24_000)
async for frame in runtime.run():
    display(frame.bgr_image)     # BGR uint8, 512×512 for Expression

On Linux, Windows, and Intel macOS, the daemon binary isn't bundled and Expression models raise ExpressionModelNotSupported with install guidance. The in-process Essence runtime is unaffected on every platform.

Build your own Expression .imx with the packing CLI:

bithuman pack \
    --dit          path/to/dmd2_run9.safetensors \
    --wav2vec      path/to/wav2vec2.safetensors \
    --vae-encoder  path/to/vae_encoder.safetensors \
    --ane-decoder  path/to/turbo_vaed_ane_384.mlpackage \
    --ref-latent   path/to/default_ref_latent.npy \
    -o expression.imx

API Reference

AsyncBithuman / Bithuman

The main runtime for avatar animation.

# Create and initialize
runtime = await AsyncBithuman.create(
    model_path="avatar.imx",     # Path to .imx model
    api_secret="API_KEY",        # API secret (recommended)
    # token="JWT_TOKEN",         # Or JWT token directly
)
await runtime.start()

# Push audio (int16 PCM, any sample rate — auto-resampled to 16kHz)
await runtime.push_audio(audio_bytes, sample_rate)
await runtime.flush()            # Signal end of speech
runtime.interrupt()              # Cancel current playback

# Receive frames
async for frame in runtime.run():
    frame.bgr_image              # np.ndarray (H, W, 3) uint8 BGR
    frame.rgb_image              # np.ndarray (H, W, 3) uint8 RGB
    frame.audio_chunk            # AudioChunk — synchronized audio
    frame.end_of_speech          # True when all audio processed
    frame.has_image              # True if image available
    frame.frame_index            # Frame number
    frame.source_message_id      # Correlates to input

# Controls
await runtime.push(VideoControl(action="wave"))          # Trigger action
await runtime.push(VideoControl(target_video="idle"))    # Switch state
runtime.set_muted(True)                                  # Mute processing

# Info
runtime.get_frame_size()          # (width, height)
runtime.get_first_frame()         # First idle frame as np.ndarray
runtime.get_expiration_time()     # Token expiry (unix timestamp)
runtime.is_token_validated()      # Auth status

await runtime.stop()

Data Classes

from bithuman import AudioChunk, VideoControl, VideoFrame, Emotion, EmotionPrediction

# AudioChunk — container for audio data
chunk = AudioChunk(data=np.array([...], dtype=np.int16), sample_rate=16000)
chunk.duration    # float — length in seconds
chunk.bytes       # bytes — raw PCM bytes

# VideoControl — input to the runtime
ctrl = VideoControl(
    audio=chunk,                    # Audio to lip-sync
    action="wave",                  # Trigger action (wave, nod, etc.)
    target_video="talking",         # Switch video state
    end_of_speech=True,             # Mark end of speech
    force_action=False,             # Override action deduplication
    emotion_preds=[                 # Set emotion state
        EmotionPrediction(emotion=Emotion.JOY, score=0.9),
    ],
)

# VideoFrame — output from runtime.run()
frame.bgr_image           # np.ndarray (H, W, 3) uint8 — BGR
frame.rgb_image           # np.ndarray (H, W, 3) uint8 — RGB
frame.audio_chunk         # AudioChunk — synchronized audio
frame.end_of_speech       # bool — True when done
frame.has_image           # bool — True if image available
frame.frame_index         # int — frame number
frame.source_message_id   # Hashable — correlates to VideoControl

# Emotion enum
Emotion.ANGER | Emotion.DISGUST | Emotion.FEAR | Emotion.JOY
Emotion.NEUTRAL | Emotion.SADNESS | Emotion.SURPRISE

Audio Utilities

from bithuman.audio import (
    load_audio,               # Load WAV/MP3/FLAC/OGG/M4A -> (float32, sr)
    float32_to_int16,         # float32 -> int16
    int16_to_float32,         # int16 -> float32
    resample,                 # Resample to target rate
    write_video_with_audio,   # Save MP4 with audio track
    AudioStreamBatcher,       # Real-time audio buffer
)

audio, sr = load_audio("speech.mp3")             # Any format
audio_int16 = float32_to_int16(audio)            # Ready for push_audio
audio_16k = resample(audio, sr, 16000)           # Resample
write_video_with_audio("out.mp4", frames, audio, sr, fps=25)

Exceptions

All exceptions inherit from BithumanError:

Exception When
TokenExpiredError JWT has expired
TokenValidationError Invalid signature or claims
TokenRequestError Auth server unreachable
AccountStatusError Billing or access issue (HTTP 402/403)
ModelNotFoundError Model file doesn't exist
ModelLoadError Corrupt or incompatible model
ModelSecurityError Security restriction triggered
RuntimeNotReadyError Operation called before initialization

LiveKit Agent Integration

Build conversational AI agents with avatar faces using LiveKit Agents:

from bithuman import AsyncBithuman
from bithuman.utils.agent import LocalAvatarRunner, LocalVideoPlayer, LocalAudioIO

# Initialize bitHuman runtime
runtime = await AsyncBithuman.create(
    model_path="avatar.imx",
    api_secret="YOUR_API_KEY",
)

# Connect to LiveKit agent session
avatar = LocalAvatarRunner(
    bithuman_runtime=runtime,
    audio_input=session.audio,
    audio_output=LocalAudioIO(session, agent_output),
    video_output=LocalVideoPlayer(window_size=(1280, 720)),
)
await avatar.start()

See examples/livekit_agent/ for a complete working example with OpenAI Realtime voice.

Optimize Your Models

Convert existing .imx models to IMX v2 for dramatically better performance:

bithuman convert avatar.imx
Metric Legacy (TAR) IMX v2 Improvement
Model size 100 MB 50-70 MB 30-50% smaller
Load time ~10s <10ms 1000x faster
Runtime speed ~30 FPS 100+ FPS 3-10x faster
Peak memory ~10 GB ~200 MB 98% less

Conversion is automatic on first load, but pre-converting saves startup time.

CLI Reference

Command Description
bithuman generate <model> --audio <file> Generate lip-synced MP4 from model + audio
bithuman stream <model> Start live streaming server at localhost:3001
bithuman speak <audio> Send audio to running stream server
bithuman action <name> Trigger avatar action (wave, nod, etc.)
bithuman info <model> Show model metadata
bithuman list-videos <model> List all videos in a model
bithuman convert <model> Convert legacy to optimized IMX v2
bithuman validate <path> Validate model files load correctly

Configuration

Environment Variables

Variable Description
BITHUMAN_API_SECRET API secret for authentication
BITHUMAN_RUNTIME_TOKEN JWT token (alternative to API secret)
BITHUMAN_VERBOSE Enable debug logging
CONVERT_THREADS Number of threads for model conversion (0 or unset = auto-detect)

Runtime Settings

Setting Default Description
FPS 25 Target frames per second
OUTPUT_WIDTH 1280 Output frame width (0 = native resolution)
PRELOAD_TO_MEMORY False Cache model in RAM for faster decode
PROCESS_IDLE_VIDEO True Run inference during silence (natural idle)

Use Cases

  • Visual AI Agents — Give your voice agents a face with real-time lip-sync
  • Conversational AI — Build video chatbots and AI assistants with human-like presence
  • Live Streaming — Stream avatars to browsers via WebSocket, LiveKit, or WebRTC
  • Video Generation — Generate lip-synced content from audio at 100+ FPS
  • Edge AI — Run locally on Raspberry Pi, Mac Mini, Chromebook, or any edge device
  • Digital Twins — Photorealistic replicas for customer service, education, or entertainment

Examples

Example Description
example.py Async runtime with live video + audio playback
example_sync.py Synchronous runtime with threading
livekit_agent/ LiveKit Agent with OpenAI Realtime voice
livekit_webrtc/ WebRTC streaming server

Troubleshooting

macOS: Duplicate FFmpeg library warnings

objc: Class AVFFrameReceiver is implemented in both .../cv2/.dylibs/libavdevice...
and .../av/.dylibs/libavdevice...

This happens when opencv-python (full) is installed alongside av (PyAV) — both bundle FFmpeg dylibs. Fix by switching to the headless variant:

pip install opencv-python-headless

This replaces opencv-python and removes the duplicate dylibs. The bithuman package already depends on opencv-python-headless, so this only occurs when another package has pulled in the full opencv-python.

Model conversion fails with TypeError

If you see TypeError: an integer is required during conversion, upgrade to the latest version:

pip install bithuman --upgrade

This was fixed in v1.6.2. The issue affected models in legacy TAR format during auto-conversion.

Getting a bitHuman Model

To create your own avatar model (.imx file):

  1. Visit bithuman.ai
  2. Register and subscribe
  3. Upload a photo or video to create your avatar
  4. Download your .imx model file

Links

Related documentation

License

Commercial license required. See bithuman.ai for pricing.

Project details


Release history Release notifications | RSS feed

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.

bithuman-1.8.4-cp314-cp314-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.14Windows x86-64

bithuman-1.8.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (7.0 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

bithuman-1.8.4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (6.9 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

bithuman-1.8.4-cp314-cp314-macosx_14_0_arm64.whl (7.7 MB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

bithuman-1.8.4-cp314-cp314-macosx_10_15_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

bithuman-1.8.4-cp313-cp313-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.13Windows x86-64

bithuman-1.8.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (7.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

bithuman-1.8.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (6.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

bithuman-1.8.4-cp313-cp313-macosx_14_0_arm64.whl (7.7 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

bithuman-1.8.4-cp313-cp313-macosx_10_13_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

bithuman-1.8.4-cp312-cp312-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.12Windows x86-64

bithuman-1.8.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (7.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

bithuman-1.8.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (6.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

bithuman-1.8.4-cp312-cp312-macosx_14_0_arm64.whl (7.7 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

bithuman-1.8.4-cp312-cp312-macosx_10_13_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

bithuman-1.8.4-cp311-cp311-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.11Windows x86-64

bithuman-1.8.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (7.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

bithuman-1.8.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (7.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

bithuman-1.8.4-cp311-cp311-macosx_14_0_arm64.whl (7.7 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

bithuman-1.8.4-cp311-cp311-macosx_10_9_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

bithuman-1.8.4-cp310-cp310-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.10Windows x86-64

bithuman-1.8.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (7.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

bithuman-1.8.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (7.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

bithuman-1.8.4-cp310-cp310-macosx_14_0_arm64.whl (7.7 MB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

bithuman-1.8.4-cp310-cp310-macosx_10_9_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

bithuman-1.8.4-cp39-cp39-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.9Windows x86-64

bithuman-1.8.4-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (7.0 MB view details)

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

bithuman-1.8.4-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (6.9 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

bithuman-1.8.4-cp39-cp39-macosx_14_0_arm64.whl (7.7 MB view details)

Uploaded CPython 3.9macOS 14.0+ ARM64

bithuman-1.8.4-cp39-cp39-macosx_10_9_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

Details for the file bithuman-1.8.4-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: bithuman-1.8.4-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for bithuman-1.8.4-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 f9fdc480286cacae402e89789497b708dcc2392134c5696f6a72f3ce2e67da6e
MD5 d4fa3f45711901f66c015986241d5639
BLAKE2b-256 6eb4ac62fcb9902b05336dc19b645f3235d5f6d9f455f98c990f4eaea36e1954

See more details on using hashes here.

File details

Details for the file bithuman-1.8.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for bithuman-1.8.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 088007830315c29cafdd0ad8b610538b3676b0c4e614823b5711599075ce24b7
MD5 cf82c1c683f05b7e49debccea98eb75d
BLAKE2b-256 b643d80f8363bb6c3c9ec25e75be58d8643398a62344db8bba543c0cadbbcd94

See more details on using hashes here.

File details

Details for the file bithuman-1.8.4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for bithuman-1.8.4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a70c96ca89cfe8c5559ca1f806f1e0bfcbd9ceef02d4328bf2ad8c1f9b9fe046
MD5 3a91d60a8f190027352a5addf97d62c5
BLAKE2b-256 0eb9705de2c67bef8833be02b398796efeded0c04ae954d920f663c5d30a82c0

See more details on using hashes here.

File details

Details for the file bithuman-1.8.4-cp314-cp314-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for bithuman-1.8.4-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 b6ffe563cb0dac74830dbbf267004f394bdf69c57027bec04841de62fce73d59
MD5 02db678d47f9793cef32c68598702a65
BLAKE2b-256 45e1f8d6c65e2e0109395ac83fc8ee83817cf1fc5e3d299941fc834cbc53142d

See more details on using hashes here.

File details

Details for the file bithuman-1.8.4-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for bithuman-1.8.4-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 3cb1059b49ed9bdce7f3524a3ebfc7807f3c678979b06faf0d3495a6671514fe
MD5 21c21af8877ffbdc83fe7f789ed83652
BLAKE2b-256 47652c0db00da62cbd78121212e286407cc471de08773a327a3cb1ab37f3e4aa

See more details on using hashes here.

File details

Details for the file bithuman-1.8.4-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: bithuman-1.8.4-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for bithuman-1.8.4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 edf15bb7b37886154f0b8781f9b486e02c30e88faba981dd309cecd51406cff9
MD5 76f18adf1433aa6f8a473028efa46973
BLAKE2b-256 2307af9bc82154d29ac5f7847b1ff5da51bee194ccd8827795310264d0a78fa5

See more details on using hashes here.

File details

Details for the file bithuman-1.8.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for bithuman-1.8.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 876268fba08553cc43fff9bee2dc647af94087a4f9efd909f93a81d286e96fa4
MD5 5149d733e16f70f41f12c6d3f1f8da55
BLAKE2b-256 08dcf01bf2a80717788d8b17a7e6037d1e572d4e8dca10fc2265b4550433731a

See more details on using hashes here.

File details

Details for the file bithuman-1.8.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for bithuman-1.8.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9293819950c004aba5281339773b18297f94c3570004f45a945a310085ce7dc9
MD5 e873008f78c854302e72c901f3ed378f
BLAKE2b-256 6f407924821a885e0b093b3074a855c29ea4a1a15167a73ec140468049a78e32

See more details on using hashes here.

File details

Details for the file bithuman-1.8.4-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for bithuman-1.8.4-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 46ba8b804cde434f3e7e29edc29e59f03b7145110ab21992ac3156bd16c36f46
MD5 49d2a88a78fb1bdbb265429de3a7cd94
BLAKE2b-256 6282ce741f267a6e441681360d94f3307e122ab3fcf7c7f5385d8f260737baa7

See more details on using hashes here.

File details

Details for the file bithuman-1.8.4-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for bithuman-1.8.4-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 d949236c5d706f76e918a90aeac064952667e65fc7444c02979bc9c97ed414f0
MD5 b75385447ec77a8051967887dc5975be
BLAKE2b-256 7bb7f492c0caa87630dba9a2b3f5ab3fed04457c921c075c8a76a86c403cea60

See more details on using hashes here.

File details

Details for the file bithuman-1.8.4-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: bithuman-1.8.4-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for bithuman-1.8.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 1443e7e43bf3729dd48b6379e0ce49982f631dbc30d3f9e73a8ea7b398d06b47
MD5 31f5f56e7efd5064143ccfaafa3686a3
BLAKE2b-256 9bde130f378f1ab6bdebf30b13810aa3b15b9a56876707483c3019c8b7828703

See more details on using hashes here.

File details

Details for the file bithuman-1.8.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for bithuman-1.8.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5f6554c0ebc4b1d4659201ba7498611a305ae7c389b70f243fcee79e320917e6
MD5 275d0be8d8f19017a8d3bbd9d1368ed7
BLAKE2b-256 3d9d8b9237228c96187c390fe526b1975ff80c5134505150a4374b7c03e39295

See more details on using hashes here.

File details

Details for the file bithuman-1.8.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for bithuman-1.8.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 407a1a26b1af9cd21eb0b4f202baa2d57cb40c8f83ebde56d7884d0c5693f161
MD5 9ce1a96049e8c668c94ab2a62b31025c
BLAKE2b-256 43ed4bf472a17bbdf5a2e424a1a07de77d29c1a63ae430e4c54f8cb21221e9a6

See more details on using hashes here.

File details

Details for the file bithuman-1.8.4-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for bithuman-1.8.4-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 4c56ad3741d7aa7bd6e04dc346245cb48c57baa6d4e5ab1f550b4bd22122fe9c
MD5 bb278cdc72dba03e9d90f80fb69460a1
BLAKE2b-256 9cd43dafc340143117c8de2c6f2f3b977903383d868eefa719ceaab7859f3e8d

See more details on using hashes here.

File details

Details for the file bithuman-1.8.4-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for bithuman-1.8.4-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 e05054777a9925754fbcefbb304b49eac3cfc523a0fe3b5600645f692baae97e
MD5 39530c5370657a8b4160d5492991ca03
BLAKE2b-256 1ec7b11ee012df158b86668a933bcefe8f2fdd4c24db6ac94295780372255cd7

See more details on using hashes here.

File details

Details for the file bithuman-1.8.4-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: bithuman-1.8.4-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for bithuman-1.8.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 15f2439a3fab3a5875d25bb1496b08a74abf5fdfad18afc0d73fe21f791b5fc5
MD5 2017b886b8d2c10f7baf27a2d9b56bfe
BLAKE2b-256 a621a69edf78f75d0da7993e8134874552cf5c6aa09feef64c4940bb4e0851d9

See more details on using hashes here.

File details

Details for the file bithuman-1.8.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for bithuman-1.8.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a79a5ebc357d257a20d4c7a804997449ee8dfb680803f160cf14b82d21f9304d
MD5 63c3328c1ebadc1a785cfa06b775efe8
BLAKE2b-256 37186d00fd74114498e7c654f3f5c334359a5c69de4c796ac5a14d10e2f26af6

See more details on using hashes here.

File details

Details for the file bithuman-1.8.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for bithuman-1.8.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e4e39c2db325d6eda1af23e3e1c92a9a73544c41a5202573271a7d663aad6809
MD5 2aad28524a520488197f7cfaf46a9bfa
BLAKE2b-256 6f447240315e9a76dd46833b07e252c673b0f4344be02df3efc99e13f7497771

See more details on using hashes here.

File details

Details for the file bithuman-1.8.4-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for bithuman-1.8.4-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 aecc39cb95ecbfb47abc0c64adb425318db58a2b3fa472cf7974c8b4dc5ef8ae
MD5 88a4e9b66e1e0f9c02cdf77c810d680c
BLAKE2b-256 b9163ffd6d36ac990ae4b8195233e21a309e0cc7e2cd15fd66c5c3cc5b75bb23

See more details on using hashes here.

File details

Details for the file bithuman-1.8.4-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for bithuman-1.8.4-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ef94be0faeeb19d34aa4b63417a1705993f457ae30e34b7c2cd2774e1114362e
MD5 bcf613e73aaaa665e7cdb8dfed1305c9
BLAKE2b-256 2021edc047c24546ae9bf5309b69f101db70e53102ce8c94c4a64a238766a3ee

See more details on using hashes here.

File details

Details for the file bithuman-1.8.4-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: bithuman-1.8.4-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for bithuman-1.8.4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 7519b261004ecc9fdfb2b363cb53d4d9a50806da2c3877efd7d0a5b51b7904ca
MD5 9e628ed836f9db3202b820d77d38315e
BLAKE2b-256 d8ff17f4ffa5ef5cdb536b7033e8ccafe91faf93b77245e08d07a49a50e076bc

See more details on using hashes here.

File details

Details for the file bithuman-1.8.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for bithuman-1.8.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fea576c7223f6984843c8cb13734887ba5c3c566ccb8c42eee5a8145436d001f
MD5 316f300ae9c49067df2a953d7cb8af1b
BLAKE2b-256 e1052912a5dddf2e566b977911d1bd3350daa5116e023ab2980eb398787372eb

See more details on using hashes here.

File details

Details for the file bithuman-1.8.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for bithuman-1.8.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 815a51bff2490fd983faa5c57027ccc50e515f024c3769e433924b3b44c232dc
MD5 aa93151b4e7f3decb03206b4239d2e2a
BLAKE2b-256 2e6ce07bf13fdf775467599fc6c799094b6fc379d30668b1898b74c4809167e6

See more details on using hashes here.

File details

Details for the file bithuman-1.8.4-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for bithuman-1.8.4-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 231e1d8d77efca5dd50136b6cb9c125b59282bfb3ed9935826f0221e0ba06ecb
MD5 7cf3dc01ae9880599a5fa714a83f649b
BLAKE2b-256 15ae22444e56b21d4be2ab5fe478e31c044a5326360547a41c6e2578dbae8564

See more details on using hashes here.

File details

Details for the file bithuman-1.8.4-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for bithuman-1.8.4-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 fb1128fe54bdf0b4ad5a3acfce9fbd84124c2f21e070e63d3fe97346adc02c55
MD5 973a83d1ff5e9c93418889b2a8d37d21
BLAKE2b-256 389fdee12c1e058c9bc28de4a241eb1daac541dec1aec43157b5af6a9e9a4b8d

See more details on using hashes here.

File details

Details for the file bithuman-1.8.4-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: bithuman-1.8.4-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for bithuman-1.8.4-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 c9587f0e82bcf2aad65727d31c8b349ff448544c7249a31bf213f98c9d7d85f6
MD5 92e893efd8f2ae2ad5adf17df3faff24
BLAKE2b-256 ccbd4f238e16646f840ef9d8ec36c2bbbd492821a75a346f7339952e1610e841

See more details on using hashes here.

File details

Details for the file bithuman-1.8.4-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for bithuman-1.8.4-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a09296e98b043e276122c5514abb6abe9114e84140393ccc1900476baff9b06b
MD5 c80e5aaefc9b5eda6aa9a00265e0c5c4
BLAKE2b-256 c0b533a36012611f331f5c61e51c7c0b43debb39b022f114bda753fc16e11b6b

See more details on using hashes here.

File details

Details for the file bithuman-1.8.4-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for bithuman-1.8.4-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 58256bc4ed288152355b2a3fdf9feeb84c253db8270a3f76247a753319d43cc7
MD5 cf75997a9fa4a40fb28b3f7bdeb2a913
BLAKE2b-256 5594fce446e6a76cf3c7d97caaa01d1608eb37b052b239b16f6cb5569887b4e0

See more details on using hashes here.

File details

Details for the file bithuman-1.8.4-cp39-cp39-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for bithuman-1.8.4-cp39-cp39-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 0e51f9434aea4685663bbd0bdf43e7accf3c531a414bda7105c367130c41a6a2
MD5 8c41a3072f7850ecfaad92b5d7f43d90
BLAKE2b-256 af13b1edd54ed0951bb99aa98105a016b3339efc65da5741d93cd563db161c3f

See more details on using hashes here.

File details

Details for the file bithuman-1.8.4-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for bithuman-1.8.4-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a09cc257ab7e7cafb289dd4f0265178e283386f09f6c958dd68040c9d729c921
MD5 f2af2b05d108289c2347e61049a345ba
BLAKE2b-256 a812fec4c419a89ccf539b9cca0204d6329f5852951bdcd4e0adf23127cb49fe

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