snakefight 0.4
Assembles WAR files from Python (Jython) WSGI applications
Latest Version: 0.5
snakefight
snakefight generates WAR files from Python (Jython) WSGI applications, suitable for deployment to Java Servlet containers.
Creating WAR files
snakefight provides a new distutils command: bdist_war.
To create a WAR file, create a web.xml deployment descriptor (which would typically utilize the modjy library for the actual Servlet) and run:
$ jython setup.py bdist_war --web-xml web.xml
snakefight can automatically generate a web.xml (utilizing modjy) for Paste style projects (those that support the paste.app_factory entry point), by specifying the --paste-config option. To specify a named app in the config file, use the --paste-app-name option (which defaults to main):
$ jython setup.py bdist_war --paste-config production.ini --paste-app-name cascade
To include separate .jar files in the WAR's WEB-INF/lib directory, specify a comma separated list of jars to the --include-jars option:
$ jython setup.py bdist_war --include-jars jasper-runtime-5.5.9.jar,lucene-core-2.4.jar \ > --web-xml web.xml
As with any distutils command the options may also be specified in the project's setup.cfg:
[bdist_war]
paste-config = production.ini
include-jars = jasper-runtime-5.5.9.jar
lucene-core-2.4.jar
snakefight can also be ran from CPython (at least version 2.5) as long as a JYTHON_HOME is specified:
$ jython setup.py bdist_war --web-xml web.xml --jython-home=~/jython2.5b2
Other options:
- --war-prefix Prefix of the war file to build
- --no-jython Don't include the Jython distribution
TODO
Add options for:
- exclude-requires: exclude certain eggs from inclusion
- static_files: list of directories to serve public files (through the faster org.jruby.webapp.FileServlet)
- specifying modjy options
- --unpacked: don't zip the war file
Support:
- non setuptools apps? (like Django apps) django-jython already handles Django but ideally we'd share code
Changelog
0.4 (2009-07-15)
- Reorder the auto-generated web.xml child tags for better validation.
- Use the actual distribution name (not the egg safe name) for the WAR filename.
- Close the war file handle before moving it, particularly for Windows.
0.3 (2009-03-13)
- Added the --include-jars option
0.2 (2009-03-10)
- easy_install'ing the app is now the first step
0.1 (2009-03-08)
- Initial release
| File | Type | Py Version | Uploaded on | Size | # downloads |
|---|---|---|---|---|---|
| snakefight-0.4-py2.5.egg (md5) | Python Egg | 2.5 | 2009-07-15 | 11KB | 646 |
| snakefight-0.4-py2.6.egg (md5) | Python Egg | 2.6 | 2009-07-15 | 11KB | 438 |
| snakefight-0.4.tar.gz (md5) | Source | 2009-07-15 | 5KB | 498 | |
- Author: Philip Jenvey
- Home Page: http://pypi.python.org/pypi/snakefight
- Keywords: jython war
- License: BSD
- Categories
- Package Index Owner: pjenvey
- DOAP record: snakefight-0.4.xml
