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

Uploaded Python 3manylinux: glibc 2.17+ x86-64

local_preview-0.11.1-py3-none-manylinux_2_17_aarch64.whl (7.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

local_preview-0.11.1-py3-none-macosx_11_0_arm64.whl (7.6 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

local_preview-0.11.1-py3-none-macosx_10_12_x86_64.whl (8.1 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

local_preview-0.11.1-py3-none-any.whl (8.0 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: local_preview-0.11.1-py3-none-manylinux_2_17_x86_64.whl
  • Upload date:
  • Size: 8.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.11.1-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 6ed38e988818ef8bf5415bc7cd6647321e13d9ca5c009c1eeed4119afdea2b76
MD5 36cadf537b4eb881c6cd9e118470e693
BLAKE2b-256 35460ae8ce9e187b14a5e2d71bb20b2639bdeafa0fd356c0d0a2705cb05302a5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.11.1-py3-none-manylinux_2_17_aarch64.whl
  • Upload date:
  • Size: 7.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.11.1-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 761498abed3170241d89e9eae9c15bece8624e27f2b6a62707ac983238ca0b67
MD5 ee8dd2c4de9cf2f22f3d9a489ed2b80e
BLAKE2b-256 175d870c7d28ef8d212162e8b641936aee80d8f49713471e6defb8a065e15363

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.11.1-py3-none-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 7.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.11.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 726690cbd825ec1476c897f147db18988ee075487ede979c0c7f53da584651aa
MD5 5de184e698f67c4722716cf9646da091
BLAKE2b-256 e5ccbcf7a67bc603dd9621021a59065dc46e8984a769d01dfa7226b5efbbd734

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.11.1-py3-none-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 8.1 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.11.1-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 79e135af167f1423d5f933fe433eec1ddfa90d4ba7fe355a8bd6e4bde7efe42f
MD5 2134785f75357c13cd0ae77b9dc19227
BLAKE2b-256 5971432615fff4e606bd0e5a99aa96ae38845a645ed0da4a48a88256e3df8742

See more details on using hashes here.

File details

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

File metadata

  • Download URL: local_preview-0.11.1-py3-none-any.whl
  • Upload date:
  • Size: 8.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.11.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4452b9d3dd135eee091a01e97522c7b4a52dc29e45740994a7d7f129c5dd8566
MD5 cabedd35430dd66c66324320bc992087
BLAKE2b-256 abace415357f5f4f57746c4f99443818882e63d37bbc6a96a3e80a405efffc85

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

This release

0.11.1 This release

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

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