Skip to main content

djankiserv

djankiserv is an open source Django-based implementation of a synchronisation server for Anki 2.1+. It includes a user manager (the native Django user system).

Installation - Connecting Anki to the sync server - Development - Contributing

About this implementation

This implementation was initially developed in order to support the spaced repetition functionality for Transcrobes, an open source language learning platform/ecosystem.

Any requests or functionality that don't interfere with using this project for that will definitely be entertained. Ideally the server would do everything that Ankiweb does, and much more. PRs are obviously always welcome!

Technical differences

Unlike the other popular open source Anki synchronisation server anki-sync-server, djankiserv stores the user data in a "proper" RDBMS. There are two 'database connections' that can be set - those for the 'system' (sessions, users, etc.) and those for user data. The 'system' stuff is just plain old Django, so any supported database can be used. The user data part currently uses either postgresql schemas or mysql databases, and currently only supports those two, though supporting other RDBMSes will definitely be considered later. sqlite3 is an embedded database and works great for that. It is not appropriate for use in modern web applications in the opinion of the maintainer, so will never be supported by djankiserv.

There is a basic API for getting certain, per-user collection-related information (decks, deck configuration, models, tags) and also notes for a given user. It may evolve to include other functions, statistics and even doing cards, though the focus is currently on getting and maintaining proper synchronisation as well as the basic API for notes.

Limitations

This is alpha software with some occasional data loss bugs. It works, sorta, if you hold it right. If it kills your kittens then you were forewarned!

Current known limitations (bugs!):

  • it doesn't support abort and if it crashes in the middle of a sync then the server will have a corrupt view of the database. You should force an upload sync on next synchronisation if this ever happens!
  • The v2 scheduler is not supported, and it is unclear how difficult this might be to implement.

Metadata

Release files for djankiserv 0.0.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for djankiserv 0.0.9
File Size Uploaded Provenance Actions
djankiserv-0.0.9.tar.gz 48.5 kB Without provenance Details for djankiserv-0.0.9.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for djankiserv 0.0.9
File Interpreter ABI Platform Actions
djankiserv-0.0.9-py3-none-any.whl Python 3 none any Details for djankiserv-0.0.9-py3-none-any.whl

Total release size: 103.8 kB

Release files / djankiserv-0.0.9.tar.gz

Download URL djankiserv-0.0.9.tar.gz
Size 48.5 kB
Tags Source
SHA-256 checksum
How to use checksums
8c58abca00b108b93e4edaa238eb28ef2e7cffb2fff172378abb303204209267
BLAKE2b-256 checksum
How to use checksums
8f87140a4bae28cd12bb1170ac30db4e4b638b774979b20b3ca0f323f37f0e48
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.4 CPython/3.8.5 Linux/5.10.0-rc1-next-20201029-microsoft-cbl

Release files / djankiserv-0.0.9-py3-none-any.whl

Download URL djankiserv-0.0.9-py3-none-any.whl
Size 55.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3d7268f836bc5bd44e1d271472cee5acf8820b421b2bd3431ca06974014b2ed9
BLAKE2b-256 checksum
How to use checksums
c2e50910797816d1fdc140919bce3aefa9e1cb69b67952f0c7d6e90972fae8b0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.4 CPython/3.8.5 Linux/5.10.0-rc1-next-20201029-microsoft-cbl

Security for djankiserv 0.0.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page