Skip to main content

ikat

CI GitHub Pages PyPI crates.io License: MIT License: Apache-2.0 Python Rust ikat

Weave Markdown into camera-ready LaTeX. ikat is an md→tex/pdf pipeline whose compute core is Rust (via PyO3/maturin) with thin Python wrappers: Markdown documents go in, conference-ready PDFs come out, and every figure is generated — never screenshotted.

The name is a fabric pattern: in ikat weaving, threads are patterned before they reach the loom, so the design is carried by the material itself. Likewise, an ikat document carries its figures as data and diagram source: the pipeline weaves them into TikZ/pgfplots at build time, set in the document's own fonts. No matplotlib, no pasted PNGs, no font mismatch between text and figures.

What it does

  • Markdown → LaTeX (ikat.pipeline): headings, tables, citations, code, footnotes, and fenced elements → a complete .tex document.
  • Mermaid → TikZ (ikat._core.flowchart_to_tikz, Rust): the graph TD/LR flowchart subset, sequenceDiagram messages (->>/-->>) with alt/else/opt boxes, and stateDiagram-v2 states with [*] markers, --> transitions, and one level of composite boxes → a tikzpicture with deterministic layout. Dispatch is on the header line; every grammar is strict (unknown statements are string errors). No Node.js, no browser, no SVG round-trip.
  • Data → pgfplots (ikat._core, Rust): bar charts with min/max whiskers, log axes, line plots → tikzpicture code compiled by your LaTeX installation, so figure fonts always match the paper. Legend placement is a keyword: auto (default) tries the inside corners against the drawn data and falls back below the axis; below pins the under-axis row; the four corners and outside-right place it by hand. Anything else is a build error.
  • Per-element spanning (ikat.toml): one/two-column layout is not global — each element kind (diagram, plot, table) declares column or wide, overridable per element from Markdown.
  • Compile (ikat.compile): pdflatex/bibtex driver that turns the woven tree into PDF, with a tectonic engine option (compile_pdf(..., engine="tectonic"), --engine on the build/weave CLIs and the example builders). The tectonic Rust crate does NOT link on Windows (C dependencies) — the supported path is the tectonic binary (TECTONIC_EXE or PATH; CI pins 0.17.0 by checksum). Crate embedding stays a Linux-CI exercise by design; wheels stay lean (feature-gated, off by default).

Showcase paper

Read the ikat showcase paper (PDF), or browse its Markdown source and build instructions.

Layout

ikat/
  src/            Rust core (19 modules, pyo3 bindings in lib.rs):
                  md.rs (block splitter on pulldown-cmark, line
                  numbers), mermaid.rs (flowcharts), sequence.rs
                  (sequenceDiagram), state.rs (stateDiagram-v2),
                  emit.rs (shared TikZ emission), table.rs,
                  plot.rs (pgfplots + legend auto-placement),
                  preset.rs (bar/line JSON presets),
                  doc.rs (head/body assembly, author front matter),
                  mathwidth.rs (TeX-calibrated display-math width),
                  esc.rs (unicode/citations), config.rs (ikat.toml),
                  autolayout.rs (float measuring + policy),
                  layout.rs (shared 2D geometry),
                  texenv.rs (package scan), tectonic.rs (engine),
                  error.rs (line/column errors), md_spike.rs
                  (parser-spike harness, tests only)
  python/ikat/    thin wrappers: pipeline.py (fences/spans/floats),
                  document.py (BuildSpec assembly), compile.py
                  (pdflatex/tectonic driver), texenv.py
                  (kpsewhich/tlmgr), cli.py (`ikat` script),
                  mcp_server.py (FastMCP stdio), layout.py
                  (suggest/apply/report for auto-layout),
                  preset.py (chart preset files), standalone.py
                  (single-fence figures), registry.py (one source
                  of truth for CLI/MCP/API tools + the skill
                  installer), templates/ (9 heads + skeleton-plain),
                  skills/ (Agent Skills: ikat guide, ikat-api,
                  ikat-cli, ikat-mcp — bundled in the wheel, served
                  as MCP resources)
  tests/          pytest suite incl. the surface drift tests
                  (commands/flags/tools/skills pinned to the code)
  docs/           ARCHITECTURE.md, QUICKREF.md, ROADMAP.md,
                  RESEARCH.md, FORMAT-DRAFT.md, PLAN-dev.md
  examples/       mini.md starter + ikat-paper/ showcase (7-page
                  paper built by ikat itself), auto-proof/ (the
                  layout-bench corpus + the auto-layout showcase,
                  byte-identical to the hand build),
                  bench_fetch.py (downloads the bench cache),
                  plot/float/skeleton/heads proof scripts
  site/           this website (index.html + assets incl. the
                  showcase PDF, check_links.py)
  .github/        ci.yml (3-OS matrix + tex proofs), pages.yml
                  (site validate + link gate + deploy), release.yml
                  (tag-triggered PyPI/crates publish)

Develop

Requires Rust (cargo) and Python ≥ 3.10.

uv venv .venv && uv pip install -p .venv maturin pytest
VIRTUAL_ENV=$PWD/.venv maturin develop
.venv/Scripts/pytest tests/      # windows
cargo test                       # Rust unit tests

LLM agent surface: API, MCP, CLI, skills

Use ikat programmatically through its Python API, automate it with the CLI, or connect the optional stdio MCP server as agent tools. The repo also includes focused Python API, CLI, and MCP skills, plus a general ikat guide. These interfaces use the same Rust-backed pipeline; the skills guide the agent but do not install or run ikat.

Same core operations across API, CLI, and MCP. Python API is the reference; the CLI and MCP server call it directly (ikat[mcp] pins mcp>=1,<2).

ikat build doc.md --toml ikat.toml --outdir out --ensure-packages
ikat weave doc.md --spec spec.json > doc.tex   # tex to stdout, no TeX needed
ikat check doc.tex [--install]                 # missing packages (-> exit 1)
ikat templates | ikat template arxiv --show-preset
ikat skeletons | ikat skeleton skeleton-plain
printf 'graph TD\na[x]-->b[y]\n' | ikat flowchart -
echo '{"title":"t",...}' | ikat barchart - [--legend top-left]
ikat standalone fig.md --out fig.pdf   # one mermaid|chart fence → PDF
ikat layout doc.md --toml ikat.toml [--apply]  # suggest span/pos/width, no TeX
ikat skills install [--dest DIR…] [--force]    # bundle the agent skills
ikat help [--json] [COMMAND]           # command list / flags / registry JSON
ikat version

--spec is BuildSpec JSON (diagrams/plots/table_captions/authors/ affiliations/author_affils + opt-in authors_max collapse, bib_style/…; unknown keys ignored). MCP server over stdio:

python -m ikat.mcp_server
// Claude Desktop / pi client config
{ "mcpServers": { "ikat": {
  "command": "/path/to/.venv/Scripts/python.exe",
  "args": ["-m", "ikat.mcp_server"],
  "cwd": "/path/to/ikat" } } }
operation Python API CLI MCP tool
weave document build_document / build_from_paths ikat build / weave weave_document
flowchart flowchart_to_tikz ikat flowchart flowchart_to_tikz
bar chart barchart_to_tikz / load_preset ikat barchart (JSON or --preset, --legend) barchart_to_tikz (preset_json=)
line plot lineplot_to_tikz / load_preset ikat lineplot (JSON or --preset, --legend) lineplot_to_tikz (preset_json=)
standalone compile_standalone / wrap_standalone / fence_to_tikz ikat standalone standalone_figure (.tex only)
auto-layout suggest_layout / apply_layout / layout_report ikat layout [--apply] suggest_layout (advisory; plots report-only)
check packages check_tex_env ikat check check_tex_packages
install packages ensure_tex_packages ikat check --install ensure_tex_packages
templates list_templates / template_path / template_preset ikat templates / template list_templates / get_template
skeletons list_skeletons / template_path ikat skeletons / skeleton list_skeletons / get_skeleton

compile_pdf stays out of MCP (workdir-bound, minutes-long); drive it from the CLI.

Floats: span, position, width

Every floatable element (diagram, picture, plot, table) takes {...} attributes on its fence — tables via a %% table {...} comment on the line above:

```mermaid {span=column pos=both width=0.8}
%% table {pos=barrier}
attr values default
span column | wide per-kind [spans] (picture falls back to diagram)
pos top | bottom | both([!tb]) | page | here | force([H]) | barrier [floats] pos_default (top)
width fraction of span (0.8) or TeX length (5cm) span width
captionpos top | bottom figures bottom, tables top

Hard LaTeX rules are build errors, not log mysteries: figure* with here/force is illegal (use span=column); wide+bottom auto-loads dblfloatfix; force/barrier auto-load float/placeins (generated head) or are required in template heads (validated). Document-wide tuning lives in [floats] (fractions, counters, barrier_sections, pos_default) and is emitted only when non-default — default documents weave byte-identically.

Templates

The generated preamble fits the common case; journals are not the common case. [template] in ikat.toml hands you the head (level 1) or the whole document (level 3):

[template]
preamble_file = "journal-head.tex"      # replaces the generated head
preamble_append = ["\\usepackage{natbib}"]  # extra lines before \\begin{document}
  • preamble_file (resolved relative to the toml) replaces everything before \begin{document} — class, packages, title, author. The body tail (\maketitle … bibliography … \end{document}) stays generated.
  • Safety over silence: ikat validates the replacement carries a \documentclass and every package the woven body provably needs (tikz for diagrams, pgfplots for plots, graphicx for precompiled figures, tabularx for tables). A head that drops one fails fast naming it, instead of dying in a TeX log.
  • Path-based builds resolve it for you: build_from_paths(md, toml, spec); spec.preamble_override set directly beats the toml value.

Shipped library

Nine starting heads in ikat/templates/ (each documents its companion config). Tokens {{{title}}}, {{{author}}} and {{{thanks}}} fill from the manuscript H1 + spec author/thanks; an emptied \\thanks{} is dropped (it kills IEEEtran titles).

name class bib_style needs flag
arxiv article 11pt, arXiv-safe IEEEtran —
article-1col / -2col article + geometry IEEEtran —
article-3col article + multicol (all spans column) IEEEtran —
ieee-conference IEEEtran conference (the generated default, explicit) IEEEtran —
acm-sigconf acmart sigconf (no hyperref/lmodern/geometry: class-owned) ACM-Reference-Format abstract first
springer-llncs llncs runningheads splncs04 —
elsevier elsarticle preprint elsarticle-num abstract first
aps revtex4-2 (title+authors ride AfterEndPreamble; no tabularx: REVTeX clashes) apsrev4-2 abstract first

abstract_before_maketitle = true (in [template]) hoists the body's abstract env before \\maketitle for top-matter classes (ACM, Elsevier, APS set the abstract in the title block — a late abstract is silently dropped, proven by probe). template_preset(name) returns each head's bib_style + toml snippet:

from ikat import template_path, template_preset
preset = template_preset("elsevier")
# {'bib_style': 'elsarticle-num', 'toml': '[template]\nabstract_before_maketitle = true\n'}

Every head is compile-proven locally (abstract + TikZ + table through pdflatex, title/abstract text verified in the PDF); examples/headsproof.py re-runs the proof. Publisher classes were installed from TeX Live archives into the local texmf tree (same trick as IEEEtran/pgfplots) — on a full TeX Live they just work. Heads are starting points, not submissions: always verify against the publisher's proof.

Level 3: whole-document skeletons

skeleton = "paper-skel.tex" (in [template], mutually exclusive with preamble_file) replaces the WHOLE document — head and tail. The skeleton is complete .tex with tokens:

token fills from
{{title}} {{author}} {{thanks}} as level 1 (brace them: \title{{{title}}}; empty \thanks{} drops)
{{body}} woven body — required exactly once
{{bibliography}} bib style + name — required exactly once unless bib_name is empty (biblatex skeletons print refs themselves)
{{abstract}} the whole woven abstract env — required exactly once when the manuscript has one (needs abstract_before_maketitle)

Unknown {{word}} tokens and duplicates are build errors; % comments may document tokens freely (counting and rendering skip them). Package validation scans the whole skeleton, and preamble_append splices before \begin{document} as usual. This unlocks multicol wraps, per-journal tails, and biblatex — whatever the generated tail cannot express. skeleton-plain.tex (article + the tokens, placeins/float preloaded) is the starting point, compile-proven to PDF; level-1 heads stay the recommended path.

LaTeX requirements

ikat emits standard LaTeX; it never bundles classes or packages. You need a working TeX installation with pdflatex (and bibtex if you stage a .bib). TeX Live scheme-full covers everything; minimal schemes (TinyTeX included) need at least:

what packages needed when
base document amsmath amssymb tabularx graphicx hyperref lmodern textcomp + your document class (IEEEtran, …) always
inline diagrams pgf (tikz) + TikZ libraries shapes.geometric arrows.meta positioning any woven tikzpicture
data plots pgfplots (compat 1.18) any woven axis environment

Precompiled-PDF figures need nothing beyond the base set — one reason to prefer them for journal submissions.

tlmgr install amsmath amssymb tabularx graphicx hyperref lmodern \
  textcomp pgf pgfplots IEEEtran

Ask ikat what a given body needs instead of guessing:

from ikat import tex_requirements
tex_requirements(has_tikz=True, has_plots=False)
# ['\\usepackage{tikz}',
#  '\\usetikzlibrary{shapes.geometric,arrows.meta,positioning}']

The document builder does this automatically: build_document scans the woven body and injects only the packages it contains.

Never debug a missing .sty by hand again — the texliveonfly-style helper probes any .tex preamble and installs what's absent:

from ikat import check_tex_env, ensure_tex_packages
check_tex_env(open("doc.tex").read())
# {'missing': ['pgfplots.sty'], 'unprobed': [], 'ok': False, ...}
ensure_tex_packages(open("doc.tex").read())  # tlmgr install + re-probe

compile_pdf(workdir, main, ensure_packages=True) runs the same check before compiling and raises with a fix-it hint (manual texmf install or MiKTeX Portable) instead of a cryptic TeX error.

Notes:

  • If tlmgr fails (broken mirror/GPG — seen in the wild), install from a TeX Live archive instead: unpack systems/texlive/tlnet/archive/<pkg>.tar.xz, copy its tex/ tree into your texmf-local tree, run mktexlsr. That is how the dev setup gained IEEEtran and pgfplots. Windows alternative: MiKTeX Portable needs no admin rights and auto-installs missing packages at compile time (its own manager/mirrors); ikat's compile_pdf shells to pdflatex, so it works unchanged.
  • arXiv's TeX Live ships everything above, so an ikat bundle (.tex + .bbl + figure PDFs, no class/style files) compiles there as-is.

License

MIT OR Apache-2.0.

Metadata

Release files for ikat 0.11.0

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

Source distribution (sdist)

Source distribution for ikat 0.11.0
File Size Uploaded Provenance
ikat-0.11.0.tar.gz 971.6 kB With provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for ikat 0.11.0
File
ikat-0.11.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl PyPy 3.11 PyPy 3.11 7.3 Linux glibc 2.17+ x86-64 Details
ikat-0.11.0-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ x86-64 Details
ikat-0.11.0-cp315-cp315-win_amd64.whl CPython 3.15 CPython 3.15 Windows x86-64 Details
ikat-0.11.0-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.15 CPython 3.15 Linux glibc 2.17+ x86-64 Details
ikat-0.11.0-cp315-cp315-macosx_11_0_arm64.whl CPython 3.15 CPython 3.15 macOS 11.0+ ARM64 Details
ikat-0.11.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 Details
ikat-0.11.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
ikat-0.11.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64 Details
ikat-0.11.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
ikat-0.11.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
ikat-0.11.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
ikat-0.11.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
ikat-0.11.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
ikat-0.11.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
ikat-0.11.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
ikat-0.11.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
ikat-0.11.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
ikat-0.11.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
ikat-0.11.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details

Total release size: 29.9 MB

Release files / ikat-0.11.0.tar.gz

Download URL ikat-0.11.0.tar.gz
Size 971.6 kB
Tags Source
SHA-256 checksum
How to use checksums
da963293dc97f2055b96972fad7e711d4e810e43cc109cd700279cfa1cddfae7
BLAKE2b-256 checksum
How to use checksums
dd2495edd94482706e03b51fcd15d29d7c172d72fde4656cbc8ace9fbaa3ce26
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

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

PyPI Publish Attestation

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

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

Transparency log

Release files / ikat-0.11.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL ikat-0.11.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.7 MB
Tags Linux glibc 2.17+ x86-64 PyPy 3.11 PyPy 3.11 7.3
SHA-256 checksum
How to use checksums
1beb16cc78962867c10b4162a53ecb1dbf6574de4120d52de2cfc8fbc8d4c2ec
BLAKE2b-256 checksum
How to use checksums
b0440cb9aa67dd523961485a80731ec9f411b9838ab8c114cac71317bbe9f59d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

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

PyPI Publish Attestation

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

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

Transparency log

Release files / ikat-0.11.0-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL ikat-0.11.0-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.6 MB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
80c47a2088269e9bfea84e1ea8a2c2423cda716db18c1ec36a43210c6731a3c1
BLAKE2b-256 checksum
How to use checksums
dda3bc2701ebb75398279b2b34c42a88c38712d19d9b7d4981f9c1b8ef09dcf7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

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

PyPI Publish Attestation

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

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

Transparency log

Release files / ikat-0.11.0-cp315-cp315-win_amd64.whl

Download URL ikat-0.11.0-cp315-cp315-win_amd64.whl
Size 1.4 MB
Tags CPython 3.15 Windows x86-64
SHA-256 checksum
How to use checksums
46ab09d143a66abfeb12a55ef0c9708271e0528418a181e456d87734985c2559
BLAKE2b-256 checksum
How to use checksums
0bcfef6c061358bffaf2239a9a3af53059d6fd3d4e681319051036342c83d150
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

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

PyPI Publish Attestation

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

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

Transparency log

Release files / ikat-0.11.0-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL ikat-0.11.0-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.6 MB
Tags CPython 3.15 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
d97bb7942f985fa3d608f5deeb447c5a43684219db84efc7a49265c8cc9d6dc9
BLAKE2b-256 checksum
How to use checksums
01a045c44d551be4e2016d805716d824db2e2acbddd1b8baae3d93ba10649879
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

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

PyPI Publish Attestation

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

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

Transparency log

Release files / ikat-0.11.0-cp315-cp315-macosx_11_0_arm64.whl

Download URL ikat-0.11.0-cp315-cp315-macosx_11_0_arm64.whl
Size 1.4 MB
Tags CPython 3.15 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
9d46c3b4536025912f8ec3808acb6496057f32f7d63e522297063df6e0d9a165
BLAKE2b-256 checksum
How to use checksums
161cb9dba31846430fcb495cfe892f1acacee4a42ec5211f2c4088cfc4a84600
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

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

PyPI Publish Attestation

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

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

Transparency log

Release files / ikat-0.11.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL ikat-0.11.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.6 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
a2df4a55245b645c405de1701a67d9abc9d32117dc80ee8585420c9a95b5e1b1
BLAKE2b-256 checksum
How to use checksums
95fb389515ca300089176dddf1c5f75e38bfb4a6eb42fb0e528cfff5c5d9c30d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

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

PyPI Publish Attestation

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

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

Transparency log

Release files / ikat-0.11.0-cp314-cp314-win_amd64.whl

Download URL ikat-0.11.0-cp314-cp314-win_amd64.whl
Size 1.4 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
67c654c9f8852f6da03adbd6554e1699a721f8741213792875f21829cbffa15a
BLAKE2b-256 checksum
How to use checksums
a44e8d659e7311a02b7be917522222acd5a25219b68e682a7578cece327f12ed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

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

PyPI Publish Attestation

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

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

Transparency log

Release files / ikat-0.11.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL ikat-0.11.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.6 MB
Tags CPython 3.14 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
edf5c70e61596160259b36e3770d0339e3ceb33d69d07001a64cd1158d39dff1
BLAKE2b-256 checksum
How to use checksums
1e1d15fe28a56ce095269a9a2427bf6e172f317f2d97d74acde8792307cccf4b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

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

PyPI Publish Attestation

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

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

Transparency log

Release files / ikat-0.11.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL ikat-0.11.0-cp314-cp314-macosx_11_0_arm64.whl
Size 1.4 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
f7d47ab7ec45fd9412fa3114bbc0bb3ba4d2a576d1ec0e9a6048a12db5700428
BLAKE2b-256 checksum
How to use checksums
e7202668b8d8c365c5c9afe9200c16da33567ad3ad479389a85a63c2163b157f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

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

PyPI Publish Attestation

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

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

Transparency log

Release files / ikat-0.11.0-cp313-cp313-win_amd64.whl

Download URL ikat-0.11.0-cp313-cp313-win_amd64.whl
Size 1.4 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
e08bce05ef14865625b70f0b0ad4a27750e4de76545a54a86ae1f18724608605
BLAKE2b-256 checksum
How to use checksums
64a73fad6e16b71e0bd1a33183ad423223c1dd5f77b98df52fca12a8be5091d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

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

PyPI Publish Attestation

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

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

Transparency log

Release files / ikat-0.11.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL ikat-0.11.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.6 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
fe582ad6f1b795f8f9ebf2c7d39edfd69b716c081991dd55085d35ff46e2cf1c
BLAKE2b-256 checksum
How to use checksums
60ef4e36db46d87538e52d1dbf5ad4af6c6aca0e2929db3984012e4057d89a99
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

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

PyPI Publish Attestation

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

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

Transparency log

Release files / ikat-0.11.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL ikat-0.11.0-cp313-cp313-macosx_11_0_arm64.whl
Size 1.4 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
2153f195490dbd6da99dc680cefa2a1f6c2be58e8a0f09b2c1d418127b066c71
BLAKE2b-256 checksum
How to use checksums
9c424734ed54cfc4631476ae516118665a02ad0924312d68b149bb6a57bf5483
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

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

PyPI Publish Attestation

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

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

Transparency log

Release files / ikat-0.11.0-cp312-cp312-win_amd64.whl

Download URL ikat-0.11.0-cp312-cp312-win_amd64.whl
Size 1.4 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
1a2415e4fcc69b80c3a510e8159a4212e45839721bdc7832ad08ac93e41972dc
BLAKE2b-256 checksum
How to use checksums
1b0ee288c321041cae08b6bdc8d75100c6d714851fcfa8e1f19171e4ae31bdf4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

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

PyPI Publish Attestation

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

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

Transparency log

Release files / ikat-0.11.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL ikat-0.11.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.6 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
c5ae5f5c2a16d304b9c25fee7ed26958990203e9f0c89ed32728d26d439e05ba
BLAKE2b-256 checksum
How to use checksums
c4b7d745a77bd24e456cbcb068fb521d1bb634b6846f553c6762bbc064820f5a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

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

PyPI Publish Attestation

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

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

Transparency log

Release files / ikat-0.11.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL ikat-0.11.0-cp312-cp312-macosx_11_0_arm64.whl
Size 1.4 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
0144daea00d68d58be994747b1c785be500a91a5dca909f8c6c68edd4aa868a8
BLAKE2b-256 checksum
How to use checksums
f0d9a9ca959eb79457e3cbfbfd8bed93e7a982023ad774d0567bbca8c9245249
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

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

PyPI Publish Attestation

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

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

Transparency log

Release files / ikat-0.11.0-cp311-cp311-win_amd64.whl

Download URL ikat-0.11.0-cp311-cp311-win_amd64.whl
Size 1.4 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
d050ae6c072ed92e0b2a9e57b82b23ca4e2f2db7a2e55d8314878c817a325beb
BLAKE2b-256 checksum
How to use checksums
c4ca1bd865c43f5f7a189f00c5005de3bafa518b9ce3f9410e7267891101f01d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

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

PyPI Publish Attestation

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

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

Transparency log

Release files / ikat-0.11.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL ikat-0.11.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.7 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
3fa9f173785108d12ddb2d92dd7f27b6b20ef116ef6f5745e75549a39d062400
BLAKE2b-256 checksum
How to use checksums
396cabe9d81aeb8181859c79a1b1f117354eaf42d47e47879fddfe1641274f71
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

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

PyPI Publish Attestation

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

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

Transparency log

Release files / ikat-0.11.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL ikat-0.11.0-cp311-cp311-macosx_11_0_arm64.whl
Size 1.4 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5bfdb001328503e273b40f4355d041e77589645d229bb30c112b39f9bcd406a2
BLAKE2b-256 checksum
How to use checksums
a0bdfaf724b983997453fe04e211cd5a4b7b6e0666ecb2300f0ef3a160e88371
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

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

PyPI Publish Attestation

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

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

Transparency log

Release files / ikat-0.11.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL ikat-0.11.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.7 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
411fb74b02553aaad51f567bd07334f7be1d527a21c77af1531113b91bea07e1
BLAKE2b-256 checksum
How to use checksums
60580a2e2f3667c5277a542d7b3138a29cdd9333514dfc189d25b6f1f26f4d8a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

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

PyPI Publish Attestation

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

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

Transparency log

Security for ikat 0.11.0

Provenance

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

Full provenance

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

Select from 20 files

Attestation for ikat-0.11.0.tar.gz

PyPI Publish Attestation

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

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

Transparency log

A note on package security

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

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

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