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

Uploaded Python 3manylinux: glibc 2.17+ x86-64

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

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

Uploaded Python 3macOS 10.12+ x86-64

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: local_preview-0.10.2-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.10.2-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 b7efb18100fbf1686b74f7ce515f9474fda3da52dd0395bd582c80f084916d06
MD5 7d4545ca1e4668a8b3c70cfd8c99435b
BLAKE2b-256 31a3e60530d8525ae87b619ce0d7e42ca820d992702a3a5096cffcf095c4d20b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.10.2-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.10.2-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 6886bfdb8f48473353dd0a98f1a6d0e44d80127819852261f914adb62c45844b
MD5 52f35e40662429db8655f4126525d83b
BLAKE2b-256 31e14581b36b8974aa2e69adf7b1c47a7e01b488b2017c7bb6753b37ccf7f55c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.10.2-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.10.2-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 add6ff2fc1198280f6a5c06fcc99f045163347dc6a99115ad1a0ab80c8633c94
MD5 bc060762a350a87ac56b3d36ee3b7ac4
BLAKE2b-256 e6bca9fbf90604a81e4fde87f8e59df4afaeed30c221c84ed8cd9da75da73e2d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.10.2-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.10.2-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ab7bedc2b43ed573e347b2b9b816fbb57af30c388be85f29bba4d77ba655cb97
MD5 1fbf27db3d242fa85a910bd58aa30ac5
BLAKE2b-256 d6033d5f65585d9e11042f5465304cf4def2a22f38613ebb94afe151a9e7d1e8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.10.2-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.10.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ac5f340106682fdcc04af4c2a79dd4408aa1998e8bb4233576f35e64cd48207f
MD5 051f212cfb3b167f091100f09d17ffc4
BLAKE2b-256 3c38ad320c7d46c79c333de806d07dab56316584e2bb06e1224019d01b9fffc1

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

This release

0.10.2 This release

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