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

Uploaded Python 3manylinux: glibc 2.17+ x86-64

local_preview-0.13.2-py3-none-manylinux_2_17_aarch64.whl (7.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

local_preview-0.13.2-py3-none-macosx_11_0_arm64.whl (7.6 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

local_preview-0.13.2-py3-none-macosx_10_12_x86_64.whl (8.1 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

local_preview-0.13.2-py3-none-any.whl (8.0 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: local_preview-0.13.2-py3-none-manylinux_2_17_x86_64.whl
  • Upload date:
  • Size: 8.0 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.13.2-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 c9a350b8b16f6318bd17be93ff818d5361700e10e7562ba189da229cfc8d00b5
MD5 55de6def6463c39f7d4f43d93c3d48e2
BLAKE2b-256 6f13c1d459871a81cfdefcd3f6c1482e6003bbd24f08144a837c9227f4299448

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.13.2-py3-none-manylinux_2_17_aarch64.whl
  • Upload date:
  • Size: 7.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.13.2-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 ce06d440fd8505bf8927c3c2e1628109ab25cd9e6e0026869e2e5d21ee24395f
MD5 772cb43b67b6472e695a2a434194e73a
BLAKE2b-256 e6f65fcbc1205f43b61e1c443a7b033a8f463a93680cf850fc2815775a5a5cca

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.13.2-py3-none-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 7.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.13.2-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 31e8f3a78650942fa04366c12f337664f129e30f7c3c16aad16d8ed4a0b40181
MD5 bc11907d48b7bd9954343155d7936a87
BLAKE2b-256 597e68b6bd6a13fef5a25a82d6848eba89acd1061d5c5278f6975426c3ff0c3a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.13.2-py3-none-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 8.1 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.13.2-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d468d7bfaf6ce747b210707bbf9c29ce2507df31be7e506228b6ef2e8c871e22
MD5 5433bf2925cd4b0e08acd2e4adafbb76
BLAKE2b-256 5176940660f38c80922438d4e57c367933446201b8211087e3720156a1b41e37

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.13.2-py3-none-any.whl
  • Upload date:
  • Size: 8.0 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.13.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f2e1f15cfe45ce630ad1891775e1afecbbb1ebd056082483aac955dc1f7de245
MD5 847a9f1ab83ae1b469b18e6d15f1a431
BLAKE2b-256 4e7fcd423bbec84b949808a970bb1b6e396fa38367a3f4c02fd67c4c64d8b2e6

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

This release

0.13.2 This release

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