Skip to content

rachanakondabala/auto_anki

 
 

Repository files navigation

Auto Anki

ForTheBadge built-with-love

Build Status DOI codecov

GitHub license GitHub issues GitHub issues-closed GitHub stars PRs Welcome

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!

Auto_Anki_Demo.1.mp4

Installation

  • Clone the repository git clone https://github.com/usmanwardag/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

We have generated documentation of the entire codebase 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

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 GUI interface for the user

  • Currently, we are using command line interface to get the user input such as the path of the file to be uploaded or the name of the Anki deck. This is can be improved by building a GUI for the user input.

Support for additional file types other than .pdf

  • As of now, our appliation is capable of processing only .pdf files. Other file types such as .ppt, .doc can be added in scope.

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 here.

About

Create anki cards for all your lectures.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%