Skip to main content

This is an ultra-fast, lightweight and clean code implementation of the Byte Pair Encoding (BPE) algorithm.

Project description

[中文|English]

🚀tinybpe

build wheels lint coverage support-version license

👋 TinyBPE is a fast, lightweight, and clean language model tokenizer and basic BPE model trainer, implemented as a CPython extension.

📦 Setup

pip install tinybpe

🌟 Features

  • The core is meticulously designed and implemented in C , using an AVL-Tree as the index for fast and efficient performance.
  • Used as a Python module with a simple and elegant API.
  • Supports training BPE models and continuing training on imported models to expand the vocabulary.
  • Implements a general byte-level tokenizer, supporting fast encoding and decoding,as well asstreaming decoding.
  • Supports regular expression pre-tokenization and adding special Tokens.
  • Supports converting model parameters from tiktoken.
  • Highly customizable, easy to integrate and extend, and the core is zero dependencies.

⚡️ Getting Started

📍1. Basic Usage

Convert the model parameters of tiktoken, create a tinybpe tokenizer, and compare it with tiktoken.

import tiktoken
from tinybpe import Tokenizer, get_from_tiktoken

tik_tokenizer = tiktoken.get_encoding("cl100k_base")
model_param = get_from_tiktoken(tik_tokenizer._mergeable_ranks)   # Convert model parameters
tiny_tokenizer = Tokenizer(model_param)  # Create a TinyBPE tokenizer

text = "👋 Hello, this is an example. 你好,这是一个例子。😁"
tik_ids = tik_tokenizer.encode(text)
tiny_ids = tiny_tokenizer.encode(text)
assert tik_ids == tiny_ids

print("tiktoken: ", tik_ids)
print("tinybpe: ", tiny_ids)

tik_text = tik_tokenizer.decode(tiny_ids)
tiny_text = tiny_tokenizer.decode(tik_ids)
assert tik_text == tiny_text

print("tiktoken: ", tik_text)
print("tinybpe: ", tiny_text)

# output:
# tiktoken:  [9468, 239, 233, 22691, 11, 420, 374, 459, 3187, 13, 220, 57668, 53901, 3922, 44388, 21043, 48044, 27452, 45829, 1811, 76460, 223]
# tinybpe:  [9468, 239, 233, 22691, 11, 420, 374, 459, 3187, 13, 220, 57668, 53901, 3922, 44388, 21043, 48044, 27452, 45829, 1811, 76460, 223]
# tiktoken:  👋 Hello, this is an example. 你好,这是一个例子。😁
# tinybpe:  👋 Hello, this is an example. 你好,这是一个例子。😁

📍 2. Training a BPE Model

The following code trains a simple BPE model. It imports text data from the<your-text-file>file, performs no preprocessing on the data, and directly hands it over to SimpleTrainer. It then executes the step() method 744 times to train a tokenizer with a vocabulary size of 1000.

from tinybpe import SimpleTrainer

text = open("<your-text-file>", "r", encoding="utf-8").read()  # Import text file
trainer = SimpleTrainer(text)  # Create a trainer
vocab_size = 1000  # Vocabulary size
merges_size = vocab_size - 256  # Model parameter size
for _ in range(merges_size):
    pair, rank, freq = trainer.step()  # Train
    print(f"{pair} -> {rank} ({freq})")  # Print training logs

print(trainer.merges)  # Model parameters
print(trainer.merges_size)  # Model parameter size, which is 744 (1000 - 256)
trainer.save("simple")  # Save the model file as simple.tinymodel

Notes:

  • The model's vocabulary size = 256 + the model's parameter size (merges_size).
  • No preprocessing is done on the data. For example, if you directly train on the text string "...hello world..." without preprocessing, there is a chance that the model's vocabulary will contain tokens like "lo w". Therefore, it is recommended to preprocess the text file. You can refer to examples/regex_trainer.py .
  • After loading the model parameters, you can continue training on the data to expand the vocabulary. You can refer to examples/simple_continue_training.py .

For more complex BPE models, you can design your own data preprocessing functions or inherit from the parent class bpe.Trainer of SimpleTrainer to implement your own trainer. bpe.Trainer is a high-performance, highly customizable base trainer implemented in C. You can also load an existing tinybpe model and continue training on text data to expand your vocabulary.

📍3. Loading a Model and Creating a Tokenizer

Use load_bpe_model to import the model file as tokenizer parameters, and then create a Tokenizer instance from the model parameters.

from tinybpe import Tokenizer, load_bpe_model

model = load_bpe_model("simple.tinymodel")  # Import the model file
tokenizer = Tokenizer(model)  # Create a tokenizer instance
s1 = "hello world, old man !"
ids = tokenizer.encode(s1)  # Encode
print(ids)
s2 = tokenizer.decode(ids)  # Decode
print(s2)
print(tokenizer.n_vocab)  # Output the vocabulary size
tokenizer.save_vocab("simple")  # Export the vocabulary file as simple.vocab

The Tokenizer has three parameters. The other two parameters are pat_str and special_tokens , which serve the same purpose as in tiktoken. pat_str is a regular expression string that preprocesses the text string for the tokenizer, and special_tokens is a dictionary of special Tokens. For more details, you can refer to examples/regex_tokenizer.py and examples/cl100k_tokenizer.py.

📍4. Streaming Decoding

Streaming decoding means decoding a string one Token ID at a time. If there are insufficient bytes to decode using unicode,the program will internally cache these bytes until they can be properly decoded.

from tinybpe import Tokenizer, load_bpe_model

model = load_bpe_model("simple.tinymodel")
tokenizer = Tokenizer(model)

s = "hello world 你好世界 😁"
ids = tokenizer.encode(s)
# String processing function
def cb_print(text):
    print(text, end="")

decode = tokenizer.stream_decode(cb_print)  # Generate a streaming decoding function
for i in ids:
    decode(i)  # Decode one Token ID at a time

📍5. Converting a Tiktoken Model

Convert the model parameters of tiktoken, specifically the mergeable_ranks , into a model file that can be loaded by tinybpe.

import tiktoken
from tinybpe import save_from_tiktoken

enc = tiktoken.get_encoding("cl100k_base")
save_from_tiktoken("cl100k_base", enc._mergeable_ranks)  # Save the tiktoken model parameters as a TinyBPE model file

After running the above code, a file named cl100k_base.tinymodel will appear in the directory. You can load this model as shown in step 3 and use it normally, for example: examples/cl100k_tokenizer.py.

Note: In commercial scenarios, converting models from other tokenizers may involve copyright issues. Therefore, it is recommended to train your own tokenizer model. 😛

🔧 Contributing

Welcome contributions! If you find any bugs or have suggestions and ideas for improvement, feel free to open an issue to discuss them. If you want to add your creative ideas to the code or fix a bug, feel free to submit a pull request.

🤝 Acknowledgments

  1. Very grateful to minbpe for its detailed explanation of the BPE algorithm and the corresponding code implementation.

  2. Very grateful to tiktoken for providing tokenizer models for validation.

⌛Unit Testing

pip install -r requirements_dev.txt
python build_setup.py build_ext
python -m pytest

Project details


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.

tinybpe-0.1.1-cp313-cp313t-win_amd64.whl (24.6 kB view details)

Uploaded CPython 3.13tWindows x86-64

tinybpe-0.1.1-cp313-cp313t-win32.whl (23.0 kB view details)

Uploaded CPython 3.13tWindows x86

tinybpe-0.1.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (65.1 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ x86-64

tinybpe-0.1.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (66.0 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARM64

tinybpe-0.1.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (61.5 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

tinybpe-0.1.1-cp313-cp313t-macosx_11_0_x86_64.whl (22.4 kB view details)

Uploaded CPython 3.13tmacOS 11.0+ x86-64

tinybpe-0.1.1-cp313-cp313t-macosx_11_0_arm64.whl (22.4 kB view details)

Uploaded CPython 3.13tmacOS 11.0+ ARM64

tinybpe-0.1.1-cp313-cp313-win_amd64.whl (24.0 kB view details)

Uploaded CPython 3.13Windows x86-64

tinybpe-0.1.1-cp313-cp313-win32.whl (22.6 kB view details)

Uploaded CPython 3.13Windows x86

tinybpe-0.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (60.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

tinybpe-0.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (60.2 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

tinybpe-0.1.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (55.9 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

tinybpe-0.1.1-cp313-cp313-macosx_11_0_x86_64.whl (22.0 kB view details)

Uploaded CPython 3.13macOS 11.0+ x86-64

tinybpe-0.1.1-cp313-cp313-macosx_11_0_arm64.whl (22.0 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

tinybpe-0.1.1-cp312-cp312-win_amd64.whl (24.0 kB view details)

Uploaded CPython 3.12Windows x86-64

tinybpe-0.1.1-cp312-cp312-win32.whl (22.6 kB view details)

Uploaded CPython 3.12Windows x86

tinybpe-0.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (60.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

tinybpe-0.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (60.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

tinybpe-0.1.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (56.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

tinybpe-0.1.1-cp312-cp312-macosx_11_0_x86_64.whl (21.9 kB view details)

Uploaded CPython 3.12macOS 11.0+ x86-64

tinybpe-0.1.1-cp312-cp312-macosx_11_0_arm64.whl (22.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

tinybpe-0.1.1-cp311-cp311-win_amd64.whl (24.0 kB view details)

Uploaded CPython 3.11Windows x86-64

tinybpe-0.1.1-cp311-cp311-win32.whl (22.5 kB view details)

Uploaded CPython 3.11Windows x86

tinybpe-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (59.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

tinybpe-0.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (59.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

tinybpe-0.1.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (55.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

tinybpe-0.1.1-cp311-cp311-macosx_11_0_x86_64.whl (21.9 kB view details)

Uploaded CPython 3.11macOS 11.0+ x86-64

tinybpe-0.1.1-cp311-cp311-macosx_11_0_arm64.whl (22.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

tinybpe-0.1.1-cp310-cp310-win_amd64.whl (24.0 kB view details)

Uploaded CPython 3.10Windows x86-64

tinybpe-0.1.1-cp310-cp310-win32.whl (22.5 kB view details)

Uploaded CPython 3.10Windows x86

tinybpe-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (58.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

tinybpe-0.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (59.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

tinybpe-0.1.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (55.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

tinybpe-0.1.1-cp310-cp310-macosx_11_0_x86_64.whl (21.9 kB view details)

Uploaded CPython 3.10macOS 11.0+ x86-64

tinybpe-0.1.1-cp310-cp310-macosx_11_0_arm64.whl (22.0 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

tinybpe-0.1.1-cp39-cp39-win_amd64.whl (24.0 kB view details)

Uploaded CPython 3.9Windows x86-64

tinybpe-0.1.1-cp39-cp39-win32.whl (22.5 kB view details)

Uploaded CPython 3.9Windows x86

tinybpe-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (58.6 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

tinybpe-0.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (58.9 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

tinybpe-0.1.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (54.6 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

tinybpe-0.1.1-cp39-cp39-macosx_11_0_x86_64.whl (21.9 kB view details)

Uploaded CPython 3.9macOS 11.0+ x86-64

File details

Details for the file tinybpe-0.1.1-cp313-cp313t-win_amd64.whl.

File metadata

  • Download URL: tinybpe-0.1.1-cp313-cp313t-win_amd64.whl
  • Upload date:
  • Size: 24.6 kB
  • Tags: CPython 3.13t, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for tinybpe-0.1.1-cp313-cp313t-win_amd64.whl
Algorithm Hash digest
SHA256 a02ae9e145fce61b6156a6029a0b3fe0b86e8a1e66e5080d2783b059b4dd48cb
MD5 9030c9041057806e0ca9e492e88549eb
BLAKE2b-256 751b5936ce6c3e968ded9eee4fcaa9f1e70905474458c986e3316ce7c107d607

See more details on using hashes here.

File details

Details for the file tinybpe-0.1.1-cp313-cp313t-win32.whl.

File metadata

  • Download URL: tinybpe-0.1.1-cp313-cp313t-win32.whl
  • Upload date:
  • Size: 23.0 kB
  • Tags: CPython 3.13t, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for tinybpe-0.1.1-cp313-cp313t-win32.whl
Algorithm Hash digest
SHA256 172c2a9a79f24cbb2c32aac52f4f64a97070259d2dbebd35a56ab1d5e7d172d8
MD5 f6a097c46a6353be51954a4745431d4b
BLAKE2b-256 7a4b124d942cd5eea2523c142ab8896561545561f11422acb75322f4fc391790

See more details on using hashes here.

File details

Details for the file tinybpe-0.1.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tinybpe-0.1.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e12e51c8fe7e221496de3c18cd502908311b15e9225357e1a345c0b8bffaf7a1
MD5 00ecfd83cf22c6d80c49be5db0491eff
BLAKE2b-256 3d08dad3810ccb468bf9522b07661ec91ba62ab47ebb6862651ce3162f065b82

See more details on using hashes here.

File details

Details for the file tinybpe-0.1.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for tinybpe-0.1.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2a3dd3323f889e6fa292f24a8f5e5a0a99f25b20c8489006fbd4d9d60a589b6e
MD5 7ff481d1ac5f99b077afe869493b339f
BLAKE2b-256 ce051704bdbfec2650ef75f73624346201a6c60bdb0be142755934f3f37ca12e

See more details on using hashes here.

File details

Details for the file tinybpe-0.1.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for tinybpe-0.1.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 5dfcc44fc12c26ef6d346989d981fbd48d6e87ced032504dfd0508e96ecd3cbd
MD5 d6e998f964c81b7c9a3f5849ae75853b
BLAKE2b-256 f282f8455062cade671cdb3268a15cfd89cc57398ad3d619bd184cd1773b5be0

See more details on using hashes here.

File details

Details for the file tinybpe-0.1.1-cp313-cp313t-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for tinybpe-0.1.1-cp313-cp313t-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 ebc97845cb1823dfe7152dadaab7e914df91f6013ef0f7a8b8db891b494c7881
MD5 4119155f843f176c957438270075fecb
BLAKE2b-256 9b602183aacffcda6c89c93c496b6ceda8d9f50e22ff34f6837cd9986800b588

See more details on using hashes here.

File details

Details for the file tinybpe-0.1.1-cp313-cp313t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tinybpe-0.1.1-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 25c0d96817af3a0e0e2580b818f11a360493f886f73b5c5c7fe4e4df95548676
MD5 207eb2e26931bd66da20b476723fffea
BLAKE2b-256 039882d8ff8fb2e09ea3bb0d5833c7de0ae108a927bea31bd73a06ba46c7284c

See more details on using hashes here.

File details

Details for the file tinybpe-0.1.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: tinybpe-0.1.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 24.0 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for tinybpe-0.1.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 ef2d1ea0c85a4a6b7c587279df3009ca59e454b2beb3cb0a33ef2b11eb905d7a
MD5 4c051fb920fef2025b121e25c30a0af6
BLAKE2b-256 ee934fba3468ca3bf6fcaf673edc92546abf3c42a09272655692816963b741b2

See more details on using hashes here.

File details

Details for the file tinybpe-0.1.1-cp313-cp313-win32.whl.

File metadata

  • Download URL: tinybpe-0.1.1-cp313-cp313-win32.whl
  • Upload date:
  • Size: 22.6 kB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for tinybpe-0.1.1-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 a8900798eae26e1046836baf4954e48ac09b6facddf3bab97ca1403a982bd6de
MD5 98dbf39b708e46ff3ca560cb179b40bc
BLAKE2b-256 3235b1a3c9dc6a3e9e018cb91e090c9906e221e38bbbe0519560adae7e2ec828

See more details on using hashes here.

File details

Details for the file tinybpe-0.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tinybpe-0.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3b60fd992e59cc103d389a20af454adcc9632277bf7a8688cd22b3edf5e645a3
MD5 bd249edf917733afa2ab57845d9cb3a5
BLAKE2b-256 a8e6d8ca22913e59c1b44c4418a6c35149b48b49c61a7a1c96fdee0bc6a69169

See more details on using hashes here.

File details

Details for the file tinybpe-0.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for tinybpe-0.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 08d399d27579681abd22fa156b6db406585000ab6f2eed0cad610fe520324216
MD5 0527f7fba2fcebb8a6dd19150e2083bc
BLAKE2b-256 27b0650dcfdaa258a5f7fec9759dce32604036ebe6212d713f1e2edb3ab68e4c

See more details on using hashes here.

File details

Details for the file tinybpe-0.1.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for tinybpe-0.1.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 d834f9cd0fd19e8a955be99bbbea212c004b778a07fa0307f170ff8c70c7abc8
MD5 10bf0d50abf14efb725f50bf0db70cf8
BLAKE2b-256 3dac9b8133e65922b0e35d5f18ced9b4c6f35e9abd7cc3504e612e7cbcd50a1c

See more details on using hashes here.

File details

Details for the file tinybpe-0.1.1-cp313-cp313-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for tinybpe-0.1.1-cp313-cp313-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 d1d424e60c2fad96a621ca7307f34eff78112728132340e6404147a2bb2539c3
MD5 aaf08cf42bab3bec5deb8cd9ffc51034
BLAKE2b-256 50d5159fa1de535772cde39f954f62a662f0f88464cb427caa893804c771e027

See more details on using hashes here.

File details

Details for the file tinybpe-0.1.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tinybpe-0.1.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c57b113d5f8f3f9383eb2bcb0f11e8a291ee82cea1f54f7e725b27ab2a0139ca
MD5 073b90f9347576d478fbd53d5ea352aa
BLAKE2b-256 5f4bb129f9a48f7f02654dd57175f3538b527160f8f343165cd46c849d74b713

See more details on using hashes here.

File details

Details for the file tinybpe-0.1.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: tinybpe-0.1.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 24.0 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for tinybpe-0.1.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 02d6528b102c87f2ff88d654075cafb52a153a38d38cf4a042963d7481adbccc
MD5 ca64554a0329046f0e86b49698b76c7c
BLAKE2b-256 053248c5f90c3009a308b2a5a72374aeb997d095032f2ca88f97ab79e1ffed19

See more details on using hashes here.

File details

Details for the file tinybpe-0.1.1-cp312-cp312-win32.whl.

File metadata

  • Download URL: tinybpe-0.1.1-cp312-cp312-win32.whl
  • Upload date:
  • Size: 22.6 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for tinybpe-0.1.1-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 c9f7499258fc62577ccf23d447295a94055146620a72e03685a914e8a17cb98f
MD5 e65241ed901033eea047e342e164cf6b
BLAKE2b-256 f71cb59bcb750686653fbc129f33b68302e1bbdc77f082fb687305f930243964

See more details on using hashes here.

File details

Details for the file tinybpe-0.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tinybpe-0.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1622315ccd9132dfe20ff953a2e3e101c0c507bb58bf5a3264fdffa7f4057330
MD5 1f7e5bbdf526ec4bb28a93c8c2fb0423
BLAKE2b-256 405bcb77048c738d3c7dc54dbf4efb453bf020f52eb42b4b600cac6fbbcf8252

See more details on using hashes here.

File details

Details for the file tinybpe-0.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for tinybpe-0.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 56e497c77813ba3933f3baa7580b57f4a9b8f30bfa68ad93e26177b41bae7abf
MD5 1e60eaf375924cda6176ec3882113948
BLAKE2b-256 9cb5ec2e336084d2e0db75b823ff6f4cd3463d0bc54ce0788a3d1aa7aed02759

See more details on using hashes here.

File details

Details for the file tinybpe-0.1.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for tinybpe-0.1.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 fcee1e7c86d05cf1eea3976688a2d13420403036b93ad94fa2d8e241e949185e
MD5 d2ec42dd7aab88af8d23e07e07b449aa
BLAKE2b-256 daf1d0e8f17fe0e8912e6a898ac694b3d5d8e9c8c69cd30de7ed45bc7d64ea78

See more details on using hashes here.

File details

Details for the file tinybpe-0.1.1-cp312-cp312-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for tinybpe-0.1.1-cp312-cp312-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 ac7a4cde1167107d94dbe2c7e4b7042361992f41d8079ed4d2229db43ea8609e
MD5 484ab9a57939514954cf4c4a57e3b1ba
BLAKE2b-256 c383173efef7f5d016673a1f0bccefc8ac685deda74f1e8bc9dc278ac7149dcb

See more details on using hashes here.

File details

Details for the file tinybpe-0.1.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tinybpe-0.1.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2cb982e07ecd2ce440f55ec1803dc714ba3fdd3e32835fa59144f82b2d49eeac
MD5 ca5419a591d4f5e93322be3a67acd789
BLAKE2b-256 80324351211e0a19b159555025f7fab7a80abbf4a03cda083d462fbf65256887

See more details on using hashes here.

File details

Details for the file tinybpe-0.1.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: tinybpe-0.1.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 24.0 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for tinybpe-0.1.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 897b0da08323de179111b1dd2c94df0a45e2ca88cc0a9dfb45d5c862f429ada2
MD5 0a3fa1bda7620735bdc233263eff09af
BLAKE2b-256 1b5520011ce444d4e96008db703c9db863d2f161e96b00308f2c4e53f50d42df

See more details on using hashes here.

File details

Details for the file tinybpe-0.1.1-cp311-cp311-win32.whl.

File metadata

  • Download URL: tinybpe-0.1.1-cp311-cp311-win32.whl
  • Upload date:
  • Size: 22.5 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for tinybpe-0.1.1-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 29b14ad36a9a22e91d6f9e76f9fbe8d708ddec499aabdaaf012022a07d7708ad
MD5 fef2a2afc5d114a8906d2a57cabfd5d3
BLAKE2b-256 9dab30161b985036196f24d071e83965616a6baac795d1173c0e58c96ba0a3d7

See more details on using hashes here.

File details

Details for the file tinybpe-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tinybpe-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 51cfec4f9ab1ee701c62d954f8c0d56848f36a351678646437c8acff9eba27cc
MD5 8b9b29694f2fa9be5a5f0883c18abe34
BLAKE2b-256 bb6b0da4984f19a1b2ffe51ebbce20edcc7ba0c58158d5d9cbd5cd0ed56178bc

See more details on using hashes here.

File details

Details for the file tinybpe-0.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for tinybpe-0.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 30a518d2fce3981e9763c3d211aec2aa70d027d1d8d2d11b66f1eed17c0cde67
MD5 0e3fa83953771e902ffa25d4a4555fce
BLAKE2b-256 6a78bcc429549f83b707459f2b2fd5aa72e3346a09b89f8b493c71ca94c97292

See more details on using hashes here.

File details

Details for the file tinybpe-0.1.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for tinybpe-0.1.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 193d1ad006244863e454f1f2cc7b1b2fcc01fd08c06222e27fd8cf23542f7cd2
MD5 38a70d0e89372914265cbdf60d1e7dc5
BLAKE2b-256 f416d15647e8eaf376826c1d7b2f864a9072cbb222652a416018e7d034151d36

See more details on using hashes here.

File details

Details for the file tinybpe-0.1.1-cp311-cp311-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for tinybpe-0.1.1-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 08c0aeebc80b75e784f129e6d1c98bd480b83ffc03c17ceccf760106fa7160a6
MD5 173055738f222921cc8c6ff26762a5bd
BLAKE2b-256 eb568b60e653c08dcfdb8963917d4721f41f82507b3e993714fe046ac5356466

See more details on using hashes here.

File details

Details for the file tinybpe-0.1.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tinybpe-0.1.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 be2dedea800a4ea2593a04c9c63bb2b4c645a827af8abaa4d2d0dd653561e9a5
MD5 883222d2ab0ecbb3bfad867c45a02805
BLAKE2b-256 3356ae0e21d39b300b5ba20558302a3aa999ddd3b4d723e28f4bd74cbbee5e0a

See more details on using hashes here.

File details

Details for the file tinybpe-0.1.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: tinybpe-0.1.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 24.0 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for tinybpe-0.1.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 12bc612efcf6ffbe2535270dff5ed186c08fd7afaff42cfa63fab402d76d9d02
MD5 56f1be2716ac101a51e2685dc220b1ca
BLAKE2b-256 6ac8e34ec76e0c5540e305eca4bbd575fa94f639f7b21ac765fd78b8347388cc

See more details on using hashes here.

File details

Details for the file tinybpe-0.1.1-cp310-cp310-win32.whl.

File metadata

  • Download URL: tinybpe-0.1.1-cp310-cp310-win32.whl
  • Upload date:
  • Size: 22.5 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for tinybpe-0.1.1-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 2ec92e3994cc38ca4072392d25e46645dcec18c907997c3d6c0de0e3a64f1a2a
MD5 7dc82bc7ab9f977382a9f074e2ad4e7e
BLAKE2b-256 2044211a07f7a304add7d23715a9c476138ad83feb4522bedd2fdf8f3be1be3d

See more details on using hashes here.

File details

Details for the file tinybpe-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tinybpe-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 527d82219c90ed7156a0bc2f2c3a26dd0b1c13cb0eabf5722a33904b54efb625
MD5 df50aaf1e301c7db250ef1b50eddfa07
BLAKE2b-256 0276b30dc575dc3464f203dd37cbb175e432cd01d0c4b246f686632dde899eaa

See more details on using hashes here.

File details

Details for the file tinybpe-0.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for tinybpe-0.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f9f64262eb6af41d34f0492eef2c2af9db811e791784578150eb1d62b70bd245
MD5 6bb23fe448458b6d5523e61cfa9b92ba
BLAKE2b-256 8a9e76ee1448dfa7067e71bf9427d4a28350623e735f1d12250a6612d0681e76

See more details on using hashes here.

File details

Details for the file tinybpe-0.1.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for tinybpe-0.1.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 25084307446fb2ff3d04f74b5b7e2274617791d81436c66792fef60434a7de0e
MD5 fa7996e2ecd96c8ecccd86f97b4063af
BLAKE2b-256 4f51d20def6b7cc2c79fab3a6c6948613313b874cb69a5e7e35401090112d46b

See more details on using hashes here.

File details

Details for the file tinybpe-0.1.1-cp310-cp310-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for tinybpe-0.1.1-cp310-cp310-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 80f792d8505ee71e0c51c816b5ebd00b10e02af386c4da8fb11ef227df41e9ee
MD5 c898c35676937ecc85d67306cde4e964
BLAKE2b-256 b638df4d295d18034e9981a60bad81d365f731094c5c452efa93210bd1c45f0e

See more details on using hashes here.

File details

Details for the file tinybpe-0.1.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tinybpe-0.1.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bfd5b881a68fdc3b8ba293c3d67bed1668dc785ce2ea3e24795172b32a8efa7c
MD5 802d151398a7c24e9eeb97ef5aaafd54
BLAKE2b-256 cfcc17eacebb8f8d7f03bdee7247a8456ef00fefc6593372fb7d93f8ba6f310f

See more details on using hashes here.

File details

Details for the file tinybpe-0.1.1-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: tinybpe-0.1.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 24.0 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for tinybpe-0.1.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 2b832bff1f678f2e6db9fb21cc6a68cf0d389c7013631efa59a420593afb3715
MD5 c691409a52c0d326c5829136c3bbcf1e
BLAKE2b-256 cb516a0830259d953ad5dac05da64ca1a71eb44c8a4a3c2b146ae090d8cd45b4

See more details on using hashes here.

File details

Details for the file tinybpe-0.1.1-cp39-cp39-win32.whl.

File metadata

  • Download URL: tinybpe-0.1.1-cp39-cp39-win32.whl
  • Upload date:
  • Size: 22.5 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for tinybpe-0.1.1-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 a9465a9f50e2eb56a01a2701a7f04805511a68890834503e3ccecd5d1d1b28a2
MD5 8d0a921445744e53018b149cbd163cc7
BLAKE2b-256 71b3255521da7e21acf8a682090c5e8ff2fa2c2cb7aca175a706eb4fd9f10fd9

See more details on using hashes here.

File details

Details for the file tinybpe-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tinybpe-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2448192838068ade274b3a47d76e4807935ea7c55b6a57b2136e481c5a84629c
MD5 55e2cd31635c0f747f192cf706eb03fd
BLAKE2b-256 ebebdccccbc6c516289ec04177014b2691697d206955c2b466405dad92f2aa50

See more details on using hashes here.

File details

Details for the file tinybpe-0.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for tinybpe-0.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e9bf1bf61597f43b19e7441e1f32c9f40aaea28f4e42a147c429b3990812250e
MD5 a117d0614d3be675fec0fee435290e74
BLAKE2b-256 df1789d4cfbbce08fd91f9f202589ef19a21e756e3a98a4b3e5645029ffc1d61

See more details on using hashes here.

File details

Details for the file tinybpe-0.1.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for tinybpe-0.1.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 7a4258406fe525d908fe36a3fbb657833f1706f5e34f7c56e5e6388d13da8e24
MD5 01e7066f0b04721d684f9bfdf7186e4a
BLAKE2b-256 567971678e9a8ed5a42d8da0aeeb82239e66eb3144473a88032ddaac52fd26b3

See more details on using hashes here.

File details

Details for the file tinybpe-0.1.1-cp39-cp39-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for tinybpe-0.1.1-cp39-cp39-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 b54a9a6999ec598a4d662d708c634bd082cd6411b1294d4760fab4afc941493c
MD5 fe98eee44b4ce556237b6feebc4989ab
BLAKE2b-256 cab13200c8ee8d3f8ed30ee5b9c026adc04aaa2ab31fc5d35ce4250cf3c67baa

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