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

Uploaded Python 3manylinux: glibc 2.17+ x86-64

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

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

Uploaded Python 3macOS 10.12+ x86-64

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: local_preview-0.13.1-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.13.1-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 cca083af83edd01435dbbc04f1858a8dd1b8497891ad2b5ac97e0226f0bc93f6
MD5 846b1c600971466f2423571f32d39a74
BLAKE2b-256 5397d24a9be7b5b6dda5a87c06191a0f3fa92ccc50b3e598771ae93bb15471c5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.13.1-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.13.1-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 dd8ed4f68f7cbab2d502d2661ffb898542e93fe9c28ac8fa22a21cb22f069dc4
MD5 b763dc3be0113425fe4a8909e273d309
BLAKE2b-256 31f6bae1be7faa5b6b28b47c205d3a475e9e1d71e6522e951dde923f28c29374

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.13.1-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.13.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8f13e406ae8239972445a6e7b9a0cdafc86dc730d7380654cfdaebaf0640ef61
MD5 42c1edfb3b2ee61d76ba3804e2211d4f
BLAKE2b-256 21852d2245aa9f8e1c09056c99240b023e06d8622431ee4f629c162e7bc4b125

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.13.1-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.13.1-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f5199a46fd1e2d4df96dd38d044c1222ea4aa0afc4b4574ca4bf036fffa9127b
MD5 3f5eda5f3ffc5e6ddbf32e6332ad43d0
BLAKE2b-256 8079c621fcd55a6e2379c04f00ed01e047ee5665a1f22cfa82e73e7584e8e83f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.13.1-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.13.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f8bcc7364c0e049a07b44c57bedb65f6d8f95f1ba9f617dcbd8b011b535e0815
MD5 afa9c3ede0703a4e53f2322f1daf9c63
BLAKE2b-256 e7ae37a9b362d119f9f6df4faf41747fb6fab7069c469e81a58ec1a9edb83fc1

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

This release

0.13.1 This release

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