Skip to main content

bithuman

Run a bitHuman avatar on your own machine, in your own process.

pip install bithuman
DEMO=$(python -c 'import bithuman,os; print(os.path.join(os.path.dirname(bithuman.__file__), "assets", "demo_sample.wav"))')
python -m bithuman render sofia-ramirez "$DEMO"     # -> sofia-ramirez.mp4

Two arguments — an avatar and some audio — and a video you can play (with your API secret in BITHUMAN_API_SECRET; see the key). The avatar is a showcase name (python -m bithuman list), your agent's ten-character code (python -m bithuman list --mine; fetched once, which is free), or a file you already have. The audio above is 15 s of speech that ships with this package, so the first run needs nothing you do not already have. The commands are spelled as in the separate bithuman CLI: render <avatar> <audio> [-o out.mp4] [--limit N] [--json] and list [--mine]. If you signed in with that CLI (bithuman login, which this package does not install), the secret it saved is read here too.

In your own program it is the same two things. The command above fetched the avatar to ~/.cache/bithuman/showcase/:

import bithuman, os

speech = os.path.join(os.path.dirname(bithuman.__file__),
                      "assets", "demo_sample.wav")   # 15 s, ships in the wheel
avatar_file = os.path.expanduser("~/.cache/bithuman/showcase/sofia-ramirez.imx")

avatar = bithuman.open(avatar_file)
frames = 0
for image in avatar.render(speech):   # each image: (height, width, 3) uint8, RGB
    frames += 1
print(frames, "frames")

That is the whole thing: open an avatar, then render audio through it.

every family, the same two lines

Essence 1, Essence 2 (full body essence-2, or face only essence-2f) and Expression 2 avatars are opened and rendered by the code above, unchanged. Nothing you write says which one you have, and you do not have to know.

Two families need one extra package on the machine:

pip install "bithuman[essence-2]"      # the new Essence 2
pip install "bithuman[expression-2]"   # Expression 2

Open one of those avatars without its extra and the refusal says so, and says that line. Nothing else differs.

from the command line

python -m bithuman render <avatar> speech.wav              # -> <avatar>.mp4
python -m bithuman render <avatar> speech.wav --mode face  # Essence 2: face only
python -m bithuman pull <avatar>                            # fetch it now, render later with no network
python -m bithuman pack redeem                              # install a prepaid offline pack on this machine

An agent code renders in the agent's own model. An avatar made with Essence 2 renders in Essence 2; an agent made earlier keeps the model it has (Essence 2 legacy, Expression 2, Essence 1). --model picks another of the agent's models: essence-2, essence-2f (face), expression-2, or essence-2-legacy.

With an offline pack installed, a machine renders with no network and no API secret until the pack is spent; an avatar fetched before is used as it is.


The surface

you write it means
bithuman.open(source) open the avatar file on this machine; returns an Avatar
avatar.render(audio) yield the frames for that audio
Avatar what open gives you
AvatarError catch this for any refusal
InvalidAvatar we cannot find it, or it is not a usable avatar
NotSupported this avatar cannot run here
NotAuthorised the key is missing, invalid, or out of credit
Failed we could not do it — the message says which

There is nothing to configure: this package runs the avatar on this machine. For a live conversation, where audio arrives as it is spoken, use AsyncBithuman (streaming below).

audio in

audio is 16 kHz mono, and it is either a buffer or a stream — the same call:

avatar.render(speech)                      # an audio file path
avatar.render(samples)                     # int16 or float32 in [-1, 1]
avatar.render(raw_bytes)                   # 16 kHz mono, signed 16-bit
avatar.render(microphone())                # any iterable of the above

frames out

Each frame is a (height, width, 3) uint8 array in RGB order, in order, at the avatar's own frame rate, which is a property of the avatar, not something to choose: 25 per second for Essence 2, 20 per second for Expression 2.

import cv2
for image in avatar.render(speech):
    cv2.imshow("avatar", image[:, :, ::-1])   # OpenCV wants BGR
    cv2.waitKey(1)

stopping early

Someone interrupting the avatar is "stop consuming and close the iterator":

images = avatar.render(speech)
for n, image in enumerate(images):
    if n == 50:                       # e.g. the user started talking
        images.close()
        break

releasing it

with frees everything at the end of the block; without it, the avatar is freed when it is garbage collected.

with bithuman.open(avatar_file) as avatar:
    for image in avatar.render(speech):
        frames += 1

streaming a live conversation

AsyncBithuman takes audio as it arrives and yields frames with their audio, paced at the avatar's play rate:

from bithuman import AsyncBithuman          # inside an async function:

avatar = await AsyncBithuman.create(model_path=avatar_file)   # reads BITHUMAN_API_SECRET
await avatar.push_audio(pcm16_bytes, 16000, last_chunk=False)  # as the audio arrives
await avatar.flush()                                            # end of the reply
async for frame in avatar.run():
    if frame.has_image:
        show(frame.bgr_image)            # BGR numpy array
    if frame.audio_chunk:
        play(frame.audio_chunk.array)    # the audio that goes with this frame
await avatar.shutdown()

The full example is at https://docs.bithuman.ai/platforms/python/app.


The four refusals

Each one leads to a different fix, and none of them asks you to know anything about how we are built.

try:
    avatar = bithuman.open(avatar_file)
    for image in avatar.render(speech):
        pass
except bithuman.InvalidAvatar:
    ...   # fix the path or the code, or fetch the avatar again
except bithuman.NotSupported:
    ...   # use the cloud package, or another device
except bithuman.NotAuthorised:
    ...   # fix the credential
except bithuman.Failed:
    ...   # retry, then report it

Every one of them is an AvatarError, so except bithuman.AvatarError catches all four.


The key

Rendering is metered, and the key belongs in the environment rather than in your code:

export BITHUMAN_API_SECRET=...

Without one, render refuses with NotAuthorised before it hands you a frame. Get a key at https://www.bithuman.ai/developer/api-keys.

python -m bithuman also reads a .env file in the current directory; that is deprecated and will stop, so export the variable instead. What is already in the environment always wins.


Where it runs

Python 3.10 – 3.14
macOS Apple silicon
Linux x86-64 and arm64
Windows Windows 11, x86-64 (64-bit Python)
Intel Macs, Windows on Arm no wheel — pip install refuses rather than quietly giving you an old release

ffmpeg is used to read an audio file when it is on your PATH; when it is not, the decoder this package already installs reads the same file in this process, so it is not something to install first.

Three environment variables:

BITHUMAN_API_SECRET your API secret, from https://www.bithuman.ai/developer/api-keys — rendering is metered, so it is required unless you pass api_secret=. BITHUMAN_API_KEY is read as a deprecated alias
BITHUMAN_CACHE_DIR where a prepared avatar is kept (default ~/.cache/bithuman)
BITHUMAN_AVATAR_CACHE_GB the most space prepared avatars may take (default 10). One copy is kept per avatar file content; the least recently used ones that no process has open are removed above it

This package never puts a command on your PATH

pip install bithuman installs a library and nothing else — and python -m bithuman is why that costs you nothing: a module needs no script, cannot collide with one, and is there the moment pip finishes. The full bithuman command-line tool (a live avatar, a conversation) is a different artifact and is not installed with pip:

curl -fsSL https://install.bithuman.ai | sh
brew tap bithuman/bithuman https://gitlab.com/bithuman/sdk/homebrew-bithuman \
  && brew install bithuman/bithuman/bithuman-cli         # macOS, equivalently (always tap with the URL)

That is on purpose: a pip-installed command named bithuman would overwrite the one the CLI installer or Homebrew put at the same path.


Using it from a LiveKit agent

The LiveKit integration is a separate package, livekit-plugins-bithuman, published by LiveKit out of github.com/livekit/agents:

pip install livekit-plugins-bithuman "bithuman[expression-2]"

Do not give that plugin your account API secret. Up to and including 1.8.4, the plugin copies the secret it is given into the avatar's participant attributes, which every participant in the LiveKit room can read. Keep the secret on your server under another name (BITHUMAN_MASTER_SECRET), mint a one-hour runtime token per session (POST /v1/runtime-tokens/mint) and pass that token to the plugin instead. The worker is at https://docs.bithuman.ai/platforms/livekit.


Licence

Commercial software. Terms of use: https://www.bithuman.ai/legal/terms

Metadata

Release files for bithuman 2.12.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bithuman 2.12.9
File Size Uploaded Provenance Actions
bithuman-2.12.9.tar.gz 2.1 kB Without provenance Details for bithuman-2.12.9.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for bithuman 2.12.9
File Actions
bithuman-2.12.9-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for bithuman-2.12.9-cp314-cp314-win_amd64.whl
bithuman-2.12.9-cp314-cp314-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64 Details for bithuman-2.12.9-cp314-cp314-manylinux_2_28_x86_64.whl
bithuman-2.12.9-cp314-cp314-manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ ARM64 Details for bithuman-2.12.9-cp314-cp314-manylinux_2_28_aarch64.whl
bithuman-2.12.9-cp314-cp314-macosx_14_0_arm64.whl CPython 3.14 CPython 3.14 macOS 14.0+ ARM64 Details for bithuman-2.12.9-cp314-cp314-macosx_14_0_arm64.whl
bithuman-2.12.9-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for bithuman-2.12.9-cp313-cp313-win_amd64.whl
bithuman-2.12.9-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details for bithuman-2.12.9-cp313-cp313-manylinux_2_28_x86_64.whl
bithuman-2.12.9-cp313-cp313-manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64 Details for bithuman-2.12.9-cp313-cp313-manylinux_2_28_aarch64.whl
bithuman-2.12.9-cp313-cp313-macosx_14_0_arm64.whl CPython 3.13 CPython 3.13 macOS 14.0+ ARM64 Details for bithuman-2.12.9-cp313-cp313-macosx_14_0_arm64.whl
bithuman-2.12.9-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for bithuman-2.12.9-cp312-cp312-win_amd64.whl
bithuman-2.12.9-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details for bithuman-2.12.9-cp312-cp312-manylinux_2_28_x86_64.whl
bithuman-2.12.9-cp312-cp312-manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64 Details for bithuman-2.12.9-cp312-cp312-manylinux_2_28_aarch64.whl
bithuman-2.12.9-cp312-cp312-macosx_14_0_arm64.whl CPython 3.12 CPython 3.12 macOS 14.0+ ARM64 Details for bithuman-2.12.9-cp312-cp312-macosx_14_0_arm64.whl
bithuman-2.12.9-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for bithuman-2.12.9-cp311-cp311-win_amd64.whl
bithuman-2.12.9-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details for bithuman-2.12.9-cp311-cp311-manylinux_2_28_x86_64.whl
bithuman-2.12.9-cp311-cp311-manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64 Details for bithuman-2.12.9-cp311-cp311-manylinux_2_28_aarch64.whl
bithuman-2.12.9-cp311-cp311-macosx_14_0_arm64.whl CPython 3.11 CPython 3.11 macOS 14.0+ ARM64 Details for bithuman-2.12.9-cp311-cp311-macosx_14_0_arm64.whl
bithuman-2.12.9-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for bithuman-2.12.9-cp310-cp310-win_amd64.whl
bithuman-2.12.9-cp310-cp310-manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64 Details for bithuman-2.12.9-cp310-cp310-manylinux_2_28_x86_64.whl
bithuman-2.12.9-cp310-cp310-manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ ARM64 Details for bithuman-2.12.9-cp310-cp310-manylinux_2_28_aarch64.whl
bithuman-2.12.9-cp310-cp310-macosx_14_0_arm64.whl CPython 3.10 CPython 3.10 macOS 14.0+ ARM64 Details for bithuman-2.12.9-cp310-cp310-macosx_14_0_arm64.whl

Total release size: 479.2 MB

Release files / bithuman-2.12.9.tar.gz

Download URL bithuman-2.12.9.tar.gz
Size 2.1 kB
Tags Source
SHA-256 checksum
How to use checksums
c4db28a64454dc919b5a44970cd076ebb78c5a03895e1cb0407d39c8e4c2e4a2
BLAKE2b-256 checksum
How to use checksums
44a54eff518e1d1ab143f0366dfbe1cb75cc0e063908bed4ff9348ce225d7e0b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / bithuman-2.12.9-cp314-cp314-win_amd64.whl

Download URL bithuman-2.12.9-cp314-cp314-win_amd64.whl
Size 13.9 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
ffc8bd0e16e5f802a5d619fd8480d00afa1df15543969e3bd01f93c34a91b5d8
BLAKE2b-256 checksum
How to use checksums
ce22b815a3e1a09ff8e5ecf2e6392a6ee1ad7fab24b47f292be19549d16a24ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / bithuman-2.12.9-cp314-cp314-manylinux_2_28_x86_64.whl

Download URL bithuman-2.12.9-cp314-cp314-manylinux_2_28_x86_64.whl
Size 23.6 MB
Tags CPython 3.14 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
0cc1049c2cbcf113c31f56d6486976e1dd02180b0c8a4a0b5144c0848535e3de
BLAKE2b-256 checksum
How to use checksums
25e31d252521a105ca9e78e16dde29f5cee114a04702c0d35cb98b8b7dba8362
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / bithuman-2.12.9-cp314-cp314-manylinux_2_28_aarch64.whl

Download URL bithuman-2.12.9-cp314-cp314-manylinux_2_28_aarch64.whl
Size 21.9 MB
Tags CPython 3.14 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
74409b92f754baf53add351e7db8449321fd5af10a8a1b35b41260610fa0c53c
BLAKE2b-256 checksum
How to use checksums
90517b53d4fb9d9b0c532f8ec495c6127362b1d0a924de4e0b46b5a4198a4d10
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / bithuman-2.12.9-cp314-cp314-macosx_14_0_arm64.whl

Download URL bithuman-2.12.9-cp314-cp314-macosx_14_0_arm64.whl
Size 36.4 MB
Tags CPython 3.14 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
1eb170a2cf515f037c42eb245dde709d410c4d5326dbe16044fc7a1aa2b04bc5
BLAKE2b-256 checksum
How to use checksums
843dc34dd787c4dc8453ad245055845fc928c89812beb0865548a6baff4bc8b6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / bithuman-2.12.9-cp313-cp313-win_amd64.whl

Download URL bithuman-2.12.9-cp313-cp313-win_amd64.whl
Size 13.9 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
cd2d0f0ac72dc79bce288199f3447926c82dcbc95e8ce209947a76b0ef4c9a57
BLAKE2b-256 checksum
How to use checksums
cdafe97b6161558fe4892ab402c506f08395d20208ef53b7ab53c19c0f21fc16
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / bithuman-2.12.9-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL bithuman-2.12.9-cp313-cp313-manylinux_2_28_x86_64.whl
Size 23.6 MB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
2d2c29d91d3048ee4f2ca44f497b81ebcafb68bbab745ec411a940e28124f9e3
BLAKE2b-256 checksum
How to use checksums
f878d94a9b6f6a2ede6c62a7051f512e7f20f451eaa165ac2d750fd2606fab1d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / bithuman-2.12.9-cp313-cp313-manylinux_2_28_aarch64.whl

Download URL bithuman-2.12.9-cp313-cp313-manylinux_2_28_aarch64.whl
Size 21.9 MB
Tags CPython 3.13 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
d88373b7f0044f0b03a2e983dd93224752a897d2fc3823e53079823f752cf1ef
BLAKE2b-256 checksum
How to use checksums
e0ed45aa29fd828d91f34bc932dcb8ebbc77df302efaf6789ab70ec137a13896
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / bithuman-2.12.9-cp313-cp313-macosx_14_0_arm64.whl

Download URL bithuman-2.12.9-cp313-cp313-macosx_14_0_arm64.whl
Size 36.4 MB
Tags CPython 3.13 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
502f79f36a1f194bc649a2fe3149cb51ab8adcd49d03d4d773fd605b99049838
BLAKE2b-256 checksum
How to use checksums
fcf43e15571d07fd6c08c8b9a3a41f6e9a48fd220f9800c1c74d7eb8cad115fe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / bithuman-2.12.9-cp312-cp312-win_amd64.whl

Download URL bithuman-2.12.9-cp312-cp312-win_amd64.whl
Size 13.9 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
3993d342a050f019a2d4c744db861c18b17e04e0196645fc0c1abd73db3dbef4
BLAKE2b-256 checksum
How to use checksums
9244051040e65738b0b1f40fba99f2da6be6d235064cc9edb76c585e507948d5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / bithuman-2.12.9-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL bithuman-2.12.9-cp312-cp312-manylinux_2_28_x86_64.whl
Size 23.6 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
8008d157dabf1c3188aaa862b2d5f67436f2a776a402b19c9d514aec38cb551d
BLAKE2b-256 checksum
How to use checksums
c214d8a8b5045e37a67c109b22afb2cf48b19de7f95fdfbf696674f5976ac474
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / bithuman-2.12.9-cp312-cp312-manylinux_2_28_aarch64.whl

Download URL bithuman-2.12.9-cp312-cp312-manylinux_2_28_aarch64.whl
Size 21.9 MB
Tags CPython 3.12 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
aede8f0e7a9b1dae1c5029194719a53a007df3a5b0b25aa85c9c19e8d8892c35
BLAKE2b-256 checksum
How to use checksums
5d840c417d103c1a6288284953975717043b9b8d6488d9818e08f5f57b871009
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / bithuman-2.12.9-cp312-cp312-macosx_14_0_arm64.whl

Download URL bithuman-2.12.9-cp312-cp312-macosx_14_0_arm64.whl
Size 36.4 MB
Tags CPython 3.12 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
f8765fa2285d3b7b2bb5a475aa71e6204cfb975d2f5b7159f1cf00a385349860
BLAKE2b-256 checksum
How to use checksums
57b8fc09eec6983ddd888b9c3abdf8e9efb499d617be7b5864173720a733d9a3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / bithuman-2.12.9-cp311-cp311-win_amd64.whl

Download URL bithuman-2.12.9-cp311-cp311-win_amd64.whl
Size 13.9 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
9505098161d6aadcef84fcb2c3fb3da2d4f1a24a1b8689040fedac331625c29f
BLAKE2b-256 checksum
How to use checksums
d8d07a0711088e2866ddd2795b73bcb8994c30f7e77aec861d739bc48b56860b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / bithuman-2.12.9-cp311-cp311-manylinux_2_28_x86_64.whl

Download URL bithuman-2.12.9-cp311-cp311-manylinux_2_28_x86_64.whl
Size 23.6 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
b8801b1b231270945c353dcb76cb8a1914b5d2773d0f35a7a31f12a3fe3af9eb
BLAKE2b-256 checksum
How to use checksums
15ea2a80be88543e850ed15ef01469775bb46b7510f056f22629ea34c8f4c274
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / bithuman-2.12.9-cp311-cp311-manylinux_2_28_aarch64.whl

Download URL bithuman-2.12.9-cp311-cp311-manylinux_2_28_aarch64.whl
Size 21.9 MB
Tags CPython 3.11 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
11c8bab22ab081e8cfa4b9e6eadceba3f6caa01015f3ce462083681e9d147e85
BLAKE2b-256 checksum
How to use checksums
3cacd1a8d922348aefb42d3115a5e016bf10c65e5b3c14461c3d6b3e5eb660f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / bithuman-2.12.9-cp311-cp311-macosx_14_0_arm64.whl

Download URL bithuman-2.12.9-cp311-cp311-macosx_14_0_arm64.whl
Size 36.4 MB
Tags CPython 3.11 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
254814d6d30cd88cd4e2ba10236b142c5bfd53f4b13a851aaa9516156bc2ac7e
BLAKE2b-256 checksum
How to use checksums
461728fa415139d2089365b73f6f28c47eff380d6744faeee5168c061e700a67
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / bithuman-2.12.9-cp310-cp310-win_amd64.whl

Download URL bithuman-2.12.9-cp310-cp310-win_amd64.whl
Size 13.9 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
1580884062cf9ced44f0b8145597dd4f57898eb6ac8a5e965302802ebf52b704
BLAKE2b-256 checksum
How to use checksums
48b9dcb9c731ee8e7c9ea8ede0c23e429a56b833df1111bd4453387e4c8ee353
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / bithuman-2.12.9-cp310-cp310-manylinux_2_28_x86_64.whl

Download URL bithuman-2.12.9-cp310-cp310-manylinux_2_28_x86_64.whl
Size 23.6 MB
Tags CPython 3.10 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
09a756f9f21469497d7f7c5231382327de615264cb5c871bb27e63106f3946ef
BLAKE2b-256 checksum
How to use checksums
25558065dcd19941ca903aa32f9e1a37940a3b78cd92cc9d30bb65e3351b0dbc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / bithuman-2.12.9-cp310-cp310-manylinux_2_28_aarch64.whl

Download URL bithuman-2.12.9-cp310-cp310-manylinux_2_28_aarch64.whl
Size 21.9 MB
Tags CPython 3.10 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
ca2c327be6a482495e7cc49bd11b0199edef911464201f7f5b94a34869154bca
BLAKE2b-256 checksum
How to use checksums
67663d82f4bfc7646de6723524e09e992f8f4df02273feb1a265c40858ea2439
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / bithuman-2.12.9-cp310-cp310-macosx_14_0_arm64.whl

Download URL bithuman-2.12.9-cp310-cp310-macosx_14_0_arm64.whl
Size 36.4 MB
Tags CPython 3.10 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
fa31f533228565a75c19bf10e3d03c8efb21bfeb0a95866d0287740962cf7858
BLAKE2b-256 checksum
How to use checksums
7ed45e900d97270a1ef34cbe85b10c15ccba7c4e484ebef1d767db056631d796
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Security for bithuman 2.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page