Skip to main content

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_HOME environment 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)

Table of built distributions (wheels) for dinkster-kitchen 0.2.35.post1
File
dinkster_kitchen-0.2.35.post1-py3-none-any.whl Python 3 none any Details
dinkster_kitchen-0.2.35.post1-cp312-abi3-win_arm64.whl CPython 3.12 abi3 Windows ARM64 Details
dinkster_kitchen-0.2.35.post1-cp312-abi3-win_amd64.whl CPython 3.12 abi3 Windows x86-64 Details
dinkster_kitchen-0.2.35.post1-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 abi3 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
dinkster_kitchen-0.2.35.post1-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 abi3 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
dinkster_kitchen-0.2.35.post1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
dinkster_kitchen-0.2.35.post1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
dinkster_kitchen-0.2.35.post1-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
dinkster_kitchen-0.2.35.post1-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
dinkster_kitchen-0.2.35.post1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
dinkster_kitchen-0.2.35.post1-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details

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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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

Release history Release notifications | RSS feed

This release

0.2.35.post1 This release

11 release files

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