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

Uploaded Python 3manylinux: glibc 2.17+ x86-64

local_preview-0.9.0-py3-none-manylinux_2_17_aarch64.whl (6.7 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

local_preview-0.9.0-py3-none-macosx_11_0_arm64.whl (6.9 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

local_preview-0.9.0-py3-none-macosx_10_12_x86_64.whl (7.3 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

local_preview-0.9.0-py3-none-any.whl (7.2 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: local_preview-0.9.0-py3-none-manylinux_2_17_x86_64.whl
  • Upload date:
  • Size: 7.2 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.9.0-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 70dac84a816e013822e711487efed705782157b4dcffa47bf05d0e555f8e65b4
MD5 6a67d788527430c6cfe5c5b195cb1af4
BLAKE2b-256 974642ee293db97f66f838b690f6821cb613b49fce2c672dae2505652442517e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.9.0-py3-none-manylinux_2_17_aarch64.whl
  • Upload date:
  • Size: 6.7 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.9.0-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 ec91ed8da67443d1b66a7939b3a70352ed9bfe563621af0026960622d3b4bb4c
MD5 f1cd8aef833356a7bc7847352eef52c5
BLAKE2b-256 61bf239d7d62493d87d38795a4d8ed80567119d6ff814416e603b2d657457241

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.9.0-py3-none-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 6.9 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.9.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cf63041812381ef2085f781ef28b22447025c6754affd982570acbcf023fa495
MD5 807906ecfb6d7b922272d6dff046b5a7
BLAKE2b-256 d68f50e8c71e6553de978b31133fb59500b96b2a7641ebfdc541f825d074a650

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.9.0-py3-none-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 7.3 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.9.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6ee4d0ec42844e31d0e01799f68486f87012e47b1f494c8912ad83333f77bdee
MD5 9c179c9008d83654174527c648cddd9f
BLAKE2b-256 fff104d1ed1201b889ad5e1cc7c2bed7d34aa8e1abf4d903db23734624aace1d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.9.0-py3-none-any.whl
  • Upload date:
  • Size: 7.2 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.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bd9e7ed4808da8d005ca8d337c892a3093404a1c943adb63c70959b636995a60
MD5 a1850c7f51f01849f930befb3fb27469
BLAKE2b-256 85531560e52754d028ecf1a60a414551edea86156f316dbefde20a9158fdfb87

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

This release

0.9.0 This release

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