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

Uploaded Python 3manylinux: glibc 2.17+ x86-64

local_preview-0.1.8-py3-none-manylinux_2_17_aarch64.whl (6.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

local_preview-0.1.8-py3-none-macosx_11_0_arm64.whl (6.5 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

local_preview-0.1.8-py3-none-macosx_10_12_x86_64.whl (6.9 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

local_preview-0.1.8-py3-none-any.whl (6.8 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: local_preview-0.1.8-py3-none-manylinux_2_17_x86_64.whl
  • Upload date:
  • Size: 6.8 MB
  • Tags: Python 3, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.2 {"installer":{"name":"uv","version":"0.12.2","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.1.8-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 6c79fed1c267d0350c5ce7f80b6b7912e36e3c032a5e13b4efc0630caf808e5d
MD5 f9410dd10fa5987e3669ad681c4a1c57
BLAKE2b-256 3b20be6bcaa6ed27505aec95a9a151af795fc54f13260904f2405187e9413eab

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.1.8-py3-none-manylinux_2_17_aarch64.whl
  • Upload date:
  • Size: 6.3 MB
  • Tags: Python 3, manylinux: glibc 2.17+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.2 {"installer":{"name":"uv","version":"0.12.2","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.1.8-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 8e8ca929f74d3c8c111e36f567056eaf2082f48801ae868771e46f5c60dc7362
MD5 ad38c82d096ff38a3f299cbfd4e25fc9
BLAKE2b-256 49c3ca0fdef03b6a7fe4e999df33ea16ddbb99394abfcc8f4763ae679bd85b26

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.1.8-py3-none-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 6.5 MB
  • Tags: Python 3, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.2 {"installer":{"name":"uv","version":"0.12.2","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.1.8-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6ecf37a658b209228a82f254cdb74b2849a2c0e3516c906812af178cbb65cc96
MD5 e0d41e011a0621eae6dcf6a27a15c420
BLAKE2b-256 5d2338f236b291e22f1d17f49e17146d6969b25ba48158ae9fb565eebcb094df

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.1.8-py3-none-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 6.9 MB
  • Tags: Python 3, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.2 {"installer":{"name":"uv","version":"0.12.2","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.1.8-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 07c2776c9950b10a8ea9cab3db11034b0da3b0240aae7ac219b30c5294505198
MD5 ed7a2782ae3b385967fbc49fbe317cd9
BLAKE2b-256 403c9a03bcea9ddcfbc7ed8e7376d5fe3dc20362680c175187025bd7c0c5cb99

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 6.8 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.2 {"installer":{"name":"uv","version":"0.12.2","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.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 847c81fd8265e2e8bd6bd48acd7595d8a6381457c7a4faa5b7507317a93027c1
MD5 ae534f58ce315033cc5dfcdb59f9bd6f
BLAKE2b-256 7e891b23dc0c6afcfffb6a88c43daeba8d16c73753c5a576f4182766ce6fd605

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

0.2.2

5 files

0.2.0

5 files

This release

0.1.8 This release

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