Skip to main content

Minimal wrapper to simplify the usage of the awesome ankiconnect anki addon.

Project description

py_ankiconnect

Minimal wrapper to simplify the usage of the awesome ankiconnect anki addon. I made this in about an hour to make it easy to interact with anki from my many python projects (see my other repos), as well as from the command line.

Installation

  • python -m pip install py-ankiconnect or git clone followed by python -m pip install -e .

How To

Using the command line

  • You can either call it using py_ankiconnect or python -m py_ankiconnect.
  • To see the help: py_ankiconnect --help (this will either print it using rich if installed or using the pager.)
  • Examples:
    • Get the list of tags: py_ankiconnect getTags | jq
    • Get info about Clozolkor: py_ankiconnect findModelsByName --modelNames ["Clozolkor"] | jq
    • You can even use pipes: py_ankiconnect findNotes --query '*test*' | jq -c '.[0:10]' | py_ankiconnect notesInfo --notes - (you have to use '-', if will be replaced by the content of sys.stdin)

Using python

from py_ankiconnect import PyAnkiconnect
akc = PyAnkiconnect()
# ^ You can set a different port or host there directly:
# akc = PyAnkiconnect(default_port=your_port)

# trigger a sync:
result = akc("sync")

# Get the list of all tags:
result = akc("getTags")

# Do some more advanced stuff:
akc(
    action="changeDeck",
    params={
        "cards": [
            1502098034045,
            1502098034048,
            1502298033753
            ],
        "deck": "Japanese::JLPT N3"
        },
)

# It supports async mode. By default it will try async or sync depending on who calls it, but you can set force_async_mode to always use async.
import asyncio
akc = PyAnkiconnect(force_async_mode=True, limit_concurrency=50)
async def main():
    return await akc("getTags")
asyncio.run(main())

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

py_ankiconnect-1.1.4.tar.gz (33.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

py_ankiconnect-1.1.4-py3-none-any.whl (33.8 kB view details)

Uploaded Python 3

File details

Details for the file py_ankiconnect-1.1.4.tar.gz.

File metadata

  • Download URL: py_ankiconnect-1.1.4.tar.gz
  • Upload date:
  • Size: 33.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.7

File hashes

Hashes for py_ankiconnect-1.1.4.tar.gz
Algorithm Hash digest
SHA256 1d8d862d83a339ff5e1b13c63292c197eecddcbe9429103b6b8062b046c52d1d
MD5 5961aba73862b8a057a565639d60d5b6
BLAKE2b-256 48a696dd87f4466e5f9dfce26a6a6efe5d145a17b661c0152bd87262d2d2d4c7

See more details on using hashes here.

File details

Details for the file py_ankiconnect-1.1.4-py3-none-any.whl.

File metadata

  • Download URL: py_ankiconnect-1.1.4-py3-none-any.whl
  • Upload date:
  • Size: 33.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.7

File hashes

Hashes for py_ankiconnect-1.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 8438bebae6995a73716fe7c2545896b2a3cdeb484e367ce00871e79d32b4c814
MD5 4689c0ff18a2815cf799171dff20622a
BLAKE2b-256 09fe19ec12225183b74dc4d06bebdf4acd2aca1dc04b1fadbe05b2b76c02ce71

See more details on using hashes here.

Supported by

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