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

Uploaded Python 3manylinux: glibc 2.17+ x86-64

local_preview-0.18.1-py3-none-manylinux_2_17_aarch64.whl (7.5 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

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

Uploaded Python 3macOS 10.12+ x86-64

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: local_preview-0.18.1-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.18.1-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 ae6af0f6f5f7634ba1926c4a72e2950300722bc0966ac5162f7a3809cc5df392
MD5 75c3f7b928f69ffbb2120bcbec6a42fe
BLAKE2b-256 cd69befb164971e93abaa040b8c208f02309ec7313619da3b3930f30c05b9f20

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.18.1-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.18.1-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 c6cc4eabd92d852228b784188ac55304e2d6a5e3f7c0a0d01909edbe3928447a
MD5 935d7a7ffe09de75b95098581b918976
BLAKE2b-256 77a273f0e953d47f7a84b4154a0d6c8b0c40b46e8644d309dc4952969fdccd70

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.18.1-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.18.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1dfbfb197761e8a23e4092070424956cdda3794fc755c2ba85d862b88fd969e8
MD5 f95f327bae6181e0a96efdd74f24237d
BLAKE2b-256 eb65379dda9b36f0412b3ba2a802cffb1ae81906ee199cf142ec47374761d9da

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.18.1-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.18.1-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d4a0a76789c65bc12c0e9eb7365d60985667bbaa58e35fc607a818d11db0bf2c
MD5 eba8c1bc578799e53a818a8affd294c3
BLAKE2b-256 638bf7c4145f57a8cfadd401455dc55546312af1e3c5d30ea169ad0eb09cf59b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.18.1-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.18.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9b03fa3bbca9d56426efcc2d96560f6d95c0207d258514cd18b9ae7629446d05
MD5 4df5e39ddd4142e288b92c0fe20d83ce
BLAKE2b-256 f484af31c9b730d6ebd0cc4846b5a7de6d340239ce1d2796127c9c90d6842ae2

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

This release

0.18.1 This release

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