ANN: Marrow Suite Releases

Alice Bevan–McGregor alice at gothcandy.com
Wed Nov 24 04:41:01 CET 2010


The following packages have been released, each unit tested and/or 
tested by example (as applicable) on both Python 2.7 and 3.1.  All 
packages, unless otherwise noted, are compatible with Python 2.6+ and 
3.1+ and distributed under the MIT license.  Versions < 1.0 are missing 
documentation and/or full unit tests.

Documentation, where available, is accessible via the GitHub repository 
pages in the README.textile files which GitHub automatically renders.

marrow.io 1.1 - Tornado IOLoop and IOStream fork with Python 3 support.
License: Apache (Tornado's license.)
Note: Tornado's documentation and unit tests apply to this package.
 - http://pypi.python.org/pypi/marrow.io/
 - https://github.com/pulp/marrow.io/

marrow.server 0.9 - High-level asynchronous forking/threading Server 
and Protocol APIs.
Note: The forking model is complete and functional, threading is still 
in development.
 - http://pypi.python.org/pypi/marrow.server/0.9
 - https://github.com/pulp/marrow.server/

marrow.server.http 0.8 - High-performance HTTP/1.1 WSGI 2 server.
Note: chunked transfer encoding is missing in this release.
Warning: This server conforms to an altered version of PEP 444 and 
should be considered an experimental technical demonstration of 
proposed changes to the PEP.
 - http://pypi.python.org/pypi/marrow.server.http/0.8
 - https://github.com/pulp/marrow.server.http/

marrow.util 1.0.1 - Commonly re-implemented Python utility functions, 
classes, and compatibility code.
Compatibility: Python 2.5+, 3.1+
 - http://pypi.python.org/pypi/marrow.util/1.0.1
 - https://github.com/pulp/marrow.util/

marrow.wsgi.egress.compression 1.1 - GZip compression of WSGI 2 responses.
Note: this is a fully functional, fully documented, 100% unit tested 
demonstration of the proposed filtering API for WSGI 2.
 - http://pypi.python.org/pypi/marrow.wsgi.egress.compression/1.1
 - https://github.com/pulp/marrow.wsgi.egress.compression/

What is Marrow?
A collection of related projects with a focus on simplicity, 
performance, clear separation of tasks, and dual Python 2.6+ / 3.1+ 
compatibility.  For more information and a list of packages in 
development, see:

 - https://github.com/pulp/

Why re-invent the wheel?
To help encourage web frameworks to adopt Python 3 the Marrow suite 
brute-forces the chicken-and-egg problem of library compatibility.  
Clean-room re-implementation of common WSGI middleware and associated 
utilities allows for lighter-weight code unencumbered by signifigant 
backwards-compatibility to be developed rapidly, quickly documented, 
and encourages test-centric development.

Are these components production-ready?
The short answer: no.  marrow.io, being based on Tornado's published 
codebase is, as is marrow.util.

The egress compression filter is, in theory, production ready (having 
complete documentation and 100% test coverage), though no server 
currently conforms to the WGSI 2 (PEP 444) API or WSGI 2 filtering API 
other than marrow.server.http, which is not production ready.  It 
should be possible to adapt this egress filter to WSGI (PEP 333) 
without too much difficulty and utilize it in Python 2.6+ applications, 
however.

Where do I report problems or request features?
Each project has its own issue tracker hosted on GitHub.  Please see 
the GitHub link for each package.


More information about the Python-announce-list mailing list