Skip to main content

create-caspian-app

Create a new Caspian app, a high-performance Python web framework built on FastAPI and the PulsePoint browser runtime.

The installer and application tooling use Python.

Caspian is in alpha. APIs and generated project structure may change as Caspian develops.

Create an app

With uv (recommended, nothing to install first):

uvx create-caspian-app@latest my-app

Use @latest to check for the newest published installer. Without it, uvx can reuse a cached older version. Verify with uvx create-caspian-app@latest --version; use @0.0.7 instead to run that exact release.

Or install the command once:

uv tool install create-caspian-app     # or: pipx install create-caspian-app
create-caspian-app my-app

You'll be asked which features you want:

? What is your project named? (my-app)
? Would you like to use Tailwind CSS? y/N
? Would you like to use MCP (Model Context Protocol)? y/N
? Would you like to use Prisma ORM (Caspian DB)? y/N
? Would you like to use WebSocket? y/N

The installer writes the project, generates a .env with fresh secrets, runs uv sync --group dev, and builds the CSS. When Tailwind is on, the installer runs settings/build.py setup before the CSS build. Setup installs Tailwind's pinned official standalone executable and verifies its checksum. The shared user cache is reused by every project, so the same version/platform is downloaded once. Existing verified project-local downloads can seed that cache. PulsePoint and Tailwind Merge are bundled scaffold files.

Then:

cd my-app
uv run dev

uv run dev is a shortcut for uv run python main.py; both start the development server. The other everyday tools have short commands too; arguments pass through unchanged:

Command Same as Does
uv run dev uv run python main.py Start the development server
uv run restart uv run python settings/restart.py Apply edits: graceful restart of the dev server (--stop to stop)
uv run test uv run python settings/test.py Quality gate: ty, Ruff, templates, pytest
uv run format uv run python settings/format.py Format markup and Python (--check to report only)
uv run fix uv run python settings/fix.py Format, apply lint fixes, run the gate
uv run build uv run python settings/build.py Build CSS and validate sources (css, pages, --check)
uv run browser-log uv run python settings/browser_log.py Browser errors from the dev session
uv run generate uv run python settings/generate.py Add a component, route, layout, or route.py endpoint to the app

Skip the questions

Pass flags and -y. Only the flags you pass are turned on:

uvx create-caspian-app@latest my-app --tailwindcss --mcp --prisma --websocket -y
uvx create-caspian-app@latest my-app --prisma --websocket -y
Flag Feature
--tailwindcss Tailwind CSS v4 (pinned standalone compiler in a shared user cache)
--mcp MCP server mounted in FastAPI (src/lib/mcp)
--prisma Caspian DB: prisma/schema.prisma + generated Python client
--websocket Named sockets (src/lib/websocket)
--skip-install Write files only; skip uv sync and the CSS build
-y No prompts

Update an existing app

Run this from the project folder:

uvx --from create-caspian-app@latest casp update project          # latest
uvx --from create-caspian-app@latest casp update project 0.0.1    # a specific version

Running create-caspian-app <name> inside a folder that has a caspian.config.json does the same. The update asks about any features that aren't enabled yet and re-pins the managed dependencies.

It replaces only the template files nobody changed. caspian.config.json keeps a scaffold ledger: the SHA-256 of every template file as the installer wrote it. Edit any file freely, by hand or with an AI agent; on the next update:

File on disk Update
Unchanged since the installer wrote it Replaced with the new template version
Edited Kept, and listed as yours
Deleted Stays deleted
New in this template Written
No longer in the template (or its feature was turned off) Removed when unchanged, kept when edited; prisma/ is never removed

Take the template version of a file you edited with --force (repeatable):

uvx --from create-caspian-app@latest casp update project -y --force src/app/index.py

Some files follow fixed rules instead: .env and uv.lock are never written, public/css/styles.css is rebuilt by the update's CSS build, src/app/globals.css only gains or loses the Tailwind directives, pyproject.toml only has the managed requirements re-pinned and missing uv run aliases added, and AGENTS.md only has its <!-- caspian:start --> block replaced, so your notes around it stay.

A project created before the ledger existed gets one on its first update: the installer re-runs the version recorded in its config into a temporary folder to learn exactly which files are unchanged.

Requirements

  • Python 3.14+ for the installer and generated apps. uv can download Python 3.14 if it is missing.
  • uv. If it's missing, the installer tries python -m pip install uv.

Metadata

Release files for create-caspian-app 0.0.17

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for create-caspian-app 0.0.17
File Size Uploaded Provenance
create_caspian_app-0.0.17.tar.gz 702.6 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for create-caspian-app 0.0.17
File Interpreter ABI Platform
create_caspian_app-0.0.17-py3-none-any.whl Python 3 none any Details

Total release size: 1.4 MB

Release files / create_caspian_app-0.0.17.tar.gz

Download URL create_caspian_app-0.0.17.tar.gz
Size 702.6 kB
Tags Source
SHA-256 checksum
How to use checksums
243c4a6e834815252ced093358fc0edf0404f6f419828de8d33ae9ae12e10f10
BLAKE2b-256 checksum
How to use checksums
a1d9670126cb3a3dff5059c8463571fb54a9ba67a50db5502a755ee8665719e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / create_caspian_app-0.0.17-py3-none-any.whl

Download URL create_caspian_app-0.0.17-py3-none-any.whl
Size 733.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5f0fe11d837a3a5b2081144d8af3929e45852dec174728f388fb3e26a9f09de3
BLAKE2b-256 checksum
How to use checksums
b45d92fc81e6d6c37a6bc2425399bb7de7ab7a860c98fc99837cb6822b6dcf0c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for create-caspian-app 0.0.17

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page