Skip to content

Latest commit

 

History

History
49 lines (36 loc) · 1.32 KB

README.md

File metadata and controls

49 lines (36 loc) · 1.32 KB

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 matches the Rust crate's version. When an additional package release is required for the same Rust crate, a fourth version component is used; for example 1.2.0.1 for the second release of taskchampion-py containing TaskChampion version 1.2.0.

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 are installed via poetry:

poetry install

To run tests:

poetry shell
maturin develop
pytest

or

poetry run maturin develop
poetry run pytest

TODO

  • There is no good way to describe functions that accept interface (e.g. Replica::new accepts any of the storage implementations, but Python bindings lack such mechanisms), currently, Replica::new just constructs the SqliteStorage from the params passed into the constructor.
  • Possible integration with Github Workflows for deployment to PyPI