Skip to main content

local-preview

Test status Deploy Status Docs Go Reference PyPI

A local-first preview-deployment orchestrator: every commit of a registered git repository becomes a servable preview at its own subdomain (<sha>-<repo>.preview.localhost:8080), built once, deduplicated by content, and served from a single binary.

local-preview resolves each commit into a (frontend artifact, backend artifact) pair by content-addressing the relevant subtrees. Commits that don't touch the frontend (or backend) reuse the existing artifact — and the already-running backend process. Backend state follows git lineage: a new backend version forks its data from the nearest deployed ancestor, so previews feel continuous on a straight line of commits while divergent branches can never corrupt each other.

Install

uv tool install local-preview

This installs the binary to ~/.local/bin/preview. Make sure to have that on your PATH.

Run

preview serve

The server listens on :8080. Open http://localhost:8080/ for the dashboard.

Or with Docker Compose:

docker compose up -d

📖 Documentation

Full documentation lives at https://jmelahman.github.io/local-preview/:

  • Quickstart — register a repo, deploy a commit, open the preview.
  • Configuration — flags and env vars.
  • REST API — endpoints exposed by the running server.
  • CLI — serve, repo, deploy, install-hook.

Metadata

Release files for local-preview 0.31.2

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

Built distributions (wheels)

Table of built distributions (wheels) for local-preview 0.31.2
File
local_preview-0.31.2-py3-none-manylinux_2_17_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details
local_preview-0.31.2-py3-none-manylinux_2_17_aarch64.whl Python 3 none Linux glibc 2.17+ ARM64 Details
local_preview-0.31.2-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details
local_preview-0.31.2-py3-none-macosx_10_12_x86_64.whl Python 3 none macOS 10.12+ x86-64 Details
local_preview-0.31.2-py3-none-any.whl Python 3 none any Details

Total release size: 45.4 MB

Release files / local_preview-0.31.2-py3-none-manylinux_2_17_x86_64.whl

Download URL local_preview-0.31.2-py3-none-manylinux_2_17_x86_64.whl
Size 9.3 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
75aad37f8d81af60e2c43230dbf71d93c0d6eca7d9c95e229958a76f056d7eca
BLAKE2b-256 checksum
How to use checksums
553e4cd4219e8cb33a4e7a540c7ac5fe584d684f3ba2797809e1ac544bde0994
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / local_preview-0.31.2-py3-none-manylinux_2_17_aarch64.whl

Download URL local_preview-0.31.2-py3-none-manylinux_2_17_aarch64.whl
Size 8.6 MB
Tags Linux glibc 2.17+ ARM64 Python 3
SHA-256 checksum
How to use checksums
44a866d0948a9b4139c3bb0266cc9e2d93c06ab30519843e617c0dd89eb3a1f3
BLAKE2b-256 checksum
How to use checksums
2bf38911bf85982af83eb842901f3cc1c3dcc221997dc6a97d73fbcedce74033
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / local_preview-0.31.2-py3-none-macosx_11_0_arm64.whl

Download URL local_preview-0.31.2-py3-none-macosx_11_0_arm64.whl
Size 8.8 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
2f5b945b5ca6726a361e54f5a03a7a349dfe6d15fdffc87fdbcff3d11186e839
BLAKE2b-256 checksum
How to use checksums
853edf7cb636d1b023b7fe960b1f12bb0ebdec2e9d1e6dcaa23ae1d8792c368c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / local_preview-0.31.2-py3-none-macosx_10_12_x86_64.whl

Download URL local_preview-0.31.2-py3-none-macosx_10_12_x86_64.whl
Size 9.4 MB
Tags Python 3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
f6af447a3d6a478c62c30a40fd5c5d96f5a56e9fcb865a14286fcbf617f584f4
BLAKE2b-256 checksum
How to use checksums
fd7d9408e87d1440f00937e5785b07a61b387c4bc10acf59b4a95ba67120f753
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / local_preview-0.31.2-py3-none-any.whl

Download URL local_preview-0.31.2-py3-none-any.whl
Size 9.3 MB
Tags Python 3
SHA-256 checksum
How to use checksums
48e7da1a9e15a98bd750388ce90b678ffc476baa29583f7b3d876674e387775e
BLAKE2b-256 checksum
How to use checksums
447e883b2104b4168fcb7a88f81489bed1dfe380ee7a325371158a1ccaa8ce47
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

0.31.2 This release

5 release files

0.31.1

5 release files

0.31.0

5 release files

0.30.1

5 release files

0.30.0

5 release files

0.29.1

5 release files

0.29.0

5 release files

0.28.0

5 release files

0.27.0

5 release files

0.26.1

5 release files

0.26.0

5 release files

0.25.1

5 release files

0.25.0

5 release files

0.24.0

5 release files

0.23.0

5 release files

0.22.0

5 release files

0.21.0

5 release files

0.20.0

5 release files

0.19.0

5 release files

0.18.2

5 release files

0.18.1

5 release files

0.18.0

5 release files

0.17.1

5 release files

0.17.0

5 release files

0.16.0

5 release files

0.15.0

5 release files

0.14.3

5 release files

0.14.2

5 release files

0.14.1

5 release files

0.14.0

5 release files

0.13.2

5 release files

0.13.1

5 release files

0.13.0

5 release files

0.12.0

5 release files

0.11.1

5 release files

0.11.0

5 release files

0.10.2

5 release files

0.10.1

5 release files

0.10.0

5 release files

0.9.0

5 release files

0.8.2

5 release files

0.8.1

5 release files

0.8.0

5 release files

0.7.0

5 release files

0.6.0

5 release files

0.5.0

5 release files

0.4.0

5 release files

0.3.0

5 release files

0.2.2

5 release files

0.2.0

5 release files

0.1.8

5 release files

0.1.7

5 release files

0.1.4

5 release files

0.1.3

5 release files

0.1.2

5 release files

0.1.1

5 release files

0.1.0

5 release files

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