Skip to main content

Doing in Anki what AnkiConnect cannot do

Project description

This project is deprecated. Please see ankisync2.

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',
        first_note_data=False
    )
    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.

Source Distribution

ankisync-0.2.3.1.tar.gz (20.9 kB view hashes)

Uploaded Source

Built Distribution

ankisync-0.2.3.1-py3-none-any.whl (24.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page