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

Uploaded Python 3manylinux: glibc 2.17+ x86-64

local_preview-0.2.2-py3-none-manylinux_2_17_aarch64.whl (6.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

local_preview-0.2.2-py3-none-macosx_11_0_arm64.whl (6.6 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

local_preview-0.2.2-py3-none-macosx_10_12_x86_64.whl (7.0 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

local_preview-0.2.2-py3-none-any.whl (6.9 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: local_preview-0.2.2-py3-none-manylinux_2_17_x86_64.whl
  • Upload date:
  • Size: 6.9 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.2.2-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 adccbe38849fce6cad3be161283e15132e97de934c834194408fbffe7eca2382
MD5 79d98efe20b215ad72a5d3ea46121bf3
BLAKE2b-256 267b77d758aebddc8a01c67795320865988f09053a73ce62f5abf84c9d5369af

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.2.2-py3-none-manylinux_2_17_aarch64.whl
  • Upload date:
  • Size: 6.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.2.2-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 0b54f3d07343c0f305aa02d609911dd29df8c4ebe4d9cf50121e0910f68db344
MD5 2543e69daaf24950080e90f1d8bc5090
BLAKE2b-256 b9ea4183fcfddd52764d774e1603e60f307a8bda41027bbd3186eb451e143a72

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.2.2-py3-none-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 6.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.2.2-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2088ea456056c77ba81ab321940fdcfb2d2b24f83919a87921ff8f5344071ed3
MD5 c461b83beee133f49d1a817ca8d9b276
BLAKE2b-256 a3b8af5a526387e84b46a1195f96dd3b83d4468f9949c6a8389635ee693c8c93

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.2.2-py3-none-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 7.0 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.2.2-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 7177f3cb2a15926d565702a7fe24335c0fcfa43859126734cc7114ad55f753d1
MD5 a7b0b916057878853624bdbc9cc5350d
BLAKE2b-256 e558a16aa6600b39b8baf59076bfc45bfc7e30989c9f7ac54c442d4bd2d8b72d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 6.9 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.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 35957a712ccd4212c60a0b9158d82412b9a775e7f1c9837ac53a1fae57807503
MD5 3066a0df38003dff4ec810b3fb157566
BLAKE2b-256 87ff4ecdebcff127730b90ea606a2174395ba5120f8b0524a96b59ed620177f5

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

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

This release

0.2.2 This release

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