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.3.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.3.0-py3-none-manylinux_2_17_aarch64.whl (6.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

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

Uploaded Python 3macOS 10.12+ x86-64

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: local_preview-0.3.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.3.0-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 a654365b1c48b6b5fbd05d8b2418b88c92649fc4710189a2c2c4cfbff71d2260
MD5 c070c7281434fcd10a1663328b7e4b9d
BLAKE2b-256 14b31ab8e379b47d2fb36c75abff88c95ad6f77ce5beccfba64c86ae346b04af

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.3.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.3.0-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 acdaae330d544be31564e16aeb00549f2bd62529c4b47af4c1d72fe0e5d38d89
MD5 570600a7c8876adbc9bcedc18af2e929
BLAKE2b-256 87ff50a8d7a17a2e4449dba73985be9d27c775f2351e9ae2eb1063c738526123

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.3.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.3.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 25a0c08e7c8caf5b0ae13f813d2f23e28c337131ff0bf566cdb521fb814b127e
MD5 41de825763b84861874fc72f9cba9de4
BLAKE2b-256 0eb7dede192614b93a02ca6606a56b68c8188bfb5d663d32d9fc191c1987d0bd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.3.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.3.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 982dba8fb4ecf604ef04af89fb929f48edb17ed86f35006852504d149eb5fbb4
MD5 b4caf70112a8a24ee365afb2556235cf
BLAKE2b-256 3b274f963d18cf9eb2904d3fd55b6d54589eddfe2bdc0ec6b2deefd108171373

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.3.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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 62b8f61d3bdd1bcfdf6bb4c8212c9f4d0e80999aab0dc843f6586f6e7a305155
MD5 b455d63a568d277d3cb90949f43b5194
BLAKE2b-256 b2fc2dcdba129b4a8b0810a24f2ec54e207dbe5bef88c23986a3548d153d41a8

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

0.7.0

5 files

0.6.0

5 files

0.5.0

5 files

0.4.0

5 files

This release

0.3.0 This release

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