Skip to main content

SQL Adventure Builder: a command line tool for creating standalone SQL activities.

Project description

SQLab

SQL adventure builder logo

An SQLab adventure is a text-based game where the player evolves through a series of isolated or interconnected puzzles by crafting SQL queries.

It consists in a standalone database encompassing the core dataset, a handful of stored procedures, and a table of encrypted messages (such as narrative elements, puzzle statements, answers, explanations, etc.).

There is no requirement to wrap a dedicated application around this database to “run” the game. It can be played on any generic GUI such as DBeaver, phpMyAdmin, pgAdmin, or directly in a command-line interface.

Each question comes with a unique formula, for example, salt_042(sum(hash) OVER ()). Appended to the SELECT clause, this formula calculates a decryption token, which may unlock the next episode or, if the query is incorrect, a tailored hint (assuming the game's creator has provided one).

In an educational context, this setup enables the students to learn and practice SQL without constant oversight. The instructor might stave off boredom by logging their queries and injecting new hints as needed, improving the game for all involved.

Examples on GitHub

Game Pitch Versions DBMS Included
SQLab Island An adaptation of SQL Island by Johannes Schildgen English MySQL, PostgreSQL, SQLite Sources + SQLab database
SQLab Sessform A set of independent exercises + Mortelles Sessions, a police investigation on a training company French MySQL, PostgresQL SQLab database
SQLab Club An adaptation of PostgreSQL Exercises by Alisdair Owens English PostgreSQL Sources + SQLab database (coming later)
SQLab Corbeau An original adaptation of the movie Le Corbeau by Henri-Georges Clouzot (1943) French MySQL SQLab database (coming later)

How can I create my own SQLab adventure?

The sqlab command-line tool is not required to play, but is necessary to create a new adventure.

pip install sqlab

The documentation is not yet available. In the meantime, you may explore the repository of SQLab Island. The provided dataset and Jupyter notebooks serve as source material for the generation of the SQLab database.

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

sqlab-0.5.5.tar.gz (36.1 kB view details)

Uploaded Source

Built Distribution

sqlab-0.5.5-py3-none-any.whl (46.7 kB view details)

Uploaded Python 3

File details

Details for the file sqlab-0.5.5.tar.gz.

File metadata

  • Download URL: sqlab-0.5.5.tar.gz
  • Upload date:
  • Size: 36.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.9.13 Darwin/23.5.0

File hashes

Hashes for sqlab-0.5.5.tar.gz
Algorithm Hash digest
SHA256 c3c40bc8309546cbd564efd0a906c65741732c18d8d733bb56d53684f977c4a1
MD5 5e587aaf0eccca3c12b0df43a45d243c
BLAKE2b-256 e9bdf3d9606c17293b72a10be763f34d41f535bfe02a86982b0486365bc569df

See more details on using hashes here.

File details

Details for the file sqlab-0.5.5-py3-none-any.whl.

File metadata

  • Download URL: sqlab-0.5.5-py3-none-any.whl
  • Upload date:
  • Size: 46.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.9.13 Darwin/23.5.0

File hashes

Hashes for sqlab-0.5.5-py3-none-any.whl
Algorithm Hash digest
SHA256 49e7ee3ef2aa5a083bf437c5e70a814db59a34b46acaf7d2a71a982a60a0faa1
MD5 79cfd5231d6f0ff6e2bcbce0050cc5c9
BLAKE2b-256 6064220e372a81ebde46969398f4ce524ccd705c4bca1038a4d32eab7a021d54

See more details on using hashes here.

Supported by

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