Skip to main content

Python Taskchampion Bindings

This package contains Python bindings for TaskChampion. It follows the TaskChampion API closely, with minimal adaptation for Python.

Versioning

The taskchampion-py package version generally follows the Rust crate version. This fork publishes as taskchampion3-py-dev with Python package version 3.0.1.2 corresponding to TaskChampion crate 3.0.1. The fork remains on the 3.0.1.x line as long as upstream taskchampion stays on 3.0.1; the 3.0.2.x line will track upstream taskchampion 3.0.2 when it ships. The fourth version component is the package-only revision (build/packaging fixes that do not change the wrapped Rust crate).

Installation

Install from PyPI:

pip install taskchampion3-py-dev

The PyPI distribution name is taskchampion3-py-dev, but the importable Python module is taskchampion:

import taskchampion

Pre-built wheels are published for CPython and PyPy on Python 3.9–3.13, covering Linux (glibc and musl: x86_64, aarch64, armv7, i686, s390x, ppc64le), macOS (Intel and Apple Silicon), and Windows (x86, x64). If no wheel matches your platform, pip will fall back to the sdist, which requires a Rust toolchain ≥ 1.91.1.

Usage

def main():
    r = Replica.new_on_disk("/home/username/.task/", False) 
    tasks = r.all_tasks()
    print(tasks)
    for uuid in tasks.keys():
        task = r.get_task(uuid)
        print(f"Description: {task.get_description()}")
        print(f"UUID: {task.get_uuid()}")
        print(f"Status: {task.get_status()}")


if __name__ == "__main__":
    main()

For the Replica.new_on_disk(path), the argument is directory to your sqlite database (to match the Rust implementation). For a thorough understanding of the Rust implementation, which this Python package emulates, see the Rust documentation at: https://docs.rs/taskchampion/3.0.1/taskchampion/

The output of r.all_tasks() is a dictionary. The keys are the UUIDs of the tasks. Here is an example based on a couple test tasks:

{'8655d0fe-3627-43b2-933a-7703609b101e': Task { data: TaskData { uuid: 8655d0fe-3627-43b2-933a-7703609b101e, taskmap: {"modified": "1775169728", "description": "test task 2", "entry": "1775169728", "due": "1775188800", "status": "pending"} }, depmap: DependencyMap { edges: [] }, updated_modified: false },
'f5bc3f9d-d97d-4165-863d-2e08d6b53dc9': Task { data: TaskData { uuid: f5bc3f9d-d97d-4165-863d-2e08d6b53dc9, taskmap: {"status": "pending", "entry": "1775007191", "description": "test1", "modified": "1775007191", "due": "1775016000"} }, depmap: DependencyMap { edges: [] }, updated_modified: false }}

Using the keys method on the dictionary allows for accessing the tasks by UUID. Below is the output from the Task API commands:

Description: test task 2
UUID: 8655d0fe-3627-43b2-933a-7703609b101e
Status: Status.Pending
Description: test1
UUID: f5bc3f9d-d97d-4165-863d-2e08d6b53dc9
Status: Status.Pending

Referring back to the dictionary, notice the strange numbers under entry, modified, and due. When the Task API is used to fetch the data, it is converted into a user-friendly date/time. For example, on test 1 the task.get_entry() results in: 2026-04-01 01:33:11+00:00

See the API documentation for more information.

Development

This project is built using maturin.

To install:

pipx install maturin

To build wheels:

maturin build

This stores wheels in the target/wheels folder by default.

Testing

Extra testing dependencies can be installed with pip. To run tests locally:

python3.12 -m venv .venv && source .venv/bin/activate
python -m pip install --upgrade pip
pip install maturin pytest mypy
# Build and install extension in editable mode
maturin develop --release
# Run tests
pytest

To reproduce the CI environment (ubuntu-latest) use the Docker recipe in the CONTRIBUTING or CI docs.

Metadata

Release files for taskchampion3-py-dev 3.0.1.3

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

Source distribution (sdist)

Source distribution for taskchampion3-py-dev 3.0.1.3
File Size Uploaded Provenance
taskchampion3_py_dev-3.0.1.3.tar.gz 76.7 kB Without provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for taskchampion3-py-dev 3.0.1.3
File
taskchampion3_py_dev-3.0.1.3-cp39-abi3-win_amd64.whl CPython 3.9 abi3 Windows x86-64 Details
taskchampion3_py_dev-3.0.1.3-cp39-abi3-win32.whl CPython 3.9 abi3 Windows x86-32 Details
taskchampion3_py_dev-3.0.1.3-cp39-abi3-musllinux_1_2_x86_64.whl CPython 3.9 abi3 Linux musl 1.2+ x86-64 Details
taskchampion3_py_dev-3.0.1.3-cp39-abi3-musllinux_1_2_i686.whl CPython 3.9 abi3 Linux musl 1.2+ x86-32 Details
taskchampion3_py_dev-3.0.1.3-cp39-abi3-musllinux_1_2_armv7l.whl CPython 3.9 abi3 Linux musl 1.2+ ARMv7l Details
taskchampion3_py_dev-3.0.1.3-cp39-abi3-musllinux_1_2_aarch64.whl CPython 3.9 abi3 Linux musl 1.2+ ARM64 Details
taskchampion3_py_dev-3.0.1.3-cp39-abi3-manylinux_2_28_aarch64.whl CPython 3.9 abi3 Linux glibc 2.28+ ARM64 Details
taskchampion3_py_dev-3.0.1.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 abi3 Linux glibc 2.17+ x86-64 Details
taskchampion3_py_dev-3.0.1.3-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl CPython 3.9 abi3 Linux glibc 2.17+ IBM System/390x Details
taskchampion3_py_dev-3.0.1.3-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl CPython 3.9 abi3 Linux glibc 2.17+ PowerPC 64-le Details
taskchampion3_py_dev-3.0.1.3-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.9 abi3 Linux glibc 2.17+ x86-32 Details
taskchampion3_py_dev-3.0.1.3-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl CPython 3.9 abi3 Linux glibc 2.17+ ARMv7l Details
taskchampion3_py_dev-3.0.1.3-cp39-abi3-macosx_11_0_arm64.whl CPython 3.9 abi3 macOS 11.0+ ARM64 Details
taskchampion3_py_dev-3.0.1.3-cp39-abi3-macosx_10_12_x86_64.whl CPython 3.9 abi3 macOS 10.12+ x86-64 Details

Total release size: 61.0 MB

Release files / taskchampion3_py_dev-3.0.1.3.tar.gz

Download URL taskchampion3_py_dev-3.0.1.3.tar.gz
Size 76.7 kB
Tags Source
SHA-256 checksum
How to use checksums
ff5fa553b90aa9cff26446101f0a049f938e7706ddf2178f930eb417f23b5d50
BLAKE2b-256 checksum
How to use checksums
5d836851b4c9ac698b4c5a79aa56fb21216f3f664b5aca660d4270bf7e4b63fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.13.3

Release files / taskchampion3_py_dev-3.0.1.3-cp39-abi3-win_amd64.whl

Download URL taskchampion3_py_dev-3.0.1.3-cp39-abi3-win_amd64.whl
Size 3.8 MB
Tags CPython 3.9 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
80620c3dae8edf24f89b164beecda16ae23ebf127ef2ab2ae73e76db052115dd
BLAKE2b-256 checksum
How to use checksums
2c2672482b8ea88cc3622ac14e0dd8976815e9f6c289c7f688ab9fb2ccce18ba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.13.3

Release files / taskchampion3_py_dev-3.0.1.3-cp39-abi3-win32.whl

Download URL taskchampion3_py_dev-3.0.1.3-cp39-abi3-win32.whl
Size 3.2 MB
Tags CPython 3.9 Windows x86-32 abi3
SHA-256 checksum
How to use checksums
fc1e3ac33c9ad4ed9a245134d5ba105efa932de3ff35ab1267416c6ca9c38811
BLAKE2b-256 checksum
How to use checksums
9b0745645324fd292e3c8b36aebe21250cc6e0419f2d699339d5fe85fee135ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.13.3

Release files / taskchampion3_py_dev-3.0.1.3-cp39-abi3-musllinux_1_2_x86_64.whl

Download URL taskchampion3_py_dev-3.0.1.3-cp39-abi3-musllinux_1_2_x86_64.whl
Size 4.8 MB
Tags CPython 3.9 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
55a95843bff1e16b25d079b4d5086e79c3f1b90198e4df50ca5b560c3651725f
BLAKE2b-256 checksum
How to use checksums
f307c243ee3868d45ba84a307fc8b948860786b1774c52fcea0b0911e87756c2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.13.3

Release files / taskchampion3_py_dev-3.0.1.3-cp39-abi3-musllinux_1_2_i686.whl

Download URL taskchampion3_py_dev-3.0.1.3-cp39-abi3-musllinux_1_2_i686.whl
Size 4.7 MB
Tags CPython 3.9 Linux musl 1.2+ x86-32 abi3
SHA-256 checksum
How to use checksums
4afced659bdd7bd258e6cb1ca17fd27db008ded5a1e43db14228959c82f04863
BLAKE2b-256 checksum
How to use checksums
50aaeb10a51252bcacfae186b0dfc1ce145c00b30a701af9a49239a8ce7c5636
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.13.3

Release files / taskchampion3_py_dev-3.0.1.3-cp39-abi3-musllinux_1_2_armv7l.whl

Download URL taskchampion3_py_dev-3.0.1.3-cp39-abi3-musllinux_1_2_armv7l.whl
Size 4.4 MB
Tags CPython 3.9 Linux musl 1.2+ ARMv7l abi3
SHA-256 checksum
How to use checksums
30dae150370319405dc2b4f7ba15dc482af7d64407f8f82de0b0c66e93be5a3e
BLAKE2b-256 checksum
How to use checksums
70688dfaf0392afb10cf472f38e0ac051db63008662ef6e77c1479c32c4dd60d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.13.3

Release files / taskchampion3_py_dev-3.0.1.3-cp39-abi3-musllinux_1_2_aarch64.whl

Download URL taskchampion3_py_dev-3.0.1.3-cp39-abi3-musllinux_1_2_aarch64.whl
Size 4.7 MB
Tags CPython 3.9 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
574ad68ca7a21e9ea8fdea04afdbe8860afba6d5da65d4874ae0135b96dca8a9
BLAKE2b-256 checksum
How to use checksums
e0575481cb7af1bb224bf536d66047d556703be67a4447bca2be0a35bd775159
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.13.3

Release files / taskchampion3_py_dev-3.0.1.3-cp39-abi3-manylinux_2_28_aarch64.whl

Download URL taskchampion3_py_dev-3.0.1.3-cp39-abi3-manylinux_2_28_aarch64.whl
Size 4.3 MB
Tags CPython 3.9 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
2bb0897e254e4f8de93908d33782d091e95f41d70e621d465ddce8b72cdefbd9
BLAKE2b-256 checksum
How to use checksums
f269836684d62270f5caaae3f3ff28c4b93294752e2b9160872432e38cc924cf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.13.3

Release files / taskchampion3_py_dev-3.0.1.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL taskchampion3_py_dev-3.0.1.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 4.5 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
47b3d2d7d4915a6a78e80c9d9a88e0d0a6144c59f587780cb9cb9edafec5897b
BLAKE2b-256 checksum
How to use checksums
a4d75f559a1d569e01b81d979d59a93fe6291c22b1a4d512c7a150fcbfbf4b55
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.13.3

Release files / taskchampion3_py_dev-3.0.1.3-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl

Download URL taskchampion3_py_dev-3.0.1.3-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Size 4.4 MB
Tags CPython 3.9 Linux glibc 2.17+ IBM System/390x abi3
SHA-256 checksum
How to use checksums
9208972bbd3d23fb1412841419afac74e458cb4adfdfd5e2573faff4617362b7
BLAKE2b-256 checksum
How to use checksums
744891647a8f91e9b2e19fa46bd973f668b5002061714f95f6a8416b04e732e2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.13.3

Release files / taskchampion3_py_dev-3.0.1.3-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl

Download URL taskchampion3_py_dev-3.0.1.3-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Size 5.0 MB
Tags CPython 3.9 Linux glibc 2.17+ PowerPC 64-le abi3
SHA-256 checksum
How to use checksums
7e6a2de582f8a7ddc0a4eb28fc84abc6904233816330fb15a112405ea54b1a16
BLAKE2b-256 checksum
How to use checksums
3f838f7e3ce0ebeee099e8c9d758f5fd7cbe4d4a91587d19d50d471919bfc752
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.13.3

Release files / taskchampion3_py_dev-3.0.1.3-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl

Download URL taskchampion3_py_dev-3.0.1.3-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Size 4.7 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-32 abi3
SHA-256 checksum
How to use checksums
057324e1c15bf0bab8e432491c79ffd52aa8a9b771ca9f73ffb8dc0b7da69750
BLAKE2b-256 checksum
How to use checksums
c32b2a2ef9ec46c9701aba3a94432540e49534e2f49dcbdb654ab189b089ea0e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.13.3

Release files / taskchampion3_py_dev-3.0.1.3-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl

Download URL taskchampion3_py_dev-3.0.1.3-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Size 4.1 MB
Tags CPython 3.9 Linux glibc 2.17+ ARMv7l abi3
SHA-256 checksum
How to use checksums
702ba47ad2f61635ab121582f3ed57b543b8132b3494cfc0db4abc884a980ddb
BLAKE2b-256 checksum
How to use checksums
b6f3560ff38dba708e4fcdd70232f5ef3e5dc033a5ee4b3a9905821916d873ec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.13.3

Release files / taskchampion3_py_dev-3.0.1.3-cp39-abi3-macosx_11_0_arm64.whl

Download URL taskchampion3_py_dev-3.0.1.3-cp39-abi3-macosx_11_0_arm64.whl
Size 4.1 MB
Tags CPython 3.9 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ab4f301baa88058cb2df7132bc1ae89d414c638183fd6b3d5a505d31c9028d71
BLAKE2b-256 checksum
How to use checksums
131ea99a0bbd94ca6888d75d0e301bd1913b8461b13997f44af64941d7ccd29a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.13.3

Release files / taskchampion3_py_dev-3.0.1.3-cp39-abi3-macosx_10_12_x86_64.whl

Download URL taskchampion3_py_dev-3.0.1.3-cp39-abi3-macosx_10_12_x86_64.whl
Size 4.2 MB
Tags CPython 3.9 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
f30572f967b6987e27f9e787b731c0f2a0505e94fd808ea0da2e237e0f59abc1
BLAKE2b-256 checksum
How to use checksums
3f7315b611d91446ca18e398ed79eb67999efec8dee9e3395092dc92e5f9743c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.13.3

Security for taskchampion3-py-dev 3.0.1.3

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

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