I think that many devs missed the fact that Anki went through major rewrite and all of its business logic/its brain/api are now contained in few rust crates.
They're a pleasure to work with and it's very easy to write alternative frontends (just finished one).
You don't have to import anything because you can just use the same db, and cards as Anki.
Wow, I haven't used Anki since... before they switched to date-based releases, but the new version is a big step improvement from versions I have used previously. When I updated, opening the app for the first time opened the terminal for a text-based installer, which didn't inspire confidence, but it's well improved. (This isn't really related to the backend changes you're mentioning, but this comment inspired me to take another look at Anki.)
The PyQt GUI is still meh but overall it's much better (and nowadays much much faster). I think it's still unnecessary crufty and unfriendly in places.
That being said I wrote both web and TUI front-ends and it can definitely be streamlined and cleaned up.
Interestingly, stripped of the GUI, running core (with old db and profile) uses just ~15MB.
This feels as if it deserves a write up, did not know that they migrated from Python to a primarily Rust backend. Would love to know the why/what from the team.
(Anecdotally, Anki has seen a huge quality increase in the past couple of years.)
The Rust backend code is shared between all platforms (Desktop, Android, iOS and Web). This wasn't feasible with the Python code.
From an Android (AnkiDroid) perspective, it's allowed us to remove most of our code which was manually ported from the Python backend, with guaranteed 1:1 compatibility with upstream.
We've moved from being years behind upstream to being able to release in tandem with the Desktop app.
We also migrated to common screens written in Svelte, to reduce the maintenance burden of UI changes for screens with high churn (Deck Options being the primary example).
Most def. It's ALL Rust underneath, the PyQT gui (on desktop) is basically a legacy compat layer, mostly because they need to support vast amount of add-ons, and the editor is quite complicated piece of UI.