Skip to main content

Doing in Anki what AnkiConnect cannot do

Project description

ankisync

PyPI version shields.io PyPI license

Doing what AnkiConnect cannot do, including

  • Creating new *.apkg
  • Creating new note type / model
  • Upserting notes
  • Setting next review
  • Setting card statistics
  • Note ids to Card ids

But of course, this is very unsafe compared to pure AnkiConnect. I will not hold liability to damage it may cost.

Usage

Please close your Anki application first before doing this!

from ankisync.anki import Anki
with Anki() as a:
    a.add_model(
        name='foo',
        fields=['field_a', 'field_b', 'field_c'],
        templates={
            'Forward': (QUESTION1, ANSWER1),
            'Reverse': (QUESTION2, ANSWER2)
        }
    )

Most of the other API's are similar to AnkiConnect, but _by_id()'s are preferred.

Creating a new *.apkg is also possible.

from ankisync.apkg import Apkg
with Apkg('bar.apkg') as a:
    model_id = a.init(
        first_model=dict(
            name='foo',
            fields=['field_a', 'field_b', 'field_c'],
            templates={
                'Forward': (QUESTION1, ANSWER1),
                'Reverse': (QUESTION2, ANSWER2)
            }
        ),
        first_deck='baz'
    )
    a.add_note({
        'modelName': 'foo',
        'deckId': 1,  # "Default" deck
        'fields': {
            'field_a': 'aaaaa',
            'field_b': 123  # Numbers will be converted to string.
        }
    })

For the example of how I use it in action, see https://github.com/patarapolw/zhlib/blob/master/zhlib/export.py

Installation

pip install ankisync

Contributions

  • What features outside AnkiConnect (or inside) do you want? I will try to implement it.
  • Help me understand the documentations, AnkiDroid Wiki, and Anki decks collaboration Wiki
  • Please help me implement the NotImplemented methods.

Note

  • This is the successor to AnkiTools. I will not update it anymore.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
ankisync-0.1.6.3-py2.py3-none-any.whl (78.5 kB) Copy SHA256 hash SHA256 Wheel py2.py3
ankisync-0.1.6.3.tar.gz (20.3 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page