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

💎 Petpooja — one-line Databricks demo installer

petpooja packages the entire Petpooja 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 petpooja-databricks
dbutils.library.restartPython()

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

Locally with a CLI profile:

pip install petpooja-databricks
python -c "import petpooja; petpooja.install('petpooja', 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 petpooja-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) petpooja-orders instance + petpooja 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 petpooja. These secrets are not created by the installer — set them before unpausing if you want the jobs to run.

Options

petpooja.install(
    'petpooja',
    catalog='my_catalog',          # required on non-Free-Edition workspaces
    schema='petpooja',          # 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/petpooja-*.whl

Installing the package

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

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

or build-and-install from source:

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

Publishing to PyPI (maintainers)

The Publish petpooja-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: petpooja
    • Owner: anuj1303
    • Repository name: petpooja-demo
    • Workflow name: publish.yml
    • Environment: (leave blank)
  2. In the repo: Actions → Publish petpooja-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 Petpooja)

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

petpooja_databricks-0.1.0.tar.gz (1.8 MB view details)

Uploaded Source

Built Distribution

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

petpooja_databricks-0.1.0-py3-none-any.whl (1.8 MB view details)

Uploaded Python 3

File details

Details for the file petpooja_databricks-0.1.0.tar.gz.

File metadata

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

File hashes

Hashes for petpooja_databricks-0.1.0.tar.gz
Algorithm Hash digest
SHA256 406fe57d3ba80b7cbbc6bf6e37dd66cfd536bff385e94a3668aa279af403a752
MD5 db69171d5b13270bfc5a727ceb435fc7
BLAKE2b-256 46698e676c93cf91247b9bfd93c1fef2229434116b2cb96dcdf1692d3e9ed93b

See more details on using hashes here.

Provenance

The following attestation bundles were made for petpooja_databricks-0.1.0.tar.gz:

Publisher: publish.yml on anuj1303/petpooja-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 petpooja_databricks-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for petpooja_databricks-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1a37fa470fb3a5e04015fa47482ec8e8c2505c63f979591a31f48ac5bfddffc5
MD5 765303e76568db5fb5c06267ac500e27
BLAKE2b-256 ed04f81f43439139bb880ca13f3d4cca89f0a1cd4f3c5dc69686f6f34293afe3

See more details on using hashes here.

Provenance

The following attestation bundles were made for petpooja_databricks-0.1.0-py3-none-any.whl:

Publisher: publish.yml on anuj1303/petpooja-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