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.5 (2011-12-10)

  • Fixed installation via pip.

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.5.tar.gz (10.4 kB view details)

Uploaded Source

Built Distributions

snakefight-0.5-py2.6.egg (12.3 kB view details)

Uploaded Source

snakefight-0.5-py2.5.egg (12.3 kB view details)

Uploaded Source

File details

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

File metadata

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

File hashes

Hashes for snakefight-0.5.tar.gz
Algorithm Hash digest
SHA256 2e321046631f8832cc9fa926c726c77c18367b74633d1f8c80f4e7c818354569
MD5 042e817197366902abd2045e5c778a2f
BLAKE2b-256 3d2725bc99716a30b9a625dd52f08c6dcceafcacf629cfd8fa1b42885b3dd00f

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for snakefight-0.5-py2.6.egg
Algorithm Hash digest
SHA256 62cfb6896b7bf917db8c1cae7a2b99f6c9a90112b2505862d2d1293355c3d77d
MD5 ae841e94df84e0455b270cfcb25adc30
BLAKE2b-256 502e1854597d1734c1cf9dcaac443f98f4e67ec3eb83a828677b87adccb091d6

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for snakefight-0.5-py2.5.egg
Algorithm Hash digest
SHA256 f71bc92119999523aa128f97afd68d1f0b5d78663baf15cb94aa67adaf900708
MD5 788b67aa6b4be4422a9102491c6f653e
BLAKE2b-256 080608833aa565c677ef3cec8fde4246520e8255c5a87bae4290495f80dff841

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