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

Uploaded CPython 3.14Windows x86-64

bithuman-1.10.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.10.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.10.0-cp314-cp314-macosx_14_0_arm64.whl (7.7 MB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

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

Uploaded CPython 3.14macOS 10.15+ x86-64

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

Uploaded CPython 3.13Windows x86-64

bithuman-1.10.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.10.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.10.0-cp313-cp313-macosx_14_0_arm64.whl (7.7 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

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

Uploaded CPython 3.13macOS 10.13+ x86-64

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

Uploaded CPython 3.12Windows x86-64

bithuman-1.10.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.10.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.10.0-cp312-cp312-macosx_14_0_arm64.whl (7.7 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

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

Uploaded CPython 3.12macOS 10.13+ x86-64

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

Uploaded CPython 3.11Windows x86-64

bithuman-1.10.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.10.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.10.0-cp311-cp311-macosx_14_0_arm64.whl (7.7 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

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

Uploaded CPython 3.11macOS 10.9+ x86-64

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

Uploaded CPython 3.10Windows x86-64

bithuman-1.10.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.10.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.10.0-cp310-cp310-macosx_14_0_arm64.whl (7.7 MB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

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

Uploaded CPython 3.10macOS 10.9+ x86-64

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

Uploaded CPython 3.9Windows x86-64

bithuman-1.10.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.10.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.10.0-cp39-cp39-macosx_14_0_arm64.whl (7.7 MB view details)

Uploaded CPython 3.9macOS 14.0+ ARM64

bithuman-1.10.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.10.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: bithuman-1.10.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.10.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 64fd9e2e6b3406f9646b0f239e8c204b5bc6cb153dea6f3d66f3034c5dc2b620
MD5 14d5919dfa0fec08a881ae559392f5cc
BLAKE2b-256 17cc68cd549690a956f824f83a4e82ec28799308c0c73a8c916ef52df6ad7ffd

See more details on using hashes here.

File details

Details for the file bithuman-1.10.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.10.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d65794813ec18f0f63864a21704f25946860b3f636fc9c76e1b2e6f74114f2f5
MD5 79ad138ce8c9d84478cd4571cda5f8e1
BLAKE2b-256 7befe4c05f6946b3edd8011b8d5d0cf7eb8ebf89543afd712dfc3b0ea8fdf38c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.10.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ece8c96b82467a379dd63d2662190149b9713a8216d297339222ed474d11529a
MD5 d5b461504b7dc96072ac7996a3ed6219
BLAKE2b-256 c1fb927a339ca6b32fcaee1e4766a3f4ddad56be93017017ea12cb9b9faec014

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.10.0-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 5f63e7c1b218f116d97ad3751427c76bf9feb45c1d4d711572410f5439355cf7
MD5 a50e40a244369322099e822dc63f4009
BLAKE2b-256 59ef50fe8bfc7e184207e5e28a7ade63f4d14ad237da75f48840fcdcaa34848f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.10.0-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 372bf91b37218fe486b2ce8e05c9b2bbf16012f23dabe34aa8e6874582860f23
MD5 37ec08987f5b23e8d5fad58fe38e835e
BLAKE2b-256 8d400845150936975ff2a6834a67cc34e6ae626008276435c6c4e35aaa0fa139

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bithuman-1.10.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.10.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 a422690cdd968e4f4c20851ea9d798d963258302beb62ba18db4fc071b8edd6f
MD5 6d4321564aca876ee7f57013de76c960
BLAKE2b-256 73cf6937a8729aebe6d5ff241d896000ed5188bdb55ebe36415edfad5ec06ef7

See more details on using hashes here.

File details

Details for the file bithuman-1.10.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.10.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 acdc134978e2f03fee854a63b312a20c146e2e2ac019251307d105e0ff504fc3
MD5 404e78dbc6ba3b0f70a54eb43b7f2126
BLAKE2b-256 5399e77d088407102298dfce563e9326cc6a87db3dd3b6ed7fa8bcb21f4faf1e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.10.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8a9bad3a0fac16edcecb9a6da691e1bade95650b5695cd4aded8033e13b16efd
MD5 4effe8b40f863b32c8a592ede93144a3
BLAKE2b-256 93f29864113e991b29715f4dad97d0004fc99efbb092fd49b1fe20d55c954c8a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.10.0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 f261e77e161b97714429f2986fc351a562f1249345e478407fe4461a878e91a7
MD5 52b6b3e1c5e0a1211f13fcee74371599
BLAKE2b-256 c96817cbeaa4a30311b8579902d35834fe5f5bfaacae2c3aa453cd389a8c5e5c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.10.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 c8c1ea3e9a68cb48569d19dcec96e9b63a170bd45f52a5d51c3f645d5b8aa0ff
MD5 bb7750d80bd050e17a6e5934fc19dc68
BLAKE2b-256 681d51d5dff3b142bee94b602716afefd93d15c895ee73ac7acc65750a74607f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bithuman-1.10.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.10.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 503dffd0fe5872fdabf1be6a31d7afa07c5072e48728e0487d894d71a0148879
MD5 e6186f56d0834cd04c5c598b6a3a3f7b
BLAKE2b-256 0ce615708a3b1c7810985a1f390c173405b5188ae0515079a3f49d8bdf2b7e1a

See more details on using hashes here.

File details

Details for the file bithuman-1.10.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.10.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 437b4c12c4cb4a79a6fc1bb262b53c2acc824739ecd43ecfe125564c0bd70498
MD5 be926090d7c4f55a88f606b9565be20a
BLAKE2b-256 a194855e2b4b585ee4137190a17bd500c6c4d3c78f17c5cc53c1ec33e1bbac93

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.10.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 bbd113b9917a9828ea67f0085d7df988a0738cb61e8544d3f241b370b408989f
MD5 26ac5b1d1bbba8aa2fc3863e5a4c0c1e
BLAKE2b-256 44621a8a93c5284fe83602c904d08d6a450ae1bd8f1b4bbf27f7890e5a1d16dc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.10.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 bef131611fee135c12c7e9a352820712dc84233f65ce4c9b6d719986a6d51053
MD5 1365450a8ba91246adfbbe282c824ae1
BLAKE2b-256 cdf52835fd3999e9097301a55d0c5e1291c99f88aa9e03b37f50cbff91877b22

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.10.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 9de231cc2dc71d387a99243ff4c122cb24edac2b26a0e2e664b141a6d40363e0
MD5 9298743b09123af3deb60ff783a558b1
BLAKE2b-256 8e13c7c68eb1948fefaa8ffad7d5afb951a4486218b2b1109a186726c1155375

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bithuman-1.10.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.10.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 7f5104dd626837061e26e4e1271d51d47759a0f1fd6b638e4ac9e17b3a14aeb6
MD5 0963bdb5225a18b682e5fef6cc18c9d2
BLAKE2b-256 67223eef4894793be3f05e5d86dcf1469b7307094f11b53fcf4455138de6cc7a

See more details on using hashes here.

File details

Details for the file bithuman-1.10.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.10.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9242b9ec2c3505e192ec4147b1ce878240013eb8e771af73d764b0caa5eb19c8
MD5 67419f38903048875866513c84f61000
BLAKE2b-256 7b9e25397198d36e399f4e68bd200639953c85f54bf4bcdf731f2c9a5a093dd1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.10.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d2978b586412aa54635cb04a93d90ad09c477e56a91f3aa86456da06c2b0415a
MD5 1e1fb9ab42a9139de9aff322d9ddf48d
BLAKE2b-256 6a346c046928684a06f21c462f141be11ee0fed8333917f4d47804d6e119bed5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.10.0-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 a784cd2b7af77a001f9762b63467ffa7498cf6bfd86f56450deaa538e9da5c7d
MD5 f0ee0d60e35c06de572e74a45d202c1b
BLAKE2b-256 b6c2a6c9dcaa2c58a9773594df8a75c897a050a0393be431d0052d1b2ca6dbc9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.10.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 15a90efc1383045cef08d1c269199910fc44b61ac5e7be34cba382bd98df40f7
MD5 3ba1df675fd24f58d59b486c79e80cee
BLAKE2b-256 ea7eedd850142176b07d1f6002765988683ec563eb7c9c535b96f53bcc5bd251

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bithuman-1.10.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.10.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 703eaa75df8f1fc731a6b90317e65dbee1ab97849bebb4101f19d2d0ee7248ac
MD5 0d22211c5b6317a2f4ce9e18b1577e2b
BLAKE2b-256 ec557fb7149f8b4a51b2259b5cd3e24b7f8c80b2e32b507e3a6867259dcb5694

See more details on using hashes here.

File details

Details for the file bithuman-1.10.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.10.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fe42aedb67c321f90c147af291c44877a59a0c557821bbc0a22695a67dd53d01
MD5 2beb9ffaf5c3cc3a6344ccb666166218
BLAKE2b-256 8b611aa0dd4c581d4cea4b74691b56fc5501d61dba2d8ccd6e467db07cd15691

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.10.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9439b5fb61f2f6d207494a3b1dbed4a911b7316ccc46cb8cbcf7387fb56d6c17
MD5 858c809c9edf988a97e56dceb5194d44
BLAKE2b-256 30f06f3205fe18420f636b271979851a7f2d12d759481ee331d3323acc92585b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.10.0-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 e10e73d2f6257c900d690efb498ffc22bb74f674035478b20db3f11e852bb04e
MD5 af09c4815958e7719ba9d1497ac025c7
BLAKE2b-256 421842df2ee305340df63b614a0fd4f6c6d6911a26c54604706bfffa49dfc071

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.10.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 df75383d0468214bdf4c9897d22be29e8666e1f20b3b32801409545712b437a9
MD5 56eb2502d69589677ab57d9fec0f70f5
BLAKE2b-256 5d3e4c15d93fc5e988e0039e429b4ec756113820fe688a7ae7cd693f67b4d319

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bithuman-1.10.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.10.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 c60b0f3483ee2347cae19933502a8e8d2c3f87006e56cf768a58f50056745e4f
MD5 d66905a0cd5691e5e0a8721ebfad0a6e
BLAKE2b-256 89625736e9a460e15560f6606d070d3eb1203268dd6afa0d3408b0f44c03905b

See more details on using hashes here.

File details

Details for the file bithuman-1.10.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.10.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8210e7f4c1937c7a02c50e34037559d74e57f34a0a16beb8efc80a186a80400a
MD5 5bda33bacb3bc5791fe8add4227a7f52
BLAKE2b-256 8d7d5903fc3005cddaa4dea33d8c3bd483286889bb73fc32e98651ab8c580ad4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.10.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3aee9b767619a28169d9e588c0b6863d9e675bbff04d7b63c67e2243b1f28842
MD5 14c6706b995d8684524753db1e5dc914
BLAKE2b-256 79f581ba3c8ba8dcac933dba9479adfda8f728d1b7c458db4b050d34b50ce673

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.10.0-cp39-cp39-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 4b9d041f6c4124b3ecdf66706689f56663c2d643791961df0301a2aace8d7a90
MD5 a86598b9e2ac69f64aa5c23f2832dcc6
BLAKE2b-256 31b62f0eae54ecebfa7fd4d2e75a79737ec8262c313054e19cdd4db52d913726

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.10.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 678603c3a8d69241f9d663d0a6822c7499090df81830ef67ffb3b7b8fdb01af8
MD5 f4d3d247e4e9e16c5f8dd4046f9533d3
BLAKE2b-256 d353b27876b3e2eff5baae85e56e585cbc7905e0755ec08d51a02714a5e1300a

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