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.21.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.21.0-py3-none-manylinux_2_17_aarch64.whl (7.5 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

local_preview-0.21.0-py3-none-macosx_10_12_x86_64.whl (8.2 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: local_preview-0.21.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.21.0-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 06b39bf391595179ba0e34a56d9e915b8e59f204f609c242c01646d605a11997
MD5 9b24463e6b929eed6037d95be29708fc
BLAKE2b-256 44aa06af598bfd01d8c58754f57261610df2f37b0c9f2143dc1c17084f8885ba

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.21.0-py3-none-manylinux_2_17_aarch64.whl
  • Upload date:
  • Size: 7.5 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.21.0-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 efbb7e05a41d04ddeeed65988ce253c0f07e8aa61b70868cc167e99ddf0e328a
MD5 407271c861f53631aae41cf76f67d326
BLAKE2b-256 2501a0f49919221e593000bfa51efc3290231ddfeada8ac15b58614a25f5972b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.21.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.21.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a0d16516413879ead7c4b0a8cc75698412a8ebb42fa613060acc23278b4daa0e
MD5 06d6753cb2b5d03d59946cb8c594eae0
BLAKE2b-256 97c85befb3e1ffbcfd183bf28d6709332e06d574f1ccbc4fead1692457cd0b24

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.21.0-py3-none-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 8.2 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.21.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2b5a19f58b16984599ba6af0f5a1a3899ebac974b91756132a2df5e460172a7c
MD5 d405e011e98c1e6487c506f9fb8f202f
BLAKE2b-256 d0fad24d238e55338af4029c968737ec0a605f225860a1dbeff6b27b51ba5c09

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.21.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.21.0-py3-none-any.whl
Algorithm Hash digest
SHA256 29028a51f5ecc2b30321cd08b9d51f6090e4c51ca2c88e0d8b9a57b3ad6c81c0
MD5 794558fdcf7a5a0069851a7a49472d97
BLAKE2b-256 3652a16f15405899da527c9fcf8b9b5a2bf390a49b681e2f5a1d419ed1f71e20

See more details on using hashes here.

Release history Release notifications | RSS feed

0.23.0

5 files

0.22.0

5 files

This release

0.21.0 This release

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

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