Skip to main content
You typically run the backend and frontend in two separate terminal windows. The frontend dev server proxies all /api requests to the backend on port 8080.
From the backend/ directory:
1

Create and activate a virtual environment

2

Install the package in editable mode

3

Start the dev server

The script sets up a throwaway SQLite database (halite-dev.db), runs alembic upgrade head, and starts uvicorn with --reload on http://127.0.0.1:8080. Default credentials are admin / changeme.
The dev server restarts automatically when you change Python source files.

Regenerating API types

After changing any backend Pydantic schema or route, regenerate the frontend’s TypeScript types from the root of the repository:
This requires the backend’s .venv to already exist. See API Spec for details.
  • Testing — running the test suite
  • API Spec — regenerating the OpenAPI spec and TypeScript types