SQL Adventure Builder: a command line tool for creating standalone SQL activities.
Project description
SQLab
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 Corbeau | An original adaptation of the movie Le Corbeau by Henri-Georges Clouzot (1943) | French | MySQL | Sources + SQLab database |
| SQLab Club | An adaptation of PostgreSQL Exercises by Alisdair Owens | English | PostgreSQL | Sources + 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sqlab-0.6.6.tar.gz.
File metadata
- Download URL: sqlab-0.6.6.tar.gz
- Upload date:
- Size: 39.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.3.2 CPython/3.9.13 Darwin/24.3.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
35ec3ef1877497c2ae75bd5ee010b339c610acf1e143273635135b284f2253e9
|
|
| MD5 |
fbcadeefa09b7bbb0d5b3eeb33a0ef0e
|
|
| BLAKE2b-256 |
1a28398cba96218ef7112f612c31a1bb800a8791a43d729c35bb3870ac81d2ae
|
File details
Details for the file sqlab-0.6.6-py3-none-any.whl.
File metadata
- Download URL: sqlab-0.6.6-py3-none-any.whl
- Upload date:
- Size: 50.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.3.2 CPython/3.9.13 Darwin/24.3.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0cfbfa7048c7edcdddb409c35df2f5c3d1374580aae14eff9dc6045bff0c3ae1
|
|
| MD5 |
5c53727d9ef613d76dfa80074322d2dd
|
|
| BLAKE2b-256 |
9447d17998a68dbc41df3cd5b7daa1489aa63dce291d265fe19eeb04bd2b07ef
|