BPE Tokenizer Editor
A high-performance Python library for editing HuggingFace BPE tokenizer.json files with consistency guarantees. Built with Rust for maximum performance.
Features
- ✅ Validate merges - Check that all merge results exist in vocabulary
- ✅ Add tokens - Add new tokens with automatic merge chain creation
- ✅ Remove tokens - Remove tokens with cascade deletion of dependent merges
- ✅ Shrink vocab - Remove N longest tokens to reduce vocabulary size
- ✅ Sync single-chars - Copy all single-character tokens from source tokenizer
- ✅ Keep vocab size fixed - Add tokens while automatically removing others to maintain size
- ✅ Reindex vocab - Make vocabulary IDs sequential by removing gaps
- 🚀 Rust-powered - Native performance with Python convenience
Installation
pip install bpe-tokenizer-editor
Requirements
- Python 3.8+
- No additional dependencies required (Rust code is compiled into the wheel)
Quick Start
from bpe_tokenizer_editor import BPETokenizerEditor
# Load a tokenizer
editor = BPETokenizerEditor("tokenizer.json")
# Check stats
print(f"Vocabulary size: {editor.vocab_size}")
print(f"Number of merges: {editor.merges_count}")
# Validate merges
validation = editor.validate_merges()
print(f"Valid merges: {validation.valid_count}")
print(f"Invalid merges: {validation.invalid_count}")
# Add a new token
result = editor.add_token("merhaba")
print(f"Added: {result.added}, Method: {result.method}")
# Save the modified tokenizer
editor.save("tokenizer_modified.json")
API Reference
Loading and Saving
# Load from file
editor = BPETokenizerEditor("tokenizer.json")
# Load from JSON string
editor = BPETokenizerEditor.from_json(json_string)
# Save to file
editor.save("output.json")
# Export to JSON string
json_str = editor.to_json()
Properties
editor.vocab_size # Current vocabulary size
editor.merges_count # Current number of merge rules
Token Operations
# Check if token exists
editor.has_token("hello") # Returns bool
# Get token ID
editor.get_token_id("hello") # Returns int or None
# Get token by ID
editor.get_token_by_id(1000) # Returns str or None
# Get all tokens as dict
vocab = editor.get_vocab() # Returns Dict[str, int]
# Get all merges
merges = editor.get_merges() # Returns List[Tuple[str, str]]
# Get single-character tokens
single_chars = editor.get_single_char_tokens() # Returns List[Tuple[str, int]]
Statistics
stats = editor.get_stats()
print(f"Vocab size: {stats.vocab_size}")
print(f"Merges: {stats.merges_count}")
print(f"Single chars: {stats.single_char_count}")
print(f"Special tokens: {stats.special_token_count}")
print(f"ID range: {stats.min_token_id} - {stats.max_token_id}")
print(f"Length distribution: {stats.length_distribution}")
Validation
# Validate merges (check if merge results exist in vocab)
result = editor.validate_merges()
print(f"Valid: {result.valid_count}, Invalid: {result.invalid_count}")
for idx, token_a, token_b in result.invalid_merges:
print(f" Invalid merge at {idx}: '{token_a}' + '{token_b}'")
# Fix invalid merges (remove them)
removed_count = editor.remove_invalid_merges()
print(f"Removed {removed_count} invalid merges")
Adding Tokens
# Add a single token with automatic merge chain creation
result = editor.add_token("newtoken")
print(f"Added: {result.added}")
print(f"Method: {result.method}") # 'single_char', 'longest_prefix', or 'char_chain'
print(f"Added merges: {result.added_merges}")
# Add multiple tokens
results = editor.add_tokens(["token1", "token2", "token3"])
# Add special token without merge chain
editor.add_token_atomic("<special>")
# Add tokens while keeping vocabulary size fixed
result = editor.add_tokens_keep_size(
tokens=["new1", "new2", "new3"],
whitelist=["protected_token"] # Optional: tokens that should never be removed
)
print(f"Added: {result['tokens_added']}, Removed: {result['tokens_removed']}")
Removing Tokens
# Remove a token and all its dependencies (cascade removal)
result = editor.remove_token("unwanted")
print(f"Root token: {result.root_token}")
print(f"Removed tokens: {result.removed_tokens}")
print(f"Removed merges: {result.removed_merges}")
# Remove multiple tokens
results = editor.remove_tokens(["token1", "token2"])
Shrinking Vocabulary
# Preview what would be removed
tokens_to_remove = editor.find_tokens_to_shrink(count=1000, min_id=50000)
for token, id, length in tokens_to_remove[:10]:
print(f" {token} (ID: {id}, length: {length})")
# Actually shrink the vocabulary
result = editor.shrink(count=1000, min_id=50000)
print(f"Initial size: {result.initial_vocab_size}")
print(f"Final size: {result.final_vocab_size}")
print(f"Tokens removed: {result.total_tokens_removed}")
print(f"Merges removed: {result.total_merges_removed}")
Syncing with Another Tokenizer
# Sync single-character tokens from source tokenizer
# (useful for preserving Unicode coverage)
result = editor.sync_single_chars(
source_path="original_tokenizer.json",
min_id=50000 # Only remove tokens with ID >= 50000
)
print(f"Chars added: {result['chars_added_count']}")
print(f"Tokens removed: {result['total_tokens_removed']}")
Reindexing Vocabulary
After sync operations or modifications, vocabulary IDs may have gaps (e.g., IDs jump from 73000 to 74000). This creates a sparse vocabulary. Use reindex to make all IDs sequential:
# Check for gaps in vocabulary IDs
has_gaps, total_gaps, min_id, max_id = editor.check_vocab_gaps()
if has_gaps:
print(f"Found {total_gaps} gaps in ID space (range: {min_id}-{max_id})")
# Reindex to make IDs sequential
result = editor.reindex_vocab()
print(f"Remapped {result.ids_remapped} IDs")
print(f"Removed {result.gaps_removed} gaps")
print(f"New ID range: {result.new_min_id} - {result.new_max_id}")
Note: The sync_single_chars method automatically calls reindex_vocab after completing, so you typically don't need to call it manually after syncing.
## Examples
### Training a Domain-Specific Tokenizer
```python
from bpe_tokenizer_editor import BPETokenizerEditor
# After training your custom tokenizer, validate and fix it
editor = BPETokenizerEditor("my_custom_tokenizer.json")
# Check for problems
validation = editor.validate_merges()
if validation.invalid_count > 0:
print(f"Found {validation.invalid_count} invalid merges, fixing...")
editor.remove_invalid_merges()
# Sync Unicode characters from original tokenizer
result = editor.sync_single_chars(
source_path="original_tokenizer.json",
min_id=50000
)
print(f"Added {result['chars_added_count']} missing characters")
# Add domain-specific tokens
domain_tokens = ["merhaba", "dünya", "Türkiye"]
for token in domain_tokens:
result = editor.add_token(token)
if result.added:
print(f"Added '{token}' using {result.method} method")
# Save the result
editor.save("my_final_tokenizer.json")
Reducing Vocabulary Size
from bpe_tokenizer_editor import BPETokenizerEditor
editor = BPETokenizerEditor("large_tokenizer.json")
print(f"Original size: {editor.vocab_size}")
# Preview what will be removed
preview = editor.find_tokens_to_shrink(count=10000, min_id=50000)
print(f"Will remove {len(preview)} tokens")
print("First 5 tokens to be removed:")
for token, id, length in preview[:5]:
print(f" '{token}' (length={length}, id={id})")
# Perform the shrink
result = editor.shrink(count=10000, min_id=50000)
print(f"New size: {editor.vocab_size}")
print(f"Total tokens removed (including cascade): {result.total_tokens_removed}")
editor.save("smaller_tokenizer.json")
Adding Tokens with Fixed Vocabulary Size
from bpe_tokenizer_editor import BPETokenizerEditor
editor = BPETokenizerEditor("tokenizer.json")
original_size = editor.vocab_size
# Add new tokens while keeping the same vocabulary size
result = editor.add_tokens_keep_size(
tokens=["custom1", "custom2", "custom3"],
whitelist=["<pad>", "<eos>", "<bos>"] # Never remove these
)
print(f"Tokens added: {result['tokens_added']}")
print(f"Tokens removed to maintain size: {result['tokens_removed']}")
print(f"Final vocab size: {editor.vocab_size}") # Should equal original_size
editor.save("tokenizer_with_custom_tokens.json")
Performance
The library is written in Rust and compiled to native code, providing excellent performance:
| Operation | Time (256K vocab) |
|---|---|
| Load tokenizer | ~50ms |
| Validate merges | ~100ms |
| Get stats | ~50ms |
| Shrink 1000 tokens | 2-5s |
| Sync 18K chars | 30-60s |
Building from Source
If you want to build the package from source:
# Install maturin
pip install maturin
# Build and install in development mode
maturin develop --features python
# Build wheel for distribution
maturin build --release --features python
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
MIT License - see LICENSE file for details.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bpe_tokenizer_editor-0.1.1.tar.gz.
File metadata
- Download URL: bpe_tokenizer_editor-0.1.1.tar.gz
- Upload date:
- Size: 40.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
807454af24f9510dd9fb57c1ee9a6e1b2d20bffe8ff2d3ae7115856f12953a59
|
|
| MD5 |
52f9b9b99079421b9b25c5f2271be739
|
|
| BLAKE2b-256 |
0ad9f861e867159514a111511956f558f4d8b58e4e6ffd1734c077d118c3e938
|
File details
Details for the file bpe_tokenizer_editor-0.1.1-cp38-abi3-win_arm64.whl.
File metadata
- Download URL: bpe_tokenizer_editor-0.1.1-cp38-abi3-win_arm64.whl
- Upload date:
- Size: 328.7 kB
- Tags: CPython 3.8+, Windows ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9f33d2511e68f6a20d65621998a29f208f5f06cf82c6d8c9ffc535edcc7c396c
|
|
| MD5 |
8cb42e378813d75357b8a55d5db650fa
|
|
| BLAKE2b-256 |
7f6e4a48c74d6067f1d9d09366b15eb6311a00d418ccf06c46d13567950f5611
|
File details
Details for the file bpe_tokenizer_editor-0.1.1-cp38-abi3-win_amd64.whl.
File metadata
- Download URL: bpe_tokenizer_editor-0.1.1-cp38-abi3-win_amd64.whl
- Upload date:
- Size: 352.9 kB
- Tags: CPython 3.8+, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
68b462a6e878b8f70114b5818435560ff7aa9f3e43193a1cd7cb1cf400ce0b90
|
|
| MD5 |
2629b1d586306ec587534b5cff51fa96
|
|
| BLAKE2b-256 |
0c4aff25fe1d90afe21387948d712270142b8558a57ff498b18bfb10fa6b9228
|
File details
Details for the file bpe_tokenizer_editor-0.1.1-cp38-abi3-win32.whl.
File metadata
- Download URL: bpe_tokenizer_editor-0.1.1-cp38-abi3-win32.whl
- Upload date:
- Size: 325.1 kB
- Tags: CPython 3.8+, Windows x86
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
854f23e490fb8044caeaa448c65f41de3b9d7f2944a2556769f629101d3839ab
|
|
| MD5 |
f62d15ed2b56b034828b28e4508a6228
|
|
| BLAKE2b-256 |
b90f64b0e75d28e5abfc5dbdec007530469f61b7330cca63abc3ffe447a9713e
|
File details
Details for the file bpe_tokenizer_editor-0.1.1-cp38-abi3-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: bpe_tokenizer_editor-0.1.1-cp38-abi3-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 650.6 kB
- Tags: CPython 3.8+, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e1301eae460c6bbb6353c57b55cec9e016f10b6d98dd938eed124864335904fd
|
|
| MD5 |
98665bcd767f2abe54df902418c635a3
|
|
| BLAKE2b-256 |
08570fcb6b5b9295373b0465008c17d2545dd0840bf43bf203f73a2a6b0414f8
|
File details
Details for the file bpe_tokenizer_editor-0.1.1-cp38-abi3-musllinux_1_2_i686.whl.
File metadata
- Download URL: bpe_tokenizer_editor-0.1.1-cp38-abi3-musllinux_1_2_i686.whl
- Upload date:
- Size: 681.4 kB
- Tags: CPython 3.8+, musllinux: musl 1.2+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
519c2122994e7d982b48d670b06607cd050737bdc3f1b162aa672d858e730fa4
|
|
| MD5 |
a7fbcdfe6e7f467819361a2c7393e215
|
|
| BLAKE2b-256 |
b71185432dd1d4dc0775d893973cf015048835ac12762060e4fa7b7952798d03
|
File details
Details for the file bpe_tokenizer_editor-0.1.1-cp38-abi3-musllinux_1_2_armv7l.whl.
File metadata
- Download URL: bpe_tokenizer_editor-0.1.1-cp38-abi3-musllinux_1_2_armv7l.whl
- Upload date:
- Size: 693.3 kB
- Tags: CPython 3.8+, musllinux: musl 1.2+ ARMv7l
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2f2a1e135ff12ec7115d56b8d87302f851fbb7272d53750d12b3760291ac47cb
|
|
| MD5 |
79d7924f4e701cd44b2fb5c827e44aa8
|
|
| BLAKE2b-256 |
a04cadd653705435b026950bdc3e5bae4a1591d1ba1d4dc8342865ac1e14d1e2
|
File details
Details for the file bpe_tokenizer_editor-0.1.1-cp38-abi3-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: bpe_tokenizer_editor-0.1.1-cp38-abi3-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 589.5 kB
- Tags: CPython 3.8+, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bcc57c5f9c790d1fc5e52ec3ffe1658fcd47752adcaa35bf7f366e08cd804530
|
|
| MD5 |
13c5e8d293a51e9242c7e4a13a9a81bd
|
|
| BLAKE2b-256 |
792bebdae2fc65c492b47822f9c2ba2eec927ca18de3151712286be6728e231f
|
File details
Details for the file bpe_tokenizer_editor-0.1.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: bpe_tokenizer_editor-0.1.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 452.4 kB
- Tags: CPython 3.8+, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fdf461447abac960c74a1eaecb8b7368a17316ac8a28a9959d2651aac241a1ca
|
|
| MD5 |
83d97bca3ea5252256eb5cef414de79e
|
|
| BLAKE2b-256 |
f2fcf35adaa2dd4e32d9890da868e362e5b5f023d32c1b102c75c483aca91541
|
File details
Details for the file bpe_tokenizer_editor-0.1.1-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl.
File metadata
- Download URL: bpe_tokenizer_editor-0.1.1-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
- Upload date:
- Size: 479.2 kB
- Tags: CPython 3.8+, manylinux: glibc 2.17+ s390x
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
919d6d21c4ff6753c1dd45731628d89197f8567aa490a052aa6c75be63532bfd
|
|
| MD5 |
03b8663d8c7dcab7f80b7db01e064ad4
|
|
| BLAKE2b-256 |
9f85e32706577f10c68ddf8298630e47fc663cc998885f6fc7f5cf1254b3c609
|
File details
Details for the file bpe_tokenizer_editor-0.1.1-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.
File metadata
- Download URL: bpe_tokenizer_editor-0.1.1-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
- Upload date:
- Size: 549.8 kB
- Tags: CPython 3.8+, manylinux: glibc 2.17+ ppc64le
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0e48ec32a9813088ed79e10458a231989925774eee38f67558052b07dc3d9103
|
|
| MD5 |
918a06a3afcdba9eae51cadd9a49cfc4
|
|
| BLAKE2b-256 |
1195d5dcc688740919ef70f41dd5c4fd4cd9402b36ef73c67055d65081f3b5da
|
File details
Details for the file bpe_tokenizer_editor-0.1.1-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl.
File metadata
- Download URL: bpe_tokenizer_editor-0.1.1-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 475.7 kB
- Tags: CPython 3.8+, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6bb948f7aa0278f4a54cc236e3f4955882b51aa559eeb1b4eae6f1b5cbb9ffb5
|
|
| MD5 |
463099d00700de4c9676e1d8f414a0fa
|
|
| BLAKE2b-256 |
5b47c40b1a9c348d5fac798c900ec5b1b73edc9854d2d929643a89563ee09523
|
File details
Details for the file bpe_tokenizer_editor-0.1.1-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.
File metadata
- Download URL: bpe_tokenizer_editor-0.1.1-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
- Upload date:
- Size: 416.2 kB
- Tags: CPython 3.8+, manylinux: glibc 2.17+ ARMv7l
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e716c5313b161082d3c65f96cb07bca495e463b682474d19ac0868f8ca3508bc
|
|
| MD5 |
373f9126accc4ee33b782cfd8d9fc631
|
|
| BLAKE2b-256 |
ed2943c11df5b8c32407503b3a302c09a36b00b0eb3916641d2ae94228edea9c
|
File details
Details for the file bpe_tokenizer_editor-0.1.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: bpe_tokenizer_editor-0.1.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 411.5 kB
- Tags: CPython 3.8+, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
445e40b066b90974d300fc767611110c9a43ea5c07f632e83647cf0f98a3c706
|
|
| MD5 |
a61b391cd2d9a97cf06ec5af1dfb2635
|
|
| BLAKE2b-256 |
adeb8430b9108cd2a6c346009484c6126089760211296b9b72889bb4646ac0ed
|
File details
Details for the file bpe_tokenizer_editor-0.1.1-cp38-abi3-macosx_11_0_arm64.whl.
File metadata
- Download URL: bpe_tokenizer_editor-0.1.1-cp38-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 389.0 kB
- Tags: CPython 3.8+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
25a58b7d613db1ed0a0b7fe4cb32397b8530c466c6507b89c3bf3ff9b1800e25
|
|
| MD5 |
2bc89441fe366828441dc42a8ec9ddf0
|
|
| BLAKE2b-256 |
7b014393032a783951110a7778ebf4bb546840aab2b7b172818949483e2a3995
|
File details
Details for the file bpe_tokenizer_editor-0.1.1-cp38-abi3-macosx_10_12_x86_64.whl.
File metadata
- Download URL: bpe_tokenizer_editor-0.1.1-cp38-abi3-macosx_10_12_x86_64.whl
- Upload date:
- Size: 411.1 kB
- Tags: CPython 3.8+, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
70bd6a22cd50d6be4b4140cd2c16bcf58d5d60c5df0b08895608bf5f4fdfa251
|
|
| MD5 |
823219ca73df22e3e58b2d4783407bd1
|
|
| BLAKE2b-256 |
03e128e2530456a4a7cf62715d283d8b7165f1e38c7b9d60e6c40533e8e5066a
|