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.0.tar.gz (12.0 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.0-py3-none-any.whl (10.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: quizy-0.2.0.tar.gz
  • Upload date:
  • Size: 12.0 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.0.tar.gz
Algorithm Hash digest
SHA256 7a345c36a3856455642ff99e564a8b4977e3f48a16106761ae58e945f7f0a879
MD5 09ed3a1aa5ea534e225c385c42298c14
BLAKE2b-256 104212b7d81cfc975acb165dea8d93929b58eb9fed7176dc56d73ac33d2c542a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quizy-0.2.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ac24127bfddf975e3ab927bd0e63d20627d80167f9351fba7f058b2fb2d8a034
MD5 5d62c939fad68b354f686d6f5e025121
BLAKE2b-256 4361ee509697f9581c5f34fd11c550fcf082462801fb1e0a1ec24a1f5577bb79

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