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.15.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.15.0-py3-none-manylinux_2_17_aarch64.whl (7.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

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

Uploaded Python 3macOS 10.12+ x86-64

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: local_preview-0.15.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.15.0-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 e09df1496ee72fa7788456cd23e0dc55d5004748387de7c82c2b3005205e7c62
MD5 194568c1fe63a443647609d767c5df42
BLAKE2b-256 46373134240f15ebf68d9a79888bc11588d29692d615479f0776158e6143f3ec

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.15.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.15.0-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 a621f8db68eb5cc00a4eed1322277b397addff9568fd4a4ec9c0721d635a115e
MD5 66fd44d7feae4aff55172c69eb1091cc
BLAKE2b-256 23d2b05ac8274a22e2173e51a7e044b956f6193f72f508669a7ec26a4f857813

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.15.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.15.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cbadeac421d2b6e0504fb2817f4dbca6f80999c11ecc56a943d3f61bf29c5821
MD5 f229a0c25c085dce66a208a6660b92ee
BLAKE2b-256 3534cabe2571a52db57b59780cddf94eb7b278a97ac6ba8344e61a76099c8d4f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.15.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.15.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 aa8560a8deec41e5237f21f39b4e10d5186be0222de70ab93263c9e34fdd42dc
MD5 0eda75ec346080bd88c670a9a3d7d91c
BLAKE2b-256 3bc2d706e6fd7845146da2d7f9ce64454add736322bee1110079a317d0e901b0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.15.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.15.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c25cccc502d0f93d23cbb0b80dcbb3d5a9e49fa98e7d3af1c181fa804f32c380
MD5 1f94518cde59ef43d174584e06295920
BLAKE2b-256 cfbc11da3c358634087e3cfe00772c32b04cc6d46c2a978d9867e9df3d4034a0

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

This release

0.15.0 This release

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