Fast, memory-conscious reader for RDS data.frames
Project description
rdsframe
rdsframe reads common R data.frame and data.table objects from binary RDS
files directly into pandas. Numeric vectors are filled in their final NumPy
allocation, which avoids the large intermediate Python object tree created by
general-purpose R serialization readers.
Status: 0.4.0b2 pre-release (beta). Validate results against R for critical pipelines. Unsupported R structures fail explicitly; they are never silently coerced.
Features
- R serialization versions 2 and 3, XDR and native binary formats.
- Uncompressed, gzip, bzip2, xz, and zstd containers (zstd is what
R >= 4.5 writes for
compress = "zstd"; reading it needs Python >= 3.14 or therdsframe[zstd]extra). - Integer, double, logical, character, factor (ordered and unordered),
Date,POSIXct,POSIXlt,difftime, raw, and the ALTREP representations R actually serializes (compact integer/real sequences, deferredas.characterstrings,sort()/attribute wrappers). Complex columns become complex pandas series orSTRUCT(real, imag)in Parquet. - Batched string parsing: STRSXP columns are decoded (or structurally
skipped) from large chunks instead of three stream reads per element,
which is what makes text-heavy catalogs practical (see
BENCHMARKS.md). - Optional compiled scanner: Cython accelerates only structural CHARSXP skipping when the extension is available; materializing strings remains on the tested Python path, as does all parsing without the module.
- Explicit policies for time zones, invalid timestamps, and heterogeneous list-columns; lossy conversion is never activated implicitly.
- A single
data.frameor a named list ofdata.frameobjects -- and, viaread_r_object()orrdsframe dump, any other supported R value: plain lists, nested structures, matrices, S4 objects (as a dict of slots), and environments (as a dict of their contents). - Reads from a path, raw
bytes, or any seekable binary stream. - Character row names become the pandas index; R's compact default row
numbering stays a
RangeIndex. - Nullable pandas integer/boolean dtypes and categorical factors.
- Public Arrow-table reads plus Parquet export through PyArrow or the optional memory-bounded DuckDB engine, and a command-line interface.
- Deferred
open_rds()datasets with structural schemas and column projection, exact/metadata-only inspection modes, and Arrow-backed Polars/DuckDB adapters. - Configurable defensive limits for untrusted or unexpectedly large inputs.
- Low-allocation table catalogs and selective extraction by index, name, or
(for
read_rds()) column, plusmaterialize_uncompressed()for repeated seek-based access to large compressed files. - Validated against a golden-file corpus written by R 4.5.0 itself
(
tests/data/r450, generated bytests/data/gen_fixtures.R).
RData workspaces, ASCII serialization, closures/language objects, and custom third-party ALTREP classes are intentionally unsupported -- and fail with an error that names the R type, so applications can tell users exactly why a slower general-purpose fallback is being used.
How it compares
One fresh process per read on the same machine (Windows 11, Python 3.12,
2026-07-16), wall time / peak RSS, against pyreadr 0.5.6 (librdata, C) and
rdata 1.1.0. Synthetic inputs are uncompressed; details, versions, and
caveats in BENCHMARKS.md -- treat these as one data point, not a universal
claim.
| Input | rdsframe | pyreadr | rdata |
|---|---|---|---|
| 2M rows x 8 numeric columns (88 MiB) | 0.7 s / 199 MB | 1.8 s / 469 MB | 1.3 s / 490 MB |
| 1M rows x 5 text-heavy columns | 2.6 s / 228 MB | 16.9 s / 418 MB | 39.3 s / 1.7 GB |
| nflverse play-by-play 2023 (49,665 x 372, gzip) | 4.3 s / 322 MB | 4.7 s / 766 MB | 94 s / 3.7 GB |
| 123 MiB gzip, root = named list of 6 data.frames | 32 s (all tables) | returns {} silently |
impractical |
Catalog only (list_rds_tables) of that same file |
3.9 s | n/a | n/a |
Two structural differences matter more than the timings. pyreadr (librdata)
cannot read an RDS whose root is a list of data.frames -- it returns an
empty dict without raising -- while that layout is exactly what rdsframe
targets, including selective extraction. And where all three readers can read
the same file, rdsframe's output was verified value-for-value against
pyreadr (372/372 columns identical on the nflverse file) and against R itself
via checksums.
Install
pip install rdsframe
For Parquet export:
pip install "rdsframe[parquet]"
This installs PyArrow and does not require DuckDB. Install the streaming, column-staged engine when conversion must keep peak memory tied to a column batch rather than a complete table:
pip install "rdsframe[duckdb]"
For Polars:
pip install "rdsframe[polars]"
For zstd-compressed RDS on Python < 3.14:
pip install "rdsframe[zstd]"
Source builds try to compile the small Cython-generated scanner from portable
C, but compilation failure is optional and never prevents installation. Check
the active installation with rdsframe.compiled_backend_available().
Python API
from rdsframe import read_rds
data = read_rds("measurements.rds")
print(data.head())
A named R list returns dict[str, pandas.DataFrame]. To require the legacy
first-table behavior, use read_rds_dataframe().
For text-heavy data that still needs to become a pandas DataFrame, keep strings in Arrow-backed pandas arrays:
data = read_rds("measurements.rds", strings="pyarrow")
To bypass pandas entirely, request public Arrow tables:
from rdsframe import read_rds_arrow
table = read_rds_arrow("measurements.rds")
A named list returns dict[str, pyarrow.Table].
Deferred datasets and inspection
open_rds() creates a lightweight handle. Accessing schema performs or
reuses the structural catalog scan; payloads are not converted to NumPy,
pandas, Arrow or Polars until a terminal operation is requested:
from rdsframe import open_rds
dataset = open_rds("measurements.rds")
print(dataset.schema)
print(dataset.columns)
print(dataset.shape)
preview = dataset[["peso", "edad"]].head(10)
peso = dataset["peso"].collect()
arrow = dataset.select(["peso", "edad"]).to_arrow()
For a named list of data.frames, choose one explicitly:
stations = open_rds("workspace.rds").table("stations")
Projection is lazy and a single-root data.frame skips unselected columns.
head() currently limits the returned pandas result, not the underlying RDS
vector read: R serializes complete columns, so the selected columns are still
consumed. Compressed input must also be decompressed sequentially to reach a
later column.
Metadata-only inspection never materializes column payloads:
from rdsframe import inspect_rds
info = inspect_rds("measurements.rds")
print(info.rows, info.columns, info.compression)
for column in info.tables[0].schema:
print(column.name, column.logical_type, column.factor, column.estimated_bytes)
Fixed-width columns have a structural memory estimate. Text/list memory and missing counts cannot be known without reading their elements; request the explicit scan when exact Arrow buffer sizes and null counts are needed:
info = inspect_rds("measurements.rds", mode="scan")
print(info.statistics_complete)
print(info.tables[0].schema[0].missing_count)
Polars and DuckDB
Both adapters reuse the Arrow conversion and avoid pandas:
from rdsframe import open_rds, read_rds_polars
frame = read_rds_polars("measurements.rds")
frame = open_rds("measurements.rds").select(["edad", "peso"]).to_polars()
DuckDB can consume the projected table as a relation or registered SQL view:
dataset = open_rds("measurements.rds").select(["sexo", "edad", "peso"])
relation = dataset.to_duckdb()
result = relation.filter("edad >= 18").aggregate("sexo, avg(peso)")
connection = dataset.register_duckdb("measurements")
result = connection.sql("""
SELECT sexo, avg(peso)
FROM measurements
WHERE edad >= 18
GROUP BY sexo
""")
This is a Python/Arrow registration, not yet a native DuckDB
read_rds('path') table function; query projection should therefore be applied
on the RDSDataset before registration.
To read only a few fields from a wide single data.frame, select columns by zero-based index or exact name. Unselected columns are structurally skipped: they are never allocated as NumPy arrays or pandas objects.
data = read_rds("measurements.rds", columns=["station", "value", "date"])
columns requires the RDS root to be a single data.frame. For a multi-table
RDS, select the table first with extract_rds_tables() or to_parquet().
Selecting by name performs one extra structural pass to resolve names to
positions (bounded memory, no payload allocation); integer indices skip that
pass entirely.
The saving depends on the type of the skipped columns, not just their count.
RDS stores columns sequentially with variable-length encoding: skipping a
numeric, logical, or raw column in an uncompressed file is a real seek()
(near-zero cost); skipping a character column still visits every row to
find where it ends, the same traversal a full read does, so it mainly saves
the decode/interning/pandas-object cost rather than the row scan itself.
columns is most valuable for RAM (skipped columns are never allocated) and
for wide tables with many unwanted numeric fields.
Reading non-tabular RDS files
Not every RDS file is a data.frame. read_rds() raises UnsupportedRDS for
those on purpose, since silently coercing a plain list into a table would be
worse than failing loudly. Use read_r_object() instead:
from rdsframe import read_r_object
data = read_r_object("workspace.rds")
A named R list becomes a dict; an unnamed list becomes a list; a nested
data.frame anywhere inside either still becomes a pandas DataFrame.
Atomic vectors get the same type rules as a data.frame column (factor,
Date, POSIXct, difftime, matrices via a dim attribute) but come back
as a plain Python scalar or list rather than a pandas Series. A named
atomic vector (c(a = 1, b = 2)) becomes a dict like a named list does,
and a class-less matrix keeps its native NumPy dtype (dimnames are not
represented). This is a
general, exploratory reader, not the fast path: it materializes the whole
structure in memory rather than streaming it, so prefer read_rds() /
to_parquet() whenever the file actually is tabular.
from rdsframe import ReaderLimits, read_rds, to_parquet
limits = ReaderLimits(max_vector_length=100_000_000)
data = read_rds("input.rds", limits=limits, strings="string")
tables = to_parquet("input.rds", "output", compression="zstd")
engine="auto" selects DuckDB when installed and otherwise writes with
PyArrow. Use engine="pyarrow" to require the dependency-light route or
engine="duckdb" to require column-staged, spill-to-disk conversion.
Safety and fidelity policies are explicit:
tables = to_parquet(
"input.rds",
"output",
max_tables=100, # fail before writing partial results
max_root_items=10_000,
posixct_mode="preserve", # or "utc_naive" for constrained executables
invalid_timestamp="error", # or "null" to opt into coercion
list_column_mode="infer", # or explicit "json" / "string"
)
max_tables never truncates a file. Exceeding a configured limit raises
RDSLimitError, cleans temporary data, and leaves no apparently successful
partial output.
The staging policy is adaptive. By default, a temporary Parquet contains at most 16 columns or approximately 128 MiB of Arrow buffers, whichever is reached first. This reduces temporary-file count on wide tables while bounding memory:
tables = to_parquet(
"input.rds",
"output",
stage_max_columns=16,
stage_max_bytes=128 * 1024 * 1024,
gc_collect_every=16, # use 0 to disable explicit cyclic GC
)
CLI
rdsframe inspect input.rds
rdsframe list input.rds --cache
rdsframe list input.rds --catalog input.rdsframe.json
rdsframe convert input.rds output/ \
--engine pyarrow \
--table-name measurements \
--catalog input.rdsframe.json \
--max-tables 100 \
--list-column-mode json \
--invalid-timestamp null
rdsframe dump input.rds
Run rdsframe convert --help for staging, memory, time-zone and limit controls.
rdsframe dump prints any supported R object -- not only data.frames --
as an indented tree, so an unknown RDS file can be explored before deciding
how to convert it. Deeply nested structures are summarized rather than
exploded: --max-items bounds children per node (default 10), --max-depth
bounds nesting (default 8), and --json emits the complete object as JSON
instead (data.frames appear as {"$r_type": "data.frame", ...} objects).
$ rdsframe dump results.rds --max-items 2 --max-depth 3
<list, 10 items>
[0] <list, 10 items>
[0] <data.frame 20000 rows x 4 cols> [n:float64, c:float64, auc:float64, rc:float64]
[1] <data.frame 20000 rows x 4 cols> [n:float64, c:float64, auc:float64, rc:float64]
... (+8 more items)
[1] <list, 10 items>
...
List and selectively extract tables
Discover tables without building their pandas, NumPy, Arrow, or Parquet payloads:
from rdsframe import list_rds_tables
catalog = list_rds_tables("workspace.rds", cache=True)
for table in catalog.tables:
print(table.index, table.name, table.rows, table.columns)
With cache=True, the first scan writes workspace.rdsframe.json; later calls
return it immediately while source path, size, and modification time match.
Pass an explicit path as cache="catalogs/workspace.json" when desired.
Extract by zero-based index in one pass:
from rdsframe import extract_rds_tables
extract_rds_tables("workspace.rds", "output", [0, 2, 7])
Or select by name while reusing the validated catalog:
from rdsframe import RDSCatalog, extract_rds_tables
catalog = RDSCatalog.load("workspace.rdsframe.json")
extract_rds_tables(
"workspace.rds",
"output",
["measurements", "stations"],
catalog=catalog,
)
The catalog stores the absolute path, file size and nanosecond modification
time. An explicitly loaded stale or foreign catalog raises RDSCatalogError
before conversion; the opt-in automatic cache rebuilds stale sidecars.
Name-based to_parquet() / extract_rds_tables() selection automatically
creates and reuses this sidecar when no explicit catalog is supplied.
RDS is sequential and normally stores list names after all elements. Therefore:
- listing avoids column allocations and temporary outputs, but compressed input must still be traversed and decompressed;
- uncompressed binary RDS payloads are skipped with direct seeks; compressed payloads are discarded through a reusable bounded buffer;
- integer selection without a catalog converts only chosen tables but may scan the remaining stream to recover original names;
- a validated catalog enables early stop after the last selected table and is the fastest repeated workflow;
- the first name selection without an explicit catalog performs a structural listing pass and saves it; subsequent selections reuse the validated cache.
The source distribution includes BENCHMARKS.md with preliminary reproducible
results and their limitations.
Memory model
read_rds() returns pandas objects and therefore requires the resulting table to
fit in memory. Numeric columns avoid a full-size temporary bytes buffer.
to_parquet(engine="duckdb") is the lowest-memory path: it constructs
Arrow-native columns and stages bounded groups before DuckDB combines them with
a positional join. Character vectors are built from offsets, UTF-8 data and
validity buffers without retaining a Python str object for every row. Peak
parser memory is tied to the current column plus the configured staging batch,
not to the entire data frame. DuckDB can spill merge work to disk, controlled by
memory_limit and temp_directory. The PyArrow engine and read_rds_arrow()
materialize a complete table, trading higher peak memory for fewer dependencies.
For the lowest possible peak, set stage_max_columns=1. For faster conversion
of wide, narrow-column tables, increase the batch limits after benchmarking.
The result is directly queryable without loading it in memory:
SELECT category, avg(value)
FROM read_parquet('output/measurements.parquet')
WHERE date >= DATE '2025-01-01'
GROUP BY category;
Development
python -m pip install -e ".[dev,duckdb,polars,zstd]"
pytest
ruff check .
mypy src/rdsframe
pytest --cov=rdsframe --cov-fail-under=80
python -m build
twine check dist/*
Before a public release, run the test matrix and publish to TestPyPI first. The project lives at https://github.com/mmanaylopez/rdsframe.
Releasing
- Bump the version in
pyproject.tomlandsrc/rdsframe/__init__.py, and date theCHANGELOG.mdsection. - Commit, push, and wait for the full CI matrix to pass (it validates the Cython build on the three platforms, the pure-Python fallback, and the minimum supported NumPy/pandas versions -- environments a single dev machine cannot cover).
- Tag
vX.Y.Zand push the tag:release.ymlbuilds the sdist plus binary wheels via cibuildwheel and publishes through PyPI Trusted Publishing (one-time setup: PyPI project settings -> Publishing -> GitHub publisher for this repo, workflowrelease.yml, environmentpypi). - Manual fallback: upload only the sdist (
python -m build --sdist, thentwine upload dist/*.tar.gz). Never upload a locally built wheel: without a working compiler, setuptools still tags it platform-specific even though the accelerator is missing, and that wheel would shadow the sdist for every user of that platform.
RData and fallback integration
rdsframe deliberately rejects .RData/.rda workspaces. Applications that
need both formats should inspect the container and use rdsframe for supported
binary RDS files, retaining rdata or another general reader as fallback for
RData, unsupported ALTREP classes, and richer R objects. An
UnsupportedRDS exception is the explicit signal to activate that fallback.
Conversion policies
POSIXctpreserves its R time-zone attribute by default. Applications that cannot ship time-zone support may chooseposixct_mode="utc_naive"; the underlying UTC instant is retained and only the display-zone metadata is removed.NaN/R missing timestamps become null. Infinite or out-of-range timestamps raise by default;invalid_timestamp="null"is an explicit coercion.- Homogeneous list-columns use Arrow inference. Heterogeneous values raise by
default.
list_column_mode="json"produces deterministic UTF-8 JSON, including tagged encodings for binary and non-finite values;"string"is available only when human-readable representation is preferred over structure. - A factor with an explicit NA level (
addNA()) maps values at that level to missing: pandas/Arrow dictionaries cannot hold a null category, and mapping it to""would collide with a genuine empty-string level. - Ordered factors (
factor(x, ordered = TRUE)) become an orderedpandas.Categorical; plain factors are unordered.to_parquet()marks the underlying Arrow dictionary as ordered too, though the DuckDB staging step currently re-materializes any dictionary-encoded column as a plain string in the final Parquet file (true for ordinary factors as well, not specific to ordering) -- the values are correct, the categorical/dictionary typing itself does not yet survive that step. difftimecolumns become a pandastimedelta64Series (Arrowduration("us")in Parquet), converted according to the Runitsattribute (secs,mins,hours,days, orweeks).- A data.frame column with a
dimattribute (an R matrix or array stored as one column) is explicitly unsupported and raisesUnsupportedRDSrather than being silently reshaped or misread.
Known limitations
Rle/other Bioconductor S4 types,sfgeometry columns, anddata.frame/matrix-valued columns are not specifically recognized; they raise a clearUnsupportedRDS/InvalidRDS, never a silently wrong result.POSIXltvalues are reconstructed from their wall-clock components (year/mon/mday/hour/min/sec) as timezone-naive timestamps; thezone/gmtoffcomponents are not mapped onto pandas time zones because R zone abbreviations do not reliably resolve to IANA names.- ALTREP support covers what R itself serializes with custom state: compact
integer/real sequences, deferred
as.characterstrings, and thewrap_*wrapper classes (including their attribute slot, so a sorted factor keeps its levels). Third-party ALTREP classes with their own serialization still raiseUnsupportedRDS. - The "native" (non-XDR) binary RDS format has no self-describing byte
order.
rdsframevalidates the header under the reading machine's order and retries the opposite order before giving up, so a cross-endian file produces a clear error or a correct read -- but XDR (saveRDS's default) remains the only portable choice. - A CHARSXP with no explicit UTF-8/ASCII/latin-1 flag uses the encoding the
RDS version-3 header itself declares when it is recognized, else UTF-8.
For older files where that guess is wrong, pass
encoding="windows-1252"(or any Python codec) to the read functions or--encodingon the CLI. The same override also guards against files that claim UTF-8 in their flags but contain differently-encoded bytes: whenencoding=is given, flagged-UTF-8 strings are validated and re-decoded with the override on failure. Without it, flags are trusted as-is -- that zero-validation fast path is deliberate. - Parquet has no complex-number type, so complex columns are written as
STRUCT(real DOUBLE, imag DOUBLE): a lossless representation, not a native semantic type. Consumers must reassemblereal + imag*ithemselves. difftimevalues are normalized to Arrowduration("us")in Parquet. The elapsed time is exact, but the original display unit ("weeks"vs"days"vs"secs") is not distinguishable from the Parquet type alone.- Heterogeneous list-columns raise
UnsupportedRDSunlesslist_column_mode="json"or"string"is passed. This is deliberate: silently coercing mixed structures would violate the no-implicit-loss contract, so the caller must pick the representation. - Environments are read as a plain dict of their contents; the parent scope
(enclosure) and lock flag are not represented. S4 objects are read as a
dict of their slots with the class recorded under
"$r_class".
License
MIT © 2026 Miguel Antonio Manay López.
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 rdsframe-0.4.0b2.tar.gz.
File metadata
- Download URL: rdsframe-0.4.0b2.tar.gz
- Upload date:
- Size: 263.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
671af32dd76d972bd065cd9daad2a453c9a27511f6857882d82916d7549d853e
|
|
| MD5 |
becf921c160c92d05418183397da1c87
|
|
| BLAKE2b-256 |
0ffb5acdfd4bdb22c96bc8c49075ce47e0e472083c84b721026ccbac66f3dcef
|
Provenance
The following attestation bundles were made for rdsframe-0.4.0b2.tar.gz:
Publisher:
release.yml on mmanaylopez/rdsframe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rdsframe-0.4.0b2.tar.gz -
Subject digest:
671af32dd76d972bd065cd9daad2a453c9a27511f6857882d82916d7549d853e - Sigstore transparency entry: 2195083731
- Sigstore integration time:
-
Permalink:
mmanaylopez/rdsframe@a6831c4f17d2f63e94899d4ec8f8d71ef6fd7e0b -
Branch / Tag:
refs/tags/v0.4.0b2 - Owner: https://github.com/mmanaylopez
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a6831c4f17d2f63e94899d4ec8f8d71ef6fd7e0b -
Trigger Event:
push
-
Statement type:
File details
Details for the file rdsframe-0.4.0b2-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: rdsframe-0.4.0b2-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 122.2 kB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5aa0e673a9ea158bd1a7787ec41f8a4f8c6f0a3d68d82d357879a1f809e05b68
|
|
| MD5 |
06d472dd74363e8c304d186111715149
|
|
| BLAKE2b-256 |
2607cc13502f25c03e9894f64c3f52a791c1abed9b0e004e8d8cd603c0f663b9
|
Provenance
The following attestation bundles were made for rdsframe-0.4.0b2-cp313-cp313-win_amd64.whl:
Publisher:
release.yml on mmanaylopez/rdsframe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rdsframe-0.4.0b2-cp313-cp313-win_amd64.whl -
Subject digest:
5aa0e673a9ea158bd1a7787ec41f8a4f8c6f0a3d68d82d357879a1f809e05b68 - Sigstore transparency entry: 2195083740
- Sigstore integration time:
-
Permalink:
mmanaylopez/rdsframe@a6831c4f17d2f63e94899d4ec8f8d71ef6fd7e0b -
Branch / Tag:
refs/tags/v0.4.0b2 - Owner: https://github.com/mmanaylopez
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a6831c4f17d2f63e94899d4ec8f8d71ef6fd7e0b -
Trigger Event:
push
-
Statement type:
File details
Details for the file rdsframe-0.4.0b2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: rdsframe-0.4.0b2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 524.5 kB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
28ac3b1483463b7eadda2a776d1a9bb99240945c548d0cc1b42ab5d2d3897367
|
|
| MD5 |
d32ab5b5784b239c7341a87c6d84040b
|
|
| BLAKE2b-256 |
ad58eef2b48bc2ce062b3005594b53b015cf2e3938ebc408ab75748fcf18cd79
|
Provenance
The following attestation bundles were made for rdsframe-0.4.0b2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
release.yml on mmanaylopez/rdsframe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rdsframe-0.4.0b2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
28ac3b1483463b7eadda2a776d1a9bb99240945c548d0cc1b42ab5d2d3897367 - Sigstore transparency entry: 2195083812
- Sigstore integration time:
-
Permalink:
mmanaylopez/rdsframe@a6831c4f17d2f63e94899d4ec8f8d71ef6fd7e0b -
Branch / Tag:
refs/tags/v0.4.0b2 - Owner: https://github.com/mmanaylopez
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a6831c4f17d2f63e94899d4ec8f8d71ef6fd7e0b -
Trigger Event:
push
-
Statement type:
File details
Details for the file rdsframe-0.4.0b2-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: rdsframe-0.4.0b2-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 132.7 kB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f02e3d1982b1f03335263c883a4e909e83bd3bc2eb765625305c270d68f88f91
|
|
| MD5 |
7d8646f2ff2624992206e46944201b6e
|
|
| BLAKE2b-256 |
31f407c0a656f8bd18ecb63416279ed5acdb3ecbb7a2938a197f91e8121ac56c
|
Provenance
The following attestation bundles were made for rdsframe-0.4.0b2-cp313-cp313-macosx_11_0_arm64.whl:
Publisher:
release.yml on mmanaylopez/rdsframe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rdsframe-0.4.0b2-cp313-cp313-macosx_11_0_arm64.whl -
Subject digest:
f02e3d1982b1f03335263c883a4e909e83bd3bc2eb765625305c270d68f88f91 - Sigstore transparency entry: 2195083821
- Sigstore integration time:
-
Permalink:
mmanaylopez/rdsframe@a6831c4f17d2f63e94899d4ec8f8d71ef6fd7e0b -
Branch / Tag:
refs/tags/v0.4.0b2 - Owner: https://github.com/mmanaylopez
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a6831c4f17d2f63e94899d4ec8f8d71ef6fd7e0b -
Trigger Event:
push
-
Statement type:
File details
Details for the file rdsframe-0.4.0b2-cp313-cp313-macosx_10_13_x86_64.whl.
File metadata
- Download URL: rdsframe-0.4.0b2-cp313-cp313-macosx_10_13_x86_64.whl
- Upload date:
- Size: 132.5 kB
- Tags: CPython 3.13, macOS 10.13+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0784321c0b15e9b3a6209b5dfd6577e03cfbb2163c19952bcf34be8dcc7561d8
|
|
| MD5 |
e09d1f0476585d8775d3b7946c9e01f6
|
|
| BLAKE2b-256 |
083a9db55ec78e1e5b8d1ba82b963dd448acb3db2d608c970f172a2f386cc42f
|
Provenance
The following attestation bundles were made for rdsframe-0.4.0b2-cp313-cp313-macosx_10_13_x86_64.whl:
Publisher:
release.yml on mmanaylopez/rdsframe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rdsframe-0.4.0b2-cp313-cp313-macosx_10_13_x86_64.whl -
Subject digest:
0784321c0b15e9b3a6209b5dfd6577e03cfbb2163c19952bcf34be8dcc7561d8 - Sigstore transparency entry: 2195083842
- Sigstore integration time:
-
Permalink:
mmanaylopez/rdsframe@a6831c4f17d2f63e94899d4ec8f8d71ef6fd7e0b -
Branch / Tag:
refs/tags/v0.4.0b2 - Owner: https://github.com/mmanaylopez
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a6831c4f17d2f63e94899d4ec8f8d71ef6fd7e0b -
Trigger Event:
push
-
Statement type:
File details
Details for the file rdsframe-0.4.0b2-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: rdsframe-0.4.0b2-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 122.5 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9a2aa1eac09267f6b7298eb6dff47aa306c5fdc3ac51e56e1ed3928d61b315cb
|
|
| MD5 |
f71c3bf8c7632c786447666684472f7e
|
|
| BLAKE2b-256 |
8ba43c9496fa13755119ad995ffe2e4be50ca90d3a9389bedef0da72d5e30358
|
Provenance
The following attestation bundles were made for rdsframe-0.4.0b2-cp312-cp312-win_amd64.whl:
Publisher:
release.yml on mmanaylopez/rdsframe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rdsframe-0.4.0b2-cp312-cp312-win_amd64.whl -
Subject digest:
9a2aa1eac09267f6b7298eb6dff47aa306c5fdc3ac51e56e1ed3928d61b315cb - Sigstore transparency entry: 2195083850
- Sigstore integration time:
-
Permalink:
mmanaylopez/rdsframe@a6831c4f17d2f63e94899d4ec8f8d71ef6fd7e0b -
Branch / Tag:
refs/tags/v0.4.0b2 - Owner: https://github.com/mmanaylopez
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a6831c4f17d2f63e94899d4ec8f8d71ef6fd7e0b -
Trigger Event:
push
-
Statement type:
File details
Details for the file rdsframe-0.4.0b2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: rdsframe-0.4.0b2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 529.5 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c7efeae3f092355b504978660310845a40a2ba892c3f00c88194b19c34b3ace5
|
|
| MD5 |
fc8a95dff02d24594b98def099569d55
|
|
| BLAKE2b-256 |
50b0eaeb39d8546c7155d05feff89283620bbe89b19425bb37719530109a37b2
|
Provenance
The following attestation bundles were made for rdsframe-0.4.0b2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
release.yml on mmanaylopez/rdsframe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rdsframe-0.4.0b2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
c7efeae3f092355b504978660310845a40a2ba892c3f00c88194b19c34b3ace5 - Sigstore transparency entry: 2195083892
- Sigstore integration time:
-
Permalink:
mmanaylopez/rdsframe@a6831c4f17d2f63e94899d4ec8f8d71ef6fd7e0b -
Branch / Tag:
refs/tags/v0.4.0b2 - Owner: https://github.com/mmanaylopez
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a6831c4f17d2f63e94899d4ec8f8d71ef6fd7e0b -
Trigger Event:
push
-
Statement type:
File details
Details for the file rdsframe-0.4.0b2-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: rdsframe-0.4.0b2-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 133.2 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
40dec8b56043d525110373baa8da4864f541d9ab6ad0318b9ba864e6a18799f1
|
|
| MD5 |
e1ef35054c445b89a10c15f475a69b56
|
|
| BLAKE2b-256 |
37aa5ef3754f4866375bd4aab433a57b803d63c7e84934f74f32fc1f8336e0ea
|
Provenance
The following attestation bundles were made for rdsframe-0.4.0b2-cp312-cp312-macosx_11_0_arm64.whl:
Publisher:
release.yml on mmanaylopez/rdsframe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rdsframe-0.4.0b2-cp312-cp312-macosx_11_0_arm64.whl -
Subject digest:
40dec8b56043d525110373baa8da4864f541d9ab6ad0318b9ba864e6a18799f1 - Sigstore transparency entry: 2195083807
- Sigstore integration time:
-
Permalink:
mmanaylopez/rdsframe@a6831c4f17d2f63e94899d4ec8f8d71ef6fd7e0b -
Branch / Tag:
refs/tags/v0.4.0b2 - Owner: https://github.com/mmanaylopez
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a6831c4f17d2f63e94899d4ec8f8d71ef6fd7e0b -
Trigger Event:
push
-
Statement type:
File details
Details for the file rdsframe-0.4.0b2-cp312-cp312-macosx_10_13_x86_64.whl.
File metadata
- Download URL: rdsframe-0.4.0b2-cp312-cp312-macosx_10_13_x86_64.whl
- Upload date:
- Size: 133.2 kB
- Tags: CPython 3.12, macOS 10.13+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8ca8fde23d2ccabc665797ea3c9b31d5a198d718ac755271bcdcc6e7753a22e7
|
|
| MD5 |
8002ccb84d43d16c01d9869007275331
|
|
| BLAKE2b-256 |
2ea3a16f89fb5408a08323e9ec4b15974800fd8183aab8a2d3eb97732201a38b
|
Provenance
The following attestation bundles were made for rdsframe-0.4.0b2-cp312-cp312-macosx_10_13_x86_64.whl:
Publisher:
release.yml on mmanaylopez/rdsframe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rdsframe-0.4.0b2-cp312-cp312-macosx_10_13_x86_64.whl -
Subject digest:
8ca8fde23d2ccabc665797ea3c9b31d5a198d718ac755271bcdcc6e7753a22e7 - Sigstore transparency entry: 2195083827
- Sigstore integration time:
-
Permalink:
mmanaylopez/rdsframe@a6831c4f17d2f63e94899d4ec8f8d71ef6fd7e0b -
Branch / Tag:
refs/tags/v0.4.0b2 - Owner: https://github.com/mmanaylopez
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a6831c4f17d2f63e94899d4ec8f8d71ef6fd7e0b -
Trigger Event:
push
-
Statement type:
File details
Details for the file rdsframe-0.4.0b2-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: rdsframe-0.4.0b2-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 121.7 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
17ede789ef493974e8b7e7586ffdde35dc0d65fe43f85dbf6d390905004f1eb0
|
|
| MD5 |
be4b8fd2762842e4279168e2f2f5f62b
|
|
| BLAKE2b-256 |
23ca674bd88a4a9fe67fda7a79b2e018e790350e8aca73d8b1371da0c7368873
|
Provenance
The following attestation bundles were made for rdsframe-0.4.0b2-cp311-cp311-win_amd64.whl:
Publisher:
release.yml on mmanaylopez/rdsframe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rdsframe-0.4.0b2-cp311-cp311-win_amd64.whl -
Subject digest:
17ede789ef493974e8b7e7586ffdde35dc0d65fe43f85dbf6d390905004f1eb0 - Sigstore transparency entry: 2195083765
- Sigstore integration time:
-
Permalink:
mmanaylopez/rdsframe@a6831c4f17d2f63e94899d4ec8f8d71ef6fd7e0b -
Branch / Tag:
refs/tags/v0.4.0b2 - Owner: https://github.com/mmanaylopez
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a6831c4f17d2f63e94899d4ec8f8d71ef6fd7e0b -
Trigger Event:
push
-
Statement type:
File details
Details for the file rdsframe-0.4.0b2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: rdsframe-0.4.0b2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 526.7 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f954032cac7a1492b92c2e6123120fc466bfe88cdf854a32df7fa49085b79f21
|
|
| MD5 |
51ad35917d481a901e4145d7207b70c5
|
|
| BLAKE2b-256 |
4ae44535c0ecdc26da9bd0356911a4e43d03421643424325c9c02d73074bf83e
|
Provenance
The following attestation bundles were made for rdsframe-0.4.0b2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
release.yml on mmanaylopez/rdsframe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rdsframe-0.4.0b2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
f954032cac7a1492b92c2e6123120fc466bfe88cdf854a32df7fa49085b79f21 - Sigstore transparency entry: 2195083792
- Sigstore integration time:
-
Permalink:
mmanaylopez/rdsframe@a6831c4f17d2f63e94899d4ec8f8d71ef6fd7e0b -
Branch / Tag:
refs/tags/v0.4.0b2 - Owner: https://github.com/mmanaylopez
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a6831c4f17d2f63e94899d4ec8f8d71ef6fd7e0b -
Trigger Event:
push
-
Statement type:
File details
Details for the file rdsframe-0.4.0b2-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: rdsframe-0.4.0b2-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 132.8 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cdf5ba5fe9d30a2c4b0a3ba93268c4f70a8377b3d79a996eb3284922ad0c6f29
|
|
| MD5 |
d932dd4736d86967a431f3f494366a9d
|
|
| BLAKE2b-256 |
01aa42d94c492abd2c4cb8c66a1ae8ec91d1216b394edf9220a08589b38b83fe
|
Provenance
The following attestation bundles were made for rdsframe-0.4.0b2-cp311-cp311-macosx_11_0_arm64.whl:
Publisher:
release.yml on mmanaylopez/rdsframe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rdsframe-0.4.0b2-cp311-cp311-macosx_11_0_arm64.whl -
Subject digest:
cdf5ba5fe9d30a2c4b0a3ba93268c4f70a8377b3d79a996eb3284922ad0c6f29 - Sigstore transparency entry: 2195083906
- Sigstore integration time:
-
Permalink:
mmanaylopez/rdsframe@a6831c4f17d2f63e94899d4ec8f8d71ef6fd7e0b -
Branch / Tag:
refs/tags/v0.4.0b2 - Owner: https://github.com/mmanaylopez
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a6831c4f17d2f63e94899d4ec8f8d71ef6fd7e0b -
Trigger Event:
push
-
Statement type:
File details
Details for the file rdsframe-0.4.0b2-cp311-cp311-macosx_10_9_x86_64.whl.
File metadata
- Download URL: rdsframe-0.4.0b2-cp311-cp311-macosx_10_9_x86_64.whl
- Upload date:
- Size: 132.3 kB
- Tags: CPython 3.11, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
59ec4d5e9757f4afce453af29574de5f0d009c0fb73c8e8057f93e22e7263230
|
|
| MD5 |
7be4641ca27cadf7a584648e489d32ea
|
|
| BLAKE2b-256 |
fb9214a1eca4695a2c722f4f20bc6804b032327b0a8def018e85cdba0be889b1
|
Provenance
The following attestation bundles were made for rdsframe-0.4.0b2-cp311-cp311-macosx_10_9_x86_64.whl:
Publisher:
release.yml on mmanaylopez/rdsframe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rdsframe-0.4.0b2-cp311-cp311-macosx_10_9_x86_64.whl -
Subject digest:
59ec4d5e9757f4afce453af29574de5f0d009c0fb73c8e8057f93e22e7263230 - Sigstore transparency entry: 2195083785
- Sigstore integration time:
-
Permalink:
mmanaylopez/rdsframe@a6831c4f17d2f63e94899d4ec8f8d71ef6fd7e0b -
Branch / Tag:
refs/tags/v0.4.0b2 - Owner: https://github.com/mmanaylopez
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a6831c4f17d2f63e94899d4ec8f8d71ef6fd7e0b -
Trigger Event:
push
-
Statement type:
File details
Details for the file rdsframe-0.4.0b2-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: rdsframe-0.4.0b2-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 121.6 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fd9f35ac347e5e59d5cf85251cce8f0e1986c309b2a4f0d414d0f5aff13da5ef
|
|
| MD5 |
ff0fee52d8d7b6118759f89c6cfa6205
|
|
| BLAKE2b-256 |
ed570618f626bf1b9a7f4944df0d9c9562c56d841b0195c37d34631dcab9d4ca
|
Provenance
The following attestation bundles were made for rdsframe-0.4.0b2-cp310-cp310-win_amd64.whl:
Publisher:
release.yml on mmanaylopez/rdsframe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rdsframe-0.4.0b2-cp310-cp310-win_amd64.whl -
Subject digest:
fd9f35ac347e5e59d5cf85251cce8f0e1986c309b2a4f0d414d0f5aff13da5ef - Sigstore transparency entry: 2195083802
- Sigstore integration time:
-
Permalink:
mmanaylopez/rdsframe@a6831c4f17d2f63e94899d4ec8f8d71ef6fd7e0b -
Branch / Tag:
refs/tags/v0.4.0b2 - Owner: https://github.com/mmanaylopez
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a6831c4f17d2f63e94899d4ec8f8d71ef6fd7e0b -
Trigger Event:
push
-
Statement type:
File details
Details for the file rdsframe-0.4.0b2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: rdsframe-0.4.0b2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 498.7 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
268708fd26d44b666087804022c750ae5fcacab793bade4feeea09b4107308f3
|
|
| MD5 |
8a432906fb627ee721814f60829b066e
|
|
| BLAKE2b-256 |
4c9dc053d239aa348fe902dadd80b2c34e847f603190f3d41886b069c535c284
|
Provenance
The following attestation bundles were made for rdsframe-0.4.0b2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
release.yml on mmanaylopez/rdsframe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rdsframe-0.4.0b2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
268708fd26d44b666087804022c750ae5fcacab793bade4feeea09b4107308f3 - Sigstore transparency entry: 2195083865
- Sigstore integration time:
-
Permalink:
mmanaylopez/rdsframe@a6831c4f17d2f63e94899d4ec8f8d71ef6fd7e0b -
Branch / Tag:
refs/tags/v0.4.0b2 - Owner: https://github.com/mmanaylopez
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a6831c4f17d2f63e94899d4ec8f8d71ef6fd7e0b -
Trigger Event:
push
-
Statement type:
File details
Details for the file rdsframe-0.4.0b2-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: rdsframe-0.4.0b2-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 133.1 kB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
19241e64f9619d67a0777c9cfd922d80b89f3131e1eafa2d2764f17b62d08929
|
|
| MD5 |
5a134d17617fb24c2e7ace0f16b82587
|
|
| BLAKE2b-256 |
735c60c18e8ca3dea41c1f6e313df28bc26ea453767fc53c325fe1d2109da47c
|
Provenance
The following attestation bundles were made for rdsframe-0.4.0b2-cp310-cp310-macosx_11_0_arm64.whl:
Publisher:
release.yml on mmanaylopez/rdsframe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rdsframe-0.4.0b2-cp310-cp310-macosx_11_0_arm64.whl -
Subject digest:
19241e64f9619d67a0777c9cfd922d80b89f3131e1eafa2d2764f17b62d08929 - Sigstore transparency entry: 2195083831
- Sigstore integration time:
-
Permalink:
mmanaylopez/rdsframe@a6831c4f17d2f63e94899d4ec8f8d71ef6fd7e0b -
Branch / Tag:
refs/tags/v0.4.0b2 - Owner: https://github.com/mmanaylopez
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a6831c4f17d2f63e94899d4ec8f8d71ef6fd7e0b -
Trigger Event:
push
-
Statement type:
File details
Details for the file rdsframe-0.4.0b2-cp310-cp310-macosx_10_9_x86_64.whl.
File metadata
- Download URL: rdsframe-0.4.0b2-cp310-cp310-macosx_10_9_x86_64.whl
- Upload date:
- Size: 132.6 kB
- Tags: CPython 3.10, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
07401dbc68b91ea5e4b93e59f23aeeb49c82d590f151f1ee718ad87dee3061ba
|
|
| MD5 |
1d9553878c5375b7fc837c1f630c32cb
|
|
| BLAKE2b-256 |
be613b85ef7bb499ed847d566bfe730d437958613f92144459b3751626a6dd73
|
Provenance
The following attestation bundles were made for rdsframe-0.4.0b2-cp310-cp310-macosx_10_9_x86_64.whl:
Publisher:
release.yml on mmanaylopez/rdsframe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rdsframe-0.4.0b2-cp310-cp310-macosx_10_9_x86_64.whl -
Subject digest:
07401dbc68b91ea5e4b93e59f23aeeb49c82d590f151f1ee718ad87dee3061ba - Sigstore transparency entry: 2195083754
- Sigstore integration time:
-
Permalink:
mmanaylopez/rdsframe@a6831c4f17d2f63e94899d4ec8f8d71ef6fd7e0b -
Branch / Tag:
refs/tags/v0.4.0b2 - Owner: https://github.com/mmanaylopez
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a6831c4f17d2f63e94899d4ec8f8d71ef6fd7e0b -
Trigger Event:
push
-
Statement type: