Skip to main content

Assembles WAR files from Python (Jython) WSGI applications

Project description

snakefight

snakefight generates WAR files from Python (Jython) WSGI applications, suitable for deployment to Java Servlet containers.

Installation

snakefight requires at least Jython 2.5b2. To install:

$ easy_install snakefight

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

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

snakefight-0.4.tar.gz (5.9 kB view details)

Uploaded Source

Built Distributions

snakefight-0.4-py2.6.egg (12.2 kB view details)

Uploaded Source

snakefight-0.4-py2.5.egg (12.2 kB view details)

Uploaded Source

File details

Details for the file snakefight-0.4.tar.gz.

File metadata

  • Download URL: snakefight-0.4.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for snakefight-0.4.tar.gz
Algorithm Hash digest
SHA256 956f3425d4ec46dce55ad04f6c901d5e91f2bc0299288082a23736ec5ca23175
MD5 65fe9f02eecb36adf081be6be39ccdb8
BLAKE2b-256 fd68d93eb79fcaeed4f648f0a453880eed946e71b815ec0d7615b8bfc5628638

See more details on using hashes here.

File details

Details for the file snakefight-0.4-py2.6.egg.

File metadata

  • Download URL: snakefight-0.4-py2.6.egg
  • Upload date:
  • Size: 12.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for snakefight-0.4-py2.6.egg
Algorithm Hash digest
SHA256 a288411d79b1a35109f3cc1f53b80c6f3f7060d0c8c0a93bf203884befc20e4e
MD5 1c4b95ca5b09cd6c98462aaf06f2dea9
BLAKE2b-256 2970c88a59ec6c8e012f30e53c003f8e1531152864d9b0925c703807e20de48d

See more details on using hashes here.

File details

Details for the file snakefight-0.4-py2.5.egg.

File metadata

  • Download URL: snakefight-0.4-py2.5.egg
  • Upload date:
  • Size: 12.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for snakefight-0.4-py2.5.egg
Algorithm Hash digest
SHA256 f21a3d9b4d4821440aa1a09946125d3fb672833fabda5f13c7fa15680808ff69
MD5 3ceb7ca7e11cc98ec305845137b36cd6
BLAKE2b-256 741c0f1b7e73520c08080cfd1adf303d3a961eeca5b52cf0e9c0166062357127

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