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 (native) Linux / macOS / Windows, x86_64 + ARM64. Default — what every existing caller uses.
Expression Out-of-process Swift runtime macOS + Apple Silicon (M3+) only. Ships with the macOS arm64 wheel; dispatches automatically when the model file is an Expression model.

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().
# Real-time streaming (default): quality="medium".
runtime = await AsyncBithuman.create(
    model_path="expression.imx",
    api_secret=os.environ["BITHUMAN_API_SECRET"],
)

# Offline video generation: higher quality, ~2× slower.
runtime = await AsyncBithuman.create(
    model_path="expression.imx",
    api_secret=os.environ["BITHUMAN_API_SECRET"],
    quality="high",
)

await runtime.push_audio(pcm_bytes, sample_rate=24_000)
async for frame in runtime.run():
    display(frame.bgr_image)     # BGR uint8; shape matches the model's
                                 # packed resolution (384×384 default,
                                 # 512×512 if packed with the 16×16
                                 # decoder; see below).

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.

Quality preset (Expression models only)

quality When to use Realtime factor (M5, 384×384) Realtime factor (M5, 512×512)
"medium" Live streaming (default) 1.84× 1.14×
"high" Offline video generation 1.05× 0.67× ⚠

"high" is sub-realtime at 512×512 on an M5 — use it only for pre-recorded video export, not live streams. Ignored for Essence models.

Packing at different resolutions

bithuman pack bundles five weight artifacts into a single .imx avatar model file. The 384×384 face renderer is the realtime default — it leaves ~1 s of headroom per second of audio on an M5. Swap in the 448 or 512 renderer + a matching reference-face to produce higher-resolution output; the companion bithuman-expression-swift repo ships an encode-ref-latent tool that generates a reference-face file at any resolution from a portrait image.

# 384×384 — recommended for streaming
bithuman pack \
    --animator        path/to/animator.safetensors \
    --speech-encoder  path/to/speech_encoder.safetensors \
    --face-encoder    path/to/face_encoder.safetensors \
    --face-renderer   path/to/face_renderer_384.mlpackage \
    --reference-face  path/to/reference_face_384.npy \
    -o expression.imx

# 512×512 — offline video quality
bithuman pack \
    --animator        path/to/animator.safetensors \
    --speech-encoder  path/to/speech_encoder.safetensors \
    --face-encoder    path/to/face_encoder.safetensors \
    --face-renderer   path/to/face_renderer_512.mlpackage \
    --reference-face  path/to/reference_face_512.npy \
    -o expression_512.imx

Old ML-term flag names (--dit, --wav2vec, --vae-encoder, --ane-decoder, --ref-latent, --pos-conv) continue to work as aliases so existing build scripts don't break.

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.9.0-cp314-cp314-win_amd64.whl (2.7 MB view details)

Uploaded CPython 3.14Windows x86-64

bithuman-1.9.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (6.8 MB view details)

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

bithuman-1.9.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (6.7 MB view details)

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

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

Uploaded CPython 3.14macOS 14.0+ ARM64

bithuman-1.9.0-cp314-cp314-macosx_10_15_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

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

Uploaded CPython 3.13Windows x86-64

bithuman-1.9.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (6.9 MB view details)

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

bithuman-1.9.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (6.8 MB view details)

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

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

Uploaded CPython 3.13macOS 14.0+ ARM64

bithuman-1.9.0-cp313-cp313-macosx_10_13_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

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

Uploaded CPython 3.12Windows x86-64

bithuman-1.9.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (6.9 MB view details)

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

bithuman-1.9.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (6.8 MB view details)

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

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

Uploaded CPython 3.12macOS 14.0+ ARM64

bithuman-1.9.0-cp312-cp312-macosx_10_13_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

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

Uploaded CPython 3.11Windows x86-64

bithuman-1.9.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (7.1 MB view details)

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

bithuman-1.9.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (7.0 MB view details)

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

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

Uploaded CPython 3.11macOS 14.0+ ARM64

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

Uploaded CPython 3.11macOS 10.9+ x86-64

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

Uploaded CPython 3.10Windows x86-64

bithuman-1.9.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (6.9 MB view details)

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

bithuman-1.9.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (6.8 MB view details)

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

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

Uploaded CPython 3.10macOS 14.0+ ARM64

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

Uploaded CPython 3.10macOS 10.9+ x86-64

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

Uploaded CPython 3.9Windows x86-64

bithuman-1.9.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (6.8 MB view details)

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

bithuman-1.9.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (6.8 MB view details)

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

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

Uploaded CPython 3.9macOS 14.0+ ARM64

bithuman-1.9.0-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.9.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: bithuman-1.9.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 2.7 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.9.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 02eb7ca3cabdff0ecae6dba6969cda71164b822d64d5fdcc5a8207a787cf6765
MD5 b605825cabd7b54d67f7c1e79a3d8668
BLAKE2b-256 59a5f318cc2a23d5854bc9475dd5afb992220dc9180bbf603d7c201cdcf5171e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.9.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 051acb32e9fb0c6f29db1e252a3cd9bbb7c80edc9115f907b13afb2b8ca3be28
MD5 435f5da67de95797312450ace15d69e8
BLAKE2b-256 1029bb173aaeb4dda4b4e726d1ec465510fa4b6ba87f51764bca985922c2d421

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.9.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 88bee4a4e169ffd9b24f8983d2357587aa5cf8eb34d8da3cdb26e76143f82766
MD5 0fac547103286c45706a55f029b5054e
BLAKE2b-256 5d36a3bb22a721de808a87eba234e9c9246844646eaa15b48278f7350189778e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.9.0-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 7834a7671c4be492dc1c6d1a52850383b8049c8977b27bf73dcecbee368650df
MD5 e4c5830f1fd6ab18c71144b180f61885
BLAKE2b-256 0f10519336e980abf17dee8188f651abfb334494a6108a9cabf1d716b968fc58

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.9.0-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 09095045b0329afe96e642f4acd498658f1b254d28095704ea73309faa6e5630
MD5 d3ebbbc074f2cb7017296a924e8c3a49
BLAKE2b-256 b54499b640b5e6da383562fa83de3da8a43d580a3cb56382c47ae4d5242eef56

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bithuman-1.9.0-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.9.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 5d987753e6aa7342b93125cea4fcbc9ba645d8fcda9be2847846a0d5ff99300a
MD5 44f50107959972b869ad7e7b11807c9e
BLAKE2b-256 4ef206427237a85fd4763a5679c30565b00869d82afeb50a338d7a6119d3aa42

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.9.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1876435d8803126b21def5feb8afc22f08305b948559ad8dee2136dcfa23bc0b
MD5 3de6485f15a9d213b7020ae58bdb990c
BLAKE2b-256 03101913c0135316a433ab4fc48c44db2cfabb52153c3266c803b3aaa0f970e8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.9.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 04bcddde5062e1c1ac60d0777a92aae315601eec267e3724756da17de4585860
MD5 e8dbe0bbb976b4c9b7f777b86919682f
BLAKE2b-256 ac70ad5719f168302053df8fbc89f6ef513a92753516027689de93b960218b46

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.9.0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 73a1a8e000f43cba58dd13f2c06a7a514f6a6a91e4a72b4a587ef6458965b4d6
MD5 3f3ddcc85353e120291b1287d44c5c71
BLAKE2b-256 6b9f0ffe7263c4a2a7ca557b03d1ab27ac286bf2c17ecb208bb318712a4227b0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.9.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 6bf66551d325811658943e6746eb71d01e08e805bbdcc747c1b212ca0f236969
MD5 8400df9cd9a80ba119bab2800bd2efd0
BLAKE2b-256 c20932fc70458f7ba7f2f523c98141cfbf7c45b911303b833bb5e73592079c02

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bithuman-1.9.0-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.9.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a1f324b5939fc2345a9c77691f2004eec6f3bfcb43cad359b16a1c9c5307773d
MD5 0f61d76eb7f4f9af6f1864d4150b94e4
BLAKE2b-256 2e29abfdf2e02a4c73a8ac6f2c560276b1f62484ae1a3aa386c8fb878907b765

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.9.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8336abc0a1600fa851612fffdf1527f8d7bf23f8a75820ff79a28f4911cbb269
MD5 9442862543a6a601b72b1c803820a9a8
BLAKE2b-256 e203e23249941ad6b36363aa15b86e11f1766303be5452db67c425ce1eea25a1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.9.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 907e387e33411d94040e9cbe08b58625c819b65515bee63af91ad943a47d5829
MD5 387a3781f1dd34e40870d354ff2fab64
BLAKE2b-256 d2451a4b162a66729158d11ddf8699654b88396712e3622432375f796f887c27

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.9.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 044717f1dcc28ed614ed654e2d13ccff509d7a4a242c71495065f6a0acaa0988
MD5 ec7e276f0a248e327e8c28da116c9d98
BLAKE2b-256 0e1eec2e24ed749d79d6a4c691c683583d350494461c7ec7da75596ea6797410

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.9.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 710d4994909f1e8b018f9fe6b24965b858ed6ab25b3397ea638324843b9cde4a
MD5 d1f463cbe4c625a426598184e9841e58
BLAKE2b-256 c214daa0133e2822bb7da4dc459a38f42410fa0c929c986e5d945151f7fd56e0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bithuman-1.9.0-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.9.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 355eb8b300b27d49595e39f09eb6068f47c2353af5fd9e1836ba39a2292bc56f
MD5 388eb9bb9ac8c87aef39a65d91ecc1b5
BLAKE2b-256 53d9b663f0ba849cffe461309de7df8cfd89731b954b6dc691e159209de5d38e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.9.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 808fa98e75a18e31941ae4989f5cbca5d9b73412b0e0e12bb6691c0541348a06
MD5 c92f61352a5940e5a474b2fa23bc6eb5
BLAKE2b-256 57a099cf0b13d5ba4fff9e97a82f81be9f4d9ae1dad0e1418c7bd520342fdcd3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.9.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 236af54c401d96910a7d1e8e1e4d37add08720e9eb4f7b81e92f6e15e8946e91
MD5 06fe83b433a2054eb7102cc75ca48de5
BLAKE2b-256 c43994810f93ff2c7142f049a280a6addff3f3f2eadbb3694ede247c0b7b612b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.9.0-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 a8d7257c6d639ec4ccc074b48a8391a22f6981788f44466a95c2690fe9ec43a5
MD5 a308b59f6a6e56a04326a53f289b24cb
BLAKE2b-256 ab7e10bf145be1dc4a21e105b23fc02ab08c12860b90b7e9c1dd6b8018808e61

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.9.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8f84f25f054199d22c070a891a75eb707de9d37f71dd805956aad5f4e90aeb86
MD5 43197799c59b642cd284f962a1553d21
BLAKE2b-256 09ea0a9c0f75bb88f624cb3fe3398f6644392b917638c6c6ecb86e4900ed54f7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bithuman-1.9.0-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.9.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 869b1c4d03fc48fa2c0c025bf4a0f1838367ea4066fd9b025ab3f91a166a6be2
MD5 3aa65f7ade91289256112aed2b80a293
BLAKE2b-256 de466ffb06db3ce7dcc4d796a857d0d3be6b3b739fdf768ccc4ce3c3f8d9479d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.9.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 36179f67c140272fe6936397c8c212d5aae619a6cefb09c300d7ab33634613ff
MD5 ba2f414a804891a591fa2093636af3eb
BLAKE2b-256 d4566b18ddd9750605dc31ba4afe72a060a65233eed923aead754ca6ec5cafad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.9.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7ed8bbc9fb49024a52d3a3eff64678f0a6a7216bf4345f74bc0f9adf56368d9c
MD5 2e6e904ddcb217c03bd3fa98fda9b311
BLAKE2b-256 3a86ede405abb8fd2671f60fb044283a78baf3538d381e1cd482ed213d3f4d3d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.9.0-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 37034e921c439bc4520b1932b0c6b438720127ae96abc4f9b95ccdaca0fc6bc1
MD5 aa5622c39f922a1cbaececf8f04a680d
BLAKE2b-256 e0249a8f3fbae9777b447e7841d04aa00904ca734d7c030b780a0c06dc00c241

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.9.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4e288afb959d2a5e7298150e3fc7ce5d3c778422ac27d013410f958006e536f2
MD5 225debdd8f808d494271975af4e113e5
BLAKE2b-256 8b6e7e02cc1e1e810e2317c1916f048222662134c7e63bb106e6cba08d81b132

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bithuman-1.9.0-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.9.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 582cf2ea7833b66df81f8d9e1512ced95ad402cc5785bbfca1204076e045343d
MD5 6f07ddd6ba63c7092f4dcdf4f79e21f6
BLAKE2b-256 f976d94c9a3b3687e176a3549b71b44e37977bec347348435ba5e5839dd01079

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.9.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b9cfa5a7c489bc7130fc7a72d213d36c6807a9a9447f1c17292c668ecaaa9ba8
MD5 70dfb7390cef687c0759c0ecd1e86420
BLAKE2b-256 1f66d3994849af6def7b1c896d5e8259d6ab8e5684de1cc932a3cf2b658a059b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.9.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3060def0aa92fe188cd4297644e520c0ad467854143da725d178743edca51bc7
MD5 d91102f91f28221ef5f95a86e37f82cc
BLAKE2b-256 f1039e8fa6de29e432e78340badd13e8e22bededbbb1308c9a78c2bbe816672d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.9.0-cp39-cp39-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 f5ffee3b2aae66a18764e7fe26eb163a2f9ab315edcfb7ca34790aca81f9381b
MD5 8b4ef1792d3b4ee53aea81fb563de8d0
BLAKE2b-256 f2d6ad8f9147adcb0043f279bdcd33c3da519f376c830e3f06e824db694127c2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.9.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6aa58c8589cab9776f9d14b95d73d1bab6197abff75fdbbed1863689359c4fbd
MD5 020b465ee4a1e06c2bf80048c6463450
BLAKE2b-256 479c4eb2400de9af558782c12ea3ce595c2eca8fc880faa46a7ac48eb7030ae6

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