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.0-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.0-py3-none-manylinux_2_17_aarch64.whl (6.7 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

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

Uploaded Python 3macOS 10.12+ x86-64

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: local_preview-0.10.0-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.0-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 c80a2c1fbdbea9bed9329a116005a70a84868e3998345db38d14725e38098d34
MD5 aa4373f2915d820f2c6edf8eca16b6e0
BLAKE2b-256 f65f8dfbc6c637c28fc2c483f3f32a6bb9c57c1d12ce2934434d29f179baa033

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.10.0-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.0-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 a429233a265ad8990b7a3e3a775b5fc11c96a22dcb6e672d8cb1d2c4137ca358
MD5 efd950d604521e63b7509bbbad25d173
BLAKE2b-256 be7beb390f17742fb85d13de45782f0e5f378f3fea0a2b17fe0d6599f641d508

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.10.0-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.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ccbda19aa2f3ad879110c566c4b9f34fef30bf6b51b2190bc90c1ebf72a20c8e
MD5 90540c0e47a8337ab4e1b2ff76953b02
BLAKE2b-256 8d8c1d4e8d587da48d130a82b68d98525bd9df0099d816aef402f9510a64e5f3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.10.0-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.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 8ba34afde2b48af72d76ac639df569a17fd281c13a07aa5a3e59d2d51294a3c1
MD5 d3c0052e2d34318cb59ab732e3eb616c
BLAKE2b-256 8ad1b2fd5b774ddf6dd29ae7f9c14b22c66acba2783ed73b6f0d03f093efccca

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.10.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cbfeaf560e4fb70f7e72dd5d3ed22a221e5643f03fd2cfe1699e614f36affcce
MD5 46e106753e79db1e1bbd62c0c1cbdbb6
BLAKE2b-256 863a5710addecf110222d934060170c0241e2dd701332105aef2bdef6ae94cfa

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

This release

0.10.0 This release

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