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

Uploaded Python 3manylinux: glibc 2.17+ x86-64

local_preview-0.5.0-py3-none-manylinux_2_17_aarch64.whl (6.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

local_preview-0.5.0-py3-none-macosx_11_0_arm64.whl (6.6 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

local_preview-0.5.0-py3-none-macosx_10_12_x86_64.whl (7.0 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

local_preview-0.5.0-py3-none-any.whl (6.9 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: local_preview-0.5.0-py3-none-manylinux_2_17_x86_64.whl
  • Upload date:
  • Size: 6.9 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.5.0-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 2f67b23fd061b9d92712b8b3e15ff4d8f4bc80ba63047991e0ff53459183b9f0
MD5 0c9ffdf48aabefa5f492914d522fc627
BLAKE2b-256 88da80e55ec8bce958e1b593ff52e857c5f62ac500dcd3d3cb31fea805fe7318

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.5.0-py3-none-manylinux_2_17_aarch64.whl
  • Upload date:
  • Size: 6.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.5.0-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 b1338e1ff09b1af9467e1c6551bee7e1bf247361b0a7bf51cbff2845e701932d
MD5 26eef3754a056dc51cbba8de285beb14
BLAKE2b-256 468295005f2dc1304d902b2db08fc0fd3a914dbda74feaef8c4f80e9d72672f6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.5.0-py3-none-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 6.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.5.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5d2b8b591e4bce348425770ab95f546b6f965673dc87f616c9d434236b4e9890
MD5 1dcdd35142da749e6a0b87fcd82b4577
BLAKE2b-256 bfda48662e949e34cd9db1de0142b976945ea1b88e6d7b65272916ee18776bf6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.5.0-py3-none-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 7.0 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.5.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 5e94cbdbbfbaf50b281c21aecda2f793990a640f74f70d66403a46216b2e94e3
MD5 2cafc962be464af2adf62d758b192fbb
BLAKE2b-256 b9b6196400aa77bd33a3da7509f53eb6ecca5862341a49002dae5c586354b8af

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 6.9 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.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7fe7a00997f6eb5a37ba3390891538f97549acb5c0f45481ef006deba320b196
MD5 18e1d0dc2776eb460d4f2c58f5b1e676
BLAKE2b-256 476d4d0bf7a60f72f13f3281165ef2e8d4640c2ffed6311f737b24321c8d48b0

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

This release

0.5.0 This release

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