Single-page application server for end-to-end testing.
Project description
Unix: Windows: Metrics: Usage:
Overview
Sappy is a simple, single-page application (SPA) web server for end-to-end testing.
The Python standard library includes a web server that works great for serving up files:
$ python3 -m http.server 8080
Serving HTTP on 0.0.0.0 port 8080 ...
$ curl http://localhost:1234/index.html
<!DOCTYPE html>
<html>
<head>
<title>Example Index</title>
...
But when used to serve up single-page applications, a 404 is returned whenever any page other than the index is accessed directly:
$ curl http://localhost:8080/login
<!DOCTYPE html>
<html lang=en>
<title>Error 404 (Not Found)</title
...
This project builds on the existing web server code to forward all requests to the index. The single-page application’s client-side routing can then display the page that corresponds to that request’s URL.
Setup
Requirements
Python 3.5+
Installation
Install sappy with pip:
$ pip install sappy
or directly from the source code:
$ git clone https://github.com/jacebrowning/sappy.git
$ cd sappy
$ python setup.py install
Usage
Build your static website (e.g. an Ember application) for production:
$ ember build --environment=production
Building...
Built project successfully. Stored in "dist/".
Then serve up the application:
$ sappy
Serving /home/browning/project/dist/ on 8080
Check out the documentation or command-line help for additional options:
$ sappy --help
Revision History
1.0.1 (2017/03/21)
Fixed handling of relative paths in assets.
1.0 (2017/01/09)
Initial stable release.
0.2 (2016/06/09)
Added a --launch option to open the page’s index.
0.1 (2016/06/09)
Initial release.
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.