Skip to main content

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.

status license python

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

guiserver-0.1.1.tar.gz (7.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

guiserver-0.1.1-py3-none-any.whl (9.0 kB view details)

Uploaded Python 3

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

Hashes for guiserver-0.1.1.tar.gz
Algorithm Hash digest
SHA256 3b35a5b6d0a8248954d65701cc95459b6224ef797d7a1e1d6c0402cd5def0964
MD5 8403569e629f1d5c4babb75605cf6cb4
BLAKE2b-256 357ad850145a4bd32a34ed44ee9c74a61bfd2caac3f9e2c3e666b8bbca9eb798

See more details on using hashes here.

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

Hashes for guiserver-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b63903688cfcb313e8822665df22972437372afb8c758edcf602264254b83cfe
MD5 4690697d8166d2ee749f85934389aff5
BLAKE2b-256 0c94e71770d3931f303bc2a850deec006a42a986f84712159cee9414152dd484

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page