High-performance C implementation of BPE tokenizer
Project description
c-bpe
High-performance C implementation of BPE (Byte Pair Encoding) tokenizer with Python bindings.
This library provides fast and correct token counting for chunking algorithms with a focus on high performance. It implements novel algorithms for BPE tokenization that are both correct and significantly faster than existing solutions.
Attribution
This project is based on rs-bpe by gweidart, a Rust implementation of BPE tokenization. The C implementation ports the same novel algorithms to pure C for maximum portability and performance. The original Rust implementation is included in the rust/ directory for comparison benchmarking.
Installation
pip install c-bpe
c_bpe consistently outperforms tiktoken (March 7, 2026)
Key Features
- Efficient token counting with linear time complexity even for adversarial inputs
- Split text at exact token boundaries while respecting UTF-8 character boundaries
- Incrementally count tokens while appending text to a chunk
- Calculate token counts for sub-ranges of text with constant-time complexity
- Python bindings with OpenAI-compatible interface
These operations are particularly important for LLM applications but are challenging to implement efficiently for BPE tokenization.
Motivation (problems this library aims to solve)
Existing BPE tokenizers often face performance and correctness issues when used for chunking operations:
Split-at-N-Tokens Problem
Naively splitting text after N tokens by first encoding the entire text and then selecting a boundary often produces suboptimal results:
- The split point might not align with a UTF-8 character boundary
- Dropping tokens until a character boundary is reached might result in chunks much shorter than desired
- The algorithm wastes resources by encoding more text than necessary
Incremental Counting Problem
Incrementally counting tokens as text is appended is challenging with traditional implementations:
- Recomputing the encoding after every append leads to quadratic complexity
- Approximating counts by aggregating piece counts leads to incorrect results due to BPE's non-monotonic nature
- Incorrect counting can cause problems when staying within token limits for LLM APIs
Interval Counting Problem
Counting tokens for arbitrary subranges traditionally requires reprocessing the entire substring:
- Leads to poor performance for applications that need to count many subranges
- Makes operations like binary search for token boundaries inefficient
Our library provides novel algorithms to solve these problems with superior performance characteristics.
Implementation
Core Algorithm
The novel O(n) algorithm preserves the exact output of the original BPE algorithm by tracking encodings of all text prefixes using mathematical properties of valid BPE encodings.
Instead of storing full token sequences for each prefix, only the last token of each prefix needs to be remembered. This is possible because:
- There exists exactly one valid encoding sequence for any input text
- Any substring of a valid encoding sequence is itself a valid encoding sequence
- Knowing the last token of a valid encoding sequence uniquely determines the full sequence
The algorithm determines the correct last token for each prefix by checking token compatibility with the preceding token, yielding a linear-time solution.
Backtracking Optimization
For average-case improvement, a backtracking-based algorithm:
- Tries the greedy approach first, using the longest matching token at each step
- Backtracks when necessary to produce a valid BPE encoding
- Uses a bitfield so worst-case runtime stays linear in input length
Data Structures
-
BytePairEncodingstruct: Stores the concatenated token byte array, per-token start offsets, aBytesMap(bytes→token id),split_left/split_rightarrays for token decomposition, aPairMap(pair→merged token), three Aho-Corasick automatons, and anext_prefix_matchtable. -
PairMap: Open-addressing hash table (linear probing, 50% max load) for(token1, token2) → merged_idlookups. Uses a splitmix64 finaliser instead of byte-by-byte FNV-1a for the fixed 8-byte key, keeping the merge step cache-friendly. -
BytesMap: Open-addressing hash table forbytes → token_idlookups. Uses FNV-1a hashing identical to Rust'sfnvcrate, ensuring consistent hash values across both implementations.
Aho-Corasick Automatons
Three Double-Array Aho-Corasick automatons are built over the token vocabulary at initialisation time:
longest_searcher(AC_KIND_LEFTMOST_LONGEST): leftmost-longest token match at each position — used for the backtrack encoder.overlapping_searcher(AC_KIND_OVERLAPPING_FWD): all overlapping forward matches — used byAppendableEncoderto maintain per-byte AC state.overlapping_searcher_rev(AC_KIND_OVERLAPPING_REV): all overlapping reverse matches — used byPrependableEncoder.
The Double-Array layout gives O(1) state transitions per input byte, making the automaton traversal extremely cache-friendly.
Special Purpose Encoders
AppendableEncoder: Stores oneAppStateper byte appended (ac_state,last_token, running count), allowing O(1) amortised count queries via the forward AC automaton.PrependableEncoder: Mirror ofAppendableEncoderusing the reverse AC automaton — supports O(1) amortised queries while prepending.IntervalEncoding: Precomputes alast_token,tree_id,tree_end, andtree_deptharray per byte position, enabling typically-O(1)count(start, end)queries.- OpenAI-compatible Tokenizer: Hand-coded pre-tokenisation with PCRE2 UCD tables (regex splitting identical to tiktoken) feeding into the shared BPE encode/decode logic.
Performance
Our benchmarks show significant performance improvements over existing implementations:
Note: All benchmark results shown here were achieved using the Python bindings, not the direct native implementation. This provides a more realistic representation of the performance users will experience in Python applications.
Single-Text Tokenization
| Text Size | c_bpe vs tiktoken | rs_bpe vs tiktoken |
|---|---|---|
| Small | 2.9× faster | 3.0× faster |
| Medium | 1.7× faster | 1.6× faster |
| Large | 4.4× faster | 2.3× faster |
Encoding speed (benchmark.py results):
SMALL TEXT:
tiktoken: 0.000102s
c_bpe: 0.000035s
rs_bpe: 0.000034s
MEDIUM TEXT:
tiktoken: 0.001735s
c_bpe: 0.001007s
rs_bpe: 0.001092s
LARGE TEXT:
tiktoken: 0.068093s
c_bpe: 0.015330s
rs_bpe: 0.029147s
Both libraries also provide significantly faster decoding and roundtrip operations:
Decoding speed:
SMALL TEXT:
tiktoken: 0.000027s
c_bpe: 0.000011s
rs_bpe: 0.000018s
MEDIUM TEXT:
tiktoken: 0.000200s
c_bpe: 0.000076s
rs_bpe: 0.000105s
LARGE TEXT:
tiktoken: 0.003799s
c_bpe: 0.001709s
rs_bpe: 0.002504s
Batch Processing Performance
| Batch Size | c_bpe encode | c_bpe decode | rs_bpe encode | rs_bpe decode |
|---|---|---|---|---|
| 1 | 35× faster | 165× faster | 79× faster | 94× faster |
| 10 | 32× faster | 92× faster | 43× faster | 100× faster |
| 100 | 5× faster | 94× faster | 17× faster | 52× faster |
| 1000 | 22× faster | 57× faster | 13× faster | 31× faster |
Encode speedup vs tiktoken (all sizes):
Worst-Case Performance
While tiktoken shows quadratic growth for certain adversarial inputs, c_bpe maintains linear scaling even in worst-case scenarios. This is critical for production systems that need consistent performance guarantees.
Key Performance Advantages
- Memory Efficiency: Compact data structures (tightly-packed token byte arrays, power-of-2 hash tables at ≤50% load) and no redundant token storage
- Cache-Friendly Hash Tables:
PairMapuses a splitmix64 finaliser for fixed 8-byte keys;BytesMapuses FNV-1a — both with linear probing for sequential memory access - O(1) State Transitions: Double-Array Aho-Corasick automatons enable single-byte-per-step token matching without backtracking through the vocabulary
- Full LTO: Compiled with full Link-Time Optimisation (MSVC
/GL+/LTCG/ GCC-flto) - No Correctness Trade-offs: Verified to produce token-for-token identical output to tiktoken
All benchmarks were run on standard hardware and results may vary based on your specific environment.
Python Usage Examples
Basic Tokenization
from c_bpe.bpe import openai
# Load OpenAI tokenizers (automatically caches for reuse)
cl100k_tokenizer = openai.cl100k_base() # GPT-3.5/4 tokenizer
o200k_tokenizer = openai.o200k_base() # o200k tokenizer
# Basic encoding
text = "Hello, world! This is an example."
tokens = cl100k_tokenizer.encode(text)
print(f"Encoded tokens: {tokens}")
# Basic decoding
decoded_text = cl100k_tokenizer.decode(tokens)
print(f"Decoded text: {decoded_text}")
# Simple token counting
token_count = cl100k_tokenizer.count(text)
print(f"Token count: {token_count}")
Efficient Token Limiting
One of the key features is the ability to efficiently count tokens up to a limit, which is useful when you need to stay within token constraints:
from c_bpe.bpe import openai
tokenizer = openai.cl100k_base()
max_tokens = 50
# Count tokens until limit is reached
text = "This is a long text that might exceed our token limit... " * 20
char_position = tokenizer.count_till_limit(text, max_tokens)
if char_position is not None:
# We reached the limit before the end of the text
truncated_text = text[:char_position]
print(f"Truncated to {tokenizer.count(truncated_text)} tokens")
print(f"Truncated text: {truncated_text}")
else:
# The entire text is within our token limit
print(f"Text is within token limit: {tokenizer.count(text)} tokens")
Batch Processing
c_bpe excels at batch processing, which is perfect for processing large datasets:
from c_bpe.bpe import openai
import time
# Load the tokenizer
tokenizer = openai.cl100k_base()
# Create a batch of texts
texts = [
"This is the first document to encode.",
"Here's another one with different content.",
"A third document with some more text to process.",
# Add more as needed...
]
# Configure parallel processing options (optional)
parallel_options = openai.ParallelOptions(
min_batch_size=20, # Minimum batch size to engage parallel processing
chunk_size=100, # Number of texts to process in each thread
max_threads=0, # 0 means use optimal thread count (based on CPU cores)
use_thread_pool=True # Reuse thread pool for better performance
)
# Encode batch with performance metrics
start_time = time.time()
result = tokenizer.encode_batch(texts, parallel_options)
end_time = time.time()
print(f"Processed {len(texts)} texts in {result.time_taken:.6f}s")
print(f"Total tokens: {result.total_tokens}")
print(f"Throughput: {result.total_tokens / result.time_taken:.1f} tokens/second")
# Access individual token lists
for i, tokens in enumerate(result.tokens):
print(f"Text {i} has {len(tokens)} tokens")
Text Chunking
c_bpe can be used to efficiently chunk text based on token counts:
from c_bpe.bpe import openai
tokenizer = openai.cl100k_base()
def chunk_text(text, max_chunk_tokens=1024, overlap_tokens=50):
"""Split text into chunks of approximately max_chunk_tokens."""
chunks = []
# Get the full text token count
total_tokens = tokenizer.count(text)
if total_tokens <= max_chunk_tokens:
return [text]
# Keep track of where we are in the text
start_pos = 0
while start_pos < len(text):
# Find where to end this chunk
char_position = tokenizer.count_till_limit(text[start_pos:], max_chunk_tokens)
if char_position is None:
# The rest of the text fits within our limit
chunks.append(text[start_pos:])
break
# Add the chunk
end_pos = start_pos + char_position
chunks.append(text[start_pos:end_pos])
# Move to the next chunk, considering overlap
if overlap_tokens > 0 and end_pos < len(text):
# Move back by overlap tokens
overlap_char_position = tokenizer.count_till_limit(
text[start_pos:end_pos], max_chunk_tokens - overlap_tokens
)
if overlap_char_position is not None:
start_pos += overlap_char_position
else:
start_pos = end_pos
else:
start_pos = end_pos
return chunks
# Example usage
long_text = "This is a long document that needs to be split into chunks. " * 100
chunks = chunk_text(long_text, max_chunk_tokens=100, overlap_tokens=10)
print(f"Split text into {len(chunks)} chunks:")
for i, chunk in enumerate(chunks):
token_count = tokenizer.count(chunk)
print(f"Chunk {i}: {token_count} tokens, {len(chunk)} chars")
Building from Source
Prerequisites
| Requirement | c_bpe | rs_bpe (companion) |
|---|---|---|
| Python ≥ 3.9 | ✅ | ✅ |
| C11 compiler (GCC, Clang, or MSVC) | ✅ | — |
| Rust toolchain (stable) | — | ✅ |
setuptools (pip install setuptools) |
✅ | — |
maturin (pip install maturin) |
— | ✅ |
c_bpe (C extension)
# Clone the repository
git clone https://github.com/andrey-savov/c-bpe.git
cd c-bpe
# Create and activate a virtual environment (recommended)
python -m venv .venv
source .venv/bin/activate # Linux/macOS
# .venv\Scripts\activate # Windows
# Install in development mode (editable)
pip install -e .
# Or build the extension in-place without installing
python setup.py build_ext --inplace
The build auto-detects the compiler and applies platform-appropriate optimisations:
- GCC/Clang:
-O3 -march=native -flto -DNDEBUG - MSVC:
/O2 /Ox /GL /DNDEBUGwith/LTCGat link time
PCRE2 Unicode tables are bundled in third_party/; no external PCRE2 installation is required.
rs_bpe (Rust companion — for benchmarking)
The rust/ directory contains the original Rust implementation (rs-bpe) for comparison benchmarking:
cd rust
# Install maturin if not already present
pip install maturin
# Build and install in development mode
maturin develop --release
The Rust toolchain can be installed from rustup.rs.
Installing both side by side
Both packages can be installed in the same environment — they use separate namespaces (c_bpe and rs_bpe):
cd c-bpe
pip install -e . # c_bpe
cd rust && pip install maturin && maturin develop --release # rs_bpe
Verify:
from c_bpe.bpe import openai as c_openai
from rs_bpe.bpe import openai as rs_openai
c_tok = c_openai.cl100k_base()
rs_tok = rs_openai.cl100k_base()
text = "Hello, world!"
assert c_tok.encode(text) == rs_tok.encode(text)
print("Both implementations installed and producing identical output.")
Running tests
# From the repository root, with both implementations installed:
pip install pytest pytest-benchmark
# Correctness tests
pytest tests/test_basic.py -v
# Benchmarks
pytest tests/test_benchmarks.py --benchmark-only -v
Acknowledgements
This project was developed with the assistance of Claude Code, using Claude Opus 4.6 and Claude Sonnet 4.6 models by Anthropic.
License
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 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 c_bpe-1.0.3.tar.gz.
File metadata
- Download URL: c_bpe-1.0.3.tar.gz
- Upload date:
- Size: 35.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aafc4006835aa818d9ab35602186e0cb4d9180acf8f0274ae86182fb69b35a80
|
|
| MD5 |
fd441010de3641fc7f5fa7207b4fc12a
|
|
| BLAKE2b-256 |
85638f29b3e03b67ec2ed7b5e76509c764d6966891de2d5c92cf612c1f7fa989
|
Provenance
The following attestation bundles were made for c_bpe-1.0.3.tar.gz:
Publisher:
release.yml on andrey-savov/c-bpe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
c_bpe-1.0.3.tar.gz -
Subject digest:
aafc4006835aa818d9ab35602186e0cb4d9180acf8f0274ae86182fb69b35a80 - Sigstore transparency entry: 1108456783
- Sigstore integration time:
-
Permalink:
andrey-savov/c-bpe@cd710ad71d94adc3941f30ec550ec893e572db7e -
Branch / Tag:
refs/tags/v1.0.3 - Owner: https://github.com/andrey-savov
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cd710ad71d94adc3941f30ec550ec893e572db7e -
Trigger Event:
release
-
Statement type:
File details
Details for the file c_bpe-1.0.3-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: c_bpe-1.0.3-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 31.3 MB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7dad8178039c9842750980f8fc5eb69a2c557a07bf82c5e66d5dde504100fbdd
|
|
| MD5 |
3f38778e874cb08cec7c79042fad32aa
|
|
| BLAKE2b-256 |
34482dfa7d30023574da2b090783ccee03fb8b7945166e181d7136abc55872de
|
Provenance
The following attestation bundles were made for c_bpe-1.0.3-cp313-cp313-win_amd64.whl:
Publisher:
release.yml on andrey-savov/c-bpe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
c_bpe-1.0.3-cp313-cp313-win_amd64.whl -
Subject digest:
7dad8178039c9842750980f8fc5eb69a2c557a07bf82c5e66d5dde504100fbdd - Sigstore transparency entry: 1108456792
- Sigstore integration time:
-
Permalink:
andrey-savov/c-bpe@cd710ad71d94adc3941f30ec550ec893e572db7e -
Branch / Tag:
refs/tags/v1.0.3 - Owner: https://github.com/andrey-savov
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cd710ad71d94adc3941f30ec550ec893e572db7e -
Trigger Event:
release
-
Statement type:
File details
Details for the file c_bpe-1.0.3-cp313-cp313-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: c_bpe-1.0.3-cp313-cp313-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 31.4 MB
- Tags: CPython 3.13, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6c885bac76302af5c8c1b5014158c4365497c0def22ba2a39843657a1ff7088a
|
|
| MD5 |
4a5acd75246604f9fb4af9419e263cbb
|
|
| BLAKE2b-256 |
ac2be6c30f2caa646eca0472da677e3f14e716b000d237eeab10f6100541663d
|
Provenance
The following attestation bundles were made for c_bpe-1.0.3-cp313-cp313-manylinux_2_28_x86_64.whl:
Publisher:
release.yml on andrey-savov/c-bpe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
c_bpe-1.0.3-cp313-cp313-manylinux_2_28_x86_64.whl -
Subject digest:
6c885bac76302af5c8c1b5014158c4365497c0def22ba2a39843657a1ff7088a - Sigstore transparency entry: 1108456818
- Sigstore integration time:
-
Permalink:
andrey-savov/c-bpe@cd710ad71d94adc3941f30ec550ec893e572db7e -
Branch / Tag:
refs/tags/v1.0.3 - Owner: https://github.com/andrey-savov
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cd710ad71d94adc3941f30ec550ec893e572db7e -
Trigger Event:
release
-
Statement type:
File details
Details for the file c_bpe-1.0.3-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: c_bpe-1.0.3-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 31.4 MB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4472d97b89f0077ebefc9e8b0501ee542de4b33246f6b26437a3a38e1af60a08
|
|
| MD5 |
cf40482c5239bb6a6250ca7b9319ab30
|
|
| BLAKE2b-256 |
bfe855f93102405ce2319c0c5893a11a1246eb69df7b72d80b704c43b0f8a5f9
|
Provenance
The following attestation bundles were made for c_bpe-1.0.3-cp313-cp313-macosx_11_0_arm64.whl:
Publisher:
release.yml on andrey-savov/c-bpe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
c_bpe-1.0.3-cp313-cp313-macosx_11_0_arm64.whl -
Subject digest:
4472d97b89f0077ebefc9e8b0501ee542de4b33246f6b26437a3a38e1af60a08 - Sigstore transparency entry: 1108456795
- Sigstore integration time:
-
Permalink:
andrey-savov/c-bpe@cd710ad71d94adc3941f30ec550ec893e572db7e -
Branch / Tag:
refs/tags/v1.0.3 - Owner: https://github.com/andrey-savov
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cd710ad71d94adc3941f30ec550ec893e572db7e -
Trigger Event:
release
-
Statement type:
File details
Details for the file c_bpe-1.0.3-cp313-cp313-macosx_10_13_x86_64.whl.
File metadata
- Download URL: c_bpe-1.0.3-cp313-cp313-macosx_10_13_x86_64.whl
- Upload date:
- Size: 31.3 MB
- Tags: CPython 3.13, macOS 10.13+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ea8c4a5472fe8b4c0cdf3ae7b5897fe949db0ad1bc476f84b71c0d1efe86199b
|
|
| MD5 |
11b24a47996224aafcc6b6123c24bbca
|
|
| BLAKE2b-256 |
0d2b817c8c73a0bcc5a543624e88e1b6736abd5938e58b446a2b625ba206963b
|
Provenance
The following attestation bundles were made for c_bpe-1.0.3-cp313-cp313-macosx_10_13_x86_64.whl:
Publisher:
release.yml on andrey-savov/c-bpe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
c_bpe-1.0.3-cp313-cp313-macosx_10_13_x86_64.whl -
Subject digest:
ea8c4a5472fe8b4c0cdf3ae7b5897fe949db0ad1bc476f84b71c0d1efe86199b - Sigstore transparency entry: 1108456822
- Sigstore integration time:
-
Permalink:
andrey-savov/c-bpe@cd710ad71d94adc3941f30ec550ec893e572db7e -
Branch / Tag:
refs/tags/v1.0.3 - Owner: https://github.com/andrey-savov
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cd710ad71d94adc3941f30ec550ec893e572db7e -
Trigger Event:
release
-
Statement type:
File details
Details for the file c_bpe-1.0.3-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: c_bpe-1.0.3-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 31.3 MB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e6804c86ff182c370b2167b497537c346499d5f1b1b05ec4416e3a62facbf7d3
|
|
| MD5 |
880190974f0a984b6aae054b5a9fcafd
|
|
| BLAKE2b-256 |
07b08f654fbd046effffc57e399aef8b50a207d3a211f487038c933074662065
|
Provenance
The following attestation bundles were made for c_bpe-1.0.3-cp312-cp312-win_amd64.whl:
Publisher:
release.yml on andrey-savov/c-bpe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
c_bpe-1.0.3-cp312-cp312-win_amd64.whl -
Subject digest:
e6804c86ff182c370b2167b497537c346499d5f1b1b05ec4416e3a62facbf7d3 - Sigstore transparency entry: 1108456825
- Sigstore integration time:
-
Permalink:
andrey-savov/c-bpe@cd710ad71d94adc3941f30ec550ec893e572db7e -
Branch / Tag:
refs/tags/v1.0.3 - Owner: https://github.com/andrey-savov
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cd710ad71d94adc3941f30ec550ec893e572db7e -
Trigger Event:
release
-
Statement type:
File details
Details for the file c_bpe-1.0.3-cp312-cp312-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: c_bpe-1.0.3-cp312-cp312-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 31.4 MB
- Tags: CPython 3.12, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0d82c04572b0141940ef38342b5323bf7bc22393c86b891224722c520a87503c
|
|
| MD5 |
f520b227889fff291db5a60117a21bba
|
|
| BLAKE2b-256 |
1ebade77df158e7367a16cce458bbdc4a683486d5e7394c4548a576706001e0c
|
Provenance
The following attestation bundles were made for c_bpe-1.0.3-cp312-cp312-manylinux_2_28_x86_64.whl:
Publisher:
release.yml on andrey-savov/c-bpe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
c_bpe-1.0.3-cp312-cp312-manylinux_2_28_x86_64.whl -
Subject digest:
0d82c04572b0141940ef38342b5323bf7bc22393c86b891224722c520a87503c - Sigstore transparency entry: 1108456807
- Sigstore integration time:
-
Permalink:
andrey-savov/c-bpe@cd710ad71d94adc3941f30ec550ec893e572db7e -
Branch / Tag:
refs/tags/v1.0.3 - Owner: https://github.com/andrey-savov
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cd710ad71d94adc3941f30ec550ec893e572db7e -
Trigger Event:
release
-
Statement type:
File details
Details for the file c_bpe-1.0.3-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: c_bpe-1.0.3-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 31.4 MB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
476426fc506e07b9a82e71c9e550afd142d36ec9134059658826214e2c36e484
|
|
| MD5 |
e6111f24d535f5aa35ce0b97acc807ce
|
|
| BLAKE2b-256 |
6824bc918a124f8765fdabc71607611f3a096f72ec3adaaf628fa4c1f5ef0a70
|
Provenance
The following attestation bundles were made for c_bpe-1.0.3-cp312-cp312-macosx_11_0_arm64.whl:
Publisher:
release.yml on andrey-savov/c-bpe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
c_bpe-1.0.3-cp312-cp312-macosx_11_0_arm64.whl -
Subject digest:
476426fc506e07b9a82e71c9e550afd142d36ec9134059658826214e2c36e484 - Sigstore transparency entry: 1108456812
- Sigstore integration time:
-
Permalink:
andrey-savov/c-bpe@cd710ad71d94adc3941f30ec550ec893e572db7e -
Branch / Tag:
refs/tags/v1.0.3 - Owner: https://github.com/andrey-savov
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cd710ad71d94adc3941f30ec550ec893e572db7e -
Trigger Event:
release
-
Statement type:
File details
Details for the file c_bpe-1.0.3-cp312-cp312-macosx_10_13_x86_64.whl.
File metadata
- Download URL: c_bpe-1.0.3-cp312-cp312-macosx_10_13_x86_64.whl
- Upload date:
- Size: 31.3 MB
- Tags: CPython 3.12, macOS 10.13+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e7d5d2457d3b92a692e07aeaf3b9dabbcb6d481eb98ed76b7c05403454e4b92e
|
|
| MD5 |
e22d11a74ca8b34e1f4f00d55da73b60
|
|
| BLAKE2b-256 |
1f23d1898f42bba8a6c9795dff30b681b89ed2c0c5e362a393333add5838b1ba
|
Provenance
The following attestation bundles were made for c_bpe-1.0.3-cp312-cp312-macosx_10_13_x86_64.whl:
Publisher:
release.yml on andrey-savov/c-bpe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
c_bpe-1.0.3-cp312-cp312-macosx_10_13_x86_64.whl -
Subject digest:
e7d5d2457d3b92a692e07aeaf3b9dabbcb6d481eb98ed76b7c05403454e4b92e - Sigstore transparency entry: 1108456788
- Sigstore integration time:
-
Permalink:
andrey-savov/c-bpe@cd710ad71d94adc3941f30ec550ec893e572db7e -
Branch / Tag:
refs/tags/v1.0.3 - Owner: https://github.com/andrey-savov
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cd710ad71d94adc3941f30ec550ec893e572db7e -
Trigger Event:
release
-
Statement type:
File details
Details for the file c_bpe-1.0.3-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: c_bpe-1.0.3-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 31.3 MB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3d59391e6b581ed27b40d5cd787deb94a4a57b2770e6ac206449698b59258976
|
|
| MD5 |
386d004a469ef41c8ec409e1c977ccde
|
|
| BLAKE2b-256 |
4b59c94c2e7405c0e28264fe7b62a811ed5d9c677b5cdae883c58374e2bb61bf
|
Provenance
The following attestation bundles were made for c_bpe-1.0.3-cp311-cp311-win_amd64.whl:
Publisher:
release.yml on andrey-savov/c-bpe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
c_bpe-1.0.3-cp311-cp311-win_amd64.whl -
Subject digest:
3d59391e6b581ed27b40d5cd787deb94a4a57b2770e6ac206449698b59258976 - Sigstore transparency entry: 1108456834
- Sigstore integration time:
-
Permalink:
andrey-savov/c-bpe@cd710ad71d94adc3941f30ec550ec893e572db7e -
Branch / Tag:
refs/tags/v1.0.3 - Owner: https://github.com/andrey-savov
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cd710ad71d94adc3941f30ec550ec893e572db7e -
Trigger Event:
release
-
Statement type:
File details
Details for the file c_bpe-1.0.3-cp311-cp311-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: c_bpe-1.0.3-cp311-cp311-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 31.4 MB
- Tags: CPython 3.11, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e2116ca5562f69bac20414e178db86f2b9151e2b1fd1031a1ca3415d3e9ae8ff
|
|
| MD5 |
f6a754a82bdac3a0b24b3f99dbcc5c6b
|
|
| BLAKE2b-256 |
d539bff4f27b682945c2b747c7279233bed39a2c8d6825e551a38e33d57183fc
|
Provenance
The following attestation bundles were made for c_bpe-1.0.3-cp311-cp311-manylinux_2_28_x86_64.whl:
Publisher:
release.yml on andrey-savov/c-bpe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
c_bpe-1.0.3-cp311-cp311-manylinux_2_28_x86_64.whl -
Subject digest:
e2116ca5562f69bac20414e178db86f2b9151e2b1fd1031a1ca3415d3e9ae8ff - Sigstore transparency entry: 1108456826
- Sigstore integration time:
-
Permalink:
andrey-savov/c-bpe@cd710ad71d94adc3941f30ec550ec893e572db7e -
Branch / Tag:
refs/tags/v1.0.3 - Owner: https://github.com/andrey-savov
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cd710ad71d94adc3941f30ec550ec893e572db7e -
Trigger Event:
release
-
Statement type:
File details
Details for the file c_bpe-1.0.3-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: c_bpe-1.0.3-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 31.4 MB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
953d78286f963d27fa87e36995606cc7d5631da0b49b16292644af5ccb7cdd86
|
|
| MD5 |
a40e90e5d1e6f333edf041e336ffce9d
|
|
| BLAKE2b-256 |
389a6a003faf6fa5f35b8d52854c76b95c718648094a71e91ffc61a9d45365e6
|
Provenance
The following attestation bundles were made for c_bpe-1.0.3-cp311-cp311-macosx_11_0_arm64.whl:
Publisher:
release.yml on andrey-savov/c-bpe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
c_bpe-1.0.3-cp311-cp311-macosx_11_0_arm64.whl -
Subject digest:
953d78286f963d27fa87e36995606cc7d5631da0b49b16292644af5ccb7cdd86 - Sigstore transparency entry: 1108456819
- Sigstore integration time:
-
Permalink:
andrey-savov/c-bpe@cd710ad71d94adc3941f30ec550ec893e572db7e -
Branch / Tag:
refs/tags/v1.0.3 - Owner: https://github.com/andrey-savov
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cd710ad71d94adc3941f30ec550ec893e572db7e -
Trigger Event:
release
-
Statement type:
File details
Details for the file c_bpe-1.0.3-cp311-cp311-macosx_10_9_x86_64.whl.
File metadata
- Download URL: c_bpe-1.0.3-cp311-cp311-macosx_10_9_x86_64.whl
- Upload date:
- Size: 31.3 MB
- Tags: CPython 3.11, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5d5d6fd272d717e96722633a366647a26e05c9481a224498a5d093507133de12
|
|
| MD5 |
e249cfc600094918045abc1304633cad
|
|
| BLAKE2b-256 |
347212a99d6a46c5e2591b7254841622e7604206f9a16d23458ca9c7bb1f643d
|
Provenance
The following attestation bundles were made for c_bpe-1.0.3-cp311-cp311-macosx_10_9_x86_64.whl:
Publisher:
release.yml on andrey-savov/c-bpe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
c_bpe-1.0.3-cp311-cp311-macosx_10_9_x86_64.whl -
Subject digest:
5d5d6fd272d717e96722633a366647a26e05c9481a224498a5d093507133de12 - Sigstore transparency entry: 1108456796
- Sigstore integration time:
-
Permalink:
andrey-savov/c-bpe@cd710ad71d94adc3941f30ec550ec893e572db7e -
Branch / Tag:
refs/tags/v1.0.3 - Owner: https://github.com/andrey-savov
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cd710ad71d94adc3941f30ec550ec893e572db7e -
Trigger Event:
release
-
Statement type:
File details
Details for the file c_bpe-1.0.3-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: c_bpe-1.0.3-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 31.3 MB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
24975fe3b3ff05b061a82b4bf2a796c5d1700dbf1c8ae7c9e9888c244911262b
|
|
| MD5 |
1841fb594bcac203d5e5d42970d0c527
|
|
| BLAKE2b-256 |
b27e424eff4004373c9a2b6df160a2cde7237766294943cb08da95cf46e38333
|
Provenance
The following attestation bundles were made for c_bpe-1.0.3-cp310-cp310-win_amd64.whl:
Publisher:
release.yml on andrey-savov/c-bpe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
c_bpe-1.0.3-cp310-cp310-win_amd64.whl -
Subject digest:
24975fe3b3ff05b061a82b4bf2a796c5d1700dbf1c8ae7c9e9888c244911262b - Sigstore transparency entry: 1108456805
- Sigstore integration time:
-
Permalink:
andrey-savov/c-bpe@cd710ad71d94adc3941f30ec550ec893e572db7e -
Branch / Tag:
refs/tags/v1.0.3 - Owner: https://github.com/andrey-savov
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cd710ad71d94adc3941f30ec550ec893e572db7e -
Trigger Event:
release
-
Statement type:
File details
Details for the file c_bpe-1.0.3-cp310-cp310-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: c_bpe-1.0.3-cp310-cp310-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 31.4 MB
- Tags: CPython 3.10, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1eb10807c6c7d701a487876cc12e2e7308a2f362dafc894cd4324e160b75f7dd
|
|
| MD5 |
6d8ee9534bcf3ad3144dfbef6bb59262
|
|
| BLAKE2b-256 |
79fb18a0fa57be56c48906f63955080048e4eab873b3f47e47a0c02d568b8855
|
Provenance
The following attestation bundles were made for c_bpe-1.0.3-cp310-cp310-manylinux_2_28_x86_64.whl:
Publisher:
release.yml on andrey-savov/c-bpe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
c_bpe-1.0.3-cp310-cp310-manylinux_2_28_x86_64.whl -
Subject digest:
1eb10807c6c7d701a487876cc12e2e7308a2f362dafc894cd4324e160b75f7dd - Sigstore transparency entry: 1108456790
- Sigstore integration time:
-
Permalink:
andrey-savov/c-bpe@cd710ad71d94adc3941f30ec550ec893e572db7e -
Branch / Tag:
refs/tags/v1.0.3 - Owner: https://github.com/andrey-savov
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cd710ad71d94adc3941f30ec550ec893e572db7e -
Trigger Event:
release
-
Statement type:
File details
Details for the file c_bpe-1.0.3-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: c_bpe-1.0.3-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 31.4 MB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2ca49e80ba330823374514f2799870d912dd87233e8f366aa42f409aaba95a72
|
|
| MD5 |
f610a60a2615894669954b5b6c48b0c1
|
|
| BLAKE2b-256 |
cba741b5bf7883512ff3a74d8c4f2ea824aea0221186308a7af2132f684c6321
|
Provenance
The following attestation bundles were made for c_bpe-1.0.3-cp310-cp310-macosx_11_0_arm64.whl:
Publisher:
release.yml on andrey-savov/c-bpe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
c_bpe-1.0.3-cp310-cp310-macosx_11_0_arm64.whl -
Subject digest:
2ca49e80ba330823374514f2799870d912dd87233e8f366aa42f409aaba95a72 - Sigstore transparency entry: 1108456813
- Sigstore integration time:
-
Permalink:
andrey-savov/c-bpe@cd710ad71d94adc3941f30ec550ec893e572db7e -
Branch / Tag:
refs/tags/v1.0.3 - Owner: https://github.com/andrey-savov
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cd710ad71d94adc3941f30ec550ec893e572db7e -
Trigger Event:
release
-
Statement type:
File details
Details for the file c_bpe-1.0.3-cp310-cp310-macosx_10_9_x86_64.whl.
File metadata
- Download URL: c_bpe-1.0.3-cp310-cp310-macosx_10_9_x86_64.whl
- Upload date:
- Size: 31.3 MB
- Tags: CPython 3.10, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cae74b4121530b2bdca889c455384bf86332fa858ef384298a27e0b81e42baba
|
|
| MD5 |
7d579f284f6d83d78891d0bfba33275b
|
|
| BLAKE2b-256 |
7974197cd58514f251a96e4defa3b345c2928ca5f87d03aa53982b19bacfbf88
|
Provenance
The following attestation bundles were made for c_bpe-1.0.3-cp310-cp310-macosx_10_9_x86_64.whl:
Publisher:
release.yml on andrey-savov/c-bpe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
c_bpe-1.0.3-cp310-cp310-macosx_10_9_x86_64.whl -
Subject digest:
cae74b4121530b2bdca889c455384bf86332fa858ef384298a27e0b81e42baba - Sigstore transparency entry: 1108456814
- Sigstore integration time:
-
Permalink:
andrey-savov/c-bpe@cd710ad71d94adc3941f30ec550ec893e572db7e -
Branch / Tag:
refs/tags/v1.0.3 - Owner: https://github.com/andrey-savov
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cd710ad71d94adc3941f30ec550ec893e572db7e -
Trigger Event:
release
-
Statement type:
File details
Details for the file c_bpe-1.0.3-cp39-cp39-win_amd64.whl.
File metadata
- Download URL: c_bpe-1.0.3-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 1.7 MB
- Tags: CPython 3.9, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cb46e77badb538f0378ee6ad59976b59674c13c1280248d046d63e9cf6e60cca
|
|
| MD5 |
341aed9b8f2fcc088ca17d2bbf060095
|
|
| BLAKE2b-256 |
4faf188ecf2329a392d81eff5ca8b6c5c75ce11e3008e0e61a431d8f1547521e
|
Provenance
The following attestation bundles were made for c_bpe-1.0.3-cp39-cp39-win_amd64.whl:
Publisher:
release.yml on andrey-savov/c-bpe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
c_bpe-1.0.3-cp39-cp39-win_amd64.whl -
Subject digest:
cb46e77badb538f0378ee6ad59976b59674c13c1280248d046d63e9cf6e60cca - Sigstore transparency entry: 1108456800
- Sigstore integration time:
-
Permalink:
andrey-savov/c-bpe@cd710ad71d94adc3941f30ec550ec893e572db7e -
Branch / Tag:
refs/tags/v1.0.3 - Owner: https://github.com/andrey-savov
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cd710ad71d94adc3941f30ec550ec893e572db7e -
Trigger Event:
release
-
Statement type:
File details
Details for the file c_bpe-1.0.3-cp39-cp39-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: c_bpe-1.0.3-cp39-cp39-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.9 MB
- Tags: CPython 3.9, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8826a65c6414c491fbe59e8ee6997f491d8cec865da22b5ac3f3c9d31fc3a73d
|
|
| MD5 |
08f00776bfa07fa2a76cfeec3f680db3
|
|
| BLAKE2b-256 |
308bc38f82185a3d9ecf46b76f4c1ee4b088968979edc365727063354441b365
|
Provenance
The following attestation bundles were made for c_bpe-1.0.3-cp39-cp39-manylinux_2_28_x86_64.whl:
Publisher:
release.yml on andrey-savov/c-bpe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
c_bpe-1.0.3-cp39-cp39-manylinux_2_28_x86_64.whl -
Subject digest:
8826a65c6414c491fbe59e8ee6997f491d8cec865da22b5ac3f3c9d31fc3a73d - Sigstore transparency entry: 1108456787
- Sigstore integration time:
-
Permalink:
andrey-savov/c-bpe@cd710ad71d94adc3941f30ec550ec893e572db7e -
Branch / Tag:
refs/tags/v1.0.3 - Owner: https://github.com/andrey-savov
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cd710ad71d94adc3941f30ec550ec893e572db7e -
Trigger Event:
release
-
Statement type:
File details
Details for the file c_bpe-1.0.3-cp39-cp39-macosx_11_0_arm64.whl.
File metadata
- Download URL: c_bpe-1.0.3-cp39-cp39-macosx_11_0_arm64.whl
- Upload date:
- Size: 31.4 MB
- Tags: CPython 3.9, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7169f0da82008e0a64458c0e4f668677004268e0f4dd901aede86b1f583029dd
|
|
| MD5 |
a4d876632c9cbdd82cedc73339838e9a
|
|
| BLAKE2b-256 |
46afa6038581ba3a7a21af00ce635977314e16efd301e472b9054bf9f599deb6
|
Provenance
The following attestation bundles were made for c_bpe-1.0.3-cp39-cp39-macosx_11_0_arm64.whl:
Publisher:
release.yml on andrey-savov/c-bpe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
c_bpe-1.0.3-cp39-cp39-macosx_11_0_arm64.whl -
Subject digest:
7169f0da82008e0a64458c0e4f668677004268e0f4dd901aede86b1f583029dd - Sigstore transparency entry: 1108456784
- Sigstore integration time:
-
Permalink:
andrey-savov/c-bpe@cd710ad71d94adc3941f30ec550ec893e572db7e -
Branch / Tag:
refs/tags/v1.0.3 - Owner: https://github.com/andrey-savov
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cd710ad71d94adc3941f30ec550ec893e572db7e -
Trigger Event:
release
-
Statement type:
File details
Details for the file c_bpe-1.0.3-cp39-cp39-macosx_10_9_x86_64.whl.
File metadata
- Download URL: c_bpe-1.0.3-cp39-cp39-macosx_10_9_x86_64.whl
- Upload date:
- Size: 1.8 MB
- Tags: CPython 3.9, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c71e79deb342060a68879103dced81d0422be1128d7c00af6a8abb70107f9a27
|
|
| MD5 |
ff101e8cd6defb65f5587d236619445f
|
|
| BLAKE2b-256 |
f70aae5e8968597e9246dba1e0f30525a88847ed8dc1751c8e71a0c745e07ea1
|
Provenance
The following attestation bundles were made for c_bpe-1.0.3-cp39-cp39-macosx_10_9_x86_64.whl:
Publisher:
release.yml on andrey-savov/c-bpe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
c_bpe-1.0.3-cp39-cp39-macosx_10_9_x86_64.whl -
Subject digest:
c71e79deb342060a68879103dced81d0422be1128d7c00af6a8abb70107f9a27 - Sigstore transparency entry: 1108456802
- Sigstore integration time:
-
Permalink:
andrey-savov/c-bpe@cd710ad71d94adc3941f30ec550ec893e572db7e -
Branch / Tag:
refs/tags/v1.0.3 - Owner: https://github.com/andrey-savov
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cd710ad71d94adc3941f30ec550ec893e572db7e -
Trigger Event:
release
-
Statement type: