Single-page application server for end-to-end testing.
Project description
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:8080/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.8+
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
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
File details
Details for the file sappy-1.2.tar.gz
.
File metadata
- Download URL: sappy-1.2.tar.gz
- Upload date:
- Size: 5.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.5.1 CPython/3.11.3 Darwin/22.5.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6aaeb79bfcc8b06ce33b2fcd547131486cec7020c6888a5173de7254ee224b7e |
|
MD5 | 21b1f0690afcf95a5703be8ddc68cd20 |
|
BLAKE2b-256 | cc1eec68ec1f305d3a1d64dc72f22471702469ae190528f87d6e32694a77d014 |
File details
Details for the file sappy-1.2-py3-none-any.whl
.
File metadata
- Download URL: sappy-1.2-py3-none-any.whl
- Upload date:
- Size: 6.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.5.1 CPython/3.11.3 Darwin/22.5.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7e72191fc64bc5220adee56819d074d2bfa62fa9686cabf8b8068b3b944b35da |
|
MD5 | aeaf9a6ab2e073e594a15f4c0e0b905b |
|
BLAKE2b-256 | 2adb88b2df47407dcbd8e0219f867081ca71111d8d53a22d4515a2d88ae0633f |