-
Hey there! Thanks for the work you guys do on Taskwarrior and the new, seemingly less complex, sync via taskchampion. I have written an app that I use to have a web interface and sync that works with the 2.x Taskwarrior: https://github.com/djotaku/taskwarrior_web In that app I'm using a library that used the import/export facilities in Taskwarrior 2.x to get the data in and out. ( https://github.com/coddingtonbear/python-taskwarrior ) Now that it's sqlite based and maybe has some other features that haven't been documented yet as 3.0 just came out - is there a better way of interacting with the task database? Thanks! |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 2 replies
-
Awesome! The preferred way to interact with the taskdb is to use taskchampion as a library. The DB schema isn't considered a public API, and will probably change a bit as we implement things like #2928. Ideally, your app would have its own Taskchampion replica, and sync that replica with the replica used by Taskwarrior, instead of both addressing the same replica. But, both using the same replica should also work. The bit that's missing will be bridging taskchampion (Rust) to Python. I don't think that's especially hard, but it's a fair bit of work. Also, my experience bridging between TC and TW suggests that we could make a Rust API that's more friendly to calling from other languages, so I expect there will be some work on that in the future. |
Beta Was this translation helpful? Give feedback.
Yeah, #3209 will involve moving Taskchampion back out to its own repo, at which point it will have releases again (on crates.io).
I think Python and Rust are typically bridged with PyO3 so that might be a place to start looking.
I just created https://github.com/gothenburgBitFactory/taskchampion. If you'd like to work on a Python interface, please file an issue there? I suspect there are others who might have some more advice.