About
grainbow ‘Green Rainbows’ is a WSGI HTTP Server for UNIX, for sleepy application. It’s based on Gunicorn but it’s designed to handle applications that expect long request/response times and/or slow clients. For other applications, you should use gunicorn, since it’s easier to debug.
Features
Applications
Reverse proxy implementation (with Restkit WSGI proxy)
Comet
Long Polling
…
Install
Grainbows requires Python 2.x superior to 2.5.
Install from sources:
$ python setup.py install
Or from Pypi:
$ easy_install -U grainbows
By default grainbows use Gunicorn arbiter, so you won’t have any benefits. You need to install Eventlet or Gevent to use concurrency features.
do:
$ easy_install -U eventlet
Replace eventlet by gevent if you want to use gevent.
Usage
for WSGI application:
To launch the example application packaged with Grainbows:
$ cd /path/to/grainbows/examples/ $ grainbows websocket:app
and then go on http://localhost:8000 to see the result.
Note : by default the configuration is set to use eventlet. If you want to test with gevent, edit grainbows.conf.py file and replace use=”eventlet” by use=”gevent”.
The module test_keepalive:app specifies the complete module name and WSGI callable. You can replace it with anything that is available on your PYTHONPATH like such:
$ cd ~/ $ grainbows -c /path/to/configfile.py awesomeproject.wsgi.main:main_app
Full command line usage:
$ grainbows --help
Usage: grainbows [OPTIONS] APP_MODULE
Options:
--use=USE method to use (eventlet, gevent)
-c CONFIG, --config=CONFIG
Config file. [none]
-b BIND, --bind=BIND Adress to listen on. Ex. 127.0.0.1:8000 or
unix:/tmp/gunicorn.sock
-w WORKERS, --workers=WORKERS
Number of workers to spawn. [1]
-p PIDFILE, --pid=PIDFILE
set the background PID FILE
-D, --daemon Run daemonized in the background.
-m UMASK, --umask=UMASK
Define umask of daemon process
-u USER, --user=USER Change worker user
-g GROUP, --group=GROUP
Change worker group
-n PROC_NAME, --name=PROC_NAME
Process name
--log-level=LOGLEVEL Log level below which to silence messages. [info]
--log-file=LOGFILE Log to a file. - equals stdout. [-]
-d, --debug Debug mode. only 1 worker.
--version show program's version number and exit
-h, --help show this help message and exit
For Django applications use the grainbows_django command line and for Paste compatible applications (Pylons, TurboGears 2, …) use grainbows_paste. See the usage page on Gunicorn website for more information.
Configuration file
A configuration file is needed to setup Grainbows specific settings. An example can be found here
use = "eventlet" worker_connections = 1000
You can also configure other settings, see the Gunicorn configuration page for more details.
Development
You can get the source on Github :
And send your feedback on the tracker .
Metadata
Release files for grainbows 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| grainbows-0.1.3.tar.gz | 13.0 kB | Without provenance | Details |
Release files / grainbows-0.1.3.tar.gz
| Download URL | grainbows-0.1.3.tar.gz |
|---|---|
| Size | 13.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d98da3ba2edd4e56989858c597625ee61cf31d79bc1961ff43996572cb350cd6
|
|
BLAKE2b-256 checksum How to use checksums |
7c3dcd1f0fcb8c8ef66baab1ca532caefd8a321c7ca97335081e4268a254b4d8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for grainbows 0.1.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.