Frequently Asked Questions
++++++++++++++++++++++++++

**Pylons is excellent but why didn't you put your effort into improving other projects instead?**

    We did, just not the projects you might have expected!

    The Pylons team are obsessed with reuse. Our vision is that in the near future Python web frameworks will all adopt the Web Server Gateway Interface (or WSGI) throughout their stack making integration and reuse between frameworks extremely easy. Other frameworks don't necessarily share this vision to the same extent, preferring instead to keep their existing code base rather than opening it up to be replaced with standardized code.
    
    There have been many other excellent developments in the Python web world recently such as Paste and Myghty and so rather than duplicating the efforts of these teams by writing similar code for existing frameworks we decided instead to put a new framework together using these existing projects with an emphasis on WSGI. We did this by working with the existing project teams and adding features to their code when possible rather than putting it all into the Pylons package.
    
    For the small number of cases where we couldn't find suitable features in an existing project we ported code from other languages or, as a last resort, started new projects form scratch, each time designing, documenting and packaging them so they can be easily integrated into existing frameworks. This integration has already begun to happen, particularly with WebHelpers and Routes, and we are keen to facilitate this further.

**I've heard Pylons is a direct port of Rails, is this true?**

    Not really. While we designed Pylons to have all the functionality of Rails (porting Rails components to Python as necessary) we also designed it to be much more flexible, thanks mainly to WSGI. This allowed us to design Pylons so that your projects are highly reusable and easy to integrate with existing projects, or integrate existing projects into Pylons. You can use Pylons in the way that feels most natural to you, and in smaller or larger chunks.

**How do I use an existing WSGI project in Pylons?**

    Pylons applications can run alongside Django, TurboGears and other framework's WSGI applications using Paste Deploy's composite tools in the configuration. 

    Alternatively, name your WSGI application with the same name you would name a Pylons controller and Pylons will serve your controller as a WSGI application instead of treating it as a Pylons controller. 

    Pylons also allows you direct access to your project's WSGI middleware stack. You can add more middleware or remove existing middleware from your project by editing ``config/middleware.py``. It is also possible to add middleware or other WSGI applications using the Pylons config file and Paste Deploy as described earlier.
    
**I've found some typos in the docs or would like to suggest an alternative form of words**

    We greatly appreciate such corrections. Please email the Pylons-discuss mailing list and we will make the changes. The mailing list is at http://groups.google.com/group/pylons-discuss

**I have another question, where can I ask it?**

    Again, the best place is the mailing list at http://groups.google.com/group/pylons-discuss where someone will be pleased to answer. We'll put the most commonly asked questions on this FAQ.
