{"id":23968973,"url":"https://github.com/joequery/quizlet","last_synced_at":"2025-04-13T16:23:08.148Z","repository":{"id":7723271,"uuid":"9089231","full_name":"joequery/quizlet","owner":"joequery","description":"Study Quizlet Flashcard sets from the command line","archived":false,"fork":false,"pushed_at":"2013-04-22T15:59:15.000Z","size":140,"stargazers_count":36,"open_issues_count":3,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-27T07:21:17.780Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/joequery.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-03-29T00:24:02.000Z","updated_at":"2024-07-21T09:21:01.000Z","dependencies_parsed_at":"2022-09-02T19:41:06.561Z","dependency_job_id":null,"html_url":"https://github.com/joequery/quizlet","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joequery%2Fquizlet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joequery%2Fquizlet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joequery%2Fquizlet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joequery%2Fquizlet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/joequery","download_url":"https://codeload.github.com/joequery/quizlet/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248742044,"owners_count":21154427,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-07T00:57:01.829Z","updated_at":"2025-04-13T16:23:08.126Z","avatar_url":"https://github.com/joequery.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Quizlet Quizzer\n===============\n\nThis project uses the Quizlet API to construct a quiz that allows for certain\nkeywords to be specified for a reasonable way to determine correctness of an\nanswer. Exact-string matching is excessive and makes either writing the cards or\nanswering the cards too difficult.\n\nRequirements\n------------\n\n* Python 2.7\n* pip/virtualenv\n* [Quizlet API Client ID](https://quizlet.com/api_dashboard/)\n\nInstallation\n------------\n\n    $ git clone git://github.com/joequery/quizlet.git\n    $ cd quizlet\n    $ sudo pip install -r requirements.txt\n\nNow rename `quizlet_secret-template.py` to `quizlet_secret.py`. Paste in your\n[Quizlet API Client ID](https://quizlet.com/api_dashboard/) where indicated.\n\nCreating flashcard sets\n-----------------------\n\nCreate a public flashcard set on [Quizlet](http://quizlet.com/). Suppose we\ncreate a card with the question \"What are some defining characteristics of the\nPython programming language?\". We would structure our answer part of the\nflashcard in the following way:\n\n    * the [automatic] [process]ing of [docstrings]\n    * whitespace [indent]ation for [delimit]ing [blocks]\n    * [immutable] [strings]\n\nA `*` indicates an answer part, and every flashcard should have at least one.\nThe words in the brackets are substrings that a user should provide in order for\nthe question to be considered correct. For our example above, the following\nanswers for the first answer part would be considered correct:\n\n* automatic processing of docstrings\n* processing of docstrings automatically\n* docstrings are automatically processed\n\nFor the second answer part:\n\n* blocks are delimited using indentation\n* you delimit blocks using whitespace indentation\n* indent to delimit blocks\n\n### What's the point?\n\nThe point of this project is that exact string matching for flashcards is an\nunreasonable way for a tool to help you study. By letting the user\ndetermine what's important in a term or answer, we can create a tool that\ndoesn't reject an answer just because the wrong tense of a word was used or a\nparticular article adjective was missing.\n\nQuizzing yourself from the command line\n---------------------------------------\n\n### Downloading a flashcard set\n\nAfter creating your set, visit your flash card set in the browser. For example,\n\n[http://quizlet.com/20147210/computer-security-management-ch5-flash-cards/](http://quizlet.com/20147210/computer-security-management-ch5-flash-cards/)\n\nExtract the set ID from the URL and copy it to your clipboard. In the example\nabove, the set ID is 20147210.\n\nNow navigate to the location you cloned this repository.\n\n    $ cd /path/to/quizlet\n\nWe will now download the JSON representing the flashcard set.\n\n    $ python download.py 20147210\n    Downloaded 'Computer Security Management Ch5' set to\n    sets/computer-security-management-ch5-flash-cards.quiz\n\n\n\n### Beginning the quiz\n\nNow that you have the flashcard set downloaded, start the quiz by passing the\npath to the quiz file you want to study to `study.py`. (Tab auto-completion is\nyour friend here)\n\n    $ python study.py sets/computer-security-management-ch5-flash-cards.quiz\n\nYou should now see the quiz start\n\n    ==================================================\n    Quizlet Quizzer!\n    (Enter h as your answer for help and options)\n    ==================================================\n\n    Question 1/41\n\n    (5 parts remaining) List the security job titles \n    Your answer: \n\nEntering in `h` as your answer brings up the help menu\n\n    =============================================================\n    Quiz help! Current options are\n\n    h: This help screen\n    hint: Receive a hint\n    see: See an answer part. You will have to repeat the question\n    skip: Skip this question. \n\n    Everything else will be considered an answer to the question\n    =============================================================\n\n    (5 parts remaining) List the security job titles\n    Your answer:\n\n### Command line options\n\n#### --hints\n\nTo have hints always on (which is useful for when you're first learning terms),\npass `--hints` to `study.py`\n\n    $ python study.py --hints sets/computer-security-management-ch5-flash-cards.quiz\n\n#### --shuffle\n\nTo have the terms shuffled into random order, pass `--shuffle` to `study.py`\n\n    $ python study.py --shuffle sets/computer-security-management-ch5-flash-cards.quiz\n\n#### Combining command line options\n\nYou can combine both `--shuffle` and `--hints` if you wish.\n\n    $ python study.py --hints --shuffle sets/computer-security-management-ch5-flash-cards.quiz\n\nEnjoy studying!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoequery%2Fquizlet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoequery%2Fquizlet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoequery%2Fquizlet/lists"}