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

Uploaded Python 3manylinux: glibc 2.17+ x86-64

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

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

Uploaded Python 3macOS 10.12+ x86-64

local_preview-0.7.0-py3-none-any.whl (6.9 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: local_preview-0.7.0-py3-none-manylinux_2_17_x86_64.whl
  • Upload date:
  • Size: 6.9 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.7.0-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 0f9a025f332d248bdfe101b36c8b7480d11da7b45492c96a3facf2afc215cc77
MD5 cbb5d84549308931b800412b57750f2b
BLAKE2b-256 050f7db61e1bb526ec88088390c16e80cb68d400ee30c7b0e3f1bdd17496ec66

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.7.0-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.7.0-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 2bf40a3c4a821b8040f19f6a4f03361eb256559848465f9977b36db8510007b9
MD5 5e7ead545509d4a8e75cea315b254b87
BLAKE2b-256 160f6f7da624f0efa434509e422de51f2fd5b9ada5b8b931ce0d3138dc920872

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.7.0-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.7.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a3636b32f93fa687a675992bf7b53f2f7be11d10dadb47c4ad3d29558fe8f681
MD5 6fb91232b894f9d8f5d16a82fc1fccae
BLAKE2b-256 fe1132fa9f91be60b894544f718264640cdb92e5281ca89e2f453d5cb561e3f6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.7.0-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.7.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 eebc1b1a1424f0d08930ea9843defdd8a4c2ff6be080a6021f195d430a2454cb
MD5 7cfd3362bd27d9c8a8ea08663e896694
BLAKE2b-256 8a910d565bf148c5fe4b2ca9383aeb541e46d84de3b67657de8fb2b160a40e2c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 6.9 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.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6a44977e79145d3d4fe2928c1ddfe843890da606770a89b94f1a04389dc35ebb
MD5 99512c6f6487fa5e0865ad61af825449
BLAKE2b-256 d2e425da7a826e2bd68c0c7482c307d1329620fc2a0021634f7a89db73fd9509

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

0.8.2

5 files

0.8.1

5 files

0.8.0

5 files

This release

0.7.0 This release

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