Skip to main content

peekin

A lightweight, read-only file browser for your web browser. Browse a folder and preview images (swipeable gallery), video, audio, PDF, rendered Markdown, and source code with syntax highlighting. Works on desktop and phone. Fully offline.

Run

uvx peekin                     # share the current folder on http://127.0.0.1:8000
uvx peekin ~/Pictures --open   # share a folder and open the browser
python -m peekin               # after: pip install peekin

Until the first PyPI release:

uvx --from git+https://github.com/sumanmichael/peekin peekin

Share on your network

uvx peekin --host 0.0.0.0

peekin needs a password whenever it listens on something other than localhost. If you don't set one, it generates one and prints it at startup. Set your own with PEEKIN_PASSWORD=... or --password-file FILE. --no-password turns the password off (not recommended on shared networks).

Options

Option Default Meaning
FOLDER . Folder to share
--host 127.0.0.1 Address to listen on (0.0.0.0 for your network)
--port 8000 Port
--password-file Read the password from this file's first line
--no-password off Never ask for a password
--thumbs off Image thumbnails in grid view (install with uvx --from 'peekin[thumbs]' peekin --thumbs)
--show-hidden off Show dotfiles
--open off Open the browser

Security

  • Read-only: nothing in the shared folder can be changed through peekin.
  • Paths cannot escape the shared folder, including through symlinks.
  • Five wrong passwords lock that IP address out for 60 seconds, doubling each time.
  • HTML and SVG files are downloaded, never rendered, so files you share can't run scripts in peekin.
  • Other websites you visit can't read your files through peekin: cross-site requests are blocked, and without a password peekin only answers to IP addresses, localhost, and *.local names.
  • No HTTPS: use it on networks you trust, not on the public internet.

Develop

uv run pytest
uv run peekin .

Release

  1. Bump __version__ in src/peekin/__init__.py and commit.
  2. gh release create vX.Y.Z --generate-notes (the tag must match the version).
  3. The publish workflow tests, builds, and uploads to PyPI via trusted publishing.

License

MIT. Bundles Lucide icons (ISC) and the Schibsted Grotesk font (SIL OFL 1.1); their licenses are in LICENSES/.

Release files for peekin 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for peekin 1.0.0
File Size Uploaded
peekin-1.0.0.tar.gz 126.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for peekin 1.0.0
File Interpreter ABI Platform
peekin-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 204.4 kB

Release files / peekin-1.0.0.tar.gz

Download URL peekin-1.0.0.tar.gz
Size 126.8 kB
Tags Source
SHA-256 checksum
How to use checksums
ad7d438306f565b62bbc84c4201f5dd3db060947a152614ee6f4582f3b7941bc
BLAKE2b-256 checksum
How to use checksums
76b52bcd8c947c25d1d7dadd0e065ae8d119b0bf65227782574897544995c4cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","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}

Release files / peekin-1.0.0-py3-none-any.whl

Download URL peekin-1.0.0-py3-none-any.whl
Size 77.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8082f61a657e9b68676aab9b535658ca3a6f82e882465838e1388bee3cd27803
BLAKE2b-256 checksum
How to use checksums
e1eded23a6b8be7d1b552f096da5162e089fdf329cb922766cd058486ed88bf3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","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}

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page