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 (coming soon)
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.tar.gz (35.6 kB view details)

Uploaded Source

Built Distribution

sqlab-0-py3-none-any.whl (45.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sqlab-0.tar.gz
  • Upload date:
  • Size: 35.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.2 CPython/3.9.13 Darwin/21.6.0

File hashes

Hashes for sqlab-0.tar.gz
Algorithm Hash digest
SHA256 4030f0c90fdf0330deb54607421e98aa7702050f3382790800e28db900253e8e
MD5 6dd93a25c473089f0ad7823fb06a7d80
BLAKE2b-256 9c30209d353133a5609041d355efc7bb7c440939995b45b75458dedb44a72dc7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sqlab-0-py3-none-any.whl
  • Upload date:
  • Size: 45.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.2 CPython/3.9.13 Darwin/21.6.0

File hashes

Hashes for sqlab-0-py3-none-any.whl
Algorithm Hash digest
SHA256 51fa98c751f992fb52b1faaac2e538d79f7d3c739e6a56f46aad90050fb79099
MD5 e419c6de7803742c13b3e9a32810d651
BLAKE2b-256 8234452ccf924f2222dbe24e16d07e9f8f226a86dc1955feb125cc1d8cba37a1

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