Anki/pylib/anki
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
..
_vendor Update Python deps 2023-03-31 14:04:05 +10:00
foreign_data Plaintext import/export (#1850) 2022-06-01 20:26:16 +10:00
importing Improve import messaging when notetype has changed (#2483) 2023-04-28 11:39:18 +10:00
scheduler Ensure state mutator runs after card is rendered (#2421) 2023-03-16 16:31:00 +10:00
_backend.py Move protobuf generation into a separate crate; write .py interface in Rust 2023-06-12 09:52:00 +10:00
_legacy.py Move away from Bazel (#2202) 2022-11-27 15:24:20 +10:00
_rsbridge.pyi Rework syncing code, and replace local sync server (#2329) 2023-01-18 12:43:46 +10:00
browser.py Enable invalid-name globally in pylib (#1454) 2021-10-25 19:10:56 +10:00
cards.py Add card meta for persisting custom scheduling state (#2040) 2022-09-02 11:22:49 +10:00
collection.py Add a hook that allows to edit a note before it is added. (#2481) 2023-04-27 15:34:33 +10:00
config.py Import submodules directly (#1662) 2022-02-13 13:40:47 +10:00
consts.py Fix mypy not picking up on missing attributes 2022-11-04 14:56:36 +10:00
db.py Enable invalid-name globally in pylib (#1454) 2021-10-25 19:10:56 +10:00
dbproxy.py Update Python deps 2023-03-31 14:04:05 +10:00
decks.py Fix mypy not picking up on missing attributes 2022-11-04 14:56:36 +10:00
errors.py Refactor error handling (#2136) 2022-10-21 18:02:12 +10:00
exporting.py Update Python deps 2023-03-31 14:04:05 +10:00
find.py Add py3.9 to hooks (#1542) 2021-12-09 09:11:22 +10:00
hooks.py Enable invalid-name globally in pylib (#1454) 2021-10-25 19:10:56 +10:00
httpclient.py Update Python deps 2023-03-31 14:04:05 +10:00
lang.py Move away from Bazel (#2202) 2022-11-27 15:24:20 +10:00
latex.py Make dvipng use transparent background by default (#2036) 2022-08-31 18:49:22 +10:00
media.py Update Python deps 2023-03-31 14:04:05 +10:00
models.py Add ability to restore a notetype to its original configuration (#2472) 2023-04-18 14:07:51 +10:00
notes.py Narrow typehints within pylib (#2003) 2022-08-05 14:48:07 +10:00
py.typed mark anki and aqt modules as having typing info 2020-01-13 13:03:37 +10:00
rsbackend.py PEP8 for rest of pylib (#1451) 2021-10-25 14:50:13 +10:00
sound.py Enable invalid-name globally in pylib (#1454) 2021-10-25 19:10:56 +10:00
stats.py Update Python deps 2023-03-31 14:04:05 +10:00
statsbg.py Enable invalid-name globally in pylib (#1454) 2021-10-25 19:10:56 +10:00
stdmodels.py Add ability to restore a notetype to its original configuration (#2472) 2023-04-18 14:07:51 +10:00
storage.py Enable invalid-name globally in pylib (#1454) 2021-10-25 19:10:56 +10:00
sync.py Enable invalid-name globally in pylib (#1454) 2021-10-25 19:10:56 +10:00
syncserver.py Rework syncing code, and replace local sync server (#2329) 2023-01-18 12:43:46 +10:00
tags.py Move custom study tag and limit gathering+saving into the backend 2022-03-10 16:23:03 +10:00
template.py Store rendered side in TemplateRenderContext (#1852) 2022-05-10 11:44:44 +10:00
types.py Enable invalid-name globally in pylib (#1454) 2021-10-25 19:10:56 +10:00
utils.py Move away from Bazel (#2202) 2022-11-27 15:24:20 +10:00