A GUI file/folder browser server, like http server but with a nice web UI
Project description
guiserver
A drop-in replacement for Python's built-in http.server — same one-command
simplicity, except instead of a plain "Index of /" text listing, you get a
clean, dark-themed, searchable GUI file browser.
pip install guiserver
guiserver 8080
Open http://localhost:8080/ and browse your folder with icons, file sizes,
last-modified dates, and a live search box — instead of a bare list of links.
Why this exists
Every developer knows the muscle memory: cd into a folder, run
python -m http.server, share the port, done. It's fast and it always works —
but the actual directory listing it produces is about as bare as web pages get.
One day, staring at that plain "Index of /" page for the hundredth time, it just felt... boring. So this project adds a proper GUI on top of the exact same idea: zero config, one command, serve a folder — just with a browser experience that doesn't look like it's from 1996.
guiserver is inspired directly by http.server and built on top of the
same standard-library http.server module under the hood. It only replaces
how the directory listing page is rendered — downloads, byte-range requests,
MIME type handling, etc. all work exactly the way they do in http.server.
Features
- 🎨 Dark-themed, responsive GUI file/folder browser
- 🔍 Instant client-side search/filter box
- 📁 Folders sorted first, then files, alphabetically
- 📏 File size and last-modified date columns
- ⬅️ Working parent-folder (
..) navigation at any depth - ⚙️ Same CLI usage pattern as
python -m http.server - 📦 Zero dependencies — pure Python standard library
Install
Via pip (recommended):
pip install guiserver
From source:
git clone https://github.com/bhowmickkrishnendu/guiserver.git
cd guiserver
pip install .
Usage
Same usage pattern as python -m http.server:
# Serve current folder on default port 8000
guiserver
# Serve current folder on a specific port
guiserver 8080
# Serve a specific folder
guiserver 8080 --directory "/path/to/folder"
# Bind to localhost only (not accessible on your network)
guiserver 8080 --bind 127.0.0.1
Or run it as a module, without the console script:
python -m guiserver 8080
Contributing
Bug reports, feature requests, and pull requests are all welcome — this is a small project built for anyone to use and improve. See CONTRIBUTING.md for guidelines on filing issues and submitting PRs.
License
MIT — see LICENSE. Use it, fork it, ship it.
Served by GUI Server • Made with ❤️ by Krishnendu Bhowmick
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file guiserver-0.1.1.tar.gz.
File metadata
- Download URL: guiserver-0.1.1.tar.gz
- Upload date:
- Size: 7.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3b35a5b6d0a8248954d65701cc95459b6224ef797d7a1e1d6c0402cd5def0964
|
|
| MD5 |
8403569e629f1d5c4babb75605cf6cb4
|
|
| BLAKE2b-256 |
357ad850145a4bd32a34ed44ee9c74a61bfd2caac3f9e2c3e666b8bbca9eb798
|
File details
Details for the file guiserver-0.1.1-py3-none-any.whl.
File metadata
- Download URL: guiserver-0.1.1-py3-none-any.whl
- Upload date:
- Size: 9.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b63903688cfcb313e8822665df22972437372afb8c758edcf602264254b83cfe
|
|
| MD5 |
4690697d8166d2ee749f85934389aff5
|
|
| BLAKE2b-256 |
0c94e71770d3931f303bc2a850deec006a42a986f84712159cee9414152dd484
|