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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

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

Uploaded Python 3macOS 10.12+ x86-64

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: local_preview-0.22.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.22.0-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 6ee95d9979be69bbf6b9df11c85a887ffc13639e87f1affdb58c5f164220736e
MD5 03b0520fa3c3833db06584ef81d0a8ca
BLAKE2b-256 effa0e96cc8474e4316cadc2020482013e22587bab8c1689a4d61f27d2ab54cb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.22.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.22.0-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 a2d28b78cbd2c32d1129263f266edd3bbba47cb58319c20e0df338cbbceac19f
MD5 2f2a72eaf4701cbf60e550b6537c21c6
BLAKE2b-256 2cedc7aa535d1f66c1ed85502f106b0566c4dc0d07a4878daf1cc36632c540f0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.22.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.22.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1dce39dc67611d676c45355b52ac34a4f30829d209dcf112113747e1b6dbcda8
MD5 60b3d4e33d4e12e31aa68fb253d55b8f
BLAKE2b-256 2b32b065d599599ca2c2113e3e33ace5b7968abadb7bce57c7b8ab874ac4e7e9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.22.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.22.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 9a4bf46fc315a5c117bb23d2a815f7b5ed47a3ef2586a637d148716596e27460
MD5 ac0b83207b635fccedeb1499fd9d58ec
BLAKE2b-256 731428778b2baabe12b7f20432477e5c683ec4a88e87b342c6c9c1edc861495a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.22.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.22.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7fd589aede9047b944ea4f2c5e74824b7e0346306e369edd814f5a97981a661d
MD5 c75eb71b5ed6fb929a86d0eabde53106
BLAKE2b-256 c1de62e48169d46068a49024ce2bda42ffe03d8f8c781bbfcf7d0d3ffe3a5add

See more details on using hashes here.

Release history Release notifications | RSS feed

0.23.0

5 files

This release

0.22.0 This release

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

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