One-line installer for the India RideGenie Databricks demo (data + Genie + AI/BI dashboard + app).
Project description
🛺 ridegenie — India RideGenie demo, installed in one line
A dbdemos-style installer for the India RideGenie
demo: natural-language geospatial analytics on synthetic Indian ride-hailing data —
200K trips · 160+ cities · ₹ fares · UPI payments.
One call provisions the whole thing into your Databricks workspace:
| # | Asset | What it does |
|---|---|---|
| 1 | Unity Catalog data layer | rides_enriched, ride_zones, pickup_hotspots (~200K rides, PIN-code geo) |
| 2 | Genie Space | Ask in plain English — Genie writes governed SQL (₹, cities, surge, payments) |
| 3 | AI/BI Dashboard | INR KPIs, demand-by-hour, surge, vehicle/payment mix + a live pickup-hotspot map |
| 4 | RideGenie App | FastAPI + Leaflet — draw a region on an India map and ask Genie about it |
Quick start (Databricks notebook)
%pip install ridegenie
dbutils.library.restartPython()
import ridegenie
ridegenie.install("india-ridegenie")
Want the bleeding edge (unreleased
main)?%pip install git+https://github.com/anuj1303/ridegenie-demo.git
Not on Free Edition? The default catalog
workspaceonly exists on Free Edition. On any other workspace, pass your own catalog:ridegenie.install("india-ridegenie", catalog="your_catalog"). (If you skip this, the installer fails fast and lists the catalogs available to you.)
That's it. The installer prints links to your Genie Space, Dashboard, and App when it finishes.
Prerequisite: a running SQL Warehouse (the Serverless Starter Warehouse is enough). Works on Databricks Free Edition and any AWS/Azure/GCP workspace.
Prefer not to write code? Import notebooks/00-START-HERE-RideGenie.py
into your workspace and Run All.
What install() does (à la dbdemos)
- Resolves context — current user, workspace host, and a SQL warehouse (auto-picks a running one, or starts/creates one).
- Builds the data layer — creates the schema + volume, uploads the bundled (gzipped) CSVs, and runs a templated
setup.sqlto build the tables/views. - Creates the Genie Space — registers the tables with format-assistance + entity-matching and applies domain instructions (INR, surge, payments).
- Creates & publishes the AI/BI dashboard — one shared dataset drives cross-filtering across KPIs, charts, and the hotspot map.
- Deploys the app — creates the app, uploads the source, attaches
sql-warehouse+genieresources (IDs auto-injected), grants the app's service principal data access, and deploys.
Everything is workspace-portable — table names, warehouse, Genie/app resource IDs are resolved at install time via {{CATALOG}} / {{SCHEMA}} / {{VOLUME}} templating. No hard-coded IDs.
Options
ridegenie.install(
"india-ridegenie",
catalog="workspace", # target UC catalog
schema="india_rides_workshop", # target UC schema
warehouse_id=None, # default: first running/available warehouse
install_app=True, # set False to skip the FastAPI app
profile=None, # only when running locally (Databricks CLI profile)
overwrite=False,
)
Run locally (outside a notebook) against a CLI profile:
import ridegenie
ridegenie.install("india-ridegenie", profile="FreeEdition")
Package layout
ridegenie/
├── conf/india-ridegenie.json # demo manifest (the "bundle_config")
├── installer.py # the Installer orchestrator + public install()
├── sql/setup.sql # templated data-layer DDL
├── genie/instructions.md # Genie domain instructions
├── dashboards/india_ridegenie.lvdash.json # AI/BI dashboard definition
├── data/*.csv.gz # pre-built synthetic data (uploaded to a Volume)
└── app/ # FastAPI + Leaflet app source
notebooks/00-START-HERE-RideGenie.py # one-click bootstrap notebook
scripts/ # build_zones.py / generate_rides.py (regenerate the data)
Regenerating the data (optional)
The repo ships pre-built data. To rebuild it from source (GeoNames India PIN codes):
cd scripts
python3 build_zones.py # downloads GeoNames, builds ride_zones.csv
python3 generate_rides.py # builds rides.csv (200K trips)
gzip -c ride_zones.csv > ../ridegenie/data/ride_zones.csv.gz
gzip -c rides.csv > ../ridegenie/data/rides.csv.gz
Built for Databricks Field Engineering. Synthetic data — no PII. PIN codes from GeoNames (India).
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
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 ridegenie-0.1.3.tar.gz.
File metadata
- Download URL: ridegenie-0.1.3.tar.gz
- Upload date:
- Size: 7.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1e9975a91fda0941631e7068bf0cd0aa39aaee3167cdd9d028c3bec2396a3ae0
|
|
| MD5 |
fe24406e481c77f99750225468ab84ab
|
|
| BLAKE2b-256 |
e736232d6319f567c616a50baefdc11768c32c2a833176f66c62d4033a28d429
|
Provenance
The following attestation bundles were made for ridegenie-0.1.3.tar.gz:
Publisher:
publish.yml on anuj1303/ridegenie-demo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ridegenie-0.1.3.tar.gz -
Subject digest:
1e9975a91fda0941631e7068bf0cd0aa39aaee3167cdd9d028c3bec2396a3ae0 - Sigstore transparency entry: 1675938130
- Sigstore integration time:
-
Permalink:
anuj1303/ridegenie-demo@d50e9450d8b3301b1592b5694c1922d10f606022 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/anuj1303
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@d50e9450d8b3301b1592b5694c1922d10f606022 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ridegenie-0.1.3-py3-none-any.whl.
File metadata
- Download URL: ridegenie-0.1.3-py3-none-any.whl
- Upload date:
- Size: 7.0 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ef0c7c1faf3bab28c5b49a2b36d4174df93359d96abd62ea1be73508f1cbc354
|
|
| MD5 |
98d390a9431e44fb4b1b682fa2bfc8b2
|
|
| BLAKE2b-256 |
2b46b42e127d61d99af405ebc7fb77cd9f5c47313234d6b0538135907de50ea0
|
Provenance
The following attestation bundles were made for ridegenie-0.1.3-py3-none-any.whl:
Publisher:
publish.yml on anuj1303/ridegenie-demo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ridegenie-0.1.3-py3-none-any.whl -
Subject digest:
ef0c7c1faf3bab28c5b49a2b36d4174df93359d96abd62ea1be73508f1cbc354 - Sigstore transparency entry: 1675938167
- Sigstore integration time:
-
Permalink:
anuj1303/ridegenie-demo@d50e9450d8b3301b1592b5694c1922d10f606022 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/anuj1303
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@d50e9450d8b3301b1592b5694c1922d10f606022 -
Trigger Event:
push
-
Statement type: