anki/pylib
Damien Elmes bac05039a7 Move protobuf generation into a separate crate; write .py interface in Rust
A couple of motivations for this:

- genbackend.py was somewhat messy, and difficult to change with the
lack of types. The mobile clients used it as a base for their generation,
so improving it will make life easier for them too, once they're ported.
- It will make it easier to write a .ts generator in the future
- We currently implement a bunch of helper methods on protobuf types
which don't allow us to compile the protobuf types until we compile
the Anki crate. If we change this in the future, we will be able to
do more of the compilation up-front.

We no longer need to record the services in the proto file, as we can
extract the service order from the compiled protos. Support for map types
has also been added.
2023-06-12 09:52:00 +10:00
..
anki Move protobuf generation into a separate crate; write .py interface in Rust 2023-06-12 09:52:00 +10:00
rsbridge Update Rust deps 2023-03-31 14:38:24 +10:00
tests Tweak unit test to reduce likelihood of flake under heavy load 2023-04-26 21:38:04 +10:00
tools Move protobuf generation into a separate crate; write .py interface in Rust 2023-06-12 09:52:00 +10:00
.gitignore symlink generated .py/.pyi into tree to fix Python code completion 2020-12-16 11:36:42 +10:00
README.md minor doc updates 2020-12-11 22:37:12 +10:00

Anki's Python library code is in anki/.

The Rust/Python extension module is in rsbridge/; it references the library defined in ../rslib.