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.11.0-py3-none-manylinux_2_17_x86_64.whl (8.0 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

local_preview-0.11.0-py3-none-manylinux_2_17_aarch64.whl (7.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

local_preview-0.11.0-py3-none-macosx_11_0_arm64.whl (7.6 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

local_preview-0.11.0-py3-none-macosx_10_12_x86_64.whl (8.1 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

local_preview-0.11.0-py3-none-any.whl (8.0 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: local_preview-0.11.0-py3-none-manylinux_2_17_x86_64.whl
  • Upload date:
  • Size: 8.0 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.11.0-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 933348406738db6c22542869d97011c8b5b25c6f63acaa5a66e0166ddb8fd7f9
MD5 1c38dacdea3529fc03086dec66aac865
BLAKE2b-256 eaa3cff29a11ba70bb5cac026933af6e808aa8a0d095daa095f726d7609897da

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.11.0-py3-none-manylinux_2_17_aarch64.whl
  • Upload date:
  • Size: 7.4 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.11.0-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 b9a155cdc8ba264a686e1ab09becf00d817f7be49f220b73f5c1e0a388967966
MD5 1c8ef03d079dcc4bc2b04bba1743dcc2
BLAKE2b-256 4ef6c2a472f5dc8787b6877e19b47843c7732cb5ef84615d9107f725e60ecbaf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.11.0-py3-none-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 7.6 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.11.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b725ccce3df553527e61b44e1b70e20b9e5f011d79b4b22ef169981add75184c
MD5 66d3343e122f7754123e8473d3693a41
BLAKE2b-256 8e9e012eda0255709a028a75ab8a6940517b9a1ed3dd5c0887f9a9a7245ea717

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.11.0-py3-none-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 8.1 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.11.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 38b854e20e0a4e7c22ed502b1963e3280f8a93ac7f6ecff7f8d0d3d939db6990
MD5 d8e9f1e2a223b6178c59a6214a1fe64a
BLAKE2b-256 68c886d2aeef5e89a5baadc6034a9d516cac23483efa89b6c992482ae4851905

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.11.0-py3-none-any.whl
  • Upload date:
  • Size: 8.0 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.11.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e76cce0cd48776d917a75502ab9770fc455e7ad3c0c19e34f2626deed1775484
MD5 46ec16a38530b72490cb69507ac7cbcf
BLAKE2b-256 d0a7be022c131f8af42a018f42a8e816bae98444a470c25edd3cddeeb4c16b2b

See more details on using hashes here.

Release history Release notifications | RSS feed

0.23.0

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

This release

0.11.0 This release

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