Skip to main content

Русский

takt

takt

takt runs pyperformance benchmarks or your own pyperf scripts. It writes every result to one or more SQL databases at once. It then compares results from these databases and from result files.

Installation

SQLite only:

pip install takt-py

With MariaDB support:

pip install "takt-py[mariadb]"

Quick start

Run the nbody benchmark and store the result under the name baseline <today's UTC date>:

takt run -b nbody --fast --db sqlite:///bench.db --name "baseline {date}"

Store a result file you already have under the name patched:

takt import result.json --db sqlite:///bench.db --name patched

Compare the two runs:

takt compare "baseline 2026-09-25" patched --db sqlite:///bench.db

Configuration file

Put takt.toml in the current directory to avoid repeating --db:

name_template = "nightly {date}"

[targets.local]
url = "sqlite:///bench.db"

With this file, takt run -b nbody --fast stores the result in bench.db under the name nightly <date>.

Compatibility

takt Python pyperf pyperformance
0.1.0 >=3.14 >=2.10.0,<2.11 >=1.14.0,<1.15

Documentation

The full documentation is in the docs directory. To read it locally:

poetry run mkdocs serve

Development

poetry run pytest
poetry run ruff check .
poetry run ruff format --check .
poetry run flake8 .
poetry run mypy
poetry run mkdocs build --strict
poetry build

A local build with TAKT_MYPYC=1 poetry build copies compiled .so files into src/takt. Python loads them instead of the .py files, so your later edits have no effect and pytest stops with an error. Remove them:

find src/takt -name '*.so' -delete

Author

Shamil Abdulaev, Python developer, CPython and glibc contributor: ashm-dev.github.io.

Metadata

Release files for takt-py 0.1.0

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

Built distribution (wheel)

Table of built distributions (wheels) for takt-py 0.1.0
File Interpreter ABI Platform
takt_py-0.1.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details

Release files / takt_py-0.1.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL takt_py-0.1.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 13.0 MB
Tags CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
bad1a82d4d7dd3c5da79a8065801fb72e881917491a0175569eba4e0a895492e
BLAKE2b-256 checksum
How to use checksums
be78aed2c25b17d1f86d61b2162916a6705d03a39a3429c44cb62a2e75b846e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release history Release notifications | RSS feed

This release

0.1.0 This release

1 release file

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