Kathryn2
A cycle-accurate control-flow and resource-abstraction HDL framework. Describe control flow and hardware resources at a high level in Python, keep full cycle-accurate control, and emit clean Verilog from a Rust core.
- You declare the registers, wires and modules, and write the control flow as nested blocks.
- Kathryn generates the state machines, the
alwaysblock that merges every write to a register, the pipeline handshakes, and the ports between modules. - Every register and clock edge in the output is one you declared.
- This repository is the Python + Rust implementation. See Status.
from kathryn import *
class Hello(Module):
@init
def declare(self):
self.x = reg(8, "x")
self.y = reg(8, "y")
@flow
def run(self):
with seq(): # two clocked steps, one after the other
self.x |= 48
self.y |= self.x
reset()
build_model(Hello())
emit_verilog("out") # out/top.v and out/sim_manifest.json
The three abstractions
1. Hybrid Design Flow (HDF)
An abstract model for hardware control flow.
- Sequential, parallel and conditional blocks, plus the pipeline halves
pip/zync, are plain Python context managers that compile to explicit state machines. - One flow can be an FSM in one place and flat RTL in the next.
- The block prefix says what it costs:
stakes a clocked step,creads its condition in the same cycle,zadds no state, and a statement outside any block is a plainalways.
| Blocks | Meaning |
|---|---|
seq par |
clocked steps / fork and join |
sif cif zif (+ cselif cselse zelif zelse) |
if chain: clocked / same cycle / zero cycle |
zstate zcase |
zero-cycle switch on a state signal |
swhile cwhile cdowhile cloop |
loops |
scwait sywait |
wait for a condition / for n cycles |
pick pif pidef |
multi-way select |
pip zync |
pipeline stage with its handshake |
@flow
def main(self): # inputs start, x; output busy; regs acc, n, run
self.busy *= self.run # flat RTL: always @(*)
with zif(self.start): # zero-cycle gate, no state
self.run |= 1
with seq(): # FSM: one state bit per step
scwait(self.start)
self.acc |= 0
with swhile(self.n < 4): # condition costs a step
self.acc |= self.acc + self.x
self.n |= self.n + 1
with cif(self.acc > 100): # condition read the same cycle
self.acc |= 100
self.run |= 0
- Generated: the state bits, the wait node, the loop's terminal test.
- Declared: the registers and wires, exactly the ones you wrote.
The pipeline halves, pip (granter) and zync (requester), build a stage and
its handshake:
@flow
def stages(self): # regs a, b, c; hold; self.arb = [PipCon() for _ in range(4)]
with pip(self.arb[0], auto_req=True): # source end: always requesting
with zync(self.arb[1]): # hands off to stage 2
self.a |= self.a + 1
with pip(self.arb[1]): # granted by stage 1's zync
with seq():
with cif(self.hold): # a stall, five cycles
sywait(5)
with zync(self.arb[2]):
self.b |= self.a
with pip(self.arb[2]):
with zync(self.arb[3], auto_ack=True): # sink end: always granted
self.c |= self.b
- Two adjacent stages share one
PipCon, so stage N'szyncis stage N+1's request. auto_reqis the always-requesting source end,auto_ackthe always-granted sink end.- Generated: the REQ/ACK wiring, the arbiter, the per-stage state. The stall in stage 2 back-pressures stage 1, which freezes with it.
2. Decentralized Update
Centralized control logic relaxed.
- In Verilog a register has one
alwaysblock, so every writer must be gathered into it. - In Kathryn a register has no block of its own. Any block may update it.
- Each assignment, from any flow and any depth, adds an update event with its own condition and priority.
- Several writers to one register are legal and deterministic: conflicts resolve exactly as declared, with no hand-routed valid/select tree.
@flow
def count(self): # inputs go, clr; reg cnt
self.cnt.reset(0) # an event at reset priority
with zif(self.go):
self.cnt |= self.cnt + 1 # a user-priority event, gated on go
@flow
def clear(self): # written somewhere else entirely
with zif(self.clr):
with priority(DEFAULT_UE_PRI_USER + 1):
self.cnt |= 0 # outranks the increment
- At build the events are sorted into one
alwaysblock where the last write wins: increment, then clear, then master reset. reg.reset(v)andwire.default(v)are events on the same ladder.- A new writer is a new method or a new file. Nothing existing changes.
3. Hardware Aggregator: the Karray
One entity that bundles many hardware components.
- A
Karrayis a multi-dimensional array of records. - Each field of each element is its own register or wire.
- A dimension is indexed by an int, a signal, or a function, and any mix works in one statement.
class Entry(Karray):
valid = kaf(1)
data = kaf(8)
class RegFile(Module):
@init
def declare(self):
self.rf = Entry(HwComponentType.REG, (4,), "rf")
self.addr = wire(2, "addr")
self.sel = wire(4, "sel")
self.rd = reg (8, "rd")
self.mx = reg (8, "mx")
@flow
def run(self):
with seq():
self.rf[0].data |= 42 # static index
self.rf[1] |= {"valid": 1, "data": 7} # whole record
self.rf[self.addr].data |= 9 # runtime index
self.rf[lambda i: self.sel[i]].valid |= 1 # one enable per element
self.rd |= self.rf[self.addr].data # runtime read: a mux tree
self.mx |= self.rf[lambda a, b, lvl: a.fields["data"] >= b.fields["data"]].data
- The last line is a reduce read: the function picks the winner at each node of
a balanced tree, so
mxis the maximumdatain log2(N) levels. - Records nest like Chisel bundles, copy between arrays by field name, and reset per field.
- A rename table or a reorder buffer is one class and one line.
Also in the box
- Pipelines.
pipandzyncshare an arbiter; stalls, bubbles and flushes come from it. - Hierarchy. A child reads a parent's signal by attribute; ports, wires,
clkandmrstare generated. - Simulation. cocotb tests on Icarus or Verilator;
KSim(dut)reaches any internal signal by its model name, no output port needed. Builds are cached by source digest. - Builders.
counter,Arb,mux,any_of,sum_cnt,rotate_left. - Typed operators.
|=for registers,*=for wires; the wrong one is aTypeError. Int literals size themselves. - Rust core. One arena owns the model; PyO3 is an optional feature.
Status
Kathryn exists in two implementations.
- Legacy C++. The version in the Kathryn paper, under review at IEEE TCAD after major revision. Verified cycle-accurate against RIDECORE and synthesized on a Kria KV260. Documented in the Kathryn C++ book.
- Python + Rust. This repository, version 0.1.0. Under active development and not yet feature-complete. Verilog is the only backend.
Built with Kathryn
- Carolyne, an ISA-agnostic out-of-order CPU generator, first target RV32I.
Getting started
pip install kathryn # the DSL and the compiled core
pip install "kathryn[sim]" # adds cocotb and Verilator
The wheel carries the Rust core already built, so Python 3.9+ is the only requirement. Icarus Verilog or Verilator 5.036+ is needed to simulate.
From source
Also needs Rust, edition 2024.
python -m venv .venv && source .venv/bin/activate
pip install maturin cocotb pytest
maturin develop # builds the core into py/kathryn/
cargo build # 0 errors expected
PYTHONPATH=py pytest py/tests # unit tests
PYTHONPATH=py python test/run_cocotb.py # every design under Icarus
PYTHONPATH=py python test/run_cocotb.py verilator tc20_pip_zync_baseline
- Each
test/model/tc*.pyis one design plus its cocotb test. - No Makefile.
Layout
| Path | Contents |
|---|---|
src/model/ |
the model: arena, components, flow blocks, karray |
src/backends/ |
the Verilog emitter and cross-module routing |
src/applications/py/ |
PyO3 bindings |
py/kathryn/ |
the Python DSL; sim/ holds KSim and the runner |
test/model/ |
42 cocotb test designs |
Links
- Website: https://www.kathryn-tools.org/
- Userbook (install, signals, flow control): https://www.kathryn-tools.org/userbook/getting-started/introduction/
- Devbook (compiler internals): https://www.kathryn-tools.org/devbook/architecture/overview/
- Kathryn C++ book (legacy): https://www.kathryn-tools.org/cppbook/getting-started/introduction/
- Source: https://github.com/Tanawin1701d/Kathryn
Metadata
Release files for kathryn 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| kathryn-0.1.0.tar.gz | 323.3 kB | Details |
Built distributions (wheels)
Total release size: 25.4 MB
Release files / kathryn-0.1.0.tar.gz
| Download URL | kathryn-0.1.0.tar.gz |
|---|---|
| Size | 323.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8b73d2cc3ed8353f528e69d425dd73a9a6e2d962dffd513ff575d8ee8bed1b2a
|
|
BLAKE2b-256 checksum How to use checksums |
e967edbbc2f14aeaf234c27472fdc94d4d737ce02333487fb3c79d3ce7d92aff
|
| 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 14, 2026.
Transparency logRelease files / kathryn-0.1.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | kathryn-0.1.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 795.7 kB |
| Tags | Linux glibc 2.17+ x86-64 PyPy 3.11 PyPy 3.11 7.3 |
|
SHA-256 checksum How to use checksums |
e771fb40b186f4a2d84efeb93f02ec88a31472d876196a41d88723de38cdb6b2
|
|
BLAKE2b-256 checksum How to use checksums |
65ef3b98925b0201ab2ce82ff39c1792242da7ab4e6f72180a4c88da5afac238
|
| 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 14, 2026.
Transparency logRelease files / kathryn-0.1.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | kathryn-0.1.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 802.7 kB |
| Tags | Linux glibc 2.17+ ARM64 PyPy 3.11 PyPy 3.11 7.3 |
|
SHA-256 checksum How to use checksums |
047235c598c793f74dd3607b0064436d7decc196201c53e13ef263a27336fffe
|
|
BLAKE2b-256 checksum How to use checksums |
489655d653c9a785fb89a3a137d9fba629dd5c57d734497dcb0f6aed52b4c145
|
| 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 14, 2026.
Transparency logRelease files / kathryn-0.1.0-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | kathryn-0.1.0-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 791.8 kB |
| Tags | CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
72b6ce24041c65566e1df99730fc46608c1a53a77d70438be05dc65add6ae4f4
|
|
BLAKE2b-256 checksum How to use checksums |
48b9b339b638ba996988c153f1e42a6398b4db840c4d9c9e3d2833f462732d93
|
| 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 14, 2026.
Transparency logRelease files / kathryn-0.1.0-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | kathryn-0.1.0-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 790.9 kB |
| Tags | CPython 3.15 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
2de58e02d06ef936cfc0d2dc5ca371b54b125854e11a690e42889bd0d9e2c145
|
|
BLAKE2b-256 checksum How to use checksums |
d8a3a30909f55a5393b53356dba25ad3da2b50e717ba8f8830ea0422a9d606a0
|
| 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 14, 2026.
Transparency logRelease files / kathryn-0.1.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | kathryn-0.1.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 791.4 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
9e2f221d9e1744f29ba7308f025420da3cfc5b92c6dd48e7ebce9985444d55c7
|
|
BLAKE2b-256 checksum How to use checksums |
e4b7a12a2a29884354f85b72a6e2a684fe511844a078b02aa683aa0d2c7f90b5
|
| 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 14, 2026.
Transparency logRelease files / kathryn-0.1.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | kathryn-0.1.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 794.3 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
0f2c1b5139a0eb4266ce087328884a9a8713b640742550b8f4e64484c703de57
|
|
BLAKE2b-256 checksum How to use checksums |
51982c17fb473bf42e2d7c24476e4216bac49a4d786e6b28b6832319a657684f
|
| 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 14, 2026.
Transparency logRelease files / kathryn-0.1.0-cp314-cp314-win_amd64.whl
| Download URL | kathryn-0.1.0-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 591.6 kB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
0d2a7adb2722b1240e29650b3e04cc7f960409742458e2b21d6d20319576e94e
|
|
BLAKE2b-256 checksum How to use checksums |
f0a3dc53f03696c737b9a2c403978b59373a2d086e3474ad52284b1e2d25c73f
|
| 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 14, 2026.
Transparency logRelease files / kathryn-0.1.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | kathryn-0.1.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 791.9 kB |
| Tags | CPython 3.14 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
d3ca61821c95d95ddfbe834b94fb35ec6acef5c2f1b749e299f3e079bd09de81
|
|
BLAKE2b-256 checksum How to use checksums |
613b6a1adee7694ca976624b810832ba6f77639d2ae63743f96c1d49aed01820
|
| 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 14, 2026.
Transparency logRelease files / kathryn-0.1.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | kathryn-0.1.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 796.1 kB |
| Tags | CPython 3.14 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
497bc96840fd43226fd7981bba94296402135cbd48770704c9d1d374e64401d3
|
|
BLAKE2b-256 checksum How to use checksums |
225f758f26fbde65cc9ce573a3dc67ebc19af421a3db33c33488872cda3a1cad
|
| 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 14, 2026.
Transparency logRelease files / kathryn-0.1.0-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | kathryn-0.1.0-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 714.9 kB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
d725f2c9740d5276f75cf11bb4dcf6931e540e1b017b20cc3f7a6c6730354bba
|
|
BLAKE2b-256 checksum How to use checksums |
8aacd60ba914d37c7cbbe11ef3bf5231d9187d5cd6dcc0c384d9ef8b3a99bb26
|
| 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 14, 2026.
Transparency logRelease files / kathryn-0.1.0-cp314-cp314-macosx_10_12_x86_64.whl
| Download URL | kathryn-0.1.0-cp314-cp314-macosx_10_12_x86_64.whl |
|---|---|
| Size | 729.7 kB |
| Tags | CPython 3.14 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
0254c644859dd4d4a2f82673c04be2b0b1941f1dad59f16813645225b09b701b
|
|
BLAKE2b-256 checksum How to use checksums |
2bb641f8499c4e1cb7f1cc9bf37db0a28af448547e898949e9cfec42683de527
|
| 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 14, 2026.
Transparency logRelease files / kathryn-0.1.0-cp313-cp313-win_amd64.whl
| Download URL | kathryn-0.1.0-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 589.7 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
c1175ce63ce9e759018e75dc3a7374a8ac0385db7995ad6b7418d0ef566d2d71
|
|
BLAKE2b-256 checksum How to use checksums |
8c764776a7805d7cd8111ff3e4d8f390b6470f24333aded2af22661866d9ccfb
|
| 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 14, 2026.
Transparency logRelease files / kathryn-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | kathryn-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 788.2 kB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
59a770193c2aa41ed43ec3faf9942fee4071d33310a6eaf46ac9be384eac0d09
|
|
BLAKE2b-256 checksum How to use checksums |
3165e7805c5576d75cb7927ef2e427807095548636f82561d9ddd4a5062c5414
|
| 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 14, 2026.
Transparency logRelease files / kathryn-0.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | kathryn-0.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 794.0 kB |
| Tags | CPython 3.13 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
965d798430c40c69da7c315fe4a34d9fbdba54d37479545f77f50c18fb393e35
|
|
BLAKE2b-256 checksum How to use checksums |
700d20bd8bebdc9e3fee16b43e63f2ad72e1f17dd13fd446c389a5342b6bc4ad
|
| 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 14, 2026.
Transparency logRelease files / kathryn-0.1.0-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | kathryn-0.1.0-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 709.3 kB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
e72320a97b5df6b0b8ec8bed607b6c285a7d01e7aba64d8942b687622da4ca02
|
|
BLAKE2b-256 checksum How to use checksums |
706cf0f84f588ac459bef2a6b75b5bf394b25c6d89a3f123205d6a93ce6b9e93
|
| 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 14, 2026.
Transparency logRelease files / kathryn-0.1.0-cp313-cp313-macosx_10_12_x86_64.whl
| Download URL | kathryn-0.1.0-cp313-cp313-macosx_10_12_x86_64.whl |
|---|---|
| Size | 724.6 kB |
| Tags | CPython 3.13 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
5ec0301071715b794142101c5603dd09a1fc54cde560a51becb40150b90185c9
|
|
BLAKE2b-256 checksum How to use checksums |
c0db62b84d959a3690b1e2ed687a8d4bd1f794ece9fe4375de18c0e6c697f82a
|
| 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 14, 2026.
Transparency logRelease files / kathryn-0.1.0-cp312-cp312-win_amd64.whl
| Download URL | kathryn-0.1.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 590.5 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
33ecb6a5b8e6bf79bc6d60ee1ca47009319bfe7488e0f29611a762bc8137b094
|
|
BLAKE2b-256 checksum How to use checksums |
f1bba696a73e1baadb0b92b9f6ebc58a8be04abedf8bdfd433fb6d14416ee84b
|
| 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 14, 2026.
Transparency logRelease files / kathryn-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | kathryn-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 788.2 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
c1c698b52128d07f85457b88c8443e4c0e357b2f49312f1589f039e40b9ce640
|
|
BLAKE2b-256 checksum How to use checksums |
25743f59d7a7671a477f2c6b78a0ab3812f7e0ba719d9a5cbbde6744875bc64e
|
| 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 14, 2026.
Transparency logRelease files / kathryn-0.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | kathryn-0.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 795.7 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
0e1418337dfe5977099fa6ebee31738ab00bd63744d8492778c68d584197f677
|
|
BLAKE2b-256 checksum How to use checksums |
b7ed81b64bc3bfdb114464885d2933390a49b3f78326f8b56a7ef7f2a7a2f615
|
| 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 14, 2026.
Transparency logRelease files / kathryn-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | kathryn-0.1.0-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 708.8 kB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
2cddde7154b19e06e9197f6bb13403c5a999193edb3694bcc10d8bd8895b5ccb
|
|
BLAKE2b-256 checksum How to use checksums |
d69d214d002515da9f6fa66aefd03836aacf1ccf5e0bc83b950de1e25d977097
|
| 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 14, 2026.
Transparency logRelease files / kathryn-0.1.0-cp312-cp312-macosx_10_12_x86_64.whl
| Download URL | kathryn-0.1.0-cp312-cp312-macosx_10_12_x86_64.whl |
|---|---|
| Size | 724.0 kB |
| Tags | CPython 3.12 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
4c76ad3a338e1f2a93e6731942c2927e42c96b922c604aa3b44e80ac2c0009b2
|
|
BLAKE2b-256 checksum How to use checksums |
9ee819260f7dba41ae06797a2a2ec170542c9cb0c375ebe4ada3e77b2feb450c
|
| 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 14, 2026.
Transparency logRelease files / kathryn-0.1.0-cp311-cp311-win_amd64.whl
| Download URL | kathryn-0.1.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 594.2 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
0e6e7fbdd7b001e6b66aec064f71b62571b62b1a1f21275b7ecff09ccca86398
|
|
BLAKE2b-256 checksum How to use checksums |
0992fd29d9351d09739b714b3650457fc2f8e40b5aff2959b26b3e34978aeb45
|
| 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 14, 2026.
Transparency logRelease files / kathryn-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | kathryn-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 793.5 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
12455a3d8ed6938cfb4edae60c4c56c11bc72d00641d6214cfdbf93a5fc08b4f
|
|
BLAKE2b-256 checksum How to use checksums |
4429d744203d97f65002716eb90a77e91648aec97043b200046751441b191fe4
|
| 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 14, 2026.
Transparency logRelease files / kathryn-0.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | kathryn-0.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 803.4 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
09bbe8d3d6d62296606fc1cd899d449000fa15b20800631ae0cfd95f200d00d1
|
|
BLAKE2b-256 checksum How to use checksums |
507f4f6d49152e26d9ac49ba025492f4e388b35adda43b2c9a85b8f5729eebb7
|
| 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 14, 2026.
Transparency logRelease files / kathryn-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | kathryn-0.1.0-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 714.0 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
31299f3affba5ce05fde437443e22de37d4daba60859d0b60f129a5c3be4165c
|
|
BLAKE2b-256 checksum How to use checksums |
6f531b7925c5a5688347408864d5579b1f1bd79b5fc8e19eaf5bfd75aa0ae385
|
| 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 14, 2026.
Transparency logRelease files / kathryn-0.1.0-cp311-cp311-macosx_10_12_x86_64.whl
| Download URL | kathryn-0.1.0-cp311-cp311-macosx_10_12_x86_64.whl |
|---|---|
| Size | 730.8 kB |
| Tags | CPython 3.11 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
a7764ccf05ffed35b3b25dbd8c101cab5bcffed575da55b5f38e72a88a6a6129
|
|
BLAKE2b-256 checksum How to use checksums |
7e20c25a4b84157024da6c297c38849494553f46e2fda4405124788e42e7ca6d
|
| 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 14, 2026.
Transparency logRelease files / kathryn-0.1.0-cp310-cp310-win_amd64.whl
| Download URL | kathryn-0.1.0-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 593.6 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
6535c872ce191841e7ebe55b43edbe83d2bf570c0c34f4f581092655c5eb4421
|
|
BLAKE2b-256 checksum How to use checksums |
71672c00f429e10977c481ad0e19f630b8d33fee04f00ecff1f4ab4d585c7e84
|
| 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 14, 2026.
Transparency logRelease files / kathryn-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | kathryn-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 794.3 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
57ffa22a4acced0cf83302dd616cb4e4574899b7a70273ba06ee742af8cb3457
|
|
BLAKE2b-256 checksum How to use checksums |
3519bbf002ef7a4317521775cbcf10f44c58d7e02d6dc284620004f664c6bea9
|
| 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 14, 2026.
Transparency logRelease files / kathryn-0.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | kathryn-0.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 801.9 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
216d133750e0a15b9bbda6fef08ea7c004a1162052227aad8f4a6c55f0fd12ed
|
|
BLAKE2b-256 checksum How to use checksums |
a50f3869da2af218c1ea82ce9246330f47592a97346ee1793ee4a592c77fa538
|
| 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 14, 2026.
Transparency logRelease files / kathryn-0.1.0-cp39-cp39-win_amd64.whl
| Download URL | kathryn-0.1.0-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 596.4 kB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
8dcfd64deec3c3ebf96c6f2d48c4664a8117beff72a596516f9d5150a3ecf7df
|
|
BLAKE2b-256 checksum How to use checksums |
861f13c48c660078c7fd0ad71abe35eb6e8bcb4d5f21aeac606b23e6ffd0e8ba
|
| 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 14, 2026.
Transparency logRelease files / kathryn-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | kathryn-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 798.0 kB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
8c6491317b280a4e8f11fb4a256ce09ea5efe0194f7a068be4fb6d9de380aa5b
|
|
BLAKE2b-256 checksum How to use checksums |
d38b5f7e6eca531aeab275a7beffd3da7c2d6f748b7f4b8f598a6df96dde1840
|
| 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 14, 2026.
Transparency logRelease files / kathryn-0.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | kathryn-0.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 804.9 kB |
| Tags | CPython 3.9 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
bc688336b43f749e866074c53b950e53852b6e9693fa46bb952920abfbdba66f
|
|
BLAKE2b-256 checksum How to use checksums |
0c5fe9fdb28c9801e5e499e0c759b285509e9f51f59a76fe07857e41219590e6
|
| 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 14, 2026.
Transparency logRelease files / kathryn-0.1.0-cp39-cp39-macosx_11_0_arm64.whl
| Download URL | kathryn-0.1.0-cp39-cp39-macosx_11_0_arm64.whl |
|---|---|
| Size | 716.6 kB |
| Tags | CPython 3.9 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
aa8638c47871df912337e1f855ba29166e4e0da98080f2c9fb0e0039a708c7cb
|
|
BLAKE2b-256 checksum How to use checksums |
af8fdb518132e7da3418b2369159f042714d33268458cbf0feab4783855d89b5
|
| 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 14, 2026.
Transparency logRelease files / kathryn-0.1.0-cp39-cp39-macosx_10_12_x86_64.whl
| Download URL | kathryn-0.1.0-cp39-cp39-macosx_10_12_x86_64.whl |
|---|---|
| Size | 737.8 kB |
| Tags | CPython 3.9 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
d6397fc041a8b778836f7f8203b1801c8b0ebe10786df9b88f18b896bdcc60e3
|
|
BLAKE2b-256 checksum How to use checksums |
69eaea654b125760c62fc3103950c8c21a9704a73eeac0ff1eb773b9fba93b74
|
| 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 14, 2026.
Transparency log