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

Uploaded Python 3manylinux: glibc 2.17+ x86-64

local_preview-0.1.7-py3-none-manylinux_2_17_aarch64.whl (5.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

local_preview-0.1.7-py3-none-macosx_11_0_arm64.whl (5.5 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

local_preview-0.1.7-py3-none-macosx_10_12_x86_64.whl (5.7 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

local_preview-0.1.7-py3-none-any.whl (5.7 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: local_preview-0.1.7-py3-none-manylinux_2_17_x86_64.whl
  • Upload date:
  • Size: 5.7 MB
  • Tags: Python 3, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.2 {"installer":{"name":"uv","version":"0.12.2","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.1.7-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 8ac0c7b07978225a0cc5ca8444a7d60b27f825c90429a3ef2f44489f2919c818
MD5 c682ef05f84f8ea582a770eec223164d
BLAKE2b-256 9035ffc75041f31d1888cf5b0d09ca182c6015b0ec405f3d88aa23ab445f3f06

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.1.7-py3-none-manylinux_2_17_aarch64.whl
  • Upload date:
  • Size: 5.3 MB
  • Tags: Python 3, manylinux: glibc 2.17+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.2 {"installer":{"name":"uv","version":"0.12.2","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.1.7-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 e2ef78b2d20c1e45fbf57f45969ceae6455e91be3ea82c71ef3dd31023b35135
MD5 207b3a76ef478b4a17646b3041ad7fae
BLAKE2b-256 a59f4f26773a0b42051378ec66fa53d3ce283db32dc0d7b14413358ba8848609

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.1.7-py3-none-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 5.5 MB
  • Tags: Python 3, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.2 {"installer":{"name":"uv","version":"0.12.2","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.1.7-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ce8dfee82a6dc71ed91f82b3954be0000ff65d364c49e13340c8ab99f6d490ea
MD5 037e72ce292c4fbe430ba8d6ec0bc33d
BLAKE2b-256 2dcd9ec92de02296220d1c7a2aaad2e5e74add077b83e3dab4932300699d7b4c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.1.7-py3-none-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 5.7 MB
  • Tags: Python 3, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.2 {"installer":{"name":"uv","version":"0.12.2","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.1.7-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ccd65e07b7eaaea9e055a078d6b197eb444cb2b299030190e926c8b5ec564f0e
MD5 a1fe3b39f4869e77a678419be45f9b06
BLAKE2b-256 ae33f40d4c82d91c0cb531b182f524abeec39a8f10e18add3e404683d184f077

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 5.7 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.2 {"installer":{"name":"uv","version":"0.12.2","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.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 6d5f53d214fc73c76c3c5691fd58a22a2fde3d420f0f78fe7ba1b4f86a558f32
MD5 0292c0215c0ae50a07d568c8b40302c7
BLAKE2b-256 67353057f9daf410daaf5ed466e10acbaa43b764cec1222610ad0d2a2fa969cd

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

0.3.0

5 files

0.2.2

5 files

0.2.0

5 files

0.1.8

5 files

This release

0.1.7 This release

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