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.2.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.2-py3-none-any.whl (7.0 MB view details)

Uploaded Python 3

File details

Details for the file ridegenie-0.1.2.tar.gz.

File metadata

  • Download URL: ridegenie-0.1.2.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.2.tar.gz
Algorithm Hash digest
SHA256 5e5f694ec2ec64a7db58b7b3a350853f895a138212ee31bc11914356424a7779
MD5 0cf3a97bb96d9bb81fd444547ee25412
BLAKE2b-256 2cf62daaf9a418674fb55018d8a0b6e8988c5b595bef6a43079bfe35e0218f56

See more details on using hashes here.

Provenance

The following attestation bundles were made for ridegenie-0.1.2.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.2-py3-none-any.whl.

File metadata

  • Download URL: ridegenie-0.1.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 14160ae9255072141474a01ff3a2aab4cc1f3fd3971279d248f8aa245e6650c8
MD5 5995759b1dbd94b957696f1b2228952e
BLAKE2b-256 19dc58587547e72c2f24bcfbd131b92ab4f61773b00e3670d72212568e3a0015

See more details on using hashes here.

Provenance

The following attestation bundles were made for ridegenie-0.1.2-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