Skip to content

SmayanaReddy/auto_anki

 
 

Repository files navigation

Auto Anki

ForTheBadge built-with-love

Build Status DOI codecov

GitHub license GitHub issues GitHub issues-closed PRs Welcome version github workflow github workflow github workflow github workflow

Table of Contents
  1. Why should you use Auto Anki?
  2. Check out the video!
  3. Installation
  4. Code Documentation
  5. How to Contribute
  6. Future RoadMap
  7. Contributors
  8. Acknowledgements

Auto Anki generates flash-cards from your lectures, which you can study with ease! Auto Anki builds on Anki, an intelligent flash-card tools for remembering things.

Example QA from lecture Example QA from lecture

If you are someone who struggles to memorise concepts taught in class, or faces difficulty during revision, or if you are just too lethargic to take notes, then Auto-Anki is for you!

Auto Anki extracts important concepts from lectures, and frames questions based on it. It searches for the answers on the web and extracts the most relevant answers. Auto Anki combines with the powerful features of Anki that let you rate the difficulty level of every question to make it easy for you to memorize tough questions.

Why should you use Auto Anki?

  • You want to summarize everything in a lecture to flash cards, which you can then memorize.
  • You already use Anki, but have to create the flash cards for lectures manually.
  • You want to break down the lecture pdf into questions and answers.
  • You want to create simple flashcards for easy memorisation and revision.

We know :)

Check out the video!

0JJW5OZMV1ZMMGBH.mp4

Installation

  • Clone the repository ` git clone https://github.com/SmayanaReddy/auto_anki
  • Install all requirements pip install -r requirements.txt
  • Install project as Python package pip install .
  • Clone Anki library git clone https://github.com/kerrickstaley/genanki; cd genanki
  • Install Anki library python setup.py install

Code Documentation

Documentation of the entire codebase is generated using Pycco. You can find the documentation here.

If you are a developer, and want to update documentation:

  • Install Pycco pip install pycco
  • Use Pycco to generate docs. pycco auto_anki/**/*.py -p

Code Coverage

For checking code coverage,

  • Install Coverage (https://pypi.org/project/coverage/) pip install coverage
  • For generating the report run coverage run user_cli.py
  • For viewing the report run coverage report
Name Stmts Miss Cover
anki.py 14 3 83%
extract_sizes.py 55 6 89%
google_search.py 13 2 87%
user_cli.py 53 7 87%
wordprocessing.py 125 23 81%
TOTAL 260 57 85%

How to Contribute

We would be happy to receive contributions! If you'd like to, please go through our CONTRIBUTING.md.

For any feedback, issues, or bug reports, please create an issue here.

Future RoadMap

Build a browser extension with the current functionality

  • A browser extension which will extract contents of the current webpage which the user is on and produce a new deck of anki cards based on the material.

Improve word extraction logic

  • Currently Spacy is being used to extract noun phrases from each slide/page of the document. Then the high frequency noun phrases are calculated and used in the final search query. However this causes an issue when every slide has the document’s author name and email address listed. The author name is considered as a noun phrase, and since it appears on every slide has a high frequency, and thus appears on the final search query.

Contributors

Acknowledgements

We have built this code on top of the stack from the project https://github.com/usmanwardag/auto_anki

About

Create anki cards for all your lectures.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%