Skip to main content

One-line installer for the GIVA Databricks demo (AI jewelry commerce: data + Vector Search + Genie + AI/BI dashboard + Lakebase + FastAPI app + paused background jobs).

Project description

💎 GIVA — one-line Databricks demo installer

giva packages the entire GIVA AI jewelry-commerce demo into a single pip-installable package, à la dbdemos. One call provisions the whole stack into your workspace from pre-baked real data.

%pip install giva-databricks
dbutils.library.restartPython()

import giva
giva.install('giva', catalog='my_catalog')

Locally with a CLI profile:

pip install giva-databricks
python -c "import giva; giva.install('giva', profile='AnujLathi', catalog='anuj_vm_workspace_catalog')"

What gets installed

# Asset Detail
1 UC data layer schema + volume, enriched_jewelry_products (~236 LLM-enriched products) + jewelry_embeddings + ~236 product images
2 Vector Search giva-vs endpoint + jewelry_embeddings_index (DELTA_SYNC, 1024-dim) for semantic & image search
3 Genie Space natural-language analytics over the product catalog
4 AI/BI dashboard catalog & sales analytics, published
5 Lakebase (Postgres) giva-orders instance + giva db: orders, users, nudges, live metal prices, dynamic product prices — seeded with data
6 App React + FastAPI storefront + admin analytics (Databricks App)
7 Background jobs Metals Refresh + Nudge Emails — created PAUSED (stopped, not triggered)

⏸ The two pipelines are installed PAUSED

Per design, the Metals Refresh Pipeline and Nudge Emails Pipeline jobs are created with their schedule pause_status = PAUSED. They will not run on a trigger. The demo works out of the box because metal prices and product prices are seeded into Lakebase. When you want a live refresh, either:

  • trigger them manually from the admin app (Run now), or
  • unpause the schedule in the Jobs UI.

The two job notebooks read Service-Principal credentials and (for emails) Gmail OAuth from a Databricks secret scope giva. These secrets are not created by the installer — set them before unpausing if you want the jobs to run.

Options

giva.install(
    'giva',
    catalog='my_catalog',          # required on non-Free-Edition workspaces
    schema='giva',          # default
    warehouse_id=None,             # default: first running/available
    install_app=True,
    install_lakebase=True,         # provision Lakebase + seed
    install_jobs=True,             # create the two PAUSED jobs
    install_vector_search=True,
    profile='AnujLathi',           # only when running locally
)

Rebuilding the package data (maintainers)

The packaged data/, dashboards/ and Lakebase schema are exported from the live reference build. To refresh them:

python scripts/export_live_assets.py --profile AnujLathi \
    --catalog anuj_vm_workspace_catalog --schema caratlane_jewelry
python -m build           # produces dist/giva-*.whl

Installing the package

Until it's on PyPI, install the wheel straight from a GitHub Release:

pip install https://github.com/anuj1303/giva-demo/releases/download/v0.1.0/giva-0.1.0-py3-none-any.whl

or build-and-install from source:

pip install "git+https://github.com/anuj1303/giva-demo.git"

Publishing to PyPI (maintainers)

The Publish giva-databricks to PyPI GitHub Action publishes via trusted publishing (OIDC — no API tokens). One-time setup, then a one-click publish:

  1. On https://pypi.org → your account → PublishingAdd a pending publisher:
    • PyPI Project Name: giva
    • Owner: anuj1303
    • Repository name: giva-demo
    • Workflow name: publish.yml
    • Environment: (leave blank)
  2. In the repo: Actions → Publish giva-databricks to PyPI → Run workflow.

Note: the wheel is ~88 MB (the 11.5M-row nudge_emails seed is most of it). That's under PyPI's 100 MB per-file limit but large — the GitHub Release wheel above is the recommended distribution for most users.

Reference build

  • Workspace: AWS FE VM (fe-vm-anuj-vm-workspace)
  • Source catalog/schema: anuj_vm_workspace_catalog.caratlane_jewelry
  • App: tanishq-jewelry-demo (UI name GIVA)

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

giva_databricks-0.1.2.tar.gz (34.1 MB view details)

Uploaded Source

Built Distribution

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

giva_databricks-0.1.2-py3-none-any.whl (34.1 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: giva_databricks-0.1.2.tar.gz
  • Upload date:
  • Size: 34.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for giva_databricks-0.1.2.tar.gz
Algorithm Hash digest
SHA256 5174f8a1c87804c0f567592b4f99d78bb48b9dda5f858e7c2991bb6c6d406f0e
MD5 9284221807c1a6741f3b660174f03207
BLAKE2b-256 55f47d87e258bce32be47b74281feb0b9620ed52ee1d000adbce69c4b63270a9

See more details on using hashes here.

Provenance

The following attestation bundles were made for giva_databricks-0.1.2.tar.gz:

Publisher: publish.yml on anuj1303/giva-databricks

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

File details

Details for the file giva_databricks-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: giva_databricks-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 34.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for giva_databricks-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 99494573e988a5d48a04305de0cc5053d98977a313eec9076d1b06c6b24f1d27
MD5 0fec8a588dadfbc8ab1e51aaf13f572d
BLAKE2b-256 57f4601743fe84dbde4d4e91b13bf435150a10ec36d95ba6726cf748c82f48d2

See more details on using hashes here.

Provenance

The following attestation bundles were made for giva_databricks-0.1.2-py3-none-any.whl:

Publisher: publish.yml on anuj1303/giva-databricks

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