Package: exam-terminal
exam-terminalTheexam-terminalis a terminal-based assessment tool. It can be used for making, taking, or delivering exams or quizzes.Exam description can be loaded form a local file or a remote URL link.The exam results include your general exam score, some basic statistics, and the ability to export your results to a PDF document.Very Basically ...Useexam-terminalto take or give exams in a terminal:eyeglasses: Overview:eyeglasses: Overview:fast_forward: Quick Start:thumbsup: Compatibility:rocket: InstallationInstall It From PYPI (pre-build)Manually Build and Install it Yourself:boom: Usage:pencil: Exam CreationExamfile FormatExam File StructureExam File Section:examExampleExam File Section:questionsAnswer SelectionExample:bust_in_silhouette: Contributors:computer: Development NotesLicence:fast_forward: Quick Start# 1. Install it with pip package managerpipinstallexam-terminal# 2. Checkout the helpexam-terminal--help# 3. Try out a sample examexam-terminal--sample# 4. Try a remote sample examexam-terminal--examfilehttps://raw.githubusercontent.com/ismet55555/exam-terminal/master/exam_terminal/exams/sample_exam.yml# Make and load your own exams using YAML format (See below):thumbsup: CompatibilityAs of now the following Python 3 versions are tested and supported:Python 3.7, 3.8, 3.9, 3.10For the following platforms:OSX, Windows, Linux (Debian based)To check which python version you have, open a terminal and typepython --version:rocket: InstallationInstall It From PYPI (pre-build)Ensure internet connectionOpen up a terminal (or PowerShell) on your computerEnsure python is installed and has compatible versionpython --versionIf it is not, install it.Human Readable GuideEnsure thatpip,setuptools, andwheelare installed an up to datepython -m pip install --upgrade pip setuptools wheelInstall thatexam-terminalfrom PYPIpip install exam-terminalManually Build and Install it YourselfThese following steps are useful if you do not have access to the internet on a particular machine.Download/Clone this entireexam-terminalGitHub repositoryCopy it to some temporary location on the computer you wish to installexam-terminalon (ie. Downloads)Open up a terminal (or PowerShell) on your computerUse thecdcommand to change directory into theexam-terminaldirectoryExample:cd /home/username/Downloads/exam-terminalEnsure python is installed and has compatible versionpython --versionIf it is not, install it.Human Readable GuideEnsure thatpip,setuptools, andwheelare installed an up to datepython -m pip install --upgrade pip setuptools wheelInstall thatexam-terminalpython setup.py install:boom: UsageTo load a local exam file located on your computer, or load a remote exam file located somewhere on the internet, use the--examfileor-eoption flag.If the file location contains a space, please use single or double quotesExamples:# Locally stored exam fileexam-terminal--examfilehome/USERNAME/Downloads/examfile.yml
exam-terminal--examfile"C:\Users\YOU\My Stuff\algebra_exam.yml"# Remotely requested exam fileexam-terminal-examfilehttps://raw.githubusercontent.com/ismet55555/exam-terminal/master/exam_terminal/exams/sample_exam.ymlNOTE: For help enterexam-terminal --help:pencil: Exam CreationExams are described within examfiles. A full example of an exam file can be seen here:exam fileExamfile FormatExam description files are made using the YAML file format (.ymlor.yaml), human-readable structured data format. If you are not familiar with YAML, there are lots of sources explaining it,here is one. An example of a examfile description in YAML formatcan be viewed here.The exam file should be named with the.ymlor.yamlfile extension.Exam File StructureExamfiles have two major sections:exam- General information about the entire exam. This includes info like exam title or allowed exam timequestions- Information/Description for each question. This section includes each question and available selections for that question.An outline of the examfile looks like this:exam:...questions:-question:...selection:-...-...-question:...selection:-...-...-...Exam File Section:examThis section describes the general information about the exam. The following are the available exam descriptions.NOTE:As of now all of the exam descriptions are requiredItemDescriptionExampleexam_titleThe general title of the examAWS Kiwi Practice Examexam_descriptionA longer more detailed description of the examThis exam assess your knowledge on kiwisexam_authorThe name of the person or entity that made the examPappa McJamesonexam_edit_dateThe date when the exam was last edited01/01/1970exam_allwed_timeTotal exam time allowed120exam_allowed_time_unitsThe time units that describeexam_allowed_timesecondsexam_passing_scoreMinimum passing score percentage for the exam70Exampleexam:exam_title:"TheOneExam"exam_description:This exam will assess your ability to be the one. You chose that one pill now you gotta do work and prove you can fly around the matrix and stuff.exam_author:"Neo"exam_edit_date:"06/06/2199"exam_allowed_time:240exam_allowed_time_units:"seconds"exam_passing_score:95Exam File Section:questionsThis section describes each question in the exam. The following are the available options for each question:ItemDescriptionExamplequestionQuestion text shown to the exam takerWhat's your favorite color?question_allowed_time(Optional) Total time allowed for the specific question in seconds60selectionList of answer selections for the user.Correct answers denoted by: true- green- black: trueAnswer SelectionTo denoted the correct answer in theselectionsection, simply add at: trueto the end of the selection. You can have more than one correct answer, that is, multiple: truedenoted questions.Example---questions:-question:What is your hobby?selection:-Politics-Programming:true-TV-Chillin:true-Reading:trueNOTE: If there is more than one correct (true) answer, the question automatically becomes a multi-answer question, allowing the exam taker to select multiple selections.:bust_in_silhouette: ContributorsIsmet Handžić- GitHub:@ismet55555:computer: Development NotesIf you are eying this repo and thinking "Hey this is kind of neat, I'd love to add a few things", well this is your chance :-)There is definetly work to be done. If you don't have a genius great idea for the next big change, there is aTODO.mdfile which outlines some changes, features, and fixes that would be nice to have.For some guides on how to help out, checkout thedev_stuffdirectory.LicenceThis project is licensed under the Apache 2.0 License - Please see theLICENSEfile for details.