Crates.io | taskchampion |
lib.rs | taskchampion |
version | 0.9.0 |
source | src |
created_at | 2020-11-30 02:11:55.917356 |
updated_at | 2024-10-31 12:33:48.385787 |
description | Personal task-tracking |
homepage | https://gothenburgbitfactory.github.io/taskchampion/ |
repository | https://github.com/GothenburgBitFactory/taskchampion |
max_upload_size | |
id | 318061 |
size | 394,155 |
This crate implements the core of TaskChampion, the replica.
Users of this crate can manipulate a task database using this API, including synchronizing that task database with others via a synchronization server.
Example uses of this crate:
A TaskChampion replica is a local copy of a user's task data. As the name suggests, several replicas of the same data can exist (such as on a user's laptop and on their phone) and can synchronize with one another.
Replicas are accessed using the [Replica
] type.
Replicas access the task database via a storage object.
Create a storage object with [StorageConfig
].
The [storage
] module supports pluggable storage for a replica's data.
An implementation is provided, but users of this crate can provide their own implementation as well.
Replica synchronization takes place against a server.
Create a server with [ServerConfig
].
The [server
] module defines the interface a server must meet.
Users can define their own server impelementations.
Support for some optional functionality is controlled by feature flags.
server-gcp
- sync to Google Cloud Platformserver-sync
- sync to the taskchampion-sync-serversync
- enables all of the sync features abovebundled
- activates bundling system libraries like sqlitetls-native-roots
- use native (system) TLS roots, instead of those bundled with rustls, by
(indirectly) enabling the rustls
feature rustls-tls-native-roots
.By default, sync
and bundled
are enabled.
See the TaskChampion Book for more information about the design and usage of the tool.
This crate supports Rust version 1.73.0 and higher.