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.
  • CLIserve, repo, deploy, install-hook.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

local_preview-0.23.0-py3-none-manylinux_2_17_x86_64.whl (8.1 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

local_preview-0.23.0-py3-none-manylinux_2_17_aarch64.whl (7.5 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

local_preview-0.23.0-py3-none-macosx_11_0_arm64.whl (7.7 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

local_preview-0.23.0-py3-none-macosx_10_12_x86_64.whl (8.2 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

local_preview-0.23.0-py3-none-any.whl (8.1 MB view details)

Uploaded Python 3

File details

Details for the file local_preview-0.23.0-py3-none-manylinux_2_17_x86_64.whl.

File metadata

  • Download URL: local_preview-0.23.0-py3-none-manylinux_2_17_x86_64.whl
  • Upload date:
  • Size: 8.1 MB
  • Tags: Python 3, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","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}

File hashes

Hashes for local_preview-0.23.0-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 5bce1ec8e2e1ae377d94eef7573f233171489a933da5065e86faa03aa7a4f837
MD5 53cc02e0a595c4f14dcfc132a74ea056
BLAKE2b-256 808cec82a0a04c11b082901b661c913751ed319b1eddec27a3c217c6cd2b16ab

See more details on using hashes here.

File details

Details for the file local_preview-0.23.0-py3-none-manylinux_2_17_aarch64.whl.

File metadata

  • Download URL: local_preview-0.23.0-py3-none-manylinux_2_17_aarch64.whl
  • Upload date:
  • Size: 7.5 MB
  • Tags: Python 3, manylinux: glibc 2.17+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","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}

File hashes

Hashes for local_preview-0.23.0-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 4f2259c3fe32be875ad9e6e91683ccd24ca6ba6c8ec85235c6508147bd0886b7
MD5 c6a43e2271b325ada01a0c28bdc3ed36
BLAKE2b-256 aca6e784eb3f8c0693028ed357a90d1e5498f9c4da5c2a0dc7a44bb54c876caf

See more details on using hashes here.

File details

Details for the file local_preview-0.23.0-py3-none-macosx_11_0_arm64.whl.

File metadata

  • Download URL: local_preview-0.23.0-py3-none-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 7.7 MB
  • Tags: Python 3, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","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}

File hashes

Hashes for local_preview-0.23.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f4a3ecbc5791edeba0c91ea9827ac9bb6d2fd469d3ad599a2ece158ad4069432
MD5 1a8f97047c3c9f746e4827766e742a74
BLAKE2b-256 d9d94ca73381b5ab22163d3351e758be7a8a103f680a3a5e650470fd7425047b

See more details on using hashes here.

File details

Details for the file local_preview-0.23.0-py3-none-macosx_10_12_x86_64.whl.

File metadata

  • Download URL: local_preview-0.23.0-py3-none-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 8.2 MB
  • Tags: Python 3, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","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}

File hashes

Hashes for local_preview-0.23.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6b6b3e46b1366e263e580184dfa9c4f33e58e0f4f67e25cd8328fcfc4a0448e1
MD5 7923080a75f1feada266e05bad5f1fc5
BLAKE2b-256 a402486c278c2a52d084d46906a0a3a73108a071e8ab82a8b8c554a8ed87cb72

See more details on using hashes here.

File details

Details for the file local_preview-0.23.0-py3-none-any.whl.

File metadata

  • Download URL: local_preview-0.23.0-py3-none-any.whl
  • Upload date:
  • Size: 8.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","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}

File hashes

Hashes for local_preview-0.23.0-py3-none-any.whl
Algorithm Hash digest
SHA256 36d1848eff89a55555f498747437987c04bcb7d5d1c7cdd3906fea450621dbe5
MD5 f00c17fa0a5ed96f26147151342ffe15
BLAKE2b-256 a44a679d8f8b835d3d8e65c678b585cdb88316606d20f120053bd4ee70a2e5ac

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.23.0 This release

5 files

0.22.0

5 files

0.21.0

5 files

0.20.0

5 files

0.19.0

5 files

0.18.2

5 files

0.18.1

5 files

0.18.0

5 files

0.17.1

5 files

0.17.0

5 files

0.16.0

5 files

0.15.0

5 files

0.14.3

5 files

0.14.2

5 files

0.14.1

5 files

0.14.0

5 files

0.13.2

5 files

0.13.1

5 files

0.13.0

5 files

0.12.0

5 files

0.11.1

5 files

0.11.0

5 files

0.10.2

5 files

0.10.1

5 files

0.10.0

5 files

0.9.0

5 files

0.8.2

5 files

0.8.1

5 files

0.8.0

5 files

0.7.0

5 files

0.6.0

5 files

0.5.0

5 files

0.4.0

5 files

0.3.0

5 files

0.2.2

5 files

0.2.0

5 files

0.1.8

5 files

0.1.7

5 files

0.1.4

5 files

0.1.3

5 files

0.1.2

5 files

0.1.1

5 files

0.1.0

5 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page