🎮 Learn Microsoft Fabric by Playing - Gamified tutorials and demos
Project description
🎮 Fabric Arcade
Learn Microsoft Fabric by Playing - A gamified catalog of projects to learn Real-Time Intelligence, Data Engineering, Power BI and Data Science through fun experiences.
🚀 Quick Start (Fabric Notebook)
Just 3 lines of code to install a complete learning environment in your Fabric workspace!
# Cell 1 - Install the package
%pip install -q fabric-arcade
# Cell 2 - Import and explore
from fabric_arcade import arcade
# List all available games
arcade.list()
# Cell 3 - Install a game in your current workspace!
arcade.install("fabric-racing-game")
That's it! The game assets (Eventhouse, KQL Database, tables, notebooks) are automatically created in your workspace.
🎯 What You Learn
Instead of boring technical tutorials, you learn by building:
| Game | You Learn | Workloads |
|---|---|---|
| 🏎️ Fabric Racing Game | Custom Endpoints, JSON mapping, streaming dashboards | RTI |
| 🏛️ Calc Groups Cathedral | Calculation Groups on Direct Lake semantic models | PBI |
| 🏙️ City Builder | Warehouse modeling & medallion analytics | DW, DE |
| 🕵️ Ontology Detective | Digital Twin Builder ontologies & relationships | RTI |
| 🧙♂️ Monster Breach | Pipelines, Dataflows & real-time defense | DE, DF, RTI |
📋 Requirements
| Requirement | Detail |
|---|---|
| Fabric Capacity | F2 or higher (trial works!) |
| Workspace | Any workspace where you have Contributor access |
No local installation needed - everything runs inside Fabric notebooks!
🎮 API Reference
arcade.list()
Display all available games with their difficulty and duration.
arcade.info(game_id)
Show detailed information about a specific game.
arcade.info("fabric-racing-game")
arcade.install(game_id, workspace_id=None)
Install a game in a workspace. If workspace_id is not provided, uses the current notebook's workspace.
# Install in current workspace
arcade.install("fabric-racing-game")
# Install in a specific workspace
arcade.install("fabric-racing-game", workspace_id="your-workspace-guid")
🎲 Game Catalog
| Game | Type | Difficulty | Duration | Status |
|---|---|---|---|---|
| 🏎️ Fabric Racing Game | Mission | ⭐⭐ | 30 min | ✅ Available |
| 🏛️ Calc Groups Cathedral | Puzzle | ⭐⭐⭐ | 60 min | ✅ Available |
| 🏙️ City Builder | Mission | ⭐⭐⭐ | 50 min | ✅ Available |
| 🕵️ Ontology Detective | Mission | ⭐⭐⭐ | 45 min | ✅ Available |
| 🧙♂️ Monster Breach | Quest | ⭐⭐⭐ | 60 min | ✅ Available |
| 🕹️ Retro Arcade | Arcade | ⭐⭐ | 45 min | ✅ Available |
| 🔮 Oracle's Forge | Mission | ⭐⭐⭐⭐ | 75 min | 🔜 Coming Soon |
| 🛡️ Sentinel Grid | Mission | ⭐⭐⭐ | — | 🔜 Coming Soon |
| 🧪 Purity Protocol | Challenge | ⭐⭐⭐ | — | 🔜 Coming Soon |
| 🌀 Portal Nexus | Mission | ⭐⭐⭐ | — | 🔜 Coming Soon |
| 🔐 Vault Keeper | Mission | ⭐⭐⭐ | 45 min | 🔜 Coming Soon |
| 🦁 The Sphinx | Challenge | ⭐⭐⭐ | 40 min | 🔜 Coming Soon |
Workload Legend:
- RTI = Real-Time Intelligence (Eventstream, Eventhouse, KQL)
- DE = Data Engineering (Spark, Lakehouse, Notebooks)
- DS = Data Science (ML Models, Predictions)
- DF = Data Factory (Pipelines, Dataflows)
- PBI = Power BI (Reports, Dashboards)
🛠️ Local Development (CLI)
For contributors or local testing:
# Clone and install
git clone https://github.com/maenglar78/fabric-arcade.git
cd fabric-arcade
pip install -e .
# Login to Azure
az login
# Use CLI
arcade list
arcade install fabric-racing-game -w "My Workspace"
🤝 Contributing
Want to create a new game? See CONTRIBUTING.md.
Project Structure
catalog/
└── my-new-game/
├── manifest.json # Game metadata
├── notebooks/ # Fabric notebooks
├── schemas/ # KQL table schemas
└── eventstream/ # Eventstream definitions
📜 License
MIT License - see LICENSE for details.
Made with ❤️ for the Fabric Community
"Data is more fun when you're playing with it!"
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 fabric_arcade-0.6.0.tar.gz.
File metadata
- Download URL: fabric_arcade-0.6.0.tar.gz
- Upload date:
- Size: 164.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
edceb621e64f412225aadde85562ee6a23edf59a6f3d5e0b597c2832ed25f136
|
|
| MD5 |
1384008e255fd96c9025e5671b0fd7ab
|
|
| BLAKE2b-256 |
a657fe24548b9458345f8042db0ad989c17bb830a4b4a674dbe38081d1044762
|
Provenance
The following attestation bundles were made for fabric_arcade-0.6.0.tar.gz:
Publisher:
release.yml on maenglar78/fabric-arcade
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fabric_arcade-0.6.0.tar.gz -
Subject digest:
edceb621e64f412225aadde85562ee6a23edf59a6f3d5e0b597c2832ed25f136 - Sigstore transparency entry: 2047767451
- Sigstore integration time:
-
Permalink:
maenglar78/fabric-arcade@c004f3a6511dac8f5b796b5c5a918b0da60e7c93 -
Branch / Tag:
refs/tags/v0.6.0 - Owner: https://github.com/maenglar78
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@c004f3a6511dac8f5b796b5c5a918b0da60e7c93 -
Trigger Event:
release
-
Statement type:
File details
Details for the file fabric_arcade-0.6.0-py3-none-any.whl.
File metadata
- Download URL: fabric_arcade-0.6.0-py3-none-any.whl
- Upload date:
- Size: 211.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4d4712b41cbc8daec496c86f14b61ad293f0a3c7639a4864f9e121bd4ab8c3b3
|
|
| MD5 |
49b8ec5d3f148acf6140363cfdf19f06
|
|
| BLAKE2b-256 |
e1c785a77c383efcceca146de87ba3922f7a2c42774b74ad8682066cbab9d8af
|
Provenance
The following attestation bundles were made for fabric_arcade-0.6.0-py3-none-any.whl:
Publisher:
release.yml on maenglar78/fabric-arcade
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fabric_arcade-0.6.0-py3-none-any.whl -
Subject digest:
4d4712b41cbc8daec496c86f14b61ad293f0a3c7639a4864f9e121bd4ab8c3b3 - Sigstore transparency entry: 2047767483
- Sigstore integration time:
-
Permalink:
maenglar78/fabric-arcade@c004f3a6511dac8f5b796b5c5a918b0da60e7c93 -
Branch / Tag:
refs/tags/v0.6.0 - Owner: https://github.com/maenglar78
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@c004f3a6511dac8f5b796b5c5a918b0da60e7c93 -
Trigger Event:
release
-
Statement type: