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:
- On https://pypi.org → your account → Publishing → Add a pending publisher:
- PyPI Project Name:
petpooja - Owner:
anuj1303 - Repository name:
petpooja-demo - Workflow name:
publish.yml - Environment: (leave blank)
- PyPI Project Name:
- In the repo: Actions → Publish petpooja-databricks to PyPI → Run workflow.
Note: the wheel is ~88 MB (the 11.5M-row
nudge_emailsseed 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
Release history Release notifications | RSS feed
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
406fe57d3ba80b7cbbc6bf6e37dd66cfd536bff385e94a3668aa279af403a752
|
|
| MD5 |
db69171d5b13270bfc5a727ceb435fc7
|
|
| BLAKE2b-256 |
46698e676c93cf91247b9bfd93c1fef2229434116b2cb96dcdf1692d3e9ed93b
|
Provenance
The following attestation bundles were made for petpooja_databricks-0.1.0.tar.gz:
Publisher:
publish.yml on anuj1303/petpooja-databricks
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
petpooja_databricks-0.1.0.tar.gz -
Subject digest:
406fe57d3ba80b7cbbc6bf6e37dd66cfd536bff385e94a3668aa279af403a752 - Sigstore transparency entry: 1744208196
- Sigstore integration time:
-
Permalink:
anuj1303/petpooja-databricks@76eb4a8d288a188345ea2e9c7231ccdcb335e386 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/anuj1303
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@76eb4a8d288a188345ea2e9c7231ccdcb335e386 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file petpooja_databricks-0.1.0-py3-none-any.whl.
File metadata
- Download URL: petpooja_databricks-0.1.0-py3-none-any.whl
- Upload date:
- Size: 1.8 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 |
1a37fa470fb3a5e04015fa47482ec8e8c2505c63f979591a31f48ac5bfddffc5
|
|
| MD5 |
765303e76568db5fb5c06267ac500e27
|
|
| BLAKE2b-256 |
ed04f81f43439139bb880ca13f3d4cca89f0a1cd4f3c5dc69686f6f34293afe3
|
Provenance
The following attestation bundles were made for petpooja_databricks-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on anuj1303/petpooja-databricks
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
petpooja_databricks-0.1.0-py3-none-any.whl -
Subject digest:
1a37fa470fb3a5e04015fa47482ec8e8c2505c63f979591a31f48ac5bfddffc5 - Sigstore transparency entry: 1744208433
- Sigstore integration time:
-
Permalink:
anuj1303/petpooja-databricks@76eb4a8d288a188345ea2e9c7231ccdcb335e386 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/anuj1303
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@76eb4a8d288a188345ea2e9c7231ccdcb335e386 -
Trigger Event:
workflow_dispatch
-
Statement type: