Skip to main content

yggio Python bindings

import os
from decimal import Decimal

from yggio import DataType, Field, MediaType, MimeType, Uri

price = DataType.decimal("18", 4)
clock = DataType.time("microseconds")
text = DataType(str)
field = Field("price", price, nullable=False)
field.set_comment("closing price")
field.set_parquet_field_id(17)
field.set_location("s3://warehouse/bars/data.arrow")
field.set_property("postgres", "type", "numeric(18,4)")
scalar = field.scalar(Decimal("12.5000"))
file = Uri.from_path(r"C:\data\prices.arrow")
encoded = Uri("https://example.test/prices.csv.gz")

assert str(price) == "decimal64(18,4)"
assert str(clock) == "time64(us)"
assert text == DataType("utf8")
assert field.into_arrow().name == "price"
assert field.parquet_field_id == 17
assert field.metadata["PARQUET:field_id"] == "17"
assert field.location.scheme == "s3"
assert field.get_property("postgres", "type") == "numeric(18,4)"
assert scalar.as_py() == Decimal("12.5000")
assert str(file) == "file:///C:/data/prices.arrow"
assert os.fspath(file) == "C:/data/prices.arrow"
assert encoded.media_type.base == MimeType("text/csv")
encoded.set_media_type(
    MediaType.from_parts(MimeType("application/json"), [MimeType("application/gzip")])
)
assert encoded.file_name == "prices.json.gz"

The package provides native Python views over Yggio's DataType, Field, MimeType, MediaType, Uri, Url, and Urn, plus the @scalar decorator for defining schemas with standard-library dataclasses. Parsing, validation, Arrow conversion, ordering, stable hashing, and path normalization remain owned by Rust. Python 3.10 and PyArrow 18 are the minimum supported versions; 15 supplied the generic Arrow C-stream reader boundary, and 18 is where the run-end-encoded map and extension-type scalar paths became correct. DataType.arrow_scalar(value, *, safe=True) builds a Scalar of the projected physical type. Field.arrow_scalar adds top-level nullability enforcement and returns an already matching Scalar by identity; safe=False explicitly requests PyArrow's unsafe cast rules. Conversion from arbitrary Python objects into a PyArrow Scalar is Python-specific; native scalar validation and materialization are shared through the default-enabled core yggio::arrow runtime.

The wheel set is four builds: cp310, version-specific, because the buffer protocol joined the limited API at 3.11; cp311-abi3, one extension for every GIL-enabled CPython from 3.11; cp314-cp314t for free-threaded 3.14, which has no stable ABI; and cp315-abi3.abi3t, one extension for GIL-enabled and free-threaded CPython 3.15 and later. Free threading starts at 3.14: PyO3 0.29 builds for no free-threaded CPython below it, 3.12 has no free-threaded build, and the abi3t wheel is 3.15's, so a GIL-enabled 3.12 or 3.13 loads cp311-abi3. Importing the extension on a free-threaded interpreter leaves the GIL disabled, and every door that waits on the core detaches from the interpreter. Immutable classes are frozen and are read from any number of threads at once; a mutable object used by two threads at the same instant raises RuntimeError: Already borrowed rather than corrupting, so a thread takes a handle of its own.

from yggio import Field, MediaType, MimeType

media = MediaType.from_parts(MimeType.CSV, [MimeType.GZIP, MimeType.ZSTD])
field = Field(
    "payload",
    "binary",
    metadata={"HTTPS:Content-Type": "text/csv; charset=utf-8"},
)
field.set_media_type(media)

assert field.mime_type == MimeType.CSV
assert field.content_encoding == "gzip, zstd"
assert field.get_property("https", "content-type") == "text/csv"

MimeType exposes the complete native known vocabulary as immutable class constants and accepts custom validated MIME names. MediaType() defaults to octet-stream, consumes iterable encodings once, and returns a detached tuple from encodings; it is mutable until first hashed. Hashing locks that wrapper, and a copy is an independent mutable value. URI, URL, and URN values use the same rule. Field HTTP and HTTPS input shares canonical lowercase http:* Arrow metadata. Raw header properties retain parameters, while typed MIME/media, unsigned content length, and absolute HTTP Location accessors validate without a binding-side parser. Pair media updates are atomic and cache-aware. Hashing a Field likewise locks every equality-affecting field and metadata mutation on that wrapper; copies and pickle round-trips are independent values.

Precise Arrow layout can stay beside the logical Python annotation. Reserved Annotated options work as (key, value) pairs or entries in one mapping:

from decimal import Decimal
from typing import Annotated

import pyarrow as pa
from yggio import Field

price = Field.from_pyhint(
    "price",
    Annotated[
        Decimal,
        ("arrow_type", pa.decimal128(9, 0)),
        {"nullable": False, "metadata": {"unit": "EUR"}, "id": 7},
    ],
)

assert price.into_arrow().type == pa.decimal128(9, 0)
assert price.parquet_field_id == 7
from __future__ import annotations

from yggio import Field, Int32Field, SerieField, integer, serie, utf8

trade_id: Int32Field = integer.int32("trade_id", nullable=False)
tags: SerieField[str] = serie("tags", utf8("item"))

assert type(trade_id) is Field
assert tags.dtype.id == "serie"
assert tags.dtype.kind == "nested"
assert trade_id.show_diff(trade_id) == "✓ equal"

One module per type at the package root - yggio.integer, yggio.string, yggio.temporal and the rest - covers every native datatype variant, and every factory is re-exported from yggio itself. Its aliases preserve kind/value information for static typing while factories return the same generic native Field. equals(..., with_metadata=False) can ignore metadata recursively; show_diffs returns readable UTF-8 difference lines and show_diff joins them.

from decimal import Decimal

from yggio import scalar
from yggio import toml

@scalar
class Order:
    order_id: int
    price: Decimal

order = Order(42, Decimal("12.50"))
payload = toml.dumps(order)  # ordinary UTF-8 TOML bytes

assert Order.into_field().name == "Order"
assert toml.loads(payload, cls=Order) == order

yggio.json, yggio.toml, and yggio.yaml expose dumps, dump and loads, and no load: dumps answers bytes, dump writes to an os.PathLike, a path string or a text/binary file object (and answers the bytes, or UTF-8 text with utf8=True, when given none), and loads reads bytes, string content, an os.PathLike or a text/binary file object. A source str is always document content; use pathlib.Path to name a source location. String destinations remain paths because output has no content/path ambiguity. JSON Lines and YAML also expose the document streams dumps_all/dump_all and loads_all/load_all; TOML is deliberately one document. String content uses the borrowed native text path; paths and named or explicitly formatted I/O redirect to the native reader/writer paths without staging a whole encoded document. For load_all, Python supplies only its read(size)/readline(size) protocol: the owning Rust iterator decides JSON Lines and YAML document boundaries, enforces cumulative limits, and reports core byte offsets. It reads lazily under one bounded parser window, leaves the caller-owned stream open, and is fused after its first read or parse failure. A document carries shapes, never class names: a set reads back as a list and a uuid.UUID as its text, and a class is constructed only through an explicit target such as cls=.

import pyarrow as pa

from yggio import Field, field

trade_field = Field.from_arrow_schema(
    pa.schema([
        pa.field("trade_id", pa.uint32(), nullable=False),
        pa.field("tags", pa.list_(pa.string()), nullable=False),
    ]),
    name="Trade",
)
Trade = trade_field.into_dataclass()

trade = Trade(trade_id=1, tags=["new"])

assert field(Trade) is trade_field
assert Trade.into_field() is trade_field
assert Trade.into_field().into_arrow_schema().field("trade_id").type == pa.uint32()

Arrow schemas import through the native Field, preserving exact physical widths, metadata, dictionary state, and nested layout. into_dataclass() builds a normal dataclass whose cached static into_field() result is that native shape; it does not inject row conversion, codec, or Arrow methods into the class.

Use cached Class.into_field() for decorated dataclasses and field(value) for the general conversion funnel.

Serie.from_arrow_array(array, field) and Serie.from_arrow_batch(batch, root) cast through the native Arrow kernel plan, SerieReader.from_arrow_reader casts a stream by one plan, and ArrowCastPlan is that plan held; a record cast reconciles Struct columns by ASCII-case-insensitive name, target order, and Field null/default policy. Readers and writers continue to exchange pyarrow.RecordBatchReader values; class declarations remain schema definitions rather than a second row I/O surface.

Record writes name both their Python representation and intent: overwrite_arrow_reader, append_arrow_table, merge_arrow_batch, and the corresponding *_records, pandas, and polars adapters all redirect to the same streamed Rust pipeline. Every call takes one keyword-only options= value. Set options.commit_batch_num = N to publish every N whole batches of the stream plus the final remainder - Python rows are converted batch_row_size rows to a batch, and a cadence never cuts one; leave it as None for the destination's own cadence: a file or folder publishes once after successful end of input, an Iceberg table each time the batches it holds reach its target file size. A later failure leaves completed cadences visible by design, and zero is rejected before a one-shot Python input is inspected.

For configured intent, the same representations expose write_* with the canonical (input, mode, *, options=None) order. mode is required and is one of "overwrite", "append", or "merge"; it is validated before the input is exported or iterated. is_io() reports the general byte/record capability, while lazy row_size and column_size read whole-media dimensions from native format metadata and cache them only while the handle is open.

DataType(value) infers native wrappers, datatype expression strings, PyArrow datatypes, and Python annotations such as str or list[int]. DataType.decimal(precision, scale=0) also accepts integer-like objects and base-10 numeric strings, selecting Decimal128 through precision 38 and Decimal256 through precision 76. DataType.time(unit) accepts the shared native unit aliases and selects Time32 for seconds/milliseconds or Time64 for microseconds/nanoseconds. Scalar exposes checked native arithmetic through add, subtract, multiply, divide, remainder, negate, and absolute, plus Python's matching operators (including reflected operators and abs). Python-native operands are inferred once at the boundary; overflow, zero division, inexact decimal division, and invalid operand kinds retain distinct Python errors. Expression uses the same arithmetic names and operators to build native trees. Strings remain expression grammar ("price" names a column and "'fee'" is a literal); every non-string Python operand is inferred as one native Scalar, and reflected operators preserve left-to-right order. Avro schemas compare, order, and hash by their complete retained native schema identity; fingerprint() remains the separate Parsing Canonical Form identity that intentionally omits annotations. Decoded Avro containers and immutable Iceberg metadata values use the core's complete equality, ordering, and stable hash identities, with exact copy, repr, and pickle round-trips. Iceberg ScanPlan is a self-contained five-count report, so it supports the same value protocols without retaining a table or executable scan. IcebergOptions is mutable until first hashed; hashing locks every setter, while copied and unpickled options are independent unlocked values. Lazy Avro blocks, bound expressions/statements, and generic RecordOptions deliberately remain unhashable because the core defines no complete canonical value identity for their operational state. Bare DataType.variant() is the self-describing semi-structured Variant datatype; DataType.variant(fields) stays the dense-union sugar building the canonical dense Union with sequential native type IDs - the parenthesis disambiguates. yggio.variant builds the bare Variant field, yggio.dense_union the union one, and explicit yggio.union remains available for custom IDs or sparse layout.

Every page of the documentation shows its operation in Rust, Python and JavaScript, so a Python spelling is documented where the vocabulary it belongs to is. The field classes are their own guide.

Metadata

Release files for yggio 0.0.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for yggio 0.0.5
File Size Uploaded Provenance Actions
yggio-0.0.5.tar.gz 5.0 MB With provenance Details for yggio-0.0.5.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for yggio 0.0.5
File Actions
yggio-0.0.5-cp315-abi3.abi3t-musllinux_1_2_x86_64.whl CPython 3.15 abi3, abi3t Linux musl 1.2+ x86-64 Details for yggio-0.0.5-cp315-abi3.abi3t-musllinux_1_2_x86_64.whl
yggio-0.0.5-cp315-abi3.abi3t-musllinux_1_2_aarch64.whl CPython 3.15 abi3, abi3t Linux musl 1.2+ ARM64 Details for yggio-0.0.5-cp315-abi3.abi3t-musllinux_1_2_aarch64.whl
yggio-0.0.5-cp315-abi3.abi3t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.15 abi3, abi3t Linux glibc 2.17+ x86-64 Details for yggio-0.0.5-cp315-abi3.abi3t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
yggio-0.0.5-cp315-abi3.abi3t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.15 abi3t, abi3 Linux glibc 2.17+ ARM64 Details for yggio-0.0.5-cp315-abi3.abi3t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
yggio-0.0.5-cp314-cp314t-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64 Details for yggio-0.0.5-cp314-cp314t-musllinux_1_2_x86_64.whl
yggio-0.0.5-cp314-cp314t-musllinux_1_2_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64 Details for yggio-0.0.5-cp314-cp314t-musllinux_1_2_aarch64.whl
yggio-0.0.5-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 Details for yggio-0.0.5-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
yggio-0.0.5-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64 Details for yggio-0.0.5-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
yggio-0.0.5-cp311-abi3-musllinux_1_2_x86_64.whl CPython 3.11 abi3 Linux musl 1.2+ x86-64 Details for yggio-0.0.5-cp311-abi3-musllinux_1_2_x86_64.whl
yggio-0.0.5-cp311-abi3-musllinux_1_2_aarch64.whl CPython 3.11 abi3 Linux musl 1.2+ ARM64 Details for yggio-0.0.5-cp311-abi3-musllinux_1_2_aarch64.whl
yggio-0.0.5-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 abi3 Linux glibc 2.17+ x86-64 Details for yggio-0.0.5-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
yggio-0.0.5-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.11 abi3 Linux glibc 2.17+ ARM64 Details for yggio-0.0.5-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
yggio-0.0.5-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details for yggio-0.0.5-cp310-cp310-musllinux_1_2_x86_64.whl
yggio-0.0.5-cp310-cp310-musllinux_1_2_aarch64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ ARM64 Details for yggio-0.0.5-cp310-cp310-musllinux_1_2_aarch64.whl
yggio-0.0.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details for yggio-0.0.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
yggio-0.0.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ ARM64 Details for yggio-0.0.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Total release size: 421.5 MB

Release files / yggio-0.0.5.tar.gz

Download URL yggio-0.0.5.tar.gz
Size 5.0 MB
Tags Source
SHA-256 checksum
How to use checksums
e440382e9f3e0e64e79b828a0093b2a4f0211eddb76726b5523d2783083875c0
BLAKE2b-256 checksum
How to use checksums
19ef050f844a1c2a0a8177aeb102a8972e007eb863bb999850b1f1eea891e26c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / yggio-0.0.5-cp315-abi3.abi3t-musllinux_1_2_x86_64.whl

Download URL yggio-0.0.5-cp315-abi3.abi3t-musllinux_1_2_x86_64.whl
Size 27.5 MB
Tags CPython 3.15 Linux musl 1.2+ x86-64 abi3 abi3t
SHA-256 checksum
How to use checksums
b62538b81b984ea04f4a7b2d02845233475705444703803e95fa401a99eb686d
BLAKE2b-256 checksum
How to use checksums
d8c17ce1372f98db7a5c8298440c7cf18801720fb23f41846c64be7548e78cf1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / yggio-0.0.5-cp315-abi3.abi3t-musllinux_1_2_aarch64.whl

Download URL yggio-0.0.5-cp315-abi3.abi3t-musllinux_1_2_aarch64.whl
Size 25.5 MB
Tags CPython 3.15 Linux musl 1.2+ ARM64 abi3 abi3t
SHA-256 checksum
How to use checksums
9e94732ada76f5f8c3528f15310719a0a574f1c55aba990e53602be669d19d67
BLAKE2b-256 checksum
How to use checksums
064b4f2cc12e3ff7dc60da8f4137da17055f8ad2ae66aa8c0fabb537a7c6872d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / yggio-0.0.5-cp315-abi3.abi3t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL yggio-0.0.5-cp315-abi3.abi3t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 27.1 MB
Tags CPython 3.15 Linux glibc 2.17+ x86-64 abi3 abi3t
SHA-256 checksum
How to use checksums
5092497e41c6c741b8d87deec84f52f74d99235d6178de90dd7cf585e64f1474
BLAKE2b-256 checksum
How to use checksums
f358f7bb0f9e1465e623ca2e66efb468d8c1f7ada6a96037f4759f5ea3d09bc2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / yggio-0.0.5-cp315-abi3.abi3t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL yggio-0.0.5-cp315-abi3.abi3t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 25.4 MB
Tags CPython 3.15 Linux glibc 2.17+ ARM64 abi3 abi3t
SHA-256 checksum
How to use checksums
1e3fb08aeb6eb9ce5d08db45dfde3f6c376b0883c55e1ebe30a02e2b6e64f3d2
BLAKE2b-256 checksum
How to use checksums
26dbc223065a7d5759db762b7b327ad5818682413fe8cb9c2278e2cc6ee2d02c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / yggio-0.0.5-cp314-cp314t-musllinux_1_2_x86_64.whl

Download URL yggio-0.0.5-cp314-cp314t-musllinux_1_2_x86_64.whl
Size 27.0 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
6d7c0218c990e575b1652d40a3c9f55c446dc92ee4f21987633f601fde0803dd
BLAKE2b-256 checksum
How to use checksums
3352dfa39db6bbc986ec5a712ff90fb7414fdbd6f886ee2b5d79c9e3414840ba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / yggio-0.0.5-cp314-cp314t-musllinux_1_2_aarch64.whl

Download URL yggio-0.0.5-cp314-cp314t-musllinux_1_2_aarch64.whl
Size 25.1 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
838351c806caad7195ca2212fa4c0b74664bef98c44657a6228bb7bd4437033e
BLAKE2b-256 checksum
How to use checksums
18dbf12159c263ae5372441926dca169839b49c332debea52328700ccd6a144c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / yggio-0.0.5-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL yggio-0.0.5-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 26.6 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
4a07f5b64bc2265011c086c06042212aabb75a8e9c628999ba90551c0d1b2a4c
BLAKE2b-256 checksum
How to use checksums
9b06dd6cac79a2a091383a87ac133e909a0e84539cb41b163297e006262fcb46
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / yggio-0.0.5-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL yggio-0.0.5-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 25.0 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
1b03fb57f2d20c5825c046035320f8428c7056dca42d705686c4873ad3ff7dd8
BLAKE2b-256 checksum
How to use checksums
af8d2bcdd241842f95054e58d34f14e024a87c61922dde27f9a36cd8d51d1f6c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / yggio-0.0.5-cp311-abi3-musllinux_1_2_x86_64.whl

Download URL yggio-0.0.5-cp311-abi3-musllinux_1_2_x86_64.whl
Size 27.0 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
f1c64a17dc0a511975a77f62bd20d718acd6fe6f5e16ad3b4f3d2cff49a29653
BLAKE2b-256 checksum
How to use checksums
0f19add7ca129cd363355526dc1bfad39bc176c73134ab13d20a1842aa46ca83
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / yggio-0.0.5-cp311-abi3-musllinux_1_2_aarch64.whl

Download URL yggio-0.0.5-cp311-abi3-musllinux_1_2_aarch64.whl
Size 25.1 MB
Tags CPython 3.11 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
1caa31060281407ce594d59c181c6b25bfe60f665294ed18f7fa445e3f93b2f9
BLAKE2b-256 checksum
How to use checksums
479f09d446972e7b846c220d32c1c0ea627e14a481848942d459570783bd5261
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / yggio-0.0.5-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL yggio-0.0.5-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 26.6 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
8a710afaea3240286a08157a0adf05e5aaed2a257384b6d7f37a4a6ce2c3a1f4
BLAKE2b-256 checksum
How to use checksums
a8d1549ecbc06d37fe2206bb8b9c2f35076142e5a78822850f2a6329c7fe1716
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / yggio-0.0.5-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL yggio-0.0.5-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 25.0 MB
Tags CPython 3.11 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
85ac3e32e018715bdea24aa2ae09cab10dc3102874fd7119de20d32c039985cb
BLAKE2b-256 checksum
How to use checksums
b55b61ed1987b89f688f51ed0047dc37ef5983da11d7720a23615e8b6000b78f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / yggio-0.0.5-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL yggio-0.0.5-cp310-cp310-musllinux_1_2_x86_64.whl
Size 27.0 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
713711e52e33b2a14f0074e4668937c9e8265bb8ff17910ecc7bba0b1b2c780d
BLAKE2b-256 checksum
How to use checksums
cb7b6a3811f756e5cb328263257f97e83437ccc5c7b285b1c38ad66a9f58c32d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / yggio-0.0.5-cp310-cp310-musllinux_1_2_aarch64.whl

Download URL yggio-0.0.5-cp310-cp310-musllinux_1_2_aarch64.whl
Size 25.1 MB
Tags CPython 3.10 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
fc744ba991bffac35d27950c29a60a88e57133caae0033f9d7fbfa5635644e6d
BLAKE2b-256 checksum
How to use checksums
4259ecdaa25990bfbe7e82f1814edc28ca25bb789a6054a5bf1eeff433ee042d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / yggio-0.0.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL yggio-0.0.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 26.6 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
c2e377ddb9363876c390aa86be1f9918abc93f4edf334d49f60a7a95d7625f32
BLAKE2b-256 checksum
How to use checksums
a9bd17427c23ca4f81adf7c64b9407414834b9a400737eada48f162bb5d0a297
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / yggio-0.0.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL yggio-0.0.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 25.0 MB
Tags CPython 3.10 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
0fa5080a6b140d56859a6cf77c1fab01525b38e28f07b2a8d7666b8f4d6e152d
BLAKE2b-256 checksum
How to use checksums
5f7a01d06a8e353f49492f8755f325c94807f8e5bf5fa8210e94b6a015f779ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Security for yggio 0.0.5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 17 files in this release have been uploaded with provenance metadata.

Select from 17 files

Attestation for yggio-0.0.5.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page