kati
kati is an experimental GNU make clone. The main goal of this tool is to speed-up incremental build of Android.
Currently, kati does not offer a faster build by itself. It instead converts your Makefile to a ninja file.
Development
Building:
$ make ckati
The above command produces a ckati binary in the project root.
Testing (best ran in a Ubuntu 22.04 environment):
$ make test
$ go test --ckati
$ go test --ckati --ninja
$ go test --ckati --ninja --all
The above commands run all cKati and Ninja tests in the testcases/ directory.
Alternatively, you can also run the tests in a Docker container in a prepared test enviroment:
$ docker build -t kati-test . && docker run kati-test
If you are working on a machine that does not provide make in the same version
as kati is currently compatible with, you might want to download a prebuilt
version instead. For example to use the prebuilt version of Ubuntu 20.04 LTS:
$ mkdir tmp/ && cd tmp/
$ wget http://mirrors.kernel.org/ubuntu/pool/main/m/make-dfsg/make_4.2.1-1.2_amd64.deb
$ ar xv make_4.2.1-1.2_amd64.deb
$ tar xf data.tar.xz
$ cd ..
$ PATH=$(pwd)/tmp/usr/bin/:$PATH make test
How to use for Android
For Android-N+, ckati and ninja is used automatically. There is a prebuilt checked in under prebuilts/build-tools that is used.
All Android's build commands (m, mmm, mmma, etc.) should just work.
Metadata
Release files for kati 0.0.20250520
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| kati-0.0.20250520.tar.gz | 150.2 kB | Details |
Built distributions (wheels)
Total release size: 10.6 MB
Release files / kati-0.0.20250520.tar.gz
| Download URL | kati-0.0.20250520.tar.gz |
|---|---|
| Size | 150.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4ca20a142cc52410acb9aaf90d1a96d11d64bbb5f8f2fd087ee143f2da5bd6fc
|
|
BLAKE2b-256 checksum How to use checksums |
6a767eee044b386433090f4e8d50f638887f43a84f922c01418c497cb0800522
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.2
|
Release files / kati-0.0.20250520-py3-none-musllinux_1_2_x86_64.whl
| Download URL | kati-0.0.20250520-py3-none-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 1.4 MB |
| Tags | Linux musl 1.2+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
22aa1f95ace67d9e9126968a5dfb27b93cbc0fadbca4a934dd8804f313f30c9a
|
|
BLAKE2b-256 checksum How to use checksums |
9770dcb9e07f69dcd4d6ee2a533c165bcde01f29b8eb19c67bb0b22a7bc08f55
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.2
|
Release files / kati-0.0.20250520-py3-none-musllinux_1_2_s390x.whl
| Download URL | kati-0.0.20250520-py3-none-musllinux_1_2_s390x.whl |
|---|---|
| Size | 1.5 MB |
| Tags | Linux musl 1.2+ IBM System/390x Python 3 |
|
SHA-256 checksum How to use checksums |
f49da6f0abfe6e4290be423f234c2e4e730aba48dc51bab59d2afbd5fd30de72
|
|
BLAKE2b-256 checksum How to use checksums |
8769e485e341af3b2520e9cf4be4779f36006fc37c0469b95a3a680da81fedcc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.2
|
Release files / kati-0.0.20250520-py3-none-musllinux_1_2_ppc64le.whl
| Download URL | kati-0.0.20250520-py3-none-musllinux_1_2_ppc64le.whl |
|---|---|
| Size | 1.4 MB |
| Tags | Linux musl 1.2+ PowerPC 64-le Python 3 |
|
SHA-256 checksum How to use checksums |
ec91997eeab1c33dcfd1d5432d951d4b72af8c1b9ace50bc99d78a9efcb1f469
|
|
BLAKE2b-256 checksum How to use checksums |
1d3313f83549b64415f9593fe46f526b0ea6d2259697655d564e8b7e4ca1a958
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.2
|
Release files / kati-0.0.20250520-py3-none-musllinux_1_2_i686.whl
| Download URL | kati-0.0.20250520-py3-none-musllinux_1_2_i686.whl |
|---|---|
| Size | 1.5 MB |
| Tags | Linux musl 1.2+ x86-32 Python 3 |
|
SHA-256 checksum How to use checksums |
707d93e656090ecea5a03d892da14deb4b0c3ef860ecff4ad812600318fccf2a
|
|
BLAKE2b-256 checksum How to use checksums |
8e945d18d2067a2070c5cdd2b309f25c661ffe3abf5329364139e9474253120f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.2
|
Release files / kati-0.0.20250520-py3-none-musllinux_1_2_armv7l.whl
| Download URL | kati-0.0.20250520-py3-none-musllinux_1_2_armv7l.whl |
|---|---|
| Size | 1.1 MB |
| Tags | Linux musl 1.2+ ARMv7l Python 3 |
|
SHA-256 checksum How to use checksums |
edabd2e6ab0c051baca1361286c22f392b7fdbe3b7064276eb9fd7d569c5a30a
|
|
BLAKE2b-256 checksum How to use checksums |
7c3acc6a42d1f2fe8ce6fc0b8494e6c28e23112360f1855288ebfdb0bb278865
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.2
|
Release files / kati-0.0.20250520-py3-none-musllinux_1_2_aarch64.whl
| Download URL | kati-0.0.20250520-py3-none-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 1.3 MB |
| Tags | Linux musl 1.2+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
6690c8d50ac837cba042ad28bca85e9d289628a9981e8d3d4094b9135b0e420e
|
|
BLAKE2b-256 checksum How to use checksums |
4e193fe3726a89c41917b6f7de6934693db2b1d77708a17b233048138f64fac2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.2
|
Release files / kati-0.0.20250520-py3-none-manylinux_2_27_armv7l.manylinux_2_31_armv7l.whl
| Download URL | kati-0.0.20250520-py3-none-manylinux_2_27_armv7l.manylinux_2_31_armv7l.whl |
|---|---|
| Size | 256.7 kB |
| Tags | Linux glibc 2.27+ ARMv7l Linux glibc 2.31+ ARMv7l Python 3 |
|
SHA-256 checksum How to use checksums |
cc324d98eaa92957291efd964c643069e1795fd841e79c659e5f26ad5eca3049
|
|
BLAKE2b-256 checksum How to use checksums |
92ac2cd2148aa5b98b1b3521a9b6d825eecc1e933b757dcad8f04c19774661d2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.2
|
Release files / kati-0.0.20250520-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | kati-0.0.20250520-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 289.2 kB |
| Tags | Linux glibc 2.17+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
e49189f1b81d8335a32378cf3dfde570e0cec5a7ae7ef9f394068f11548f4ae0
|
|
BLAKE2b-256 checksum How to use checksums |
dc88acea8f167ebe47334faa0ca8e03afda8b1f4f242b1f90b57e1a94e943ac5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.2
|
Release files / kati-0.0.20250520-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
| Download URL | kati-0.0.20250520-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl |
|---|---|
| Size | 287.8 kB |
| Tags | Linux glibc 2.17+ IBM System/390x Python 3 |
|
SHA-256 checksum How to use checksums |
acec36b41ef4bc3734e3bb43d64353e8f04a932152993c57b29f5fe288a2943e
|
|
BLAKE2b-256 checksum How to use checksums |
325d267ab40bca442de6a2f7ce4f16f5b6fa71a2ce7f115a21cd59db82bc86a9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.2
|
Release files / kati-0.0.20250520-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
| Download URL | kati-0.0.20250520-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl |
|---|---|
| Size | 328.3 kB |
| Tags | Linux glibc 2.17+ PowerPC 64-le Python 3 |
|
SHA-256 checksum How to use checksums |
d8740f87656ed44f73a64ec67a37b860a9800c3eace9ed491a58672f7dd15282
|
|
BLAKE2b-256 checksum How to use checksums |
b89e987d4e193c33547215810231bd4e1fb226ece9f199804fa0b2c554d4ca96
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.2
|
Release files / kati-0.0.20250520-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
| Download URL | kati-0.0.20250520-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl |
|---|---|
| Size | 298.1 kB |
| Tags | Linux glibc 2.17+ x86-32 Python 3 |
|
SHA-256 checksum How to use checksums |
2fe3fd1edcd22c9ccd022c47ae005265b5d15c34ac2d5fe7ddb2e12d92a35028
|
|
BLAKE2b-256 checksum How to use checksums |
41aacbbe9973cdeb315ef586707d4f613cb84f574d8f6868ba76084c8a0e4c60
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.2
|
Release files / kati-0.0.20250520-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | kati-0.0.20250520-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 286.3 kB |
| Tags | Linux glibc 2.17+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
4c4be88644b8f6fdd34abc20ba2b088f856746c1158df435e7a54c5a167f59a8
|
|
BLAKE2b-256 checksum How to use checksums |
396793cd5d4f706c9dc84c5389684b60d06522049ceb3e65cc97a71df7111a45
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.2
|
Release files / kati-0.0.20250520-py3-none-macosx_11_0_arm64.whl
| Download URL | kati-0.0.20250520-py3-none-macosx_11_0_arm64.whl |
|---|---|
| Size | 239.7 kB |
| Tags | Python 3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
1fa7df0a8999250001e836d875836ed37954d858beae7fe0748977fe765a1d79
|
|
BLAKE2b-256 checksum How to use checksums |
1c206b4b63a3a7657104e7f5bba988cc3afd19cca067ecb63370d8c87e60860c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.2
|
Release files / kati-0.0.20250520-py3-none-macosx_10_13_x86_64.whl
| Download URL | kati-0.0.20250520-py3-none-macosx_10_13_x86_64.whl |
|---|---|
| Size | 269.6 kB |
| Tags | Python 3 macOS 10.13+ x86-64 |
|
SHA-256 checksum How to use checksums |
630925752ea8d32b730bf1001fc2ef0fe714855e5b1f3f06ccbea7accfa6ee46
|
|
BLAKE2b-256 checksum How to use checksums |
71ca987d1bc896aa1577fea7238235fce6ff79f1f6f8238ee1a26f85b54ee92e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.2
|