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

Uploaded CPython 3.14Windows x86-64

bithuman-1.8.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

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

bithuman-1.8.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (2.6 MB view details)

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

bithuman-1.8.3-cp314-cp314-macosx_14_0_arm64.whl (7.1 MB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

bithuman-1.8.3-cp314-cp314-macosx_10_15_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

bithuman-1.8.3-cp313-cp313-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.13Windows x86-64

bithuman-1.8.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

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

bithuman-1.8.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (2.6 MB view details)

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

bithuman-1.8.3-cp313-cp313-macosx_14_0_arm64.whl (7.1 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

bithuman-1.8.3-cp313-cp313-macosx_10_13_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

bithuman-1.8.3-cp312-cp312-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.12Windows x86-64

bithuman-1.8.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

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

bithuman-1.8.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (2.6 MB view details)

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

bithuman-1.8.3-cp312-cp312-macosx_14_0_arm64.whl (7.1 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

bithuman-1.8.3-cp312-cp312-macosx_10_13_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

bithuman-1.8.3-cp311-cp311-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.11Windows x86-64

bithuman-1.8.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

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

bithuman-1.8.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (2.6 MB view details)

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

bithuman-1.8.3-cp311-cp311-macosx_14_0_arm64.whl (7.1 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

bithuman-1.8.3-cp311-cp311-macosx_10_9_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

bithuman-1.8.3-cp310-cp310-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.10Windows x86-64

bithuman-1.8.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

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

bithuman-1.8.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (2.6 MB view details)

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

bithuman-1.8.3-cp310-cp310-macosx_14_0_arm64.whl (7.1 MB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

bithuman-1.8.3-cp310-cp310-macosx_10_9_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

bithuman-1.8.3-cp39-cp39-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.9Windows x86-64

bithuman-1.8.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

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

bithuman-1.8.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (2.6 MB view details)

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

bithuman-1.8.3-cp39-cp39-macosx_14_0_arm64.whl (7.1 MB view details)

Uploaded CPython 3.9macOS 14.0+ ARM64

bithuman-1.8.3-cp39-cp39-macosx_10_9_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: bithuman-1.8.3-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 2.2 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.3-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 e284e4192b2f06186ef4615a8b9d96d6330bbac94a4a8c06183693c7e5040d3e
MD5 a972d7a98087e87594b1d2a4b7e70bf4
BLAKE2b-256 9ed40a62b2e7c2f4d4043d58bb0f1ece550673ba14461e479743e14d69a868d9

See more details on using hashes here.

File details

Details for the file bithuman-1.8.3-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.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7b3b8fa5ace2f7eadf05b3d3d01e630e03fea99da02f1b9c79266e9f3fc6bca8
MD5 f555d1e52c4b8c4297efde4455cc75a4
BLAKE2b-256 85c487dc6c3398016ed7ee4aef9579516c49eefda9c62478e2628679ffe8865e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.8.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 51d2f22411586685d981d1b5e61360b82652981a0a490bc374427f6e7e340061
MD5 400712ea419d989f9bdad94eddcdd373
BLAKE2b-256 f1ef86a935382625b6834705d90f3d10ac926b6ab06bf71b44a5602b69e6b8aa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.8.3-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 a50ecd2fa9526b6827d3da65f78f837f4fe36d2033c0a810ecbf3edbc940ae40
MD5 28f2ec96dfb4793c26768c1593bf80a1
BLAKE2b-256 6b2e3bb9343a4931631f88e3be779dd852a7c8b6531db18133748851021e21ab

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.8.3-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 d4d16459286094773da645575e640e72569b047e53931299ab12c90d74461463
MD5 a11ff6b24e824323bc7398dc21b5d0db
BLAKE2b-256 677bfab99cfe74010cc22bb3389c9f9d0b0e82c885a9333c26ac3e7654c4df0a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bithuman-1.8.3-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 2.2 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.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 3b3108ed9456ef3d8d0f5a50bd8b2ba2a0d26c02cbb54eae76dfa8cf78259ce0
MD5 3461ad91cb1902162a3d86d93688dace
BLAKE2b-256 ad8062d1fd84830c21815d5808b0d1fda7cbd540c14b12745c27dc04dd57ea46

See more details on using hashes here.

File details

Details for the file bithuman-1.8.3-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.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 557997a00a2a9ecd2ff99d10d5590150f04651d0a4d684d12e9c65eb7bf86679
MD5 6f4245886c9db5c83079b53ea3fe5044
BLAKE2b-256 5b7c159686c9c4318291c9b461021caccab7a7258939a338509788824188e098

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.8.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 be7e4bba507dadd931f386564241b5d87cff2435b752a167d74064df4315e092
MD5 a303f3687f79bfbdcc84bce241eae00e
BLAKE2b-256 84f86a7ae01d2dbf4d2979f2be3e0bfe5ca99989400c5bf51365d75e32f259a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.8.3-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 c92caff5979cee953a9d7194e2a3264a577ebf5e2032d5320a421fff2d034e0c
MD5 16a922d17275e1deb63bf9bf500ed386
BLAKE2b-256 5527d1258a29992ad43c29c272707f716f773d113fb292815b543e32a612c833

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.8.3-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 a8b473c035139b66eccd78deafabb75c4b3c9dc22629efc0a40ceff8d53eead2
MD5 9cb5e600d38d5b71c155e135c32816da
BLAKE2b-256 a0f0da4dda426e24537d4a5639fba57e0d2cf44a9c2bfc147850e83af20db8ef

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bithuman-1.8.3-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 2.2 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.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a7786830e2f510816431f47436a203d6074bb547b1dd2f38666ccddcd887d32f
MD5 c0f50945861c2db97062fa0763c4a0da
BLAKE2b-256 4b5162b8885451f3fc5e7b87ee23d0c9c8c40c960c331f0761d22bf7c620d7c7

See more details on using hashes here.

File details

Details for the file bithuman-1.8.3-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.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b5ce5b51c3cf490c2759565762f17fbbd2ccd0aaa5083d7714fbe120532435e3
MD5 34caf851ec4d18d152c9f3f05d8cb123
BLAKE2b-256 7e6cf80181532467b8e2edc5de9f986be863ca36f5e6fa917dc0332a6afbaf86

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.8.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 12d8fce1320770ea776ecde9f7a64389a54e67dcf62968f3661d6bd873f6d599
MD5 4cc5fe2f0df254669188515c892bd589
BLAKE2b-256 b01cc1e361bd96375191d5557ed5f45d69b2509e53af4af76d8257daaeaeeedd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.8.3-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 3d7ff19e9ae144e51996bbd8380528e6b02908a2290197d1914c1473efb20e4e
MD5 b67524280cea4f3a92d4450120b4ebfa
BLAKE2b-256 ad7b75756e5f66185d1b2afd69d462e5da101fd843b8125955e097d483fb387e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.8.3-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 4c5b787ab9cf66d843236d286b40efa39286bfed5919290f12982e6ca3de09bf
MD5 72b63e0f6fff87a2dd2535eda6a3e005
BLAKE2b-256 0ec793f0140743e977939a803aa6d629751cc4287a2485ca83e2f1558cd73754

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bithuman-1.8.3-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 2.2 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.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a83fb0a5f07b461e9706e23c6bb689355e3738c258c64b6a3dee618d1d536b06
MD5 a4b6a4d4b656131d00100fa14e6d6da5
BLAKE2b-256 ef4b75ee7ed523815e3a3c8a5ca5db7c81a4d3604768fa1908fa30225f361a48

See more details on using hashes here.

File details

Details for the file bithuman-1.8.3-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.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d40afd11811662ec9b512a28d0337888125963ca5c4474b6e4525d15814e23eb
MD5 8e80c7127f59ada00abab438a22e26e6
BLAKE2b-256 404a3e46c28074043f8ed9e71004c9c4b05fe76cb1b3576ef3bb069c0d44db36

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.8.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 25b7ca0d358ea9c41679a8ae19eac582ba4d798c12e21dd3b5e2236d86e5d45d
MD5 8f0dbdd4c356f9c5b23df7be6bab59b6
BLAKE2b-256 07915fb1be88b3f7a631a435d90bf90e24ca64704eb681a2a368634ac8e96e83

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.8.3-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 426e69544b65fc8953c83be883bcd0088bc9b3ea01aca1cd183f9424d712a953
MD5 ebc2e14e36d8f39acaeba0cae5ded9dc
BLAKE2b-256 aecac32d13393212484091c1195aabc69fe643d848c0d59b6beb7b06ec1d1f95

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.8.3-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7d5544bf104f126f6e642f619226f1f1300bfba01c41f6782467080da341e39b
MD5 3b900e18496c8c0ebe47a83f4f24e7d1
BLAKE2b-256 ab57771f9c37229cf0b1ca7da3d4e958ed597570500dc620ff2a00ae15be1ae3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bithuman-1.8.3-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 2.2 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.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 ce91ba8251def652811ec989fb34ff6c3a4a3448a71ba6367144ded3e6217217
MD5 6432fab40b7817aeb1285b9d183f138a
BLAKE2b-256 2ea3c24b37857a8bb153422702cfc31faa347eb26577483d6c0b493451f2344e

See more details on using hashes here.

File details

Details for the file bithuman-1.8.3-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.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0f313a46ea2482c2b0bf7c0c2b9b96cffb1541500462e0cd2b081024263aa19b
MD5 df848204b58725ba68d7862970466768
BLAKE2b-256 f24fdf0b098eddc174f0a505af81d7336909ee8afff1cbd8b92f15985af138fa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.8.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 db986898d8a9adc4f60edf5441942134ac5354233a9394645f24d38693d3683c
MD5 9c1d69815a6d32a0ca34e30b873496b8
BLAKE2b-256 d39412742ab72f639c5c2b39f69661436530c37d096fa5da98f4aab59fdf0b5b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.8.3-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 a7322ebaaf09b5a9a52a5523475341e24e23815a95da3e3d5118da10daebdd1e
MD5 9b267020695acc2271420a7ca92ba028
BLAKE2b-256 b68fbae393b1ab2d69dce6790c270e2b196f99808adb2bdbbbba426e570a5f0c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.8.3-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ceb211052bc1a24e8668a64ba13f934cb07473dcd67547636c7b68b7de2e2aef
MD5 618e358c748c3c06f89df6312185288e
BLAKE2b-256 4271c26979d94abb119e888a1019466dd31403f0dfcca24abccadce3a66deac3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bithuman-1.8.3-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 2.2 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.3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 5fd4014fed715b476fe2935275218660ac32ea401d72a28de0ab2726d71f7755
MD5 9055a15bad8eaba5c49831ea6f58c13e
BLAKE2b-256 218393483cb58db4f69d62379f6cd47c639d234615dc862f932fe3daa5629c21

See more details on using hashes here.

File details

Details for the file bithuman-1.8.3-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.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f15a770c51570b4e2754f2972650e8497a27b761f64e105c87645b3f7e555dc9
MD5 5bcd235d3533afb3b4cf728da4fbd7ac
BLAKE2b-256 f28a78a9de49ee4068a8742ecddb175168cea98e64b34af36e83d9133b09809b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.8.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 21637ba243ccce5a561c7c46136dfe0358ed7a510a5b43193313e4ee75435d00
MD5 29f6996e1c597019f71c935f4fc3cae0
BLAKE2b-256 796d9e906198ed6e4e5566ca96f24e00c35ec75e9b38e801b5caf0c7909394c4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.8.3-cp39-cp39-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 6d90f091ba27fac7796123f77db179b8c82b0ca81d2b0cda2bb441400170df5f
MD5 06f63eb34617fcdf59fab28abe60e980
BLAKE2b-256 1990ee39f984a9948a844780a7dedb51253b26554ee2c5296245dca40836dc8c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bithuman-1.8.3-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 839a31da437a12d113f356a6190518ecbfad04e01ee928e903c7cd5ff0932a80
MD5 478cc74b5fae43d8973e72dbdb5b81ce
BLAKE2b-256 957d23a1201ffb7556e1283b07c7b4a4304a6b757266923c98015f2b5013ff46

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