Skip to content
Michael Merickel edited this page Mar 7, 2017 · 27 revisions

About the Pylons Project

The Pylons Project encompasses all projects hosted at https://github.com/Pylons including the Pyramid web framework, webob WSGI request/response objects, the waitress WSGI server and the colander validation library.

Getting Started

Please have a look at the basic contributing guidelines for the project.

Contact info

To chat with the Pylons Project mentors, please use the [email protected] mailing list, visible at https://groups.google.com/forum/#!forum/pylons-discuss or contact us directly in the #pyramid channel on freenode.net.

Possible mentors

Ideas

All projects require strong communication and Python programming skills.

Pylons Project organization

Documentation Themes

Design a new theme in Sphinx for generating documentation of all Pylons Project projects.

Difficulty: easy

Required Skills:

  • Restructured Text / Sphinx
  • Python
  • HTML / CSS

Resources:

Mentors:

  • Steve Piercy

Colander and Deform

  • Add support to colander for serializing to native types instead of strings. Add examples of using YAML and JSON content with colander. Update deform to work with the new types. colander issue #133, #80

Pyramid

Waitress

  • Add HTTP2 and SSL support to waitress. An issue exists in the waitress bug tracker that contains more information on what we'd like to see: waitress issue #86

WebOb

  • Re-work the WebOb tests to remove the large mono-test suite that exists for webob.Request, and others, and properly unit test/functional test the various different parts. Test fixtures using py.test would also help improve the test suite, and would allow better verification of whether WebOb is behaving correctly.

  • Re-work and fix WebOb's Accept handling for languages: Issue #256

  • Write tests and verify proper RFC handling of data in WebOb/Pyramid in requests/responses

  • WSGI middleware as part of WebOb (For example, handling Forwarded/X-Forwarded-For and others securely) Issue #179, Issue #178

  • Re-work and fix WebOb's Range header handling to support alternate Range types: Issue #177 There is a lot of code that currently depends on the way that ranges are handled, the fix suggested in the PR associated with that issue does not work for most cases, and would break a variety of code in WebOb. Supporting this would make using the header for pagination possible, for example.

  • This benefits both WebOb and Python itself: WebOb makes heavy use of cgi.FieldStorage for parsing POST, unfortunately there have been a variety of cases where cgi.FieldStorage is lacking (Issue #165), and we carry patches to fix behavior in Py 3.x: compat.py. As seen in Issue #293 this is broken in Py 2.7. Someone with the requisite knowledge of the various RFC standards surrounding MIME encoding and a want to dive deep, fixing this and other issues for the Python stdlib would be fantastic, but it'll also be great for WebOb.