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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| taskchampion3_py_dev-3.0.1.3.tar.gz | 76.7 kB | Without provenance | Details |
Built distributions (wheels)
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.