Skip to main content

A simple, elegant Python framework for creating and running interactive quizzes

Project description

Quizy

A lightweight, API-first Python quiz framework for creating interactive quizzes and assessments. Quizy provides a clean, extensible interface without prescriptive UI constraints, allowing you to build quiz applications that fit your specific needs.

Features

  • Multiple Question Types: Multiple choice, multiple select, short text, true/false, and matching questions
  • Flexible API: Built as a library, not a full application—you control the presentation layer
  • Timer Support: Per-question and quiz-level time limits with countdown tracking
  • Result Tracking: Comprehensive quiz results with scoring, skipped questions, and timeout metrics
  • Type Hints: Full type hint support for IDE autocomplete and validation
  • No External Dependencies: Pure Python implementation (Python 3.8+)

Quick Start

from quizy import MultipleChoiceQuestion, Quiz

# Create a question
question = MultipleChoiceQuestion(
    text="What is the capital of France?",
    options=["Paris", "London", "Berlin"],
    correct_option=0
)

# Create and run a quiz
quiz = Quiz(questions=[question])
result = quiz.run(answer_provider=lambda q: 0)

print(f"Score: {result.score_percentage}%")

Documentation

Complete documentation is available in the docs folder:

Installation

pip install -r requirements.txt

Running Examples

Try the included example quizzes:

python -m quizy.quiz_101
python -m quizy.quiz_102

Running Tests

pytest tests/

License

MIT

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

quizy-0.2.1.tar.gz (12.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

quizy-0.2.1-py3-none-any.whl (10.4 kB view details)

Uploaded Python 3

File details

Details for the file quizy-0.2.1.tar.gz.

File metadata

  • Download URL: quizy-0.2.1.tar.gz
  • Upload date:
  • Size: 12.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for quizy-0.2.1.tar.gz
Algorithm Hash digest
SHA256 18b585fdb96e9f46a4a79d385eb05952ec3dc155f0c43ff181ca333a183897ef
MD5 1e51dbc6addea2aaae77955845624ca9
BLAKE2b-256 99dfa3016fc4a0e1e1cfecb85ed0a3961be8057fb341e1688ceaad15eea8f8ce

See more details on using hashes here.

File details

Details for the file quizy-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: quizy-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 10.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for quizy-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 46233023e463f3e63ad3cd236948ca1c1985008047f74ebceb9c1f255103269e
MD5 b4d8ee4329da273c5a75924895acd580
BLAKE2b-256 d5e1f6bb03aea3f0b26cbce2d1369f8387f1e6117bf806ab79317b47ba6afcba

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page