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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file ankisync-0.2.3.1.tar.gz.

File metadata

  • Download URL: ankisync-0.2.3.1.tar.gz
  • Upload date:
  • Size: 20.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.4 CPython/3.7.0 Linux/5.4.0-53-generic

File hashes

Hashes for ankisync-0.2.3.1.tar.gz
Algorithm Hash digest
SHA256 ac7df24c5c4c4a82cdf4caf883c2efc4868b6ccccdcc3485eb4fa830d816a270
MD5 3f4f81a20d660fc7c6e301227bf00742
BLAKE2b-256 7bb5da9ced5a03ddb43a41c1fb790f8aff89e357f7666a98bf097926bb1c343a

See more details on using hashes here.

File details

Details for the file ankisync-0.2.3.1-py3-none-any.whl.

File metadata

  • Download URL: ankisync-0.2.3.1-py3-none-any.whl
  • Upload date:
  • Size: 24.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.4 CPython/3.7.0 Linux/5.4.0-53-generic

File hashes

Hashes for ankisync-0.2.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e3f767d9f5df221b25e8bc7204f7dd16a6417142319bad59cabe7895674383ca
MD5 6589ce8822eb3f66bea6249d6a5d3b23
BLAKE2b-256 40053fc25c23456cc24a92e690114d898947fb5ae426af1e82524166a871fc07

See more details on using hashes here.

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