Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

WSGI middleware for javascript compression.

Project Description

See ‘src/zif/jsmin/README.txt’ for more information.


0.1 (2007/04/13)

Initial release.

Detailed Documentation


This is a wsgi middleware application intended for use with paste.deploy, zope.paste, and zope3.

It serves as a wsgi filter to “minimize” javascript for a zope3 application.

This can be slow. You probably do not want to run this in production unless you have (small) dynamically-generated scripts and css. But it can be useful for generating minimized javascript or css for resources. Those larger files can then be excluded from on-the-fly minimization.


For zope3, jsmin requires Sidnei da Silva’s zope.paste.

zope.paste is available at

cd []/zope
svn co paste

Instructions for zope.paste are at

zope.paste requires paste.deploy. paste.deploy can be obtained from the cheese shop. Presuming you have setuptools installed,

sudo PasteDeploy

This (zif.jsmin) package can be unzipped and installed anywhere on the Python path.


Follow Sidnei’s instructions for setting up zope.paste. It involves putting the usual zope.paste-configure.zcml file in [zope3 instance]/etc/site-packages. There is also a parameter to change in [zope3 instance]/etc/zope.conf. The new twist is a paste.ini file in [zope3 instance]/etc

An example paste.ini file looks like:

pipeline = gzipper jsmin main

paste.app_factory = zope.paste.application:zope_publisher_app_factory

nocompress=jp gz zip

compress_types=js css


The paste.ini file above shows examples of the configuration options for jsmin.

  • compress_level is the degree of minimization desired. “safe” is often good enough; it mainly removes spaces. “full” will additionally munge variable names in javascript to make a more compact (and even less readable) module. Default is “safe”
  • compress_types determines whether to compress javascript or css or both. For both, use “css js”, which is the default. For just one, specify “css” or “js”
  • exclude is for excluding large files that presumably are already compressed. You may exclude on several matches; just put a space between them. The module looks for consecutive characters in the url, and is case-sensitive. “K” would exclude MochiKit.js or any file with “K” in its name. “big_scripts” would exclude any file in the big_scripts url/folder.


Release History

Release History

This version
History Node


Download Files

Download Files

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

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
zif.jsmin-0.2-py2.4.egg (19.6 kB) Copy SHA256 Checksum SHA256 2.4 Egg Apr 14, 2007
zif.jsmin-0.2.tar.gz (10.8 kB) Copy SHA256 Checksum SHA256 Source Apr 14, 2007

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting