Skip to main content

A package for programmatically generating language learning flashcards

Project description

Cardbuilder

A command line tool and Python library for creating language learning flashcards in a wide variety of languages.

PyPI Documentation Status License

Documentation · Uses · Supported Languages

Quick Start

Cardbuilder can output flashcards in several different formats, but the quick start will focus on Anki. If the content below looks confusing to you, please see the gentler installation guide.

pip install cardbuilder
printf "暗記\nカード\n作る" > words.txt
cardbuilder ja_to_en --input words.txt --output cards

That's it - cards built! Just import cards.apkg into Anki and you're good to go.

Note that the first time you run Cardbuilder it will need to download data which may take some time, but this only has to be done once.

What can I do with Cardbuilder?

Cardbuilder is a tool for building flashcards, which it does in three steps:

  1. Compiling a list of input words
  2. Looking up necessary information about each of these words
  3. Formatting that information into flashcards

The built-in console commands such as ja_to_en just use Cardbuilder abstractions to do all of this for you, and if you just want to generate flashcards for a supported language pair, they will likely be more than sufficient. In that case, Cardbuilder is a command line tool for generating flashcards.

That said, Cardbuilder is designed so that its code is easy to reuse for generating flashcards however you'd like. The above three steps in particular are the responsibilities of the input, lookup and resolution packages respectively. If you want more control over how your flashcards are generated, Cardbuilder can be used as a library for generating flashcards. More details can be found in Cardbuilder's documentation.

Cardbuilder is not a flashcarding application or a tool for reviewing flashcards. There are many excellent tools for this already, such as Anki. The objective of Cardbuilder is to automate the flashcard creation process by generating files that can be imported into these existing applications.

Supported Languages

Learning Language From Language
Japanese English
Esperanto English
英語 日本語

Contributing

Cardbuilder welcomes contributions, and in particular we're always looking for help supporting new languages. Detailed information about how best to contribute can be found in the contributing page of the documentation.

FAQ

Can you add support for <language> or <data source>?

Probably! You're welcome to open an issue requesting support for a new language and/or new source of data, although in both cases it really helps if you can point to the location of a publicly available web API or dictionary file. Alternatively, we welcome pull requests implementing new data sources.

Can you add support for <flashcard app>?

As with new languages, it's likely possible and you're welcome to open an issue or submit a PR yourself for a new Resolver.

Is this like genanki?

No, genanki is a great library and Cardbuilder depends on it to output Anki decks, but the two packages serve different purposes. genanki is specifically for taking data and transforming it into the format that Anki uses, while Cardbuilder attempts to simplify the process of going from a list of words to a set of complete flashcards with all the required information.

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

cardbuilder-0.0.25.tar.gz (52.3 kB view details)

Uploaded Source

Built Distribution

cardbuilder-0.0.25-py3-none-any.whl (75.8 kB view details)

Uploaded Python 3

File details

Details for the file cardbuilder-0.0.25.tar.gz.

File metadata

  • Download URL: cardbuilder-0.0.25.tar.gz
  • Upload date:
  • Size: 52.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/52.0.0.post20210125 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.8.5

File hashes

Hashes for cardbuilder-0.0.25.tar.gz
Algorithm Hash digest
SHA256 031420b8c49f0e55096f5449ef52c33a6f21a38802d1c3929ba628915acaf8d0
MD5 803a88b604ed82e0120cf77654c7b6dd
BLAKE2b-256 0eab92e113c12c544540a398aad3b22c3c3d65beb51a74c0951cff6fa524c4d6

See more details on using hashes here.

File details

Details for the file cardbuilder-0.0.25-py3-none-any.whl.

File metadata

  • Download URL: cardbuilder-0.0.25-py3-none-any.whl
  • Upload date:
  • Size: 75.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/52.0.0.post20210125 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.8.5

File hashes

Hashes for cardbuilder-0.0.25-py3-none-any.whl
Algorithm Hash digest
SHA256 201c87ab867487e0ab67886125942e32a352f717d0c9891a914d17d85fab1cf9
MD5 6feb8cf7bd7359b6a6bc8431b90fff58
BLAKE2b-256 13df831021454d8b4bd4a257eb391875dbd92d920fff9c2fe85a2148e1b106a9

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