Skip to main content

A lightweight, stylish local web server for static files

Project description

softserved

A lightweight, stylish local web server for serving static files from your terminal. Perfect for quick demos, prototyping, and development workflows.

Quick Start

pip install -e .
softserved

Done. Your browser opens at http://localhost:8000 and you're serving.

Why softserved?

Just a static server. No fluff. softserved is a cli-based tool for watching vanilla html/css/js projects.

Features

Clean, minimal CLI — Starts a server in one command
🎨 Multiple styling themes — default, dark, and mono options
🔄 Live reload — Auto-refresh browser when files change
Lightweight — No bloat, just Python stdlib + colorama
🌐 Auto-opens browser — (optional) Opens your default browser automatically
📁 Flexible directory serving — Serve any folder, any port

softserved demo

Installation

From GitHub

git clone https://github.com/tolaoyelola/softserved.git
cd softserved
pip install -r requirements.txt
pip install -e .

Verify Installation

softserved --help

Usage

Basic Examples

# Serve current directory on port 8000
softserved

# Serve with custom port and directory
softserved -p 9001 -d ./my-site

# Enable live reload
softserved --reload

# Don't auto-open browser
softserved --no-browser

# Use dark theme for dark terminals
softserved --style dark

# No colors (mono)
softserved --style mono

# Combine options
softserved -p 8080 -d ./portfolio --reload --style dark

Available Options

Option Default Description
-p, --port 8000 Port to serve on
-d, --dir . Directory to serve
--no-browser false Don't auto-open browser
--reload false Enable live reload (requires watchdog)
--style default Terminal theme: default, dark, or mono

Requirements

Core dependencies:

  • Python 3.6+
  • colorama — for colored terminal output

Optional dependencies:

  • watchdog — for live reload functionality

Install all:

pip install -r requirements.txt

How It Works

  1. Server — Uses Python's built-in SimpleHTTPRequestHandler
  2. Styling — Colorama handles cross-platform terminal colors
  3. Live Reload — Watchdog monitors file changes and triggers browser refresh

Troubleshooting

"Port already in use"

softserved -p 8001  # Use a different port

"watchdog not installed"

pip install watchdog

Browser won't open

softserved --no-browser  # Disable auto-open
# Then manually navigate to http://localhost:8000

Stop the server

Press Ctrl+C to gracefully shut down

Contributing

Contributions welcome! Feel free to open issues or submit PRs.

License

MIT — See LICENSE file for details.

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

softserved-1.1.0.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

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

softserved-1.1.0-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file softserved-1.1.0.tar.gz.

File metadata

  • Download URL: softserved-1.1.0.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.2

File hashes

Hashes for softserved-1.1.0.tar.gz
Algorithm Hash digest
SHA256 784f48f354b438dc1cacf3046a67161df379f2e5db4240cbbea6a98acee39fb9
MD5 a93d5d9be34e5c249d8fd35231ff199e
BLAKE2b-256 1a8f47057f4bbace7ae30e39dce808d39a434da4b43fceb07b719fe84e7a7845

See more details on using hashes here.

File details

Details for the file softserved-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: softserved-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.2

File hashes

Hashes for softserved-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2bcdf61f2f51ca4a24b11cc9cec213d10bfaf32e4b94646c3fc17e8a6bc24fd7
MD5 3c8db8d2af3ef8e2cab1b718cfa18c20
BLAKE2b-256 d7d3a6b0d267f2c2af58e037083358be9fce127fba795783137003ad4c130d16

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