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

Uploaded Python 3manylinux: glibc 2.17+ x86-64

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

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

Uploaded Python 3macOS 10.12+ x86-64

local_preview-0.8.2-py3-none-any.whl (7.0 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: local_preview-0.8.2-py3-none-manylinux_2_17_x86_64.whl
  • Upload date:
  • Size: 7.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.8.2-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 c9384e2d77f2d7835ab41c9a1fd30724d79c834a6e1b1dc07b303cedf2ff2838
MD5 f1368b3ccbca07f26631bb3eb68843a6
BLAKE2b-256 f6eefa2a8dad6c7ef4b70b9dbe8ff898087724a2eb3ad60ab10f802c21151bee

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.8.2-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.8.2-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 c7c9ceba0cb701359a20a3af64b2b27c3cf3bf709c56ac2db08a0eea6b55d1e2
MD5 db2e06695a4056d4a91baa45400e6730
BLAKE2b-256 66d5b748dfa59b9210c20b1d2691f990f1238c7008d21c889794ab44ada2c5ec

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.8.2-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.8.2-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0c6fa6040809fab06a9e9c715ba45e0ad5918afb1a5a6956fa20d7832da2539f
MD5 0a21b8bd53750288a36360f88ff4bd28
BLAKE2b-256 1d5c54bc29914a7d237a55be4258d2192792ed39f518bfdcfabec4e4d429182b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.8.2-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.8.2-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 1eb8db9eaee3fba6e5f6e26031c14c328d852b5d247c5159863bce674a2cd562
MD5 e321b7e2e3d4042747b3aa48ef06f26c
BLAKE2b-256 76e928a1dd2ed50a07c13016fd18ca010f7309c036c5e0d996693762b86f66d9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.8.2-py3-none-any.whl
  • Upload date:
  • Size: 7.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.8.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5d3a3956591746a3597296bad9efc0891bf63dd23b01aa2cf846f16a19d0d3d1
MD5 d04fcfc0c67a5223478b0da2affde3b2
BLAKE2b-256 07f975e4a41e99121952d011d16ea51ebcd54bd3fc98a16e8af7f74b64c6e8c8

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

This release

0.8.2 This release

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