Install · release 0.9.0

From nothing to a verified factor of safety in two minutes.

KATAI 2D is free and open source under Apache‑2.0. There is no licence key, no dongle, no account and no trial period. The command line is one self-contained executable of under a megabyte; the Python package is one wheel. Both are released on GitHub with their SHA‑256 checksums, and both must reproduce the verification numbers in a clean environment before they are allowed to leave the build.

Release 0.9.0 · 2026-08-31 · Windows 10 or later, x64 · changelog

The command line

> irm https://raw.githubusercontent.com/fkkarakurt/katai2d/main/install.ps1 | iex

# open a NEW terminal, then:
> katai info
KATAI 2D 0.9.0 (2026-08-31)
  .k2d project file version: 18
  .res results file version: 9
  linear solver backend: eigen

The installer script downloads the latest release, verifies its SHA‑256 against the published checksum, unpacks it to %LOCALAPPDATA%\Programs\katai2d and adds that folder to your user PATH. It needs no administrator rights and installs nothing else.

Prefer to do it by hand? Download katai2d-0.9.0-win64.zip, unzip it anywhere and run katai.exe. There are no dependencies — not even a C++ runtime.

The Python package

> pip install katai2d-0.9.0-cp312-abi3-win_amd64.whl
> python -c "import katai; print(katai.__version__)"
0.9.0
> katai info
KATAI 2D 0.9.0 (2026-08-31)
  .k2d project file version: 18
  .res results file version: 9
  linear solver backend: eigen

Download katai2d-0.9.0-cp312-abi3-win_amd64.whl from the releases page and pip install it. One abi3 wheel serves every CPython from 3.12 onwards. It ships the katai package and the same katai command line, so one install gives you both front ends.

pip install katai2d directly from PyPI is planned. Start with the Python API page.

First run

Run a published benchmark before you run your own model.

The repository’s tests/corpus/ folder holds 26 benchmark input files. Each is a published problem with a known answer, and the test suite asserts that answer on every build. Download one and solve it: you will know in ten seconds whether the program on your machine is the program this site describes.

The transcript is the Griffiths & Lane (1999) slope. Its published factor of safety is about 0.99 (Bishop 0.988, Spencer 0.987); KATAI 2D prints 1.010 — and then tells you, unprompted, that a strength-reduction factor with non-associated flow depends on the mesh.

Exit codes

The command line is built for scripts and CI. Its exit codes are documented and pinned by a test:

CodeMeaning
0Success — validate: no errors; solve: every phase converged
2Usage error
3A file could not be read, parsed or written
4The input contract refused the project — a solve must not proceed
5The solve failed: a phase did not converge, or the engine refused it
> katai validate kv-slp-001-griffiths-lane-slope.k2d
warning: materials[0].gamma_sat: "Griffiths-Lane soil": the saturated unit weight
(20 kN/m3) is below the unsaturated one (20.2 kN/m3), which is physically unusual
OK: kv-slp-001-griffiths-lane-slope.k2d satisfies the input contract (1 warning(s))

> katai solve kv-slp-001-griffiths-lane-slope.k2d --out slope.res
phase 1/1: Initial phase
phase 1/1: ok  max|u| = 3.083640e-01 m  FoS = 1.010
  warning K2D-A005  Griffiths-Lane soil: Strength reduction with a non-associated
  flow rule (material "Griffiths-Lane soil": phi = 19.6 deg, psi = 0 deg): the
  factor of safety depends on the mesh and falls as the mesh is refined, because
  the shear band narrows with the elements. Quote it with the mesh it was computed
  on, and confirm it with a refinement study.
solved 1 phase(s) in 8.17 s
results written to slope.res

Verify what you downloaded

Every release asset is published with its SHA‑256. To check the command-line archive:

(Get-FileHash .\katai2d-0.9.0-win64.zip -Algorithm SHA256).Hash.ToLower()
# 57147c8a98e8734a9acfb1096668874628e133fdba7a5115f22230d860382032

If Windows warns about the download. The executable is not code-signed, and it comes from a young project with no reputation yet in Microsoft SmartScreen or Defender. That combination can trigger a generic machine-learning verdict; release 0.7.0 was flagged that way — a label applied to unknown unsigned binaries, not to identified malware. It is a false positive: since 0.7.1 the executable carries full version and publisher information, the detection has been reported to Microsoft, and code signing is on the roadmap. You do not have to take that on trust — compare the checksum above, build from source, or use the Python wheel, which has never been flagged.

Requirements

Operating system
Windows 10 or later, 64-bit.
Command line
Nothing. One self-contained executable.
Python package
CPython 3.12 or newer; NumPy is installed with it.
Hardware
Any 64-bit processor. The benchmark above solves in about eight seconds on a 2017 laptop; memory use grows with the number of elements.
Licence
Apache-2.0 — free for commercial and academic use, modification and redistribution.
File formats
.k2d version 18, .res version 9. Older files are read; a newer file is refused by an older build rather than misread.

Upgrading and removing

Run the installer line again to upgrade the command line; pip install the new wheel to upgrade the package. To remove the command line, delete %LOCALAPPDATA%\Programs\katai2d and its entry in your user PATH; to remove the package, pip uninstall katai2d.

Building from source

The complete source is at github.com/fkkarakurt/katai2d. You need a recent MSVC toolchain, CMake 3.25 or newer and Ninja; Intel oneMKL is optional.

.\scripts\build.ps1 -Configure -Test        # configure, build, run the full suite

The portable preset builds and runs the whole suite with the vendored Eigen solver and no proprietary component, so every number on this site can be reproduced from the public tree alone. Continuous integration does exactly that on every push.

Looking for the desktop application?

The graphical application — drawing, meshing, staged construction, results, reports — is being developed on the same engine as a separate track and is not part of the open-source release. See the desktop application for screenshots and the preview list.

Installed? Rerun a number from the verification record.

Every benchmark input on the verification page is a file in the repository. Pick one, solve it, and compare the output with the published value.