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

Uploaded Python 3manylinux: glibc 2.17+ x86-64

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

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

Uploaded Python 3macOS 10.12+ x86-64

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: local_preview-0.14.2-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.14.2-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 fe6ec573b18ad8b4879d5b449600f90903fb3750af0757f091b27d284f5609d1
MD5 185e915016c9474723d8c907392299cc
BLAKE2b-256 0e3e5044aee0f5ca1c05c9d72cfb3a155c2af2dd01a95ed1241f5b172909c0bf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.14.2-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.14.2-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 f9e87114ca8adaf431fee72b94bfba49044fcbf9ef0fa0379558f3a221dc47c5
MD5 2762b63988d4e8c73b50dbf3474f927d
BLAKE2b-256 f9ea91129f66645c5390e251f7fc695fb081038f33d82dd4a96026cff64d391f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.14.2-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.14.2-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 10eb3fd2904e1a38909652c710403400ed43ca951da434828581a55dffc10983
MD5 7ad753393b502d4948bad7ac4e2a9e3c
BLAKE2b-256 29f3e68cc1cd550d3ee6c5e65e3a1c55ffe1fc968901bc526ce70318d84dbe90

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.14.2-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.14.2-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f82d385300c3575a2425ce5fedf3899ae3cc1e34600b92fd3d19a74882079ffc
MD5 84e53bba75c6be20d069b77c997a265c
BLAKE2b-256 ec1f08dbdb99fdf7a349a7fb11fb14320308ecf5829978f390d6f92aefaad94a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.14.2-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.14.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0ed00ec300226eb490ddaf3cf03ee0854d87c1782e9ecdec4a87f2ac1f713a4f
MD5 23c9d2e07535598a41a66c2ae874238c
BLAKE2b-256 06233784070af92f86906ea615ddc330b537cef677db14a932ccde2838352769

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

This release

0.14.2 This release

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