ki
ki copied to clipboard
version control for Anki collections
It is insane that there are 5 different ways to represent notes in the codebase. The reason for all this is because I've been following a preference for keeping product...
This PR is the beginnings of a complete rewrite of the logic used during `pull` commands, and a first implementation of `clone` logic that leaves the `collection.media/` directory in the...
This is an optimization first conceived of in https://github.com/langfield/ki/issues/39#issue-1337020883. We first run `git init` in the media directory. Then we detect unused media using an API call to whatever backend...
It looks like calls to `update_note()` will collapse cards into whatever deck the single source-of-truth file is in. See below: https://github.com/langfield/ki/blob/44e497f311a88d9685db254e4b89d89d6128a1e1/ki/__init__.py#L484-L491 This is a major bug, and I'm surprised we...
It is high time we added a `RuleBasedStateMachine` to properly sniff out all the bugs in this program. This is a class from the `hypothesis` library for Python 3, which...
## Pulls The pull procedure at a very high level reconstructs the current state of the Anki DB, but in repository form. Then it pulls from this "remote" into the...
The `backup()` and `F.write()` calls in `push_deltas()` need to be moved to the end of the function.
Is it possible to specify the order in which new cards are introduced within a collaborative deck?
Is it possible when using Ki to set the order that cards are introduced? It would be nice to be able to collaboratively design a deck that has a logical...
This is a much more elegant solution. Will cut out a lot of meaningless code. It remains to be seen whether the shared libraries can be packaged into an addon...
Git for windows has portable binaries, and `tidy` is just a single binary. There exist workarounds for MacOS as well. It may be possible to use GitPython within an Anki...