6个版本 (重大更新)

新版本 0.7.0 2024年8月7日
0.6.0 2024年6月29日
0.5.0 2024年4月22日
0.4.1 2021年9月26日
0.2.0 2020年11月30日

HTTP服务器 中排名第 507

Download history 124/week @ 2024-04-16 48/week @ 2024-04-23 367/week @ 2024-04-30 360/week @ 2024-05-07 89/week @ 2024-05-14 65/week @ 2024-05-21 265/week @ 2024-05-28 75/week @ 2024-06-04 357/week @ 2024-06-11 573/week @ 2024-06-18 421/week @ 2024-06-25 455/week @ 2024-07-02 236/week @ 2024-07-09 71/week @ 2024-07-16 231/week @ 2024-07-23 275/week @ 2024-07-30

每月下载量 850
taskchampion-lib 中使用

MIT 许可证

345KB
8K SLoC

TaskChampion

TaskChampion实现了Taskwarrior背后的任务存储和同步。它包括使用Rust和C API的实现,允许任何应用程序维护和操作其自己的副本。它还包括了关于任务及其同步的规范,邀请对副本或任务服务器的替代实现。

有关更多信息,请参阅文档

结构

这里有两个crate

Rust API

文档中定义的,Rust API支持简单地创建和操作副本及其包含的任务。

Rust API遵循语义版本控制。由于目前仍处于0.x阶段,因此可能会发生破坏性变更,但将通过修改次要版本进行指示。


lib.rs:

此crate实现了TaskChampion的核心,即副本。

使用此API的用户可以通过此API操作任务数据库,包括通过同步服务器与其他任务数据库进行同步。

此crate的示例用途

  • 任务管理的用户界面,如移动应用、Web应用或命令行界面
  • 任务管理的集成,如与票据跟踪系统或请求表单的同步

副本

TaskChampion副本是用户任务数据的本地副本。正如其名称所示,可以存在多个相同数据的副本(例如,在用户的笔记本电脑和手机上),并且可以相互同步。

通过Replica类型访问副本。

任务存储

副本通过一个存储对象访问任务数据库。使用StorageConfig创建存储对象。

storage模块支持为副本数据提供可插拔的存储。已经提供了一个实现,但此crate的用户也可以提供自己的实现。

服务器

副本同步是对服务器进行的。使用ServerConfig创建服务器。

server模块定义了服务器必须满足的接口。用户可以定义自己的服务器实现。

功能标志

一些可选功能的支持受功能标志控制。

同步服务器客户端支持

  • server-gcp - 同步到Google云平台
  • server-sync - 同步到taskchampion-sync-server

参见

有关该工具的设计和使用更多信息的请参阅TaskChampion Book

最低支持的Rust版本(MSRV)

此crate支持Rust版本1.70.0及更高版本。

依赖项

~24–39MB
~677K SLoC