sqlab


Namesqlab JSON
Version 0.5.1 PyPI version JSON
download
home_pagehttps://github.com/laowantong/sqlab/
SummarySQL Adventure Builder: a command line tool for creating standalone SQL activities.
upload_time2024-03-21 19:26:15
maintainerNone
docs_urlNone
authorAristide Grange
requires_python<4.0.0,>=3.8.0
licenseMIT
keywords education relational database sql games
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # SQLab

![SQL adventure builder logo](assets/logo/color.svg)

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](https://dbeaver.io), [phpMyAdmin](https://www.phpmyadmin.net), [pgAdmin](https://www.pgadmin.org), 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](https://github.com/laowantong/sqlab_island) | An adaptation of [SQL Island](https://sql-island.informatik.uni-kl.de) by Johannes Schildgen | English | MySQL, PostgreSQL, SQLite | Sources + SQLab database |
| [SQLab Sessform](https://github.com/laowantong/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](https://pgexercises.com) by Alisdair Owens | English | PostgreSQL | Sources + SQLab database (coming later) |
| SQLab Corbeau | An original adaptation of the movie [_Le Corbeau_](https://fr.wikipedia.org/wiki/Le_Corbeau_(film,_1943)) 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](https://github.com/laowantong/sqlab_island). The provided dataset and Jupyter notebooks serve as source material for the generation of the SQLab database.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/laowantong/sqlab/",
    "name": "sqlab",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0.0,>=3.8.0",
    "maintainer_email": null,
    "keywords": "education, relational, database, sql, games",
    "author": "Aristide Grange",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/4f/ff/01293a2cbb6e945eb57fbb74bced8129c7d60cec36d315b1c14aacf40d50/sqlab-0.5.1.tar.gz",
    "platform": null,
    "description": "# SQLab\n\n![SQL adventure builder logo](assets/logo/color.svg)\n\nAn SQLab adventure is a text-based game where the player evolves through a series of isolated or interconnected puzzles by crafting SQL queries.\n\nIt 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.).\n\nThere is no requirement to wrap a dedicated application around this database to \u201crun\u201d the game. It can be played on any generic GUI such as [DBeaver](https://dbeaver.io), [phpMyAdmin](https://www.phpmyadmin.net), [pgAdmin](https://www.pgadmin.org), or directly in a command-line interface.\n\nEach 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).\n\nIn 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.\n\n## Examples on GitHub\n\n| Game | Pitch | Versions | DBMS | Included |\n| --- | --- | --- | --- | --- |\n| [SQLab Island](https://github.com/laowantong/sqlab_island) | An adaptation of [SQL Island](https://sql-island.informatik.uni-kl.de) by Johannes Schildgen | English | MySQL, PostgreSQL, SQLite | Sources + SQLab database |\n| [SQLab Sessform](https://github.com/laowantong/sqlab_sessform) | A set of independent exercises + _Mortelles Sessions_, a police investigation on a training company | French | MySQL, PostgresQL | SQLab database (coming soon) |\n| SQLab Club | An adaptation of [PostgreSQL Exercises](https://pgexercises.com) by Alisdair Owens | English | PostgreSQL | Sources + SQLab database (coming later) |\n| SQLab Corbeau | An original adaptation of the movie [_Le Corbeau_](https://fr.wikipedia.org/wiki/Le_Corbeau_(film,_1943)) by Henri-Georges Clouzot (1943) | French | MySQL | SQLab database (coming later) |\n\n## How can I create my own SQLab adventure?\n\nThe `sqlab` command-line tool is not required to play, but is necessary to create a new adventure.\n\n```\npip install sqlab\n```\n\nThe documentation is not yet available. In the meantime, you may explore the repository of [SQLab Island](https://github.com/laowantong/sqlab_island). The provided dataset and Jupyter notebooks serve as source material for the generation of the SQLab database.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "SQL Adventure Builder: a command line tool for creating standalone SQL activities.",
    "version": "0.5.1",
    "project_urls": {
        "Homepage": "https://github.com/laowantong/sqlab/",
        "Repository": "https://github.com/laowantong/sqlab/",
        "issues": "https://github.com/laowantong/sqlab/issues"
    },
    "split_keywords": [
        "education",
        " relational",
        " database",
        " sql",
        " games"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3fb4ee65f601d9acf6e52723189af0763afde2225e00eaf888b4425f37de549e",
                "md5": "c02657031811a423ef2a37e772229142",
                "sha256": "304abcb8dc0a0573fd1076adc20f33a731cef73e5fe9fd9e5564e3ee59fc3fa0"
            },
            "downloads": -1,
            "filename": "sqlab-0.5.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "c02657031811a423ef2a37e772229142",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0.0,>=3.8.0",
            "size": 45739,
            "upload_time": "2024-03-21T19:26:13",
            "upload_time_iso_8601": "2024-03-21T19:26:13.558310Z",
            "url": "https://files.pythonhosted.org/packages/3f/b4/ee65f601d9acf6e52723189af0763afde2225e00eaf888b4425f37de549e/sqlab-0.5.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4fff01293a2cbb6e945eb57fbb74bced8129c7d60cec36d315b1c14aacf40d50",
                "md5": "af3b8a1a759b65284aef0b04560bcacd",
                "sha256": "e3a1ba127d6bd7f4896cd490c541b96469f4a369d443796ef7edc4b4c9e76b34"
            },
            "downloads": -1,
            "filename": "sqlab-0.5.1.tar.gz",
            "has_sig": false,
            "md5_digest": "af3b8a1a759b65284aef0b04560bcacd",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0.0,>=3.8.0",
            "size": 35666,
            "upload_time": "2024-03-21T19:26:15",
            "upload_time_iso_8601": "2024-03-21T19:26:15.801714Z",
            "url": "https://files.pythonhosted.org/packages/4f/ff/01293a2cbb6e945eb57fbb74bced8129c7d60cec36d315b1c14aacf40d50/sqlab-0.5.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-21 19:26:15",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "laowantong",
    "github_project": "sqlab",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "sqlab"
}
        
Elapsed time: 0.24733s