Skip to content

Instantly share code, notes, and snippets.

@rhenryw
Created January 19, 2026 03:17
Show Gist options
  • Select an option

  • Save rhenryw/c287de631cbe2c3c1a9271d58ea10fc5 to your computer and use it in GitHub Desktop.

Select an option

Save rhenryw/c287de631cbe2c3c1a9271d58ea10fc5 to your computer and use it in GitHub Desktop.
Serve static files dynamically with Python3

python3 -m http.server is stupid so just pip3 install livereload and then run this:

# smartserve.py
from livereload import Server
from http.server import SimpleHTTPRequestHandler
import os

class NoCacheRequestHandler(SimpleHTTPRequestHandler):
    def end_headers(self):
        self.send_header("Cache-Control", "no-store, no-cache, must-revalidate, max-age=0")
        self.send_header("Pragma", "no-cache")
        self.send_header("Expires", "0")
        super().end_headers()

    def send_error(self, code, message=None):
        if code == 404:
            self.path = "/index.html"
            return self.do_GET()
        super().send_error(code, message)

server = Server()
server.watch(".", delay=0.2)
server.serve(
    host="127.0.0.1",
    port=8000,
    root=".",
    handler_class=NoCacheRequestHandler
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment