Dinkster Kitchen
Fast kernel library for Diffusion inference with multiple compute backends.
Dinkster fork
This repository is the Dinkster fork of
Comfy-Org/comfy-kitchen. The
distribution is published as dinkster-kitchen and the importable package is
renamed dinkster_kitchen, so this fork installs side by side with the
upstream comfy-kitchen distribution without touching its files. Fork
releases use the upstream version plus a .postN suffix (for example upstream
0.2.35 ships as fork 0.2.35.post1) for fork-only changes made between
upstream syncs.
Sync upstream changes with:
git remote add upstream https://github.com/Comfy-Org/comfy-kitchen.git
git fetch upstream
git merge upstream/main
Expected merge conflicts are limited to the fork metadata that already diverges
here: the project name, version and Homepage URL in pyproject.toml, and the
repository gates in the .github/workflows/ files. After merging, re-run the
case-preserving token rename comfy_kitchen -> dinkster_kitchen (and
COMFY_KITCHEN -> DINKSTER_KITCHEN) over the merged tree, because newly
merged upstream files carry the upstream import name again, then build and run
the test suite.
Backend Capabilities Matrix
| Function | eager | cuda | triton | hip |
|---|---|---|---|---|
quantize_per_tensor_fp8 |
✓ | ✓ | ✓ | ✓ |
dequantize_per_tensor_fp8 |
✓ | ✓ | ✓ | ✓ |
stochastic_rounding_fp8 |
✓ | ✓ | ✓ | |
quantize_nvfp4 |
✓ | ✓ | ✓ | |
dequantize_nvfp4 |
✓ | ✓ | ✓ | |
scaled_mm_nvfp4 |
✓ | ✓ | ||
quantize_mxfp8 |
✓ | ✓ | ✓ | |
dequantize_mxfp8 |
✓ | |||
scaled_mm_mxfp8 |
✓ | |||
adaln |
✓ | ✓ | ✓ | ✓ |
rms_adaln |
✓ | ✓ | ✓ | ✓ |
na3d |
✓ | ✓ | ✓ | ✓ |
na2d |
✓ | ✓ | ✓ | ✓ |
sol_attn |
✓ | ✓ | ✓ | |
int8_attention |
✓ | ✓ | ||
apply_rope |
✓ | ✓ | ✓ | ✓ |
apply_rope1 |
✓ | ✓ | ✓ | ✓ |
apply_rope_split_half |
✓ | ✓ | ✓ | ✓ |
apply_rope_split_half1 |
✓ | ✓ | ✓ | ✓ |
rms_rope |
✓ | ✓ | ✓ | ✓ |
rms_rope1 |
✓ | ✓ | ✓ | ✓ |
rms_rope_split_half |
✓ | ✓ | ✓ | ✓ |
rms_rope_split_half1 |
✓ | ✓ | ✓ | ✓ |
quantize_int8_rowwise |
✓ | ✓ | ✓ | ✓ |
quantize_int8_tensorwise |
✓ | ✓ | ✓ | |
quantize_and_rotate_rowwise |
✓ | ✓ | ✓ | ✓ |
quantize_int8_convrot_weight |
✓ | ✓ | ✓ | |
dequantize_int8_simple_dtype |
✓ | ✓ | ✓ | |
dequantize_int8_convrot_weight_dtype |
✓ | ✓ | ✓ | |
int8_linear |
✓ | ✓ | ✓ | ✓ |
gemv_awq_w4a16 |
✓ | ✓ | ✓ | |
quantize_svdquant_w4a4 |
✓ | ✓ | ✓ | |
scaled_mm_svdquant_w4a4 |
✓ | ✓ | ✓ | |
convrot_w4a4_linear |
✓ | ✓ | ✓ | |
quantize_convrot_w4a4_weight |
✓ | ✓ | ✓ | |
dequantize_convrot_w4a4_weight |
✓ | ✓ | ✓ |
Each of the eight rope entries also has an in-place form (apply_rope_,
rms_rope_split_half1_, ...) with the same backend coverage as the row above.
HIP backend (AMD RDNA2 / RDNA3 / RDNA3.5 / RDNA4)
The hip backend implements the quantized paths with its own kernels: WMMA
matrix-core GEMMs on RDNA3/RDNA3.5/RDNA4, and non-WMMA kernels (quantizers,
INT8 dequantizers, RoPE and the fused RMSNorm+RoPE, AdaLN and RMS-AdaLN, the AWQ
GEMV) that also run on RDNA2. It does not link or call hipBLAS/hipBLASLt; every
matmul is compiled from the sources in dinkster_kitchen/backends/hip/.
Both rope kernels address their inputs through the tensor's own strides, so a q/k
pair permuted or sliced out of a packed qkv is read where it lies rather than
copied contiguous first. The in-place entries (apply_rope_, rms_rope_ and
their split-half and single-tensor siblings) rotate a strided view in place for
the same reason: each thread owns one element pair and loads both before storing
either.
int8_linear(input_act=...) folds the activation into the fused ConvRot
quantizer's load, so an MLP's linear(act(proj(x))) never writes act's output to
HBM just to read it straight back.
What a GPU gets depends on whether it has matrix cores:
| Generation | gfx targets | Matrix cores | What runs |
|---|---|---|---|
| RDNA4 | gfx1200, gfx1201 |
WMMA + fp8 | All HIP-supported kernels, fp8 native |
| RDNA3.5 | gfx1150-gfx1153 |
WMMA, no fp8 | All HIP-supported kernels; fp8 widened |
| RDNA3 | gfx1100-gfx1103 |
WMMA, no fp8 | All HIP-supported kernels; fp8 widened |
| RDNA2 | gfx1030-gfx1036 |
none | Non-WMMA kernels incl. AWQ GEMV; WMMA GEMMs decline |
fp8, int8 and int4 share one byte-addressed tile kernel (gemm_wmma.h). RDNA3
and RDNA4 spread a WMMA operand across the wave differently and RDNA3 has no fp8
WMMA (it widens to bf16, which is exact), so each has its own set of Mma
policies in mma.h; the tile kernel itself is shared.
RDNA2 has no matrix cores. It runs the kernels that do not need them (RoPE, AdaLN and RMS-AdaLN, the quantizers, stochastic rounding, the AWQ GEMV) and does not advertise the GEMMs, which fall through to triton/eager. In a process with a mix of GPUs the capability set is the intersection, since kernels launch on the tensor's own device.
A request outside a kernel's domain (swizzled operands, scaling other than
tensor-wise, a K that is not a multiple of 16) falls back to torch or eager.
NVFP4 and MXFP8 stay on eager everywhere: RDNA has neither fp4 WMMA nor
microscaling hardware. Set DINKSTER_KITCHEN_DISABLE_HIP=1 to remove the backend
from dispatch.
Building
On a ROCm-only host, the backend is selected automatically when CUDA's nvcc
is absent. Both a system ROCm install and the pip rocm-sdk layout (which a
ROCm PyTorch build already pulls in) are detected, so on Linux and Windows alike
the usual build is:
pip install .
No environment variables, CC/CXX override or Visual Studio developer shell
are needed: the ROCm clang builds C, C++ and HIP alike and locates the MSVC
toolchain itself. CMake >= 3.26 and Ninja are required (Windows only ships a
Visual Studio generator, which has no HIP language support). On Windows the
Microsoft C++ build tools and Windows SDK must be installed, since clang links
against them and CMake compiles a resource file with the SDK's rc.exe, which
the build locates itself rather than expecting on PATH. Use the Visual Studio
2022 v143 toolset; newer MSVC toolsets are not yet reliable with ROCm.
When CUDA and ROCm toolchains are both installed, the source build defaults to CUDA only. This avoids compiling an unused multi-architecture HIP binary on an NVIDIA workstation. Request a combined build explicitly:
DINKSTER_KITCHEN_BUILD_HIP=1 pip install .
Architectures default to the validated GPUs the build machine can see, or to
every target in the backend's architecture manifest when it can see none (a CI
box), which is what the wheels carry. Detection reads the visible devices
through PyTorch, so under PEP 517 build isolation (a plain pip install .) it
sees nothing and falls back to the full target list; set COMFY_HIP_ARCHS, or
pass --no-build-isolation, to build for the local GPU instead. Building for
one target is much faster:
COMFY_HIP_ARCHS=gfx1201 pip install .
$env:COMFY_HIP_ARCHS = "gfx1201"; pip install .
PYTORCH_ROCM_ARCH and GPU_ARCHS are honoured too. When the build machine sees
AMD GPUs but none is RDNA2/3/3.5/4 (CDNA has MFMA, not WMMA), the extension is
skipped rather than built (seeing no GPU at all falls back to the full target list
above instead);
DINKSTER_KITCHEN_BUILD_HIP=1 requests HIP explicitly (and makes an unsupported
visible AMD GPU a hard error), while DINKSTER_KITCHEN_BUILD_NO_HIP=1 suppresses
the backend entirely.
Architecture overrides are exact and fail closed. A compiler-recognized target that is not in the manifest is rejected until its device and WMMA policies have been reviewed and added.
Both extensions are built against the Python limited API on 3.12+, so a wheel
carrying CUDA and HIP side by side keeps its abi3 tag. At runtime only the
extension matching PyTorch's CUDA or ROCm runtime is loaded.
Quantized Tensors
The library provides QuantizedTensor, a torch.Tensor subclass that transparently intercepts PyTorch operations and dispatches them to optimized quantized kernels when available.
| Layout | Format | HW Requirement | Description |
|---|---|---|---|
TensorCoreFP8Layout |
FP8 E4M3 | SM ≥ 8.9 (Ada) | Per-tensor scaling, 1:1 element mapping |
TensorCoreNVFP4Layout |
NVFP4 E2M1 | SM ≥ 10.0 (Blackwell) | Block quantization with 16-element blocks |
TensorCoreMXFP8Layout |
MXFP8 E4M3 | SM ≥ 10.0 (Blackwell) | Block quantization with 32-element blocks, E8M0 scales |
from dinkster_kitchen.tensor import QuantizedTensor, TensorCoreFP8Layout, TensorCoreNVFP4Layout
# Quantize a tensor
x = torch.randn(128, 256, device="cuda", dtype=torch.bfloat16)
qt = QuantizedTensor.from_float(x, TensorCoreFP8Layout)
# Operations dispatch to optimized kernels automatically
output = torch.nn.functional.linear(qt, weight_qt)
# Dequantize back to float
dq = qt.dequantize()
Installation
From PyPI
# Install default (Linux/Windows/MacOS)
pip install dinkster-kitchen
# Install with CUBLAS for NVFP4 (+Blackwell)
pip install dinkster-kitchen[cublas]
Package Variants
- CUDA wheels: Linux x86_64 and Windows x64
- Pure Python wheel: Any platform, eager and triton backends only
Wheels are built for Python 3.10, 3.11, and 3.12+ (using Stable ABI for 3.12+).
From Source
# Standard installation with CUDA support
pip install .
# Development installation
pip install -e ".[dev]"
# For faster rebuilds during development (skip build isolation)
pip install -e . --no-build-isolation -v
Build Options
These options require using setup.py directly (not pip install):
| Option | Command | Description | Default |
|---|---|---|---|
--no-cuda |
python setup.py bdist_wheel --no-cuda |
Disable CUDA; without --hip, build a CPU-only wheel |
Enabled (build with CUDA) |
--hip |
python setup.py bdist_wheel --hip |
Add HIP explicitly (including to a CUDA build) | Auto only when CUDA is unavailable |
--no-hip |
python setup.py bdist_wheel --no-hip |
Disable HIP | Disabled |
--hip-archs=... |
python setup.py build_ext --hip-archs="gfx1200;gfx1201" |
HIP architectures to build for | Visible supported AMD GPUs, otherwise all supported targets |
--cuda-archs=... |
python setup.py build_ext --cuda-archs="80;89" |
CUDA architectures to build for | 75-virtual;80;89;90a;100f;120f (Linux), 75-virtual;80;89;120f (Windows) |
--debug-build |
python setup.py build_ext --debug-build |
Build in debug mode with symbols | Disabled (Release) |
--lineinfo |
python setup.py build_ext --lineinfo |
Enable NVCC line info for profiling | Disabled |
# Build CPU-only wheel (pure Python, no CUDA required)
python setup.py bdist_wheel --no-cuda
# Build with custom CUDA architectures
python setup.py build_ext --cuda-archs="80;89" bdist_wheel
# Debug build with line info for profiling
python setup.py build_ext --debug-build --lineinfo bdist_wheel
Requirements
- Python: ≥3.10
- PyTorch: ≥2.7.0
- CUDA Runtime (for CUDA wheels): ≥13.0
- Pre-built wheels require NVIDIA Driver r580+
- Building from source requires CUDA Toolkit ≥12.8 and
CUDA_HOMEenvironment variable
- nanobind: ≥2.0.0 (for building from source)
- CMake: ≥3.26 (for building from source; the abi3 modules need FindPython's
Development.SABIModule)
Quick Start
import dinkster_kitchen as ck
import torch
# Automatic backend selection (hip -> cuda -> triton -> eager)
x = torch.randn(100, 100, device="cuda")
scale = torch.tensor([1.0], device="cuda")
result = ck.quantize_per_tensor_fp8(x, scale)
# Check which backends are available
print(ck.list_backends())
# Force a specific backend
result = ck.quantize_per_tensor_fp8(x, scale, backend="eager")
# Temporarily use a different backend
with ck.use_backend("triton"):
result = ck.quantize_per_tensor_fp8(x, scale)
Backend System
The library supports multiple backends:
- eager: Pure PyTorch implementation
- cuda: Custom CUDA C kernels (CUDA only)
- hip: Custom HIP kernels (WMMA GEMMs on RDNA3/3.5/4; non-WMMA kernels also on RDNA2)
- triton: Triton JIT-compiled kernels
Automatic Backend Selection
When you call a function, the registry selects the best backend by checking constraints in priority order (hip → cuda → triton → eager):
# Backend is selected automatically based on input constraints
result = ck.quantize_per_tensor_fp8(x, scale)
# On CPU tensors → falls back to eager (only backend supporting CPU)
# On CUDA tensors → uses cuda or triton (higher priority)
Constraint System
Each backend declares constraints for its functions:
| Constraint | Description |
|---|---|
| Device | Which device types are supported |
| Dtype | Allowed input/output dtypes per parameter |
| Shape | Shape requirements (e.g., 2D tensors, dimensions divisible by 16) |
| Compute Capability | Minimum GPU architecture (e.g., SM 8.0 for FP8, SM 10.0 for NVFP4) |
The registry validates inputs against these constraints before calling the backend—no try/except fallback patterns. If no backend can handle the inputs, a NoCapableBackendError is raised with details.
# Debug logging to see backend selection
import logging
logging.getLogger("dinkster_kitchen.dispatch").setLevel(logging.DEBUG)
Testing
Run the test suite with pytest:
# Run all tests
pytest
# Run specific test file
pytest tests/test_backends.py
# Run with verbose output
pytest -v
# Run specific test
pytest tests/test_backends.py::TestBackendSystem::test_list_backends
Metadata
Release files for dinkster-kitchen 0.2.35.post1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
Total release size: 344.0 MB
Release files / dinkster_kitchen-0.2.35.post1-py3-none-any.whl
| Download URL | dinkster_kitchen-0.2.35.post1-py3-none-any.whl |
|---|---|
| Size | 214.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
31458547cdcf9ff26974a4955cf79e83ebdf50077666720d3bb3255786c5fc4f
|
|
BLAKE2b-256 checksum How to use checksums |
2e2084e29ca1dedcd51eb5edd297d3c2f6c665cf2e30bb9237892f0f8d108d0d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 18, 2026.
Transparency logRelease files / dinkster_kitchen-0.2.35.post1-cp312-abi3-win_arm64.whl
| Download URL | dinkster_kitchen-0.2.35.post1-cp312-abi3-win_arm64.whl |
|---|---|
| Size | 6.2 MB |
| Tags | CPython 3.12 Windows ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
1a66fb2b56025071c0f2cda940c562336f2d890d69402ee5c5dd15864c290a40
|
|
BLAKE2b-256 checksum How to use checksums |
be0793cdfc91005c41a2b18774424afd9b1c6808da5ece7fda6b3eeeb732ffd1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 18, 2026.
Transparency logRelease files / dinkster_kitchen-0.2.35.post1-cp312-abi3-win_amd64.whl
| Download URL | dinkster_kitchen-0.2.35.post1-cp312-abi3-win_amd64.whl |
|---|---|
| Size | 38.5 MB |
| Tags | CPython 3.12 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
9e88381b5ae40bb789f1eac4589da495bf733759e9ed0e80583ee03d40b7485a
|
|
BLAKE2b-256 checksum How to use checksums |
c181b3bb4bd73fe3678b0e15b3f07c491b9586f47932226285789ccf5f9350c8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 18, 2026.
Transparency logRelease files / dinkster_kitchen-0.2.35.post1-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | dinkster_kitchen-0.2.35.post1-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 47.2 MB |
| Tags | CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
308a46985de495ba7eecc26bea4c9d68ba25dcc6de482c4b6e79b753d8ed0b86
|
|
BLAKE2b-256 checksum How to use checksums |
1de48321329b5a8158aedb8da2bdaec9b5eebd993e411ec233f2779def137f59
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 18, 2026.
Transparency logRelease files / dinkster_kitchen-0.2.35.post1-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | dinkster_kitchen-0.2.35.post1-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 26.8 MB |
| Tags | CPython 3.12 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
d1e7a71362ad01c0281114c94976ce7ececc8b6c9175064aa63774370fb3167f
|
|
BLAKE2b-256 checksum How to use checksums |
d7b9e962a4c84376b5594270bb24381a71a1a79a7179f59a0944e0559591d270
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 18, 2026.
Transparency logRelease files / dinkster_kitchen-0.2.35.post1-cp311-cp311-win_amd64.whl
| Download URL | dinkster_kitchen-0.2.35.post1-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 38.5 MB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
f490c8328b58d2869b0ee5e9cdf0e71513098f3acc316982f4c947c50b7ab302
|
|
BLAKE2b-256 checksum How to use checksums |
38b99326b0eeaf18eeaf0c00c38c5f10828c0668e8ffe5d1680199a7a4b5fcae
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 18, 2026.
Transparency logRelease files / dinkster_kitchen-0.2.35.post1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | dinkster_kitchen-0.2.35.post1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 47.2 MB |
| Tags | CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
f1eb9c008f9f4faeeb79f4a9f008003f238379662f52807c395d9b68e4cebf28
|
|
BLAKE2b-256 checksum How to use checksums |
342fd8acf8883a10c281904cdffaaf3b326cf5a39db9439505eec39362ae24b6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 18, 2026.
Transparency logRelease files / dinkster_kitchen-0.2.35.post1-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | dinkster_kitchen-0.2.35.post1-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 26.8 MB |
| Tags | CPython 3.11 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
fe40d780cdfb99b3495baa6a322d5fcde68f596de5ede2f688d83831a9d26729
|
|
BLAKE2b-256 checksum How to use checksums |
96e6a1caccdaafebd1307d99cce14ddb2b11bb164f105c6ccc87fde11cc2f05a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 18, 2026.
Transparency logRelease files / dinkster_kitchen-0.2.35.post1-cp310-cp310-win_amd64.whl
| Download URL | dinkster_kitchen-0.2.35.post1-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 38.5 MB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
dd58d0978a35236fbe3aece83fa37fd94d73d1990887627a40f11a3fba683762
|
|
BLAKE2b-256 checksum How to use checksums |
3c1f9e241a53e465e1d1a3121f8a49f50dcc7f492155198a02a734083f38fb44
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 18, 2026.
Transparency logRelease files / dinkster_kitchen-0.2.35.post1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | dinkster_kitchen-0.2.35.post1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 47.2 MB |
| Tags | CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
2c4824d17c2ee16cd943bd44af4993bee955f1625fa4c2f0ce06e72726c1b148
|
|
BLAKE2b-256 checksum How to use checksums |
b4fca341f661c502943a3164f32d40409c0c778ec9688596b0bd028ab34c1bb0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 18, 2026.
Transparency logRelease files / dinkster_kitchen-0.2.35.post1-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | dinkster_kitchen-0.2.35.post1-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 26.8 MB |
| Tags | CPython 3.10 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
c958bc2e6629c04349e75292f4dc794fa40b4cc5f39589b1ea11a3c749705592
|
|
BLAKE2b-256 checksum How to use checksums |
0b5eb52abce55a901ba243a2637f4ee360824aeb5119439518cd9b3fdaaeec99
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 18, 2026.
Transparency log