Quickstart

Start the local control plane. The UI comes up empty. Screenshots on this site are synthetic demo data, not the result of these commands.

Updated 3 min readEdit this pageReport an issueView as Markdown
On this page

Install and start#

  1. Clone the repository

    The clone directory is cryo, lowercase.

    terminal
    git clone https://github.com/tech-pw/cryo.git
    cd cryo
  2. Start the local stack

    ./start-local.sh start creates the venv, starts Postgres, Redis, and the local datalake, runs Alembic, and starts the API and UI on the host. make up only starts containers. It does not migrate. /healthz does not touch Postgres.

    terminal
    ./start-local.sh start

    Done when the script prints a dev sign-in role. The UI is empty. No preset is marked default, so a later scan does not schedule maintenance until you assign one.

  3. Seed demo tables

    Optional. This writes five small tables (rest.demo.customers, products, orders, order_items, shipments). It does not create small files, stale manifests, or expirable snapshots, and it does not register a Cryo source or scan. It needs host PySpark, which make install does not install.

    terminal
    make seed

    Done when the log prints those five table names. The dashboard still does not show them until a source exists and a scan runs.

  4. Open the UI

    Open http://localhost:5173. On macOS, open http://localhost:5173 does the same thing.

    Done when the login screen loads. Dev sign-in is a role (viewer, operator, or admin), not an arbitrary username.

What runs locally#

You use the web UI, which talks only to the API. The scanner reads the demo catalog. Nothing here needs a cloud account.

Figure 1make up runs the whole stack against a demo lake
make up runs the whole stack against a demo lakemake up starts the API, Web UI, PostgreSQL, Redis and a demo Trino. You open the Web UI. The Scanner reads the demo catalog.Local stackdocker composeDemo lakereadopenRESTYoubrowserWeb UIlocalhost:5173APIFastAPITrino (demo)demo engineScannerreads metadataDemo catalogseeded tables
The local stack reads a demo catalog. Production keeps the same split with your own catalogs and engines.
  • Read path
Text description
  • You to Web UI (open)
  • Web UI to API (REST)
  • Scanner to Demo catalog

What to try first#

  • Home is empty until a scan has stored grades. The screenshots below are synthetic demo data, not this quickstart.
  • Open Tables after you add a source and run a scan. make seed alone does not put rows here.
  • Open Runs after a preset is assigned. Nothing in this quickstart enqueues maintenance.
  • Open any run to see its jobs and receipts: operation, engine, status and duration.

localhost:5173/

Demo data
Home after a few nights of maintenance. Last night's run and your next steps come first. The lake's grades, the tables people query most and the tables Cryo just fixed sit below.

For agents#

There is no chat on this site. Give an agent this prompt, then the page it asked about:

prompt
Read https://tech-pw.github.io/cryo/llms.txt, then answer only from those pages. If a fact is not on one of them, say so.