Skip to main content

Single-page application server for end-to-end testing.

Project description

Unix: Unix Build Status Windows: Windows Build StatusMetrics: Coverage Status Scrutinizer Code QualityUsage: PyPI Version PyPI Downloads

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 (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


Download files

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

Source Distribution

sappy-1.0.tar.gz (7.7 kB view details)

Uploaded Source

Built Distribution

sappy-1.0-py3-none-any.whl (9.4 kB view details)

Uploaded Python 3

File details

Details for the file sappy-1.0.tar.gz.

File metadata

  • Download URL: sappy-1.0.tar.gz
  • Upload date:
  • Size: 7.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for sappy-1.0.tar.gz
Algorithm Hash digest
SHA256 7c14db8e55d738d88e2aa77b37a1d609f8e36b5f1285fc89ec49c72b6f6eaf7d
MD5 f53e78eb1124540c8924d8eaefb8de96
BLAKE2b-256 7fc939495a31d06d457bcb11426474a547b3ca33021af6e6d69e660494fb9fc8

See more details on using hashes here.

File details

Details for the file sappy-1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for sappy-1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3d4eb00e56828e03fa107908d938caaba02e2212f3f2a4dc69d8c0e21354c743
MD5 df71438e6526310bf16a5e201744f693
BLAKE2b-256 9f857c88357dbf898731aedce57aac7a46a5ef64b8156f918ed18eb0df8b5552

See more details on using hashes here.

Supported by

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