High-performance numerical circular buffers for Python, featuring O(1) statistical accumulators.
Project description
NumCircBuf: High-performance numerical circular buffers for Python, featuring O(1) statistical accumulators.
Table of Contents
- Overview
- Features
- Installation
- Common Buffer API
- Main Buffers
- Utility Buffers
- Exception Handling
- Performance
- Documentation
- Changelog
- License
- Support
- Citation
- Acknowledgements
Overview
NumCircBuf is a high-performance Python library providing numerical circular buffers, including O(1) accumulators and specialized calculation variants. Built with Cython for a balance between performance and maintainability, it provides efficient data structures for real-time signal processing, time-series analysis, and other performance-critical applications.
Features
- Multiple Buffer Types – includes specialized buffers for different needs:
- BlockingCircBuffer – blocking producer/consumer circular buffer for multi-threaded applications.
- OverwriteCircBuffer – optimized for high-throughput writes
- IntegratedGatedBuffer – specialized for calculating gated loudness/energy statistics
- O(1) Accumulators – constant-time operations for statistics, implemented in specialized buffers:
- RunningMeanBuffer – O(1) mean
- RunningMeanSqBuffer – O(1) mean-square
- NumPy Integration: Seamless integration with NumPy arrays.
- Type Safety: supports fp32, fp64, int32, int64, uint32, uint64.
- Comprehensive Documentation: Detailed documentation and performance benchmarks.
Installation
pip install numcircbuf
Or install from source:
git clone https://github.com/basimali-ai/NumCircBuf.git
cd NumCircBuf
pip install .
For development installation with all dependencies (from source):
git clone https://github.com/basimali-ai/NumCircBuf.git
cd NumCircBuf
pip install -e .[dev]
Verification
To verify the installation and check the version:
pip show numcircbuf && python -c "import numcircbuf; print('\n' + '-'*20 + '\nRunning smoke test...'); print(f'Library version: {numcircbuf.__version__}'); print(numcircbuf.OverwriteCircBuffer(10, 'never')); print(numcircbuf.RunningMeanBuffer(10, 'calculation')); print('-'*20 + '\n--- Installation verification successful ---')"
Common Buffer API
All buffer types expose the following methods:
clear(): Clears the buffer.clear_nan(): Removes NaN values.clear_infs(): Removes Inf values.__len__(): Current buffer size.maxlen: Maximum buffer capacity.view(): Returns a read-only logical view of the buffer (implements ViewProtocol).
All bulk extend methods have an additional warn_size boolean argument which enables or disables warnings when the block size exceeds the buffer's maxlen. It is enabled by default.
Note: In all buffers nan/inf values are allowed to be appended/extended with, as they are valuable data points.
The Buffer View (ViewProtocol)
The object returned by the view() method provides a zero-copy, read-only logical view of the circular buffer. It is exposed as a structural Protocol to provide strong type hints and an explicit contract, while the underlying implementation remains internal.
- Behaves like a 1D NumPy array in logical order.
- Has a
to_numpy()function which provides a contiguous NumPy array copy of the data in logical order. - All returned arrays are independent (no shared memory).
- Any slicing produces a 1D NumPy array copy containing only the selected elements.
- Indexing or iteration preserves logical order, but yields native Python objects (
int,float) for each element.
Note: This view is strictly read-only. Attempts to modify the view via indexing or deletion will raise an InvalidModification exception at runtime.
Usage Example
# Assuming `buffer` is a populated circular buffer instance from numcircbuf
view = buffer.view()
def view_usage(v):
print("All elements (slice):", v[:])
print("Single element:", v[0])
print("Number of elements:", len(v))
print("Max capacity:", v.maxlen)
print("Dtype:", v.dtype)
print("-" * 20)
print("Iterating over view:")
for value in v:
print("-" * 10)
print(f"Value = {value}")
print(f"Type = {type(value)}") # Will be native <class 'int'> or <class 'float'>
print("-" * 20)
print("\n--- View Usage ---")
view_usage(view)
# Copy behavior
# All returned arrays are independent; no shared memory
arr = view.to_numpy()
print("Before: ", view[:])
arr *= 2.0 # modify the array copy
print("After: ", view[:]) # View remains unchanged
Main Buffers
1. OverwriteCircBuffer
Write-optimized circular buffer with auto-overwrite and non-destructive reads.
Provides simple vectorized mathematical metrics over the buffer contents.
Note: This buffer is not thread safe.
- Concurrent reads during writes can provide inaccurate data
- Concurrent writes can cause data corruption.
Constructor
def __init__(
self,
maxlen: int,
return_overwritten_policy: Literal["never", "always", "conditional"],
dtype: (
type[np.float32]
| type[np.float64]
| type[np.int32]
| type[np.int64]
| type[np.uint32]
| type[np.uint64]
) = np.float32,
) -> None:
Overwrite Return Policy
Controls whether overwritten elements are returned when the buffer wraps.
return_overwritten_policy: Literal["always", "never", "conditional"]
-
"never"from numcircbuf import OverwriteCircBuffer buf = OverwriteCircBuffer(maxlen=3, return_overwritten_policy="never") print(buf.extend([1, 2])) # Empty NumPy array [] print(buf.extend([3, 4])) # Empty NumPy array [] print(buf.append(5)) # None
-
"always"from numcircbuf import OverwriteCircBuffer buf = OverwriteCircBuffer(maxlen=3, return_overwritten_policy="always") print(buf.extend([1, 2])) # Empty NumPy array [] print(buf.extend([3, 4])) # NumPy array [1.0] print(buf.append(5)) # float 2.0
-
"conditional"The returned values depend on the
return_overwrittenflag, it defaults toFalse.from numcircbuf import OverwriteCircBuffer buf = OverwriteCircBuffer(maxlen=3, return_overwritten_policy="conditional") print(buf.extend([1, 2])) # Empty NumPy array [] print(buf.extend([3, 4])) # Empty NumPy array [] print(buf.extend([5, 6], return_overwritten=True)) # NumPy array [2.0, 3.0] print(buf.append(7)) # None print(buf.append(8, return_overwritten=True)) # float 5.0
Supported input types
-
.append(float | int)- Accepts a single numeric value.
- Value is stored internally as the buffer’s
dtype.
-
.extend(Iterable[float | int])- Accepts any
Iterableof numeric values. - The iterable is converted to a contiguous NumPy array of the buffer’s
dtype. - If you pass an
np.ndarray, it is only copied if,- Its
dtypedoes not match the buffer’s - It is not C-contiguous
- Its
- Accepts any
-
.extend_unchecked(np.ndarray)- Expects only a C-contiguous 1-D
np.ndarraywith the samedtypeas the buffer. - This method skips
dtype, contiguous array and dimension conversions/checks.
Note: Using this yields the best performance, but if the array's
dtypeis different or if it is not contiguous, it will cause silent data corruption or crashes. - Expects only a C-contiguous 1-D
Mathematical Metrics
These metrics are computed on all elements.
.mean(): Mean of all elements..sum(): Sum of all elements..sum_squares(): Sum of squares..mean_squares(): Mean of squares..sum_and_count_gt(threshold: float | int): Returns a sum and count of elements above a threshold.
2. BlockingCircBuffer
Blocking producer/consumer circular buffer, suitable for multi-threaded applications.
This buffer blocks under these conditions:
- The writer will wait if the buffer is full.
- The reader will wait if the buffer is empty.
Constructor
def __init__(
self,
maxlen: int,
dtype: (
type[np.float32]
| type[np.float64]
| type[np.int32]
| type[np.int64]
| type[np.uint32]
| type[np.uint64]
) = np.float32,
) -> None:
Writing to the buffer
-
.write_append(value: float | int, timeout: float = -1.0)- Accepts a single numeric value.
- Value is stored internally as the buffer’s
dtype. timeout: Time in seconds to wait if the buffer is empty. Default is-1.0(waits indefinitely). Use0.0to make it non-blocking.
-
.write_extend(data: Iterable[float | int], timeout: float = -1.0)data: Data block to write.- Accepts any
Iterableof numeric values. - The iterable is converted to a contiguous NumPy array of the buffer’s
dtype. - If you pass an
np.ndarray, it is only copied if,- Its
dtypedoes not match the buffer’s - It is not C-contiguous
- Its
- Accepts any
timeout: Same as.write_append
-
.write_extend_unchecked(block_np: np.ndarray, timeout: float = -1.0)block_np:np.ndarrayto write.- Expects only a C-contiguous 1-D
np.ndarraywith the samedtypeas the buffer. - Skips
dtype, contiguous array, and dimension checks.
- Expects only a C-contiguous 1-D
timeout: Same as.write_append
Note: Using this yields the best performance, but if the array's
dtypeis different or if it is not contiguous, it will cause silent data corruption or crashes.
Reading from the buffer
-
.read(n: int = NumCircBuf.constants.Limits.SIZE_MAX.value, timeout: float = -1.0, partial_read: bool = True) -> np.ndarrayReads items from the buffer.
n: Number of items to read. Defaults to the maximum possible buffer size.timeout: Time in seconds to wait if the buffer is empty. Default is-1.0(waits indefinitely). Use0.0to make it non-blocking.partial_read: IfTrue(default), returns available items (up ton) immediately. IfFalse, blocks until allnitems are available.
-
.read_into(out_array_np: np.ndarray, timeout: float = -1.0, partial_read: bool = True) -> intReads directly into a pre-allocated
np.ndarrayof the samedtypeas the buffer.- Returns the number of items actually read.
- The number of items to read is determined by the length of
out_array_np. timeoutandpartial_read: Same as.read().
-
.read_into_unchecked(out_array_np: np.ndarray, timeout: float = -1.0, partial_read: bool = True) -> intSimilar to
.read_into- Skips
dtype, contiguous array, and dimension checks.
Note: Using this yields the best performance, but if the array's
dtypeis different or if it is not contiguous, it will cause silent data corruption or crashes. - Skips
Usage Example
import threading
import time
import numpy as np
from numcircbuf import BlockingCircBuffer
buf = BlockingCircBuffer(maxlen=1000, dtype=np.float32)
data = np.random.randn(1000).astype(np.float32)
# Pre-allocate a NumPy array with zeros for read_into.
# We use zeros instead of np.empty so that any unwritten elements are clearly visible
# — useful when inspecting random data.
read_into_arr = np.zeros(100, dtype=np.float32)
def producer():
# Write an initial batch of 150 items
buf.write_extend(data[:150])
# Simulate a delay (e.g., waiting for network packets or sensor data)
time.sleep(0.5)
# Write the remaining 850 items
buf.write_extend(data[150:])
def consumer():
# We ask for 200 items, but the producer has only written 150 so far.
# Because partial_read=True, it returns the 150 items immediately instead of waiting.
received = buf.read(n=200, partial_read=True)
print(f"1. Partial read: asked for 200, got {len(received)}") # 150
print(f" Items left in buffer: {len(buf)}\n") # 0
# We ask for 300 items. The buffer is currently empty.
# Because partial_read=False, this will block until the producer writes the next batch,
# ensuring we get exactly 300 items.
received = buf.read(n=300, partial_read=False)
print(f"2. Strict read: asked for 300, got {len(received)}") # 300
print(
f" Items left in buffer: {len(buf)}\n"
) # 550 (850 new items - 300 read)
# Reads directly into the pre-allocated array (size 100)
received_count = buf.read_into(out_array_np=read_into_arr)
received = read_into_arr[:received_count]
print(f"3. Read into array: got {len(received)}") # 100
print(f" Items left in buffer: {len(buf)}\n") # 450
# Reads everything left in the buffer
received = buf.read()
print(f"4. Read remaining: got {len(received)}") # 450
print(f" Items left in buffer: {len(buf)}\n") # 0
# Non-blocking read: buffer is empty, timeout=0 makes it return immediately
received = buf.read(timeout=0)
print(f"5. Non-blocking read: got {len(received)}") # 0
# Non-blocking read_into: buffer is empty, returns immediately
received_count = buf.read_into_unchecked(
out_array_np=read_into_arr, timeout=0
)
print(f"6. Non-blocking read_into: got {received_count}") # 0
# Start producer and consumer threads
producer_thread = threading.Thread(target=producer)
consumer_thread = threading.Thread(target=consumer)
producer_thread.start()
consumer_thread.start()
producer_thread.join()
consumer_thread.join()
Utility Buffers
Common Utility Buffer API
All utility buffer types expose the methods defined in Common Buffer API, and the following:
clear_cache(): Clears the cached metric.
Furthermore, all the buffers cache their metric value when the metric function is called and clear the cached metric value whenever the buffer is extended or appended to.
1. RunningMeanSqBuffer
Accumulator-capable circular buffer optimized for mean-square calculations.
Features fully vectorized operations, float-drift protection, and caching for mean-square.
Note: This buffer is not thread safe.
- Concurrent reads during writes can return stale mean-square values
- Concurrent writes can cause data corruption.
Constructor
def __init__(
self,
maxlen: int,
operation_focus: Literal["extend/append", "calculation"],
recalc_threshold: int | None = 0,
dtype: type[np.float32] | type[np.float64] = np.float32,
) -> None:
Operation Focus
operation_focus: Literal["calculation", "extend/append"]
-
"calculation": O(1) statistics, higher per-write cost. -
"extend/append": O(n) statistics, lower write cost.
Use the library utility determine_operation_focus to automatically select the best operation_focus.
This function runs a small runtime benchmark and returns the appropriate Literal value for your use case:
def determine_operation_focus(
buffer_type: type[RunningMeanSqBuffer] | type[RunningMeanBuffer],
dtype: type[np.float32] | type[np.float64],
buffer_maxlen: int,
block_size: int, # Use 1 if you will be appending a single element only.
calc_every: int, # Calculate every n blocks.
test_blocks: int = 128, # How many blocks to run the benchmark for,
# more = (higher memory usage)
# + (potentially more accurate results).
verbose: bool = False, # Logs the exact relative multipliers,
# as well as total time spent in the function.
) -> Literal["calculation", "extend/append"]: # Outputs the best operation focus
# for this (use case) + (system),
# This can be directly passed to
# the buffer init
Actual performance depends on buffer's maxlen, block size, overwrite rate, and statistics frequency.
See PERFORMANCE.md for relative benchmarks.
Recalculation Threshold
recalc_threshold: int: Number of operations after which the accumulator is recalculated on all values in the buffer to reduce floating-point drift. Use 0 or None to disable.
Usage Example
import numpy as np
from numcircbuf import RunningMeanSqBuffer, determine_operation_focus
DTYPE = np.float32
CALC_EVERY = 2
BUFFER_MAXLEN = 1000
BLOCK_SIZE = 100
buffer = RunningMeanSqBuffer(
maxlen=BUFFER_MAXLEN,
operation_focus=determine_operation_focus(
buffer_type=RunningMeanSqBuffer,
dtype=DTYPE,
buffer_maxlen=BUFFER_MAXLEN,
block_size=BLOCK_SIZE,
calc_every=CALC_EVERY,
verbose=True,
),
dtype=DTYPE,
)
# Add arrays/blocks
rng = np.random.default_rng(25) # For random number generation
for i in range(10): # Simulate time
block = rng.random(BLOCK_SIZE, dtype=DTYPE) # Mock block arriving
buffer.extend(block) # Extend with the block
if (i + 1) % CALC_EVERY == 0: # Calc every n
print("-" * 10)
print(buffer.mean_square()) # Get mean-square
print(buffer.mean_square()) # Uses cached value
2. RunningMeanBuffer
Accumulator-capable circular buffer optimized for mean calculations.
Features fully vectorized operations, and caching for mean.
Note: This buffer is not thread safe.
- Concurrent reads during writes can return stale mean values
- Concurrent writes can cause data corruption.
Constructor
def __init__(
self,
maxlen: int,
operation_focus: Literal["extend/append", "calculation"],
dtype: type[np.float32] | type[np.float64] = np.float32,
) -> None:
operation_focus works the same as in RunningMeanSqBuffer.
Usage Example
Works identically to RunningMeanSqBuffer — use .mean() instead of .mean_square()
3. IntegratedGatedBuffer
A specialized circular buffer for calculating gated loudness.
Features fully vectorized operations, and caching for gated mean-square.
Internal Storage: This buffer stores the square of the input values. Values retrieved via views will represent squared values, not the original linear amplitude.
Note: This buffer is not thread safe.
- Concurrent reads during writes can return stale gated mean-square values and inaccurate data
- Concurrent writes can cause data corruption.
Constructor
def __init__(
self,
maxlen: int,
abs_gate_lufs: float,
rel_gate_lu: float,
recalc_threshold: int | None = 0,
dtype: type[np.float32] | type[np.float64] = np.float32,
) -> None:
recalc_threshold works the same as in RunningMeanSqBuffer.
Threshold Parameters
-
abs_gate_lufs: floatThe absolute loudness threshold in LUFS. Blocks with a mean-square power below this threshold are ignored during the first stage of the gating process. -
rel_gate_lu: floatThe relative loudness threshold in LU. Blocks with a mean-square power more than this many decibels below the absolute-gated mean-square are ignored in the final integrated loudness calculation.
Usage Example
import numpy as np
from numcircbuf import IntegratedGatedBuffer
# Parameters for gated loudness calculation
# (We use the ITU-R BS.1770 standard constants for the example)
ABS_GATE_LUFS = -70.0
REL_GATE_LU = -10.0
buffer = IntegratedGatedBuffer(
maxlen=3000,
abs_gate_lufs=ABS_GATE_LUFS,
rel_gate_lu=REL_GATE_LU
)
# Add the audio signal to the buffer.
# Input should be K-weighted and normalized to [-1.0, 1.0] as per ITU-R BS.1770.
block = np.random.uniform(-1.0, 1.0, 1000)
buffer.extend(block)
# Retrieve the final gated mean-square
gated_mean_sq = buffer.gated_mean_square()
print(f"Gated mean square: {gated_mean_sq}")
Exception Handling
Exceptions
NumCircBufError(Exception)
├── NumCircBufValueError(NumCircBufError, ValueError) ────────────────────────────┬─────┐
├── NumCircBufTypeError(NumCircBufError, TypeError) ─────────────────────┬─────┬─ │ ─┐ │
│ └── InvalidModification(NumCircBufTypeError) │ │ │ │ │
├── NumCircBufIndexError(NumCircBufError, IndexError) │ │ │ │ │
│ └── IndexOutOfBounds(NumCircBufIndexError) │ │ │ │ │
├── NumCircBufArithmeticError(NumCircBufError, ArithmeticError) │ │ │ │ │
│ └── UnsupportedOperation(NumCircBufArithmeticError) │ │ │ │ │
├── NumCircBufRuntimeError(NumCircBufError, RuntimeError) │ │ │ │ │
├── NumCircBufOSError(NumCircBufError, OSError) │ │ │ │ │
├── NumCircBufNotImplementedError(NumCircBufError, NotImplementedError) │ │ │ │ │
└── NumCircBufInitError(NumCircBufError) │ │ │ │ │
├── DataTypeError(NumCircBufInitError, NumCircBufTypeError) ─────────┘ │ │ │ │
├── BufferCapacityError(NumCircBufInitError) │ │ │ │
│ ├── BufferCapacityTypeError(BufferCapacityError, NumCircBufTypeError) ─┘ │ │ │
│ └── BufferCapacityValueError(BufferCapacityError, NumCircBufValueError) ──┘ │ │
└── ConfigurationError(NumCircBufInitError) │ │
├── ConfigurationTypeError(ConfigurationError, NumCircBufTypeError) ─────────┘ │
└── ConfigurationValueError(ConfigurationError, NumCircBufValueError) ──────────┘
NumCircBuf exceptions are comprehensive and include context (e.g., the object/class that caused the error):
class_obj– the class where the exception occurred (may beNoneif no class is associated with the error).obj– the instance that caused the error (may beNoneif instantiation failed or no specific instance is involved).- Various different attributes available based on the exception type.
Performance note: Some low-level Cython/NumPy errors may still propagate as native Python exceptions (
ValueError,TypeError, etc.) to avoid redundant checks in performance-critical code.
Usage Example
try:
buf.extend(data)
except exceptions.NumCircBufError as e:
# Structured library errors; you can access `e.class_obj` and `e.obj`
handle_numcircbuf_error(e)
except Exception as e:
# Low-level errors from NumPy/Cython
handle_low_level_error(e)
Warnings
NumCircBufWarning(Warning)
├── NumCircBufDeprecationWarning(NumCircBufWarning, DeprecationWarning)
├── NumCircBufFutureWarning(NumCircBufWarning, FutureWarning)
└── NumCircBufRuntimeWarning(NumCircBufWarning, RuntimeWarning)
└── DataSizeWarning(NumCircBufRuntimeWarning)
All NumCircBuf warnings include
class_objandobjattributes (like exceptions).
Usage Example
import warnings
from numcircbuf import OverwriteCircBuffer, exceptions
buffer = OverwriteCircBuffer(5, "never")
# Example function that catches a NumCircBufWarning
def extend_and_catch(buffer, data):
with warnings.catch_warnings(record=True) as caught_warnings:
warnings.simplefilter("always") # Capture all warnings
buffer.extend(data)
for w in caught_warnings:
if isinstance(w.message, exceptions.NumCircBufWarning):
print("Warning type:", type(w.message))
print("Class of buffer:", w.message.class_obj)
print("Buffer instance:", w.message.obj)
print("Full message:", w.message)
# Trigger a warning
extend_and_catch(buffer, range(10))
Performance
NumCircBuf is optimized for speed and efficiency:
- Cython + raw C pointers – for near-C performance
- Minimal Python object creation – slices/views reused, caching reduces repeated calculations
- BLAS-backed NumPy operations – for efficient array math (dot products, sum-of-squares)
- O(1) accumulator operations – for real-time applications
- Handles high-throughput buffers – for streaming data like audio or sensor signals
Benchmark Results
For detailed performance benchmarks, see the PERFORMANCE.md document which includes comprehensive testing results across different buffer types and use cases.
Key Performance Highlights:
-
Throughput (extending 64 KiB of data to
OverwriteCircBuffer):-
Cold cache (data):
- AMD R7700x (DDR5): ~50 GB/s
- AMD R5600 (DDR4): ~30 GB/s
-
Warm cache (data):
- AMD R7700x (DDR5): ~73 GB/s
- AMD R5600 (DDR4): ~50 GB/s
-
-
Memory efficiency and consistency: ~4 bytes per element (32-bit) and ~8 bytes per element (64-bit)
Documentation
- Performance Benchmarks: Comprehensive performance testing results and optimization guide.
- Versioning Strategy: Versioning policy, release process, and compatibility guarantees.
Changelog
See CHANGELOG.md for a detailed history of changes, including new features, bug fixes, and performance improvements.
License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Support
For issues, questions, or feature requests:
- GitHub Issues: Open an issue on our GitHub repository
- GitHub Discussions: Join the conversation in our Discussions forum
Citation
If you use NumCircBuf in your research or projects, please cite it as:
@software{NumCircBuf,
author = {Syed Basim Ali},
title = {NumCircBuf: High-Performance Numerical Circular Buffers for Python},
year = {2026},
url = {https://github.com/basimali-ai/NumCircBuf},
version = {1.0.1}
}
Acknowledgements
NumCircBuf is built on top of these technologies:
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 numcircbuf-1.0.1.tar.gz.
File metadata
- Download URL: numcircbuf-1.0.1.tar.gz
- Upload date:
- Size: 260.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b36c79d740c37d01d966e822c8d5dba55491086b826584fcc6415312f917e908
|
|
| MD5 |
0e9ab9796bbfc12d6e7e1f83d6552ab3
|
|
| BLAKE2b-256 |
bcf1f947953fd4fc16e5102a767f2f5e6e1721cef67e85736cc53acd2008d9c2
|
Provenance
The following attestation bundles were made for numcircbuf-1.0.1.tar.gz:
Publisher:
upload_pypi.yml on basimali-ai/NumCircBuf
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
numcircbuf-1.0.1.tar.gz -
Subject digest:
b36c79d740c37d01d966e822c8d5dba55491086b826584fcc6415312f917e908 - Sigstore transparency entry: 1439034627
- Sigstore integration time:
-
Permalink:
basimali-ai/NumCircBuf@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/basimali-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
upload_pypi.yml@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file numcircbuf-1.0.1-cp314-cp314t-win_amd64.whl.
File metadata
- Download URL: numcircbuf-1.0.1-cp314-cp314t-win_amd64.whl
- Upload date:
- Size: 206.2 kB
- Tags: CPython 3.14t, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
23e5da74c87923c83b5561bc096f0537397a75050ffe967e2c0215ab203d885f
|
|
| MD5 |
0d038f451f8dd5d268cd598c90a9fa67
|
|
| BLAKE2b-256 |
2ba3553787f99696a14e04f352c8d205d8019561f11a7845e86c184f28e05f6e
|
Provenance
The following attestation bundles were made for numcircbuf-1.0.1-cp314-cp314t-win_amd64.whl:
Publisher:
upload_pypi.yml on basimali-ai/NumCircBuf
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
numcircbuf-1.0.1-cp314-cp314t-win_amd64.whl -
Subject digest:
23e5da74c87923c83b5561bc096f0537397a75050ffe967e2c0215ab203d885f - Sigstore transparency entry: 1439035192
- Sigstore integration time:
-
Permalink:
basimali-ai/NumCircBuf@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/basimali-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
upload_pypi.yml@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file numcircbuf-1.0.1-cp314-cp314t-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: numcircbuf-1.0.1-cp314-cp314t-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 2.2 MB
- Tags: CPython 3.14t, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a261e16f849b9ccc1d49ba4168edd3b3bc025feb394c61a369c25ec6d8c99dab
|
|
| MD5 |
ed2b9322f5bd91a39b85dca88372e7b2
|
|
| BLAKE2b-256 |
9c919f7e0599239433dc2bc4f68bc9c3363ec5d7bba2bf9da0228d391aec596e
|
Provenance
The following attestation bundles were made for numcircbuf-1.0.1-cp314-cp314t-musllinux_1_2_x86_64.whl:
Publisher:
upload_pypi.yml on basimali-ai/NumCircBuf
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
numcircbuf-1.0.1-cp314-cp314t-musllinux_1_2_x86_64.whl -
Subject digest:
a261e16f849b9ccc1d49ba4168edd3b3bc025feb394c61a369c25ec6d8c99dab - Sigstore transparency entry: 1439034705
- Sigstore integration time:
-
Permalink:
basimali-ai/NumCircBuf@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/basimali-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
upload_pypi.yml@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file numcircbuf-1.0.1-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: numcircbuf-1.0.1-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.14t, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4b3c154ee44d4a7328515f4e7c85e47b67783bde42927e6f9cfc070a19f5eb13
|
|
| MD5 |
8bece63c6dfa5befc7bbcc1c509e15f1
|
|
| BLAKE2b-256 |
d1ae6f60338fab0f90e0dd28086d6888b1cd4274e83b479a24a9720eeb2546db
|
Provenance
The following attestation bundles were made for numcircbuf-1.0.1-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
upload_pypi.yml on basimali-ai/NumCircBuf
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
numcircbuf-1.0.1-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
4b3c154ee44d4a7328515f4e7c85e47b67783bde42927e6f9cfc070a19f5eb13 - Sigstore transparency entry: 1439035011
- Sigstore integration time:
-
Permalink:
basimali-ai/NumCircBuf@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/basimali-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
upload_pypi.yml@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file numcircbuf-1.0.1-cp314-cp314t-macosx_11_0_arm64.whl.
File metadata
- Download URL: numcircbuf-1.0.1-cp314-cp314t-macosx_11_0_arm64.whl
- Upload date:
- Size: 209.4 kB
- Tags: CPython 3.14t, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f5077f50db5fc5215faf67ec38112a1ed73798137975de12c38100808b15f455
|
|
| MD5 |
bccf8cd4b9d8f74b01f1677595e133a4
|
|
| BLAKE2b-256 |
a6d78f299e6b162c94afba41fe6429140aed2948450f8c4ec912549d357f1a17
|
Provenance
The following attestation bundles were made for numcircbuf-1.0.1-cp314-cp314t-macosx_11_0_arm64.whl:
Publisher:
upload_pypi.yml on basimali-ai/NumCircBuf
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
numcircbuf-1.0.1-cp314-cp314t-macosx_11_0_arm64.whl -
Subject digest:
f5077f50db5fc5215faf67ec38112a1ed73798137975de12c38100808b15f455 - Sigstore transparency entry: 1439034673
- Sigstore integration time:
-
Permalink:
basimali-ai/NumCircBuf@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/basimali-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
upload_pypi.yml@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file numcircbuf-1.0.1-cp314-cp314-win_amd64.whl.
File metadata
- Download URL: numcircbuf-1.0.1-cp314-cp314-win_amd64.whl
- Upload date:
- Size: 174.8 kB
- Tags: CPython 3.14, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8f16eba918ed1c72c88677cfa5b3cbd7a0aabb7ec644d9e15f2fc2fb3cb4b538
|
|
| MD5 |
8a164ec2dac7c709012e78d2862dbe43
|
|
| BLAKE2b-256 |
4d20bf6f89816dd0c58ccbd047fc1e5ea55c7f3bc557dfce5dce9226d31a598a
|
Provenance
The following attestation bundles were made for numcircbuf-1.0.1-cp314-cp314-win_amd64.whl:
Publisher:
upload_pypi.yml on basimali-ai/NumCircBuf
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
numcircbuf-1.0.1-cp314-cp314-win_amd64.whl -
Subject digest:
8f16eba918ed1c72c88677cfa5b3cbd7a0aabb7ec644d9e15f2fc2fb3cb4b538 - Sigstore transparency entry: 1439034908
- Sigstore integration time:
-
Permalink:
basimali-ai/NumCircBuf@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/basimali-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
upload_pypi.yml@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file numcircbuf-1.0.1-cp314-cp314-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: numcircbuf-1.0.1-cp314-cp314-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 2.2 MB
- Tags: CPython 3.14, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2b9571bd5f732e143f664b300df33196bd62125acba81f703b7df9dc36a566f7
|
|
| MD5 |
bebedaede4ecafa92631673f957a9681
|
|
| BLAKE2b-256 |
7d4a6792f1fe166435f5ef0887afda99a3b3fe9992847729b5d5f63100f9ee8e
|
Provenance
The following attestation bundles were made for numcircbuf-1.0.1-cp314-cp314-musllinux_1_2_x86_64.whl:
Publisher:
upload_pypi.yml on basimali-ai/NumCircBuf
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
numcircbuf-1.0.1-cp314-cp314-musllinux_1_2_x86_64.whl -
Subject digest:
2b9571bd5f732e143f664b300df33196bd62125acba81f703b7df9dc36a566f7 - Sigstore transparency entry: 1439034955
- Sigstore integration time:
-
Permalink:
basimali-ai/NumCircBuf@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/basimali-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
upload_pypi.yml@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file numcircbuf-1.0.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: numcircbuf-1.0.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.14, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
59ba04bca18314bfec1a291784830c989a031022ab9291d23756506baf2e3cea
|
|
| MD5 |
bdff61c3d7d29ae91b667234cb40b426
|
|
| BLAKE2b-256 |
765fc12543c9ad2b2c1c89d184fefe63a17f96eedd88b0923d566faaec789c9e
|
Provenance
The following attestation bundles were made for numcircbuf-1.0.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
upload_pypi.yml on basimali-ai/NumCircBuf
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
numcircbuf-1.0.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
59ba04bca18314bfec1a291784830c989a031022ab9291d23756506baf2e3cea - Sigstore transparency entry: 1439035230
- Sigstore integration time:
-
Permalink:
basimali-ai/NumCircBuf@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/basimali-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
upload_pypi.yml@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file numcircbuf-1.0.1-cp314-cp314-macosx_11_0_arm64.whl.
File metadata
- Download URL: numcircbuf-1.0.1-cp314-cp314-macosx_11_0_arm64.whl
- Upload date:
- Size: 196.5 kB
- Tags: CPython 3.14, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
00f94e0949c1113b58d3626aeed98f614470d1c9795d01848247d4cbb801f744
|
|
| MD5 |
8387157f2ad0c82ae4c2c845dffb42c7
|
|
| BLAKE2b-256 |
bf4b415e72804d802ba42ed6191539c96d4ab290086c9f73d659336073f2dc4d
|
Provenance
The following attestation bundles were made for numcircbuf-1.0.1-cp314-cp314-macosx_11_0_arm64.whl:
Publisher:
upload_pypi.yml on basimali-ai/NumCircBuf
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
numcircbuf-1.0.1-cp314-cp314-macosx_11_0_arm64.whl -
Subject digest:
00f94e0949c1113b58d3626aeed98f614470d1c9795d01848247d4cbb801f744 - Sigstore transparency entry: 1439034830
- Sigstore integration time:
-
Permalink:
basimali-ai/NumCircBuf@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/basimali-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
upload_pypi.yml@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file numcircbuf-1.0.1-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: numcircbuf-1.0.1-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 173.8 kB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0149c338e0ee954b002750ff89f904e82dbdc76f356e0965157c1f3a94713cbf
|
|
| MD5 |
5351391c366de8d675bc2efcf9398b63
|
|
| BLAKE2b-256 |
5e806e257e5b3bdc5d70fe0d1f26e6dcceb34dd02db88fa4f806607d20da355a
|
Provenance
The following attestation bundles were made for numcircbuf-1.0.1-cp313-cp313-win_amd64.whl:
Publisher:
upload_pypi.yml on basimali-ai/NumCircBuf
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
numcircbuf-1.0.1-cp313-cp313-win_amd64.whl -
Subject digest:
0149c338e0ee954b002750ff89f904e82dbdc76f356e0965157c1f3a94713cbf - Sigstore transparency entry: 1439034735
- Sigstore integration time:
-
Permalink:
basimali-ai/NumCircBuf@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/basimali-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
upload_pypi.yml@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file numcircbuf-1.0.1-cp313-cp313-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: numcircbuf-1.0.1-cp313-cp313-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 2.2 MB
- Tags: CPython 3.13, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c2cce70d5baefe09178e233d0abb52d5ca22c7a6c237403086086e1f4fc4271d
|
|
| MD5 |
7b373b3ef9b6fb8d563fae49338336a4
|
|
| BLAKE2b-256 |
372d18c4bff108c00549bc5020b07ae9d77144161f11f501f194668c92a5703d
|
Provenance
The following attestation bundles were made for numcircbuf-1.0.1-cp313-cp313-musllinux_1_2_x86_64.whl:
Publisher:
upload_pypi.yml on basimali-ai/NumCircBuf
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
numcircbuf-1.0.1-cp313-cp313-musllinux_1_2_x86_64.whl -
Subject digest:
c2cce70d5baefe09178e233d0abb52d5ca22c7a6c237403086086e1f4fc4271d - Sigstore transparency entry: 1439034978
- Sigstore integration time:
-
Permalink:
basimali-ai/NumCircBuf@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/basimali-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
upload_pypi.yml@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file numcircbuf-1.0.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: numcircbuf-1.0.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.13, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0072003b5fd16a22749b5da610153c1d5d2b81477d64818e0e0875461a2d0e64
|
|
| MD5 |
c798702d0a33bfa8ad9fa5d6d7b986ec
|
|
| BLAKE2b-256 |
cd0bf6f5890778491fc48d84ad333c25c28984197fdd61332587b3625d43b19a
|
Provenance
The following attestation bundles were made for numcircbuf-1.0.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
upload_pypi.yml on basimali-ai/NumCircBuf
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
numcircbuf-1.0.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
0072003b5fd16a22749b5da610153c1d5d2b81477d64818e0e0875461a2d0e64 - Sigstore transparency entry: 1439035254
- Sigstore integration time:
-
Permalink:
basimali-ai/NumCircBuf@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/basimali-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
upload_pypi.yml@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file numcircbuf-1.0.1-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: numcircbuf-1.0.1-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 195.4 kB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e4edf443d5074a8f7d54d941f72232a95a68fa6a56cf77ff11633370fc19e787
|
|
| MD5 |
bc369ee4c9d8efabd30467755765ae30
|
|
| BLAKE2b-256 |
62298550133476cc1e5149d8ece635889b360318dc0a5980d7d30c547af30961
|
Provenance
The following attestation bundles were made for numcircbuf-1.0.1-cp313-cp313-macosx_11_0_arm64.whl:
Publisher:
upload_pypi.yml on basimali-ai/NumCircBuf
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
numcircbuf-1.0.1-cp313-cp313-macosx_11_0_arm64.whl -
Subject digest:
e4edf443d5074a8f7d54d941f72232a95a68fa6a56cf77ff11633370fc19e787 - Sigstore transparency entry: 1439035041
- Sigstore integration time:
-
Permalink:
basimali-ai/NumCircBuf@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/basimali-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
upload_pypi.yml@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file numcircbuf-1.0.1-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: numcircbuf-1.0.1-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 172.7 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f05525f283c7cfbe92f7a6070169acbb9bc28967ee9c1afbc28d563a62a115b7
|
|
| MD5 |
061e646eaea86f0902fa5ba2f6136320
|
|
| BLAKE2b-256 |
1d75d23c20ca7326d0996d259b26c7287be944c87e2000b3cffc99d54c7d562d
|
Provenance
The following attestation bundles were made for numcircbuf-1.0.1-cp312-cp312-win_amd64.whl:
Publisher:
upload_pypi.yml on basimali-ai/NumCircBuf
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
numcircbuf-1.0.1-cp312-cp312-win_amd64.whl -
Subject digest:
f05525f283c7cfbe92f7a6070169acbb9bc28967ee9c1afbc28d563a62a115b7 - Sigstore transparency entry: 1439035068
- Sigstore integration time:
-
Permalink:
basimali-ai/NumCircBuf@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/basimali-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
upload_pypi.yml@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file numcircbuf-1.0.1-cp312-cp312-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: numcircbuf-1.0.1-cp312-cp312-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 2.2 MB
- Tags: CPython 3.12, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2ed59010ea3ed0ff6d0344c3b59f62a3008b368ff065947105082a5b0c5330db
|
|
| MD5 |
13e094c65254eef1329117af2e0f1936
|
|
| BLAKE2b-256 |
fc76f822ad84e07c73a3df52151cf6d863889366975ef92ee222a6b2beeab4d7
|
Provenance
The following attestation bundles were made for numcircbuf-1.0.1-cp312-cp312-musllinux_1_2_x86_64.whl:
Publisher:
upload_pypi.yml on basimali-ai/NumCircBuf
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
numcircbuf-1.0.1-cp312-cp312-musllinux_1_2_x86_64.whl -
Subject digest:
2ed59010ea3ed0ff6d0344c3b59f62a3008b368ff065947105082a5b0c5330db - Sigstore transparency entry: 1439034924
- Sigstore integration time:
-
Permalink:
basimali-ai/NumCircBuf@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/basimali-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
upload_pypi.yml@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file numcircbuf-1.0.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: numcircbuf-1.0.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.12, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f875a33986ac993f2eb8c5b7503ea2af4db6b1302441ad4177f2bb09a9db21be
|
|
| MD5 |
fed00d5dc802a0a9159e060b7b9b7845
|
|
| BLAKE2b-256 |
511c7df1825de67c2315b969ff08f680d93956be3cd64badcf58345c25f53e99
|
Provenance
The following attestation bundles were made for numcircbuf-1.0.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
upload_pypi.yml on basimali-ai/NumCircBuf
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
numcircbuf-1.0.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
f875a33986ac993f2eb8c5b7503ea2af4db6b1302441ad4177f2bb09a9db21be - Sigstore transparency entry: 1439035110
- Sigstore integration time:
-
Permalink:
basimali-ai/NumCircBuf@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/basimali-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
upload_pypi.yml@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file numcircbuf-1.0.1-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: numcircbuf-1.0.1-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 195.5 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
391976c3937f1eb297bda2ea9eba6ffc0ed3f5ecc1fdf07af09e9c95fa446bbf
|
|
| MD5 |
a758fc1b8c58a948e00830579b056105
|
|
| BLAKE2b-256 |
6ae080272551b509aa6b74ba7ba4c900ea8baa04f7cc435e0540ee14517b800c
|
Provenance
The following attestation bundles were made for numcircbuf-1.0.1-cp312-cp312-macosx_11_0_arm64.whl:
Publisher:
upload_pypi.yml on basimali-ai/NumCircBuf
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
numcircbuf-1.0.1-cp312-cp312-macosx_11_0_arm64.whl -
Subject digest:
391976c3937f1eb297bda2ea9eba6ffc0ed3f5ecc1fdf07af09e9c95fa446bbf - Sigstore transparency entry: 1439034853
- Sigstore integration time:
-
Permalink:
basimali-ai/NumCircBuf@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/basimali-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
upload_pypi.yml@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file numcircbuf-1.0.1-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: numcircbuf-1.0.1-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 179.2 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
210bada0e1e33cca029dc9110288c20e3b4d9ed6660023a4beb081a641117a95
|
|
| MD5 |
6b147c6d0e36d4feca46b9730c8dbc8a
|
|
| BLAKE2b-256 |
a6b89632c66e9d609bf191d6a67f6ac79c39eb82bbaeca46147f9983723bfde2
|
Provenance
The following attestation bundles were made for numcircbuf-1.0.1-cp311-cp311-win_amd64.whl:
Publisher:
upload_pypi.yml on basimali-ai/NumCircBuf
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
numcircbuf-1.0.1-cp311-cp311-win_amd64.whl -
Subject digest:
210bada0e1e33cca029dc9110288c20e3b4d9ed6660023a4beb081a641117a95 - Sigstore transparency entry: 1439035128
- Sigstore integration time:
-
Permalink:
basimali-ai/NumCircBuf@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/basimali-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
upload_pypi.yml@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file numcircbuf-1.0.1-cp311-cp311-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: numcircbuf-1.0.1-cp311-cp311-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 2.2 MB
- Tags: CPython 3.11, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0d371b433c75b63e539a9db23f8bbe11d351940c8fff1e5afdced4250cc49262
|
|
| MD5 |
ea19dc943ef70f4223c832ef8e4cdbdf
|
|
| BLAKE2b-256 |
dc33a2edd7ebe360bd6d77a0e32455e601c133b67897cdc3cfaafd15de5c9dbb
|
Provenance
The following attestation bundles were made for numcircbuf-1.0.1-cp311-cp311-musllinux_1_2_x86_64.whl:
Publisher:
upload_pypi.yml on basimali-ai/NumCircBuf
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
numcircbuf-1.0.1-cp311-cp311-musllinux_1_2_x86_64.whl -
Subject digest:
0d371b433c75b63e539a9db23f8bbe11d351940c8fff1e5afdced4250cc49262 - Sigstore transparency entry: 1439034647
- Sigstore integration time:
-
Permalink:
basimali-ai/NumCircBuf@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/basimali-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
upload_pypi.yml@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file numcircbuf-1.0.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: numcircbuf-1.0.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.11, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
76aa53d3309d574c899af76a74e9faa032c2fc0b5174f922c79e1d058c224631
|
|
| MD5 |
19c197c3e34c792ed75b30cf6866e5f3
|
|
| BLAKE2b-256 |
cd831b4cb2bb51d466d23dc29af0598786630a889c1969d39fbb020dbe620875
|
Provenance
The following attestation bundles were made for numcircbuf-1.0.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
upload_pypi.yml on basimali-ai/NumCircBuf
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
numcircbuf-1.0.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
76aa53d3309d574c899af76a74e9faa032c2fc0b5174f922c79e1d058c224631 - Sigstore transparency entry: 1439035282
- Sigstore integration time:
-
Permalink:
basimali-ai/NumCircBuf@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/basimali-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
upload_pypi.yml@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file numcircbuf-1.0.1-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: numcircbuf-1.0.1-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 196.9 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f1c5529baba058e6b6293c1af0d726abd390996e703c5917e6dc067b4e11f0bc
|
|
| MD5 |
aedbee9230eece594d75ac209b3c9afc
|
|
| BLAKE2b-256 |
5662c83b974f9b2427af250d0dadd27239513306835ee6fbd655763fe0fa4ab0
|
Provenance
The following attestation bundles were made for numcircbuf-1.0.1-cp311-cp311-macosx_11_0_arm64.whl:
Publisher:
upload_pypi.yml on basimali-ai/NumCircBuf
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
numcircbuf-1.0.1-cp311-cp311-macosx_11_0_arm64.whl -
Subject digest:
f1c5529baba058e6b6293c1af0d726abd390996e703c5917e6dc067b4e11f0bc - Sigstore transparency entry: 1439034870
- Sigstore integration time:
-
Permalink:
basimali-ai/NumCircBuf@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/basimali-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
upload_pypi.yml@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file numcircbuf-1.0.1-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: numcircbuf-1.0.1-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 179.0 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aafb9ad16394100faf8c814a4c6a10ce3339e491bc0a4b715b06960bb30d51df
|
|
| MD5 |
c2ee7849ac04a9322012440240a6176f
|
|
| BLAKE2b-256 |
d61e3da5d69473b368927b5dca0f3613dab31cd764695d3d229c14bbd63ed560
|
Provenance
The following attestation bundles were made for numcircbuf-1.0.1-cp310-cp310-win_amd64.whl:
Publisher:
upload_pypi.yml on basimali-ai/NumCircBuf
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
numcircbuf-1.0.1-cp310-cp310-win_amd64.whl -
Subject digest:
aafb9ad16394100faf8c814a4c6a10ce3339e491bc0a4b715b06960bb30d51df - Sigstore transparency entry: 1439034807
- Sigstore integration time:
-
Permalink:
basimali-ai/NumCircBuf@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/basimali-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
upload_pypi.yml@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file numcircbuf-1.0.1-cp310-cp310-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: numcircbuf-1.0.1-cp310-cp310-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 2.2 MB
- Tags: CPython 3.10, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e2abcab121bf3232afe7ccdaa2930ba7bb8436e219b05f194a01467e911ba65b
|
|
| MD5 |
186e42bde963e3b7649111704880ffff
|
|
| BLAKE2b-256 |
def251eabebb3707f51fe5297ab29aefcf2fc2d132a937354b47912ec72e19c5
|
Provenance
The following attestation bundles were made for numcircbuf-1.0.1-cp310-cp310-musllinux_1_2_x86_64.whl:
Publisher:
upload_pypi.yml on basimali-ai/NumCircBuf
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
numcircbuf-1.0.1-cp310-cp310-musllinux_1_2_x86_64.whl -
Subject digest:
e2abcab121bf3232afe7ccdaa2930ba7bb8436e219b05f194a01467e911ba65b - Sigstore transparency entry: 1439035153
- Sigstore integration time:
-
Permalink:
basimali-ai/NumCircBuf@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/basimali-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
upload_pypi.yml@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file numcircbuf-1.0.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: numcircbuf-1.0.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.10, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c0bc8977dfc7edcd1d8fbcdae14b944791b61df1b13bd7bf076816a39c0f8c3e
|
|
| MD5 |
2d0c21af4caeab101aa36737c86c823f
|
|
| BLAKE2b-256 |
a4c4ac49d8588f1312d97af477943474ed168f5fbb2c9fa79ac0a3b9a0e77015
|
Provenance
The following attestation bundles were made for numcircbuf-1.0.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
upload_pypi.yml on basimali-ai/NumCircBuf
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
numcircbuf-1.0.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
c0bc8977dfc7edcd1d8fbcdae14b944791b61df1b13bd7bf076816a39c0f8c3e - Sigstore transparency entry: 1439034787
- Sigstore integration time:
-
Permalink:
basimali-ai/NumCircBuf@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/basimali-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
upload_pypi.yml@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file numcircbuf-1.0.1-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: numcircbuf-1.0.1-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 198.7 kB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
02fe9a21d237d7accb4813d53b192c940b0db3fb4b2f1792aa34d315be2e8140
|
|
| MD5 |
f0286f280e69e551dcb93ef1b168769c
|
|
| BLAKE2b-256 |
53b8245602ddb5f4e2f1c7563a3d3e627ce143b4b7044a62d6dfb4005c007a9f
|
Provenance
The following attestation bundles were made for numcircbuf-1.0.1-cp310-cp310-macosx_11_0_arm64.whl:
Publisher:
upload_pypi.yml on basimali-ai/NumCircBuf
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
numcircbuf-1.0.1-cp310-cp310-macosx_11_0_arm64.whl -
Subject digest:
02fe9a21d237d7accb4813d53b192c940b0db3fb4b2f1792aa34d315be2e8140 - Sigstore transparency entry: 1439035087
- Sigstore integration time:
-
Permalink:
basimali-ai/NumCircBuf@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/basimali-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
upload_pypi.yml@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file numcircbuf-1.0.1-cp39-cp39-win_amd64.whl.
File metadata
- Download URL: numcircbuf-1.0.1-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 179.5 kB
- Tags: CPython 3.9, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a419b808f4ec287c543452c506a3de313b8ae92f39e411d36ff89c42595bc406
|
|
| MD5 |
e07502375961e2a3c58bb076e24c3954
|
|
| BLAKE2b-256 |
e6a1ecd8e5740ca484131900d5f31384f0274c814e31d81385a62808dedba45f
|
Provenance
The following attestation bundles were made for numcircbuf-1.0.1-cp39-cp39-win_amd64.whl:
Publisher:
upload_pypi.yml on basimali-ai/NumCircBuf
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
numcircbuf-1.0.1-cp39-cp39-win_amd64.whl -
Subject digest:
a419b808f4ec287c543452c506a3de313b8ae92f39e411d36ff89c42595bc406 - Sigstore transparency entry: 1439035298
- Sigstore integration time:
-
Permalink:
basimali-ai/NumCircBuf@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/basimali-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
upload_pypi.yml@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file numcircbuf-1.0.1-cp39-cp39-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: numcircbuf-1.0.1-cp39-cp39-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 2.2 MB
- Tags: CPython 3.9, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1e81f685b93086eb071a5693979c122a34fde8be026d45b401051ac1a5ef951e
|
|
| MD5 |
2615a7a85750735540b5dc7a56c266ce
|
|
| BLAKE2b-256 |
ad5af59693450d73826ffde1b91ef0e4d8728852a3014ff61e8d7a3d3a3d2370
|
Provenance
The following attestation bundles were made for numcircbuf-1.0.1-cp39-cp39-musllinux_1_2_x86_64.whl:
Publisher:
upload_pypi.yml on basimali-ai/NumCircBuf
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
numcircbuf-1.0.1-cp39-cp39-musllinux_1_2_x86_64.whl -
Subject digest:
1e81f685b93086eb071a5693979c122a34fde8be026d45b401051ac1a5ef951e - Sigstore transparency entry: 1439035173
- Sigstore integration time:
-
Permalink:
basimali-ai/NumCircBuf@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/basimali-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
upload_pypi.yml@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file numcircbuf-1.0.1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: numcircbuf-1.0.1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.9, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
70d8e76c976a4aa0b4405d077cc548fe05b3aaad9d8af14f5b65c503f503f9ae
|
|
| MD5 |
3012fef91f36ad9657168d0a891e3b3b
|
|
| BLAKE2b-256 |
7a3a315c9040b0e6e0478d8eae2b0f31456d4179c7df541c4cb299d8f2520f8d
|
Provenance
The following attestation bundles were made for numcircbuf-1.0.1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
upload_pypi.yml on basimali-ai/NumCircBuf
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
numcircbuf-1.0.1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
70d8e76c976a4aa0b4405d077cc548fe05b3aaad9d8af14f5b65c503f503f9ae - Sigstore transparency entry: 1439034768
- Sigstore integration time:
-
Permalink:
basimali-ai/NumCircBuf@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/basimali-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
upload_pypi.yml@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file numcircbuf-1.0.1-cp39-cp39-macosx_11_0_arm64.whl.
File metadata
- Download URL: numcircbuf-1.0.1-cp39-cp39-macosx_11_0_arm64.whl
- Upload date:
- Size: 199.2 kB
- Tags: CPython 3.9, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
25955ff68b6b42104630074dd9e9cf9c2b9a4bcf36037508c2769ce50156c8b1
|
|
| MD5 |
9f9598d1571ea46f0dfef67255a960c9
|
|
| BLAKE2b-256 |
d98656ff50132717047dda7c113923e9401bda29e0c87510806ce39f32082624
|
Provenance
The following attestation bundles were made for numcircbuf-1.0.1-cp39-cp39-macosx_11_0_arm64.whl:
Publisher:
upload_pypi.yml on basimali-ai/NumCircBuf
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
numcircbuf-1.0.1-cp39-cp39-macosx_11_0_arm64.whl -
Subject digest:
25955ff68b6b42104630074dd9e9cf9c2b9a4bcf36037508c2769ce50156c8b1 - Sigstore transparency entry: 1439035309
- Sigstore integration time:
-
Permalink:
basimali-ai/NumCircBuf@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/basimali-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
upload_pypi.yml@dcdd2076305faa904f694c08e3dc5d6fe2a31db7 -
Trigger Event:
release
-
Statement type: