High-Performance Data Validation for Python
Project description
VLDT: High-Performance Data Validation for Python
VLDT is an open-source Python library written in C++ that uses annotated dataclasses to create robust data models. It comes with built-in support for validation, parsing, and custom serialization/deserialization. Designed for scenarios where performance matters, VLDT streamlines data handling in Python applications without compromising on flexibility or correctness.
1. Key Features
-
Type Validation:
Automatically checks that each field conforms to its expected type. -
Custom Validators:
- Field Validators: Run either before or after the main type validation, letting you adjust or verify individual field values.
- Model Validators: Validate or transform the entire model, either prior to or after type checks.
- Async Validators: Support asynchronous workflows via
AsyncDataModel.
-
Parsing Capabilities:
Easily convert Python dictionaries or JSON strings into validated models. -
Field Aliasing:
Define one or more alternate names for a field so that incoming data can use different keys. -
Custom Serialization/Deserialization:
Tailor how models are converted to and from dictionaries and JSON with a dedicated configuration system. -
Performance:
Thanks to its C++ implementation, VLDT delivers a significant speed boost in data parsing and validation.
2. Performance
VLDT is engineered for speed without sacrificing robust data validation. Our benchmarks focus on common operations—such as parsing, serialization, and list manipulation—where lower execution times indicate better performance.
In our tests, VLDT consistently demonstrated efficiency, especially in iterative operations like appending model objects to a list. While both libraries perform well in parsing and serialization tasks, VLDT's performance advantages make it well-suited for high-load or time-sensitive applications.
For those interested in reproducing these results, the complete load test script is available in the repository here.
3. Installation
Installing VLDT is simple. Use pip to install it:
pip install vldt
4. How to Use
This section explains how to build, validate, and serialize data models using VLDT. The examples include everyday scenarios such as user profile management, order processing, and handling configuration data.
4.1 Basic Model Instantiation
Define a model by subclassing DataModel and specifying type-annotated fields.
Example: User Profile
from vldt import DataModel
class UserProfile(DataModel):
username: str
email: str
age: int
# Create a simple user profile.
profile = UserProfile(username="alice123", email="alice@example.com", age=28)
print(profile.username, profile.email, profile.age) # Output: alice123 alice@example.com 28
4.2 Default Values
Assign default values so fields always have a value, even if not provided explicitly.
Example: Default Country in a User Profile
from vldt import DataModel
class UserProfile(DataModel):
username: str
email: str
country: str = "USA" # Defaults to "USA" if not provided.
profile = UserProfile(username="bob", email="bob@example.com")
print(profile.country) # Output: USA
For optional fields, the default is typically set to None.
from vldt import DataModel
from typing import Optional
class UserProfile(DataModel):
username: str
phone: Optional[str] # Optional phone number
profile = UserProfile(username="carol", phone=None)
print(profile.phone) # Output: None
4.3 Advanced Field Options
VLDT’s Field function offers fine-grained control over field behavior, including dynamic defaults and alternative aliases.
4.3.1 Default Values with Field
Example: Order Status
from vldt import DataModel, Field
class Order(DataModel):
order_id: int
status: str = Field(default="pending") # Defaults to "pending" if not specified.
order = Order(order_id=101)
print(order.status) # Output: pending
order2 = Order(order_id=102, status="shipped")
print(order2.status) # Output: shipped
4.3.2 Default Factories for Dynamic Defaults
For fields that require a fresh instance (like lists or dictionaries), use default_factory.
Example: Daily Log Entries
from vldt import DataModel, Field
class DailyLog(DataModel):
date: str
entries: list = Field(default_factory=list) # Creates a new empty list for each instance.
log1 = DailyLog(date="2025-03-01")
log1.entries.append("User login")
print(log1.entries) # Output: ['User login']
log2 = DailyLog(date="2025-03-02")
print(log2.entries) # Output: []
Or use a factory for computed defaults:
from random import randint
from vldt import DataModel, Field
class Session(DataModel):
session_id: int = Field(default_factory=lambda: randint(1000, 9999))
session1 = Session()
session2 = Session()
print(session1.session_id, session2.session_id) # Likely different random IDs.
4.3.3 Field Aliasing
Allow and single and multiple alternative names for a field, making it easier to work with data from different sources.
Example: Configuring a System
from vldt import DataModel, Field
class SystemConfig(DataModel):
timeout: int = Field(default=30, alias=["timeout_seconds", "t_timeout"])
# Input data might use different keys.
config = SystemConfig.from_dict({"t_timeout": 60})
print(config.timeout) # Output: 60
Single aliases can be used as well:
from vldt import DataModel, Field
class SystemConfig(DataModel):
timeout: int = Field(default=30, alias="timeout_seconds")
config = SystemConfig.from_dict({"timeout_seconds": 45})
print(config.timeout) # Output: 45
4.3.4 Round-Trip Behavior
Converting a model to a dictionary and back retains the canonical field names and values.
Example: Product Data
from vldt import DataModel, Field
class Product(DataModel):
id: int = Field(default=0)
name: str = Field(default_factory=lambda: "Unknown")
price: float = Field(default=0.0, alias="cost")
data = {"id": 12, "name": "Gadget", "cost": 19.99}
product = Product.from_dict(data)
# Converting back to a dict returns the standard field names.
print(product.to_dict()) # Expected: {"id": 12, "name": "Gadget", "price": 19.99}
4.4 Union Types and Nested Models
VLDT accommodates fields that accept multiple types and supports nested models, useful for representing real-world objects like addresses or orders.
Example: Order with Shipping Address
from typing import Union, List, Optional
from vldt import DataModel
class Address(DataModel):
street: str
zipcode: Union[int, str]
country: str = "USA"
class Order(DataModel):
order_id: int
items: List[str]
shipping_address: Optional[Address] = None
# Creating an order with a shipping address.
address = Address(street="123 Main St", zipcode=90210)
order = Order(order_id=1001, items=["book", "pen"], shipping_address=address)
print(order.shipping_address.zipcode) # Output: 90210
4.5 Collection Types
VLDT can validate elements inside containers like lists and dictionaries, ensuring every element meets the defined type.
Example: Validating an Inventory List
from typing import List, Dict
from vldt import DataModel
class Inventory(DataModel):
items: List[str]
quantities: Dict[str, int]
inventory = Inventory(items=["apple", "banana"], quantities={"apple": 10, "banana": 5})
Or working with other containers:
from typing import Tuple, Set
from vldt import DataModel
class Metrics(DataModel):
dimensions: Tuple[int, int]
unique_values: Set[float]
metrics = Metrics(dimensions=(1920, 1080), unique_values={3.14, 2.718})
4.6 Custom Validators
Custom validators let you incorporate business logic into your model validation. They can adjust data before the main validation or check values afterward.
4.6.1 Synchronous Validators
Example: Validating User Age and Name Format
from vldt import DataModel, field_validator, model_validator, ValidatorMode
class User(DataModel):
name: str
age: int
# Convert string age to int and enforce a minimum age.
@field_validator(mode=ValidatorMode.BEFORE)
@classmethod
def validate_age(cls, age):
if isinstance(age, str):
if not age.isdigit():
raise ValueError("Age must be a number")
age = int(age)
if age < 18:
raise ValueError("User must be at least 18 years old")
return age
# Ensure the name is properly capitalized.
@field_validator(mode=ValidatorMode.AFTER)
@classmethod
def format_name(cls, name):
return name.capitalize()
# Example of a model-level adjustment.
@model_validator(mode=ValidatorMode.BEFORE)
@classmethod
def adjust_user(cls, data: dict):
# For example, trim whitespace in the username.
if "name" in data:
data["name"] = data["name"].strip()
return data
user = User(name=" john ", age="25")
print(user.name, user.age) # Output: John 25
4.6.2 Asynchronous Validators
For workflows involving asynchronous operations (like external API calls), VLDT provides async validators. In this case the AsyncDataModel class is used. Such models can be created using await.
Example: Validating an Async User Registration
from vldt import AsyncDataModel, async_field_validator, async_model_validator, ValidatorMode
import asyncio
class AsyncUser(AsyncDataModel):
name: str
age: int
@async_field_validator(mode=ValidatorMode.BEFORE)
@classmethod
async def check_age(cls, age):
if isinstance(age, str):
age = int(age)
min_age = await get_minimum_age() # Assume an async function to fetch the minimum age.
if age < min_age:
raise ValueError("User must be at least 18 years old")
return age
@async_field_validator(mode=ValidatorMode.AFTER)
@classmethod
async def check_name(cls, name):
if await name_already_taken(name): # Assume an async function to check if the name is taken.
raise ValueError("Name already taken")
return name
@async_model_validator(mode=ValidatorMode.BEFORE)
@classmethod
async def adjust_user(cls, data: dict):
is_correct = await check_user_data(data) # Calling an async function.
if not is_correct:
raise ValueError("Invalid user data")
return data
async def main():
user = await AsyncUser(name="alice", age="30") # await the model creation
print(user.name, user.age)
asyncio.run(main())
4.7 Serialization and Deserialization
VLDT ensures that models can be accurately converted to dictionaries or JSON strings and then re-instantiated without loss of information. This round-trip conversion is essential for data storage, transmission, and integration with other systems. In addition to standard conversion, you can define custom rules for handling specific data types.
Dictionary Conversion
Convert a model to a dictionary using the to_dict method and re-instantiate it using from_dict.
Example: Converting a Customer Order
from vldt import DataModel
class Address(DataModel):
street: str
city: str
postal_code: str
class CustomerOrder(DataModel):
order_id: int
customer: str
address: Address
notes: str
order_data = {
"order_id": 5001,
"customer": "Dana",
"address": {"street": "456 Elm St", "city": "Metropolis", "postal_code": "54321"},
"notes": "Leave package at the door.",
}
# Convert dictionary to model.
order_obj = CustomerOrder.from_dict(order_data)
# Serialize the model back to a dictionary.
order_dict = order_obj.to_dict()
print("Dictionary Conversion:", order_dict)
JSON Conversion
VLDT also provides built-in methods for converting models to JSON strings and back, useful for API communication or configuration storage.
Example: Converting a Customer Order to JSON and Back
import json
from vldt import DataModel
class Address(DataModel):
street: str
city: str
postal_code: str
class CustomerOrder(DataModel):
order_id: int
customer: str
address: Address
notes: str
order_data = {
"order_id": 5001,
"customer": "Dana",
"address": {"street": "456 Elm St", "city": "Metropolis", "postal_code": "54321"},
"notes": "Leave package at the door.",
}
# Convert dictionary to model.
order_obj = CustomerOrder.from_dict(order_data)
# Serialize the model to a JSON string.
json_str = order_obj.to_json()
print("Serialized JSON:", json_str)
# Deserialize the JSON string back to a model.
order_obj2 = CustomerOrder.from_json(json_str)
print("Round-Trip JSON:", json.loads(order_obj2.to_json()))
Custom Serialization and Deserialization
The Config class in VLDT provides a way to customize how data is serialized and deserialized. By defining a Config instance within a DataModel, you can control how specific data types are transformed when converting models to and from dictionaries or JSON.
Understanding the Config Class
The Config class allows you to specify:
- Custom serialization rules: Define how certain data types should be converted to dictionaries or JSON.
- Custom deserialization rules: Specify how incoming data should be transformed back into the appropriate Python objects.
To apply custom serialization and deserialization behavior, a Config instance is assigned to the __vldt_config__ attribute within a DataModel.
Example 1: Custom DateTime Handling
By default, datetime objects may not serialize into JSON-friendly formats. With Config, we can ensure they are stored as ISO-formatted strings and correctly parsed back when deserializing.
from datetime import datetime
from vldt import DataModel, Config
def serialize_datetime(dt: datetime) -> str:
return dt.isoformat()
def deserialize_datetime(value: str) -> datetime:
return datetime.fromisoformat(value)
class Event(DataModel):
name: str
start_time: datetime
__vldt_config__ = Config(
dict_serializer={datetime: serialize_datetime},
json_serializer={datetime: serialize_datetime},
deserializer={
datetime: {
str: deserialize_datetime,
}
}
)
event = Event(name="Conference", start_time=datetime(2025, 3, 15, 9, 0))
print("Serialized Event Dict:", event.to_dict())
json_str_event = event.to_json()
print("Serialized Event JSON:", json_str_event)
# Deserialize the JSON string back to an Event model.
event2 = Event.from_json(json_str_event)
print("Deserialized Event:", event2.name, event2.start_time)
Explanation:
- The
serialize_datetimefunction converts adatetimeobject to an ISO 8601 string. - The
deserialize_datetimefunction converts the string back into adatetimeobject. - The
Configclass is used to ensure this transformation is applied whenever the model is serialized or deserialized.
Example 2: Custom Currency Formatting
In financial applications, floating-point numbers are often displayed as formatted currency strings. The following example demonstrates how to format a float as a currency string when serializing and convert it back when deserializing.
from vldt import DataModel, Config
def serialize_currency(amount: float) -> str:
return f"${amount:,.2f}"
def deserialize_currency(value: str) -> float:
return float(value.replace("$", "").replace(",", ""))
class Invoice(DataModel):
invoice_number: int
total: float
__vldt_config__ = Config(
dict_serializer={float: serialize_currency},
json_serializer={float: serialize_currency},
deserializer={
float: {
str: deserialize_currency,
}
}
)
invoice = Invoice(invoice_number=2025, total=1234.56)
print("Serialized Invoice Dict:", invoice.to_dict())
json_invoice = invoice.to_json()
print("Serialized Invoice JSON:", json_invoice)
# Deserialize the JSON back to an Invoice model.
invoice2 = Invoice.from_json(json_invoice)
print("Deserialized Invoice:", invoice2.invoice_number, invoice2.total)
Explanation:
- The
serialize_currencyfunction converts a float into a formatted string with a dollar sign and comma separators. - The
deserialize_currencyfunction reverses this transformation to extract a float value. - The
Configclass ensures that these transformations happen automatically whenever the model is serialized or deserialized.
4.8 Advanced Examples: Deeply Nested Structures and Complex Models
VLDT is capable of handling deeply nested data and complex models, which is common in real-world applications like configuration files or comprehensive business data.
Example: Inventory Management System
from typing import List, Dict, Union
from vldt import DataModel
class Warehouse(DataModel):
name: str
location: str
class InventoryItem(DataModel):
sku: str
quantity: int
class Inventory(DataModel):
warehouses: Dict[str, Warehouse]
items: List[InventoryItem]
inventory_data = {
"warehouses": {
"WH1": {"name": "Main Warehouse", "location": "New York"},
"WH2": {"name": "Secondary Warehouse", "location": "Los Angeles"}
},
"items": [
{"sku": "A123", "quantity": 100},
{"sku": "B456", "quantity": 200}
]
}
inventory = Inventory.from_dict(inventory_data)
print(inventory.warehouses["WH2"].location) # Output: Los Angeles
Example: Complex Model with Class Variables
from typing import ClassVar, List, Dict, Any, Optional
from vldt import DataModel
class ComplexModel(DataModel):
MAX_ITEMS: ClassVar[int] = 100 # Example constant for business rules.
TIMEOUT: ClassVar[float] = 5.0
id: int
metadata: Dict[str, Any]
products: List[dict] # Assume a product is represented as a dictionary.
address: Optional[dict] = None
history: List[int] = []
complex_obj = ComplexModel(
id=1,
metadata={"version": 1.0},
products=[{"id": 1, "name": "Widget", "price": 9.99}],
address={"street": "123 Main St", "zipcode": 90210}
)
Dependencies
VLDT uses rapidjson for JSON serialization and deserialization. The library is included as a submodule in the repository.
Minimal Python version is 3.11
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 vldt-0.1.1.tar.gz.
File metadata
- Download URL: vldt-0.1.1.tar.gz
- Upload date:
- Size: 204.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7ae35c858a40b1f975b7a400cb171e8d83b9aad8b76cbf813830e40ddb72a6e6
|
|
| MD5 |
b3b8a1148d081cb0836b932b88bd8745
|
|
| BLAKE2b-256 |
abd0710ad27b6d3e200b74554bb854657434d5be87709d3445c0255d2d7c1c8a
|
Provenance
The following attestation bundles were made for vldt-0.1.1.tar.gz:
Publisher:
build_and_publish.yaml on roman-right/vldt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vldt-0.1.1.tar.gz -
Subject digest:
7ae35c858a40b1f975b7a400cb171e8d83b9aad8b76cbf813830e40ddb72a6e6 - Sigstore transparency entry: 178192472
- Sigstore integration time:
-
Permalink:
roman-right/vldt@240de25a1c86a484bee7769a6b130aed389b5544 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/roman-right
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_and_publish.yaml@240de25a1c86a484bee7769a6b130aed389b5544 -
Trigger Event:
push
-
Statement type:
File details
Details for the file vldt-0.1.1-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: vldt-0.1.1-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 89.6 kB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cbc4bee4dbe30b02709bb4bc029cad80d62a23c1e3deac17ca6eead85e30e11d
|
|
| MD5 |
c1d62f1f808b8fb915c6ee0195ba309f
|
|
| BLAKE2b-256 |
aac2d567ffbcd2deaf6ca6bb8432bb021a30e16e60a5930c0c6030648eda5aa4
|
Provenance
The following attestation bundles were made for vldt-0.1.1-cp313-cp313-win_amd64.whl:
Publisher:
build_and_publish.yaml on roman-right/vldt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vldt-0.1.1-cp313-cp313-win_amd64.whl -
Subject digest:
cbc4bee4dbe30b02709bb4bc029cad80d62a23c1e3deac17ca6eead85e30e11d - Sigstore transparency entry: 178192561
- Sigstore integration time:
-
Permalink:
roman-right/vldt@240de25a1c86a484bee7769a6b130aed389b5544 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/roman-right
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_and_publish.yaml@240de25a1c86a484bee7769a6b130aed389b5544 -
Trigger Event:
push
-
Statement type:
File details
Details for the file vldt-0.1.1-cp313-cp313-win32.whl.
File metadata
- Download URL: vldt-0.1.1-cp313-cp313-win32.whl
- Upload date:
- Size: 85.3 kB
- Tags: CPython 3.13, Windows x86
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ce043e2be0bb89eeccb8e18fe7df48754c99bba51077c97c52a0f0243fbca62d
|
|
| MD5 |
cc0d07157b92cfc9bf03ef65cdf15903
|
|
| BLAKE2b-256 |
6828743240e07d05f8a2a46050e1f461681959970fed854944255d6508899747
|
Provenance
The following attestation bundles were made for vldt-0.1.1-cp313-cp313-win32.whl:
Publisher:
build_and_publish.yaml on roman-right/vldt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vldt-0.1.1-cp313-cp313-win32.whl -
Subject digest:
ce043e2be0bb89eeccb8e18fe7df48754c99bba51077c97c52a0f0243fbca62d - Sigstore transparency entry: 178192611
- Sigstore integration time:
-
Permalink:
roman-right/vldt@240de25a1c86a484bee7769a6b130aed389b5544 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/roman-right
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_and_publish.yaml@240de25a1c86a484bee7769a6b130aed389b5544 -
Trigger Event:
push
-
Statement type:
File details
Details for the file vldt-0.1.1-cp313-cp313-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: vldt-0.1.1-cp313-cp313-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 1.8 MB
- Tags: CPython 3.13, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fbd975d360bf7ec531742f9ea263d1bd04a1ea25a77bdbf14320bc5f22159274
|
|
| MD5 |
84fd289970874dc1b31a1d10c652b968
|
|
| BLAKE2b-256 |
af4551e45bdc73249e89812489fe8afb2183ad6db451d30862997dd42091729a
|
Provenance
The following attestation bundles were made for vldt-0.1.1-cp313-cp313-musllinux_1_2_x86_64.whl:
Publisher:
build_and_publish.yaml on roman-right/vldt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vldt-0.1.1-cp313-cp313-musllinux_1_2_x86_64.whl -
Subject digest:
fbd975d360bf7ec531742f9ea263d1bd04a1ea25a77bdbf14320bc5f22159274 - Sigstore transparency entry: 178192502
- Sigstore integration time:
-
Permalink:
roman-right/vldt@240de25a1c86a484bee7769a6b130aed389b5544 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/roman-right
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_and_publish.yaml@240de25a1c86a484bee7769a6b130aed389b5544 -
Trigger Event:
push
-
Statement type:
File details
Details for the file vldt-0.1.1-cp313-cp313-musllinux_1_2_i686.whl.
File metadata
- Download URL: vldt-0.1.1-cp313-cp313-musllinux_1_2_i686.whl
- Upload date:
- Size: 1.9 MB
- Tags: CPython 3.13, musllinux: musl 1.2+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5d19e297577576fbc957bb3ced6864a78d6ad7b048538c584415b77e0d4ffd77
|
|
| MD5 |
08acac53f9ecd321893561dde5e0ff49
|
|
| BLAKE2b-256 |
afb7001841333ed576c18b2dd5d70c06e9a7713daa070175285e6183a2f64d7c
|
Provenance
The following attestation bundles were made for vldt-0.1.1-cp313-cp313-musllinux_1_2_i686.whl:
Publisher:
build_and_publish.yaml on roman-right/vldt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vldt-0.1.1-cp313-cp313-musllinux_1_2_i686.whl -
Subject digest:
5d19e297577576fbc957bb3ced6864a78d6ad7b048538c584415b77e0d4ffd77 - Sigstore transparency entry: 178192522
- Sigstore integration time:
-
Permalink:
roman-right/vldt@240de25a1c86a484bee7769a6b130aed389b5544 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/roman-right
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_and_publish.yaml@240de25a1c86a484bee7769a6b130aed389b5544 -
Trigger Event:
push
-
Statement type:
File details
Details for the file vldt-0.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: vldt-0.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 856.0 kB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fcc66197fee686b97d0efa975204bf5a66cf782582284bf5a1cab1b9cdd36a81
|
|
| MD5 |
29335ec7705446a7d35d67cd4461be1f
|
|
| BLAKE2b-256 |
1a33fbcaa296d02386d5429d40b0163ed53f4f76725e9d9c2d9cfc7f4b03f85b
|
Provenance
The following attestation bundles were made for vldt-0.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
build_and_publish.yaml on roman-right/vldt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vldt-0.1.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl -
Subject digest:
fcc66197fee686b97d0efa975204bf5a66cf782582284bf5a1cab1b9cdd36a81 - Sigstore transparency entry: 178192529
- Sigstore integration time:
-
Permalink:
roman-right/vldt@240de25a1c86a484bee7769a6b130aed389b5544 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/roman-right
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_and_publish.yaml@240de25a1c86a484bee7769a6b130aed389b5544 -
Trigger Event:
push
-
Statement type:
File details
Details for the file vldt-0.1.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl.
File metadata
- Download URL: vldt-0.1.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 844.3 kB
- Tags: CPython 3.13, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
33562cbb743fe39e45d5ee91db3f84f7c8e286d298cbfea3ecaaee0a554aec3c
|
|
| MD5 |
b4d323f44f255e1388989361dab23494
|
|
| BLAKE2b-256 |
86aea9809f2070d4066858e5d8c2758613d5541344aa6c1fc5dc7c891d66f757
|
Provenance
The following attestation bundles were made for vldt-0.1.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl:
Publisher:
build_and_publish.yaml on roman-right/vldt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vldt-0.1.1-cp313-cp313-manylinux2014_i686.manylinux_2_17_i686.whl -
Subject digest:
33562cbb743fe39e45d5ee91db3f84f7c8e286d298cbfea3ecaaee0a554aec3c - Sigstore transparency entry: 178192577
- Sigstore integration time:
-
Permalink:
roman-right/vldt@240de25a1c86a484bee7769a6b130aed389b5544 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/roman-right
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_and_publish.yaml@240de25a1c86a484bee7769a6b130aed389b5544 -
Trigger Event:
push
-
Statement type:
File details
Details for the file vldt-0.1.1-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: vldt-0.1.1-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 93.4 kB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d00756d02e037d562b2bdcec11cfb1d5d58ee3297517060f6bdb32bb9c7f25db
|
|
| MD5 |
f2d19164af92c91d2ef5a68f8686e20a
|
|
| BLAKE2b-256 |
ca7fc35015e28412bd5e878788f4ea4ef01bc71a78ca91d1eebf613696e43284
|
Provenance
The following attestation bundles were made for vldt-0.1.1-cp313-cp313-macosx_11_0_arm64.whl:
Publisher:
build_and_publish.yaml on roman-right/vldt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vldt-0.1.1-cp313-cp313-macosx_11_0_arm64.whl -
Subject digest:
d00756d02e037d562b2bdcec11cfb1d5d58ee3297517060f6bdb32bb9c7f25db - Sigstore transparency entry: 178192486
- Sigstore integration time:
-
Permalink:
roman-right/vldt@240de25a1c86a484bee7769a6b130aed389b5544 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/roman-right
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_and_publish.yaml@240de25a1c86a484bee7769a6b130aed389b5544 -
Trigger Event:
push
-
Statement type:
File details
Details for the file vldt-0.1.1-cp313-cp313-macosx_10_13_x86_64.whl.
File metadata
- Download URL: vldt-0.1.1-cp313-cp313-macosx_10_13_x86_64.whl
- Upload date:
- Size: 94.9 kB
- Tags: CPython 3.13, macOS 10.13+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
64ac727e1ded09dff6ac176f2407570f2f2581d0bae3ab631113dbabd33d4a83
|
|
| MD5 |
eb74a6bf1b69b925558bf67291192a5c
|
|
| BLAKE2b-256 |
44d3dbc327e9e74df519c16f9625a21db997cbf355a6143bc31059aa89024463
|
Provenance
The following attestation bundles were made for vldt-0.1.1-cp313-cp313-macosx_10_13_x86_64.whl:
Publisher:
build_and_publish.yaml on roman-right/vldt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vldt-0.1.1-cp313-cp313-macosx_10_13_x86_64.whl -
Subject digest:
64ac727e1ded09dff6ac176f2407570f2f2581d0bae3ab631113dbabd33d4a83 - Sigstore transparency entry: 178192625
- Sigstore integration time:
-
Permalink:
roman-right/vldt@240de25a1c86a484bee7769a6b130aed389b5544 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/roman-right
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_and_publish.yaml@240de25a1c86a484bee7769a6b130aed389b5544 -
Trigger Event:
push
-
Statement type:
File details
Details for the file vldt-0.1.1-cp313-cp313-macosx_10_13_universal2.whl.
File metadata
- Download URL: vldt-0.1.1-cp313-cp313-macosx_10_13_universal2.whl
- Upload date:
- Size: 147.8 kB
- Tags: CPython 3.13, macOS 10.13+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2842057f63af254ba42d01b33fcd4e002d89b3a50e3bfaa6fbae4b95f139c987
|
|
| MD5 |
b6b1d884aade176181e0690e1064aac1
|
|
| BLAKE2b-256 |
2f7d8326a77715ddf35038ffb392f13374639c6de7adc5150db5a19241f912b4
|
Provenance
The following attestation bundles were made for vldt-0.1.1-cp313-cp313-macosx_10_13_universal2.whl:
Publisher:
build_and_publish.yaml on roman-right/vldt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vldt-0.1.1-cp313-cp313-macosx_10_13_universal2.whl -
Subject digest:
2842057f63af254ba42d01b33fcd4e002d89b3a50e3bfaa6fbae4b95f139c987 - Sigstore transparency entry: 178192536
- Sigstore integration time:
-
Permalink:
roman-right/vldt@240de25a1c86a484bee7769a6b130aed389b5544 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/roman-right
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_and_publish.yaml@240de25a1c86a484bee7769a6b130aed389b5544 -
Trigger Event:
push
-
Statement type:
File details
Details for the file vldt-0.1.1-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: vldt-0.1.1-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 89.6 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d75e67284d6f9f5cb8c1e7661da1677d7a432d0b50ab6d56db3b06a650aa7ed3
|
|
| MD5 |
f2fa929af462e86e11bc63cc205e2225
|
|
| BLAKE2b-256 |
ba0cb5dcc6f9a57d9618370fc485cbd0b9984ae5f36816011dd3de3d0b1ca0f3
|
Provenance
The following attestation bundles were made for vldt-0.1.1-cp312-cp312-win_amd64.whl:
Publisher:
build_and_publish.yaml on roman-right/vldt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vldt-0.1.1-cp312-cp312-win_amd64.whl -
Subject digest:
d75e67284d6f9f5cb8c1e7661da1677d7a432d0b50ab6d56db3b06a650aa7ed3 - Sigstore transparency entry: 178192567
- Sigstore integration time:
-
Permalink:
roman-right/vldt@240de25a1c86a484bee7769a6b130aed389b5544 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/roman-right
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_and_publish.yaml@240de25a1c86a484bee7769a6b130aed389b5544 -
Trigger Event:
push
-
Statement type:
File details
Details for the file vldt-0.1.1-cp312-cp312-win32.whl.
File metadata
- Download URL: vldt-0.1.1-cp312-cp312-win32.whl
- Upload date:
- Size: 85.3 kB
- Tags: CPython 3.12, Windows x86
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e15da1c68f85a1fc1b10e212332d85a291bb501b4e2d8696352198631bdd2c4a
|
|
| MD5 |
c9f4f6ec5b9c82b0ef51cde1da0ebfef
|
|
| BLAKE2b-256 |
bcf98c2d879f6b9f172731620448c9ffec4c3c948ee334298b9a2ae5f4628c12
|
Provenance
The following attestation bundles were made for vldt-0.1.1-cp312-cp312-win32.whl:
Publisher:
build_and_publish.yaml on roman-right/vldt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vldt-0.1.1-cp312-cp312-win32.whl -
Subject digest:
e15da1c68f85a1fc1b10e212332d85a291bb501b4e2d8696352198631bdd2c4a - Sigstore transparency entry: 178192581
- Sigstore integration time:
-
Permalink:
roman-right/vldt@240de25a1c86a484bee7769a6b130aed389b5544 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/roman-right
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_and_publish.yaml@240de25a1c86a484bee7769a6b130aed389b5544 -
Trigger Event:
push
-
Statement type:
File details
Details for the file vldt-0.1.1-cp312-cp312-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: vldt-0.1.1-cp312-cp312-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 1.8 MB
- Tags: CPython 3.12, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0b022f48749482db1e81b09778d8fcfa26bc45d240bbbc59067264a5b795c48d
|
|
| MD5 |
e0cd510cce0afe5f62b9cb3685efc576
|
|
| BLAKE2b-256 |
5956a639ab45ef085e0a0c9087f21df607a4276ad2d572c1a7a6ad0126a1e52c
|
Provenance
The following attestation bundles were made for vldt-0.1.1-cp312-cp312-musllinux_1_2_x86_64.whl:
Publisher:
build_and_publish.yaml on roman-right/vldt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vldt-0.1.1-cp312-cp312-musllinux_1_2_x86_64.whl -
Subject digest:
0b022f48749482db1e81b09778d8fcfa26bc45d240bbbc59067264a5b795c48d - Sigstore transparency entry: 178192477
- Sigstore integration time:
-
Permalink:
roman-right/vldt@240de25a1c86a484bee7769a6b130aed389b5544 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/roman-right
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_and_publish.yaml@240de25a1c86a484bee7769a6b130aed389b5544 -
Trigger Event:
push
-
Statement type:
File details
Details for the file vldt-0.1.1-cp312-cp312-musllinux_1_2_i686.whl.
File metadata
- Download URL: vldt-0.1.1-cp312-cp312-musllinux_1_2_i686.whl
- Upload date:
- Size: 1.9 MB
- Tags: CPython 3.12, musllinux: musl 1.2+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
38f85d7b3a41ce086f5d715d5d7d640d33dfda6e932c400847e88ca55335c966
|
|
| MD5 |
73d79fd3792ec2fa4932c961bc0835d6
|
|
| BLAKE2b-256 |
029af61ca56f3065f9fb808649ebe22e085b31cfd957b6319f0cfa7a61f28b62
|
Provenance
The following attestation bundles were made for vldt-0.1.1-cp312-cp312-musllinux_1_2_i686.whl:
Publisher:
build_and_publish.yaml on roman-right/vldt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vldt-0.1.1-cp312-cp312-musllinux_1_2_i686.whl -
Subject digest:
38f85d7b3a41ce086f5d715d5d7d640d33dfda6e932c400847e88ca55335c966 - Sigstore transparency entry: 178192588
- Sigstore integration time:
-
Permalink:
roman-right/vldt@240de25a1c86a484bee7769a6b130aed389b5544 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/roman-right
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_and_publish.yaml@240de25a1c86a484bee7769a6b130aed389b5544 -
Trigger Event:
push
-
Statement type:
File details
Details for the file vldt-0.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: vldt-0.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 853.9 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
587d823783107a7578bff4d003575fb6e63fc1e3fbeebcb41807740d3246412e
|
|
| MD5 |
f2a2a31ab800dace21e64e8ef838a9d0
|
|
| BLAKE2b-256 |
01e69dff2de17967271e52c838bdae52b82c7dd99f66f21667825e6fdf0390e3
|
Provenance
The following attestation bundles were made for vldt-0.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
build_and_publish.yaml on roman-right/vldt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vldt-0.1.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl -
Subject digest:
587d823783107a7578bff4d003575fb6e63fc1e3fbeebcb41807740d3246412e - Sigstore transparency entry: 178192539
- Sigstore integration time:
-
Permalink:
roman-right/vldt@240de25a1c86a484bee7769a6b130aed389b5544 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/roman-right
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_and_publish.yaml@240de25a1c86a484bee7769a6b130aed389b5544 -
Trigger Event:
push
-
Statement type:
File details
Details for the file vldt-0.1.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl.
File metadata
- Download URL: vldt-0.1.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 842.3 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ea1bd4d94aadf9023a1860528469e3d6ed85b639ca013ca2f5102e1aec050b11
|
|
| MD5 |
c17c449ba364628e3d27356e41ae1c17
|
|
| BLAKE2b-256 |
dee5d928eb10a63aeabf92b3f2b702405ea1359793c106602be6f6c41dec5371
|
Provenance
The following attestation bundles were made for vldt-0.1.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl:
Publisher:
build_and_publish.yaml on roman-right/vldt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vldt-0.1.1-cp312-cp312-manylinux2014_i686.manylinux_2_17_i686.whl -
Subject digest:
ea1bd4d94aadf9023a1860528469e3d6ed85b639ca013ca2f5102e1aec050b11 - Sigstore transparency entry: 178192542
- Sigstore integration time:
-
Permalink:
roman-right/vldt@240de25a1c86a484bee7769a6b130aed389b5544 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/roman-right
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_and_publish.yaml@240de25a1c86a484bee7769a6b130aed389b5544 -
Trigger Event:
push
-
Statement type:
File details
Details for the file vldt-0.1.1-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: vldt-0.1.1-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 93.4 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
59a5fc39a95691e328fce05d80cddfcf159c1fb5af97bb477a832b149521cbce
|
|
| MD5 |
e2d95e31be5c3a5803cd48d0abadfd5f
|
|
| BLAKE2b-256 |
16a6c56836dc5a8d1ba2eba78a1d039e96cd69f3f68c42c4f46ea47c85b23bba
|
Provenance
The following attestation bundles were made for vldt-0.1.1-cp312-cp312-macosx_11_0_arm64.whl:
Publisher:
build_and_publish.yaml on roman-right/vldt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vldt-0.1.1-cp312-cp312-macosx_11_0_arm64.whl -
Subject digest:
59a5fc39a95691e328fce05d80cddfcf159c1fb5af97bb477a832b149521cbce - Sigstore transparency entry: 178192514
- Sigstore integration time:
-
Permalink:
roman-right/vldt@240de25a1c86a484bee7769a6b130aed389b5544 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/roman-right
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_and_publish.yaml@240de25a1c86a484bee7769a6b130aed389b5544 -
Trigger Event:
push
-
Statement type:
File details
Details for the file vldt-0.1.1-cp312-cp312-macosx_10_13_x86_64.whl.
File metadata
- Download URL: vldt-0.1.1-cp312-cp312-macosx_10_13_x86_64.whl
- Upload date:
- Size: 94.9 kB
- Tags: CPython 3.12, macOS 10.13+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ef0eb4882f2ee835c70de9b33ef45d913e5ecba4e411ddecbe779273611dcbb5
|
|
| MD5 |
c21fe9653c1ffa3b63cea7ccfa0aa8c7
|
|
| BLAKE2b-256 |
f2f2dc732a6e37900b7739da466e472e39717c7b1b576b3d25fa69196ca12fc2
|
Provenance
The following attestation bundles were made for vldt-0.1.1-cp312-cp312-macosx_10_13_x86_64.whl:
Publisher:
build_and_publish.yaml on roman-right/vldt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vldt-0.1.1-cp312-cp312-macosx_10_13_x86_64.whl -
Subject digest:
ef0eb4882f2ee835c70de9b33ef45d913e5ecba4e411ddecbe779273611dcbb5 - Sigstore transparency entry: 178192494
- Sigstore integration time:
-
Permalink:
roman-right/vldt@240de25a1c86a484bee7769a6b130aed389b5544 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/roman-right
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_and_publish.yaml@240de25a1c86a484bee7769a6b130aed389b5544 -
Trigger Event:
push
-
Statement type:
File details
Details for the file vldt-0.1.1-cp312-cp312-macosx_10_13_universal2.whl.
File metadata
- Download URL: vldt-0.1.1-cp312-cp312-macosx_10_13_universal2.whl
- Upload date:
- Size: 147.8 kB
- Tags: CPython 3.12, macOS 10.13+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5d2d23729feb37664d04557fa8f51196b281c0fb140c85fb51ada29729b08723
|
|
| MD5 |
e53bc252b464cb1a0a7ad8cbfba0584b
|
|
| BLAKE2b-256 |
74d28d5a68fe8aaf792c2d0c996d3d286fb72c1d8ba71c84dbf8ba1045481f1e
|
Provenance
The following attestation bundles were made for vldt-0.1.1-cp312-cp312-macosx_10_13_universal2.whl:
Publisher:
build_and_publish.yaml on roman-right/vldt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vldt-0.1.1-cp312-cp312-macosx_10_13_universal2.whl -
Subject digest:
5d2d23729feb37664d04557fa8f51196b281c0fb140c85fb51ada29729b08723 - Sigstore transparency entry: 178192597
- Sigstore integration time:
-
Permalink:
roman-right/vldt@240de25a1c86a484bee7769a6b130aed389b5544 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/roman-right
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_and_publish.yaml@240de25a1c86a484bee7769a6b130aed389b5544 -
Trigger Event:
push
-
Statement type:
File details
Details for the file vldt-0.1.1-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: vldt-0.1.1-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 89.3 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
06935d201d6d18957d0548adb0b801e693ff06e747883af64b4d1bf5fdb34b00
|
|
| MD5 |
ad1cdad24c800fca1d5e804862c89b0d
|
|
| BLAKE2b-256 |
63d1e122be3da5d93389497c1fa689014e831eff4ac47d74a4f024bade1a905d
|
Provenance
The following attestation bundles were made for vldt-0.1.1-cp311-cp311-win_amd64.whl:
Publisher:
build_and_publish.yaml on roman-right/vldt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vldt-0.1.1-cp311-cp311-win_amd64.whl -
Subject digest:
06935d201d6d18957d0548adb0b801e693ff06e747883af64b4d1bf5fdb34b00 - Sigstore transparency entry: 178192553
- Sigstore integration time:
-
Permalink:
roman-right/vldt@240de25a1c86a484bee7769a6b130aed389b5544 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/roman-right
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_and_publish.yaml@240de25a1c86a484bee7769a6b130aed389b5544 -
Trigger Event:
push
-
Statement type:
File details
Details for the file vldt-0.1.1-cp311-cp311-win32.whl.
File metadata
- Download URL: vldt-0.1.1-cp311-cp311-win32.whl
- Upload date:
- Size: 84.6 kB
- Tags: CPython 3.11, Windows x86
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0719c3cb73879f75defac4b7eaa995bc796d64df89ce55e40f89c43e643aaa78
|
|
| MD5 |
9cabec9c355f1759eeab727f5b4053c3
|
|
| BLAKE2b-256 |
b98bbfe143c423714174161cead0392a5007bbc6523d851cad55303aac781e00
|
Provenance
The following attestation bundles were made for vldt-0.1.1-cp311-cp311-win32.whl:
Publisher:
build_and_publish.yaml on roman-right/vldt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vldt-0.1.1-cp311-cp311-win32.whl -
Subject digest:
0719c3cb73879f75defac4b7eaa995bc796d64df89ce55e40f89c43e643aaa78 - Sigstore transparency entry: 178192499
- Sigstore integration time:
-
Permalink:
roman-right/vldt@240de25a1c86a484bee7769a6b130aed389b5544 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/roman-right
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_and_publish.yaml@240de25a1c86a484bee7769a6b130aed389b5544 -
Trigger Event:
push
-
Statement type:
File details
Details for the file vldt-0.1.1-cp311-cp311-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: vldt-0.1.1-cp311-cp311-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 1.8 MB
- Tags: CPython 3.11, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fd8e0a40bde214d8a39da687c7984d21a6d6b42fc70168bdce3359ca51c55ed4
|
|
| MD5 |
1997e454a3badb89ccf891f1ae6c327f
|
|
| BLAKE2b-256 |
93f2d77306008f5b41dd964cdfdf9c4034e63e19866c1d2e3d1c754995f55437
|
Provenance
The following attestation bundles were made for vldt-0.1.1-cp311-cp311-musllinux_1_2_x86_64.whl:
Publisher:
build_and_publish.yaml on roman-right/vldt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vldt-0.1.1-cp311-cp311-musllinux_1_2_x86_64.whl -
Subject digest:
fd8e0a40bde214d8a39da687c7984d21a6d6b42fc70168bdce3359ca51c55ed4 - Sigstore transparency entry: 178192547
- Sigstore integration time:
-
Permalink:
roman-right/vldt@240de25a1c86a484bee7769a6b130aed389b5544 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/roman-right
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_and_publish.yaml@240de25a1c86a484bee7769a6b130aed389b5544 -
Trigger Event:
push
-
Statement type:
File details
Details for the file vldt-0.1.1-cp311-cp311-musllinux_1_2_i686.whl.
File metadata
- Download URL: vldt-0.1.1-cp311-cp311-musllinux_1_2_i686.whl
- Upload date:
- Size: 1.9 MB
- Tags: CPython 3.11, musllinux: musl 1.2+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
41c5271daf39a4b1685c0a9098948dabff5dab59d390ab991ce75a2e3bb3408d
|
|
| MD5 |
6ea3f06c7ec87833023ca88e24227c02
|
|
| BLAKE2b-256 |
ca0f298d09d5c03f363801792f32769ec51ce0cfe067aeb5c146c47b5f6966c2
|
Provenance
The following attestation bundles were made for vldt-0.1.1-cp311-cp311-musllinux_1_2_i686.whl:
Publisher:
build_and_publish.yaml on roman-right/vldt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vldt-0.1.1-cp311-cp311-musllinux_1_2_i686.whl -
Subject digest:
41c5271daf39a4b1685c0a9098948dabff5dab59d390ab991ce75a2e3bb3408d - Sigstore transparency entry: 178192533
- Sigstore integration time:
-
Permalink:
roman-right/vldt@240de25a1c86a484bee7769a6b130aed389b5544 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/roman-right
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_and_publish.yaml@240de25a1c86a484bee7769a6b130aed389b5544 -
Trigger Event:
push
-
Statement type:
File details
Details for the file vldt-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: vldt-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 850.0 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d4c9b13b30e8a3c96571b08191e8a47c36dd63792d410743793dada26cdd298e
|
|
| MD5 |
46aa85f1dcd15d6e79d495034e02af24
|
|
| BLAKE2b-256 |
b3f6571afcee73091d0ec3084e2d536281b5d8ec32738e2d4c13d3f338d17846
|
Provenance
The following attestation bundles were made for vldt-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
build_and_publish.yaml on roman-right/vldt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vldt-0.1.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl -
Subject digest:
d4c9b13b30e8a3c96571b08191e8a47c36dd63792d410743793dada26cdd298e - Sigstore transparency entry: 178192619
- Sigstore integration time:
-
Permalink:
roman-right/vldt@240de25a1c86a484bee7769a6b130aed389b5544 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/roman-right
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_and_publish.yaml@240de25a1c86a484bee7769a6b130aed389b5544 -
Trigger Event:
push
-
Statement type:
File details
Details for the file vldt-0.1.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl.
File metadata
- Download URL: vldt-0.1.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 840.4 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
29e69596e2f002c6e8afb52a3d6895358c5a0dd626ea21b516050cd3eb8cc36b
|
|
| MD5 |
ef6e9337457647c6ac0a505f2e951789
|
|
| BLAKE2b-256 |
ade8ca2e0c0608ade18d764486d44f63912e911ec141e290b017d4d2a1bcd69f
|
Provenance
The following attestation bundles were made for vldt-0.1.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl:
Publisher:
build_and_publish.yaml on roman-right/vldt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vldt-0.1.1-cp311-cp311-manylinux2014_i686.manylinux_2_17_i686.whl -
Subject digest:
29e69596e2f002c6e8afb52a3d6895358c5a0dd626ea21b516050cd3eb8cc36b - Sigstore transparency entry: 178192622
- Sigstore integration time:
-
Permalink:
roman-right/vldt@240de25a1c86a484bee7769a6b130aed389b5544 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/roman-right
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_and_publish.yaml@240de25a1c86a484bee7769a6b130aed389b5544 -
Trigger Event:
push
-
Statement type:
File details
Details for the file vldt-0.1.1-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: vldt-0.1.1-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 92.9 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1e8749a767bc8d803a5ae35fc6bbcf7de69359a69c58dc2c8b144b60f4b8f0f9
|
|
| MD5 |
4c8103e768ce89c7c8fe4674b8541dee
|
|
| BLAKE2b-256 |
89b529809c4aefc371cf7621eba891d443cfe6f481b6fbc98703aed3c8f872ca
|
Provenance
The following attestation bundles were made for vldt-0.1.1-cp311-cp311-macosx_11_0_arm64.whl:
Publisher:
build_and_publish.yaml on roman-right/vldt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vldt-0.1.1-cp311-cp311-macosx_11_0_arm64.whl -
Subject digest:
1e8749a767bc8d803a5ae35fc6bbcf7de69359a69c58dc2c8b144b60f4b8f0f9 - Sigstore transparency entry: 178192608
- Sigstore integration time:
-
Permalink:
roman-right/vldt@240de25a1c86a484bee7769a6b130aed389b5544 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/roman-right
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_and_publish.yaml@240de25a1c86a484bee7769a6b130aed389b5544 -
Trigger Event:
push
-
Statement type:
File details
Details for the file vldt-0.1.1-cp311-cp311-macosx_10_9_x86_64.whl.
File metadata
- Download URL: vldt-0.1.1-cp311-cp311-macosx_10_9_x86_64.whl
- Upload date:
- Size: 94.6 kB
- Tags: CPython 3.11, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
994faf24c30bfd281c3c4b0c1e13fa02d6a8ac23a4ce3eea191eb0d5e9d0eb9c
|
|
| MD5 |
fb5e2eb09a82c75dde3622e4d5fa127c
|
|
| BLAKE2b-256 |
46861aefc7cd17ca3859bcb4c15475afd8620b215d0e28565b0c0b200c0432b8
|
Provenance
The following attestation bundles were made for vldt-0.1.1-cp311-cp311-macosx_10_9_x86_64.whl:
Publisher:
build_and_publish.yaml on roman-right/vldt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vldt-0.1.1-cp311-cp311-macosx_10_9_x86_64.whl -
Subject digest:
994faf24c30bfd281c3c4b0c1e13fa02d6a8ac23a4ce3eea191eb0d5e9d0eb9c - Sigstore transparency entry: 178192481
- Sigstore integration time:
-
Permalink:
roman-right/vldt@240de25a1c86a484bee7769a6b130aed389b5544 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/roman-right
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_and_publish.yaml@240de25a1c86a484bee7769a6b130aed389b5544 -
Trigger Event:
push
-
Statement type:
File details
Details for the file vldt-0.1.1-cp311-cp311-macosx_10_9_universal2.whl.
File metadata
- Download URL: vldt-0.1.1-cp311-cp311-macosx_10_9_universal2.whl
- Upload date:
- Size: 147.0 kB
- Tags: CPython 3.11, macOS 10.9+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
87dfb2015940870e314365d2874a7679da30e81df52081f690836555e806ae2e
|
|
| MD5 |
8c582d74ceb2060c734316dcb255b2ad
|
|
| BLAKE2b-256 |
5b32fb80fdbc4ba891f3fa75771a9e38f43a0a3142143408b74e4f3d2129bf05
|
Provenance
The following attestation bundles were made for vldt-0.1.1-cp311-cp311-macosx_10_9_universal2.whl:
Publisher:
build_and_publish.yaml on roman-right/vldt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vldt-0.1.1-cp311-cp311-macosx_10_9_universal2.whl -
Subject digest:
87dfb2015940870e314365d2874a7679da30e81df52081f690836555e806ae2e - Sigstore transparency entry: 178192490
- Sigstore integration time:
-
Permalink:
roman-right/vldt@240de25a1c86a484bee7769a6b130aed389b5544 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/roman-right
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_and_publish.yaml@240de25a1c86a484bee7769a6b130aed389b5544 -
Trigger Event:
push
-
Statement type: