Skip to main content

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

PyPI Python License: MIT

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 workspace only 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)

  1. Resolves context — current user, workspace host, and a SQL warehouse (auto-picks a running one, or starts/creates one).
  2. Builds the data layer — creates the schema + volume, uploads the bundled (gzipped) CSVs, and runs a templated setup.sql to build the tables/views.
  3. Creates the Genie Space — registers the tables with format-assistance + entity-matching and applies domain instructions (INR, surge, payments).
  4. Creates & publishes the AI/BI dashboard — one shared dataset drives cross-filtering across KPIs, charts, and the hotspot map.
  5. Deploys the app — creates the app, uploads the source, attaches sql-warehouse + genie resources (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

ridegenie-0.1.3.tar.gz (7.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ridegenie-0.1.3-py3-none-any.whl (7.0 MB view details)

Uploaded Python 3

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

Hashes for ridegenie-0.1.3.tar.gz
Algorithm Hash digest
SHA256 1e9975a91fda0941631e7068bf0cd0aa39aaee3167cdd9d028c3bec2396a3ae0
MD5 fe24406e481c77f99750225468ab84ab
BLAKE2b-256 e736232d6319f567c616a50baefdc11768c32c2a833176f66c62d4033a28d429

See more details on using hashes here.

Provenance

The following attestation bundles were made for ridegenie-0.1.3.tar.gz:

Publisher: publish.yml on anuj1303/ridegenie-demo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for ridegenie-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 ef0c7c1faf3bab28c5b49a2b36d4174df93359d96abd62ea1be73508f1cbc354
MD5 98d390a9431e44fb4b1b682fa2bfc8b2
BLAKE2b-256 2b46b42e127d61d99af405ebc7fb77cd9f5c47313234d6b0538135907de50ea0

See more details on using hashes here.

Provenance

The following attestation bundles were made for ridegenie-0.1.3-py3-none-any.whl:

Publisher: publish.yml on anuj1303/ridegenie-demo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page