Skip to content
@quiz-cli

quiz-cli

quiz-cli

Lightweight, terminal‑friendly quiz tools inspired by Kahoot. Built as a set of small, focused Python projects.

This GitHub organization currently contains these repositories:

Architecture overview

The system is split into independent components:

Features

Across the organization, the projects together provide:

  • Real‑time WebSocket quiz flow via FastAPI and websockets
  • Multiple player support with simple connection management
  • Admin‑driven progression through quiz questions
  • YAML‑defined quizzes validated against shared dataclasses
  • Terminal‑based UX for both admin and players
  • Clean, typed Python code with ruff and uv tooling

Getting started

1. Run the server

See quiz-server README for full details. In short:

$ cd quiz-server
$ uv tool install . --editable
$ uv run fastapi dev src/main.py

The server exposes WebSocket endpoints on the configured host/port.

2. Run the admin client

See quiz-admin README. Example:

$ cd quiz-admin
$ uv tool install . --editable
$ quiz-admin localhost:8000 data/quiz_example.yaml

The admin sends the quiz definition to the server and controls when to move to the next question.

3. Run one or more player clients

See quiz-client README. Example:

$ cd quiz-client
$ uv tool install . --editable
$ quiz-client localhost:8000 Alice

Each player connects to /connect/{player_name}, receives questions, and answers via the CLI.

Development

  • Python >=3.13
  • Code style and linting via ruff (ruff format, ruff check)
  • Modern packaging (pyproject.toml) and dependency management (uv)

Pinned Loading

  1. quiz-client quiz-client Public

    CLI for participating in the quiz game

    Python 1

  2. quiz-server quiz-server Public

    Quiz server providing websocket endpoints for participation and managing the quiz game

    Python 1

  3. quiz-admin quiz-admin Public

    CLI for controlling the quiz game

    Python

  4. quiz-common quiz-common Public

    Shared data models used by quiz components

    Python

Repositories

Showing 5 of 5 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…