The Pyramid Web Framework
Free

The Pyramid Web Framework

By Chris McDonough
Free
Book Description

Pyramid is a small, fast, down-to-earth Python web framework. It is developed as part of the Pylons Project. It is licensed under a BSD-like license.


This book is divided into three major parts:

  1. Narrative Documentation


    This is documentation which describes Pyramid concepts in narrative form, written in a largely conversational tone. Each narrative documentation chapter describes an isolated Pyramid concept. You should be able to get useful information out of the narrative chapters if you read them out-of-order, or when you need only a reminder about a particular topic while you’re developing an application.
  2. Tutorials


    Each tutorial builds a sample application or implements a set of concepts with a sample; it then describes the application or concepts in terms of the sample. You should read the tutorials if you want a guided tour of Pyramid.
  3. API Documentation


    Comprehensive reference material for every public API exposed by Pyramid. The API documentation is organized alphabetically by module name.

This is version 1.5.1; The Pyramid Documentation web page is on the Pylons project website.
Table of Contents
  • The Pyramid Web Framework
  • Copyright, Trademarks, and Attributions
    • Attributions
    • Copyright, Trademarks, and Attributions
    • Print Production
    • Contacting The Publisher
    • HTML Version and Source Code
  • Typographical Conventions
  • Pyramid Introduction
    • What Makes Pyramid Unique
      • What Makes Pyramid Unique
      • Single-file applications
      • Decorator-based configuration
      • URL generation
      • Static file serving
      • Fully Interactive Development
      • Debugging settings
      • Add-ons
      • Class-based and function-based views
      • Asset specifications
      • Extensible templating
      • Rendered views can return dictionaries
      • Event system
      • Built-in internationalization
      • HTTP caching
      • Sessions
      • Speed
      • Exception views
      • No singletons
      • View predicates and many views per route
      • Transaction management
      • Configuration conflict detection
      • Configuration extensibility
      • Flexible authentication and authorization
      • Traversal
      • Tweens
      • View response adapters
      • “Global” response object
      • Automating repetitive configuration
      • Programmatic Introspection
      • Python 3 Compatibility
      • Testing
      • Support
      • Documentation
    • Pyramid Introduction
    • What Is The Pylons Project?
    • Pyramid and Other Web Frameworks
  • Installing Pyramid
    • Before You Install
      • Before You Install
      • For Mac OS X Users
      • If You Don't Yet Have A Python Interpreter (UNIX)
      • If You Don't Yet Have A Python Interpreter (Windows)
    • Installing Pyramid on a UNIX System
      • Installing Pyramid on a UNIX System
      • Installing Setuptools
      • Installing the virtualenv Package
      • Creating the Virtual Python Environment
      • Installing Pyramid Into the Virtual Python Environment
    • Installing Pyramid
    • Installing Pyramid on a Windows System
    • What Gets Installed
  • Creating Your First Pyramid Application
    • Hello World
      • Hello World
      • Imports
      • View Callable Declarations
      • Application Configuration
      • Configurator Construction
      • Adding Configuration
      • WSGI Application Creation
      • WSGI Application Serving
      • Conclusion
    • References
    • Creating Your First Pyramid Application
  • Application Configuration
    • Imperative Configuration
    • Declarative Configuration
    • Summary
    • Application Configuration
  • Creating a Pyramid Project
    • Scaffolds Included with Pyramid
    • Creating the Project
    • Installing your Newly Created Project for Development
    • Running The Tests For Your Application
    • Running The Project Application
      • Running The Project Application
      • Reloading Code
    • Viewing the Application
      • Viewing the Application
      • The Debug Toolbar
    • The Project Structure
    • The MyProject Project
      • The MyProject Project
      • development.ini
      • production.ini
      • MANIFEST.in
      • setup.py
    • The myproject Package
      • The myproject Package
      • __init__.py
      • views.py
      • static
      • templates/mytemplate.pt
      • tests.py
    • Creating a Pyramid Project
    • Modifying Package Structure
    • Using the Interactive Shell
    • What Is This pserve Thing
    • Using an Alternate WSGI Server
  • Startup
    • The Startup Process
    • Deployment Settings
    • Startup
  • Request Processing
  • URL Dispatch
    • High-Level Operational Overview
    • Route Configuration
      • Route Configuration
      • Configuring a Route to Match a View
      • Route Pattern Syntax
      • Route Declaration Ordering
      • Route Configuration Arguments
    • Route Matching
      • Route Matching
      • The Matchdict
      • The Matched Route
    • Routing Examples
      • Routing Examples
      • Example 1
      • Example 2
      • Example 3
    • Matching the Root URL
    • Generating Route URLs
    • Static Routes
    • External Routes
    • Redirecting to Slash-Appended Routes
    • Debugging Route Matching
    • Using a Route Prefix to Compose Applications
    • Custom Route Predicates
    • Route Factories
    • Using Pyramid Security With URL Dispatch
    • Route View Callable Registration and Lookup Details
    • References
    • URL Dispatch
  • Views
    • View Callables
    • Defining a View Callable as a Function
    • Defining a View Callable as a Class
    • View Callable Responses
    • Using Special Exceptions In View Callables
      • Using Special Exceptions In View Callables
      • HTTP Exceptions
      • How Pyramid Uses HTTP Exceptions
    • Custom Exception Views
    • Using a View Callable to do an HTTP Redirect
    • Handling Form Submissions in View Callables (Unicode and Character Set Issues)
    • Alternate View Callable Argument/Calling Conventions
    • Passing Configuration Variables to a View
    • Pylons-1.0-Style “Controller” Dispatch
    • Views
  • Renderers
    • Writing View Callables Which Use a Renderer
    • Built-In Renderers
      • Built-In Renderers
      • string: String Renderer
      • JSON Renderer
      • JSONP Renderer
    • Varying Attributes of Rendered Responses
    • Adding and Changing Renderers
      • Adding and Changing Renderers
      • Adding a New Renderer
      • Adding a Default Renderer
      • Changing an Existing Renderer
    • Overriding A Renderer At Runtime
    • Renderers
  • Templates
    • Using Templates Directly
    • System Values Used During Rendering
    • Templates Used as Renderers via Configuration
    • Debugging Templates
    • Automatically Reloading Templates
    • Available Add-On Template System Bindings
    • Templates
  • View Configuration
    • Mapping a Resource or URL Pattern to a View Callable
      • Mapping a Resource or URL Pattern to a View Callable
      • View Configuration Parameters
      • Adding View Configuration Using the @view_config Decorator
      • Adding View Configuration Using add_view()
    • @view_defaults Class Decorator
      • @view_defaults Class Decorator
      • Configuring View Security
      • NotFound Errors
    • Influencing HTTP Caching
    • Debugging View Configuration
    • View Configuration
  • Static Assets
    • Understanding Asset Specifications
    • Serving Static Assets
      • Serving Static Assets
      • Generating Static Asset URLs
    • Advanced: Serving Static Assets Using a View Callable
      • Advanced: Serving Static Assets Using a View Callable
      • Root-Relative Custom Static View (URL Dispatch Only)
      • Registering A View Callable to Serve a “Static” Asset
    • Overriding Assets
      • Overriding Assets
      • The override_asset API
    • Static Assets
  • Request and Response Objects
    • Request
      • Request
      • Special Attributes Added to the Request by Pyramid
      • URLs
      • Methods
      • Unicode
      • Multidict
      • Dealing With A JSON-Encoded Request Body
      • Cleaning Up After a Request
      • More Details
    • Response
      • Response
      • Headers
      • Instantiating the Response
      • Exception Responses
      • More Details
    • Request and Response Objects
  • Sessions
    • Using The Default Session Factory
    • Using a Session Object
    • Using Alternate Session Factories
    • Creating Your Own Session Factory
    • Flash Messages
      • Flash Messages
      • Using the session.flash Method
      • Using the session.pop_flash Method
      • Using the session.peek_flash Method
    • Preventing Cross-Site Request Forgery Attacks
      • Preventing Cross-Site Request Forgery Attacks
      • Using the session.get_csrf_token Method
      • Checking CSRF Tokens Manually
      • Checking CSRF Tokens With A View Predicate
      • Using the session.new_csrf_token Method
    • Sessions
  • Using Events
    • Configuring an Event Listener Imperatively
    • Configuring an Event Listener Using a Decorator
    • An Example
    • Creating Your Own Events
    • Using Events
  • Environment Variables and .ini File Settings
    • Reloading Templates
    • Reloading Assets
    • Debugging Authorization
    • Debugging Not Found Errors
    • Debugging Route Matching
    • Preventing HTTP Caching
    • Debugging All
    • Reloading All
    • Default Locale Name
    • Including Packages
      • Including Packages
      • pyramid.includes vs. pyramid.config.Configurator.include()
    • Explicit Tween Configuration
      • Explicit Tween Configuration
      • PasteDeploy Configuration vs. Plain-Python Configuration
    • Examples
    • Understanding the Distinction Between reload_templates and reload_assets
    • Adding A Custom Setting
    • Environment Variables and .ini File Settings
  • Logging
    • Logging Configuration
    • Sending Logging Messages
    • Filtering log messages
    • Advanced Configuration
    • Logging Exceptions
    • Request Logging with Paste's TransLogger
    • Logging
  • PasteDeploy Configuration Files
    • PasteDeploy
      • PasteDeploy
      • Entry Points and PasteDeploy .ini Files
      • [DEFAULT] Section of a PasteDeploy .ini File
    • PasteDeploy Configuration Files
  • Command-Line Pyramid
    • Displaying Matching Views for a Given URL
    • The Interactive Shell
      • The Interactive Shell
      • Extending the Shell
      • IPython or bpython
    • Displaying All Application Routes
    • Displaying “Tweens”
    • Invoking a Request
    • Using Custom Arguments to Python when Running p* Scripts
    • Showing All Installed Distributions and their Versions
    • Writing a Script
      • Writing a Script
      • Changing the Request
      • Cleanup
      • Setting Up Logging
    • Making Your Script into a Console Script
    • Command-Line Pyramid
  • Internationalization and Localization
    • Creating a Translation String
      • Creating a Translation String
      • Using The TranslationString Class
      • Using the TranslationStringFactory Class
    • Working With gettext Translation Files
      • Working With gettext Translation Files
      • Installing Lingua and Gettext
      • Extracting Messages from Code and Templates
      • Initializing a Message Catalog File
      • Updating a Catalog File
      • Compiling a Message Catalog File
    • Using a Localizer
      • Using a Localizer
      • Performing a Translation
      • Performing a Pluralization
    • Obtaining the Locale Name for a Request
    • Performing Date Formatting and Currency Formatting
    • Chameleon Template Support for Translation Strings
    • Mako Pyramid I18N Support
    • Localization-Related Deployment Settings
    • “Detecting” Available Languages
    • Activating Translation
      • Activating Translation
      • Adding a Translation Directory
      • Setting the Locale
    • Locale Negotiators
      • Locale Negotiators
      • The Default Locale Negotiator
      • Using a Custom Locale Negotiator
    • Internationalization and Localization
  • Virtual Hosting
    • Hosting an Application Under a URL Prefix
    • Virtual Root Support
    • Further Documentation and Examples
    • Virtual Hosting
  • Unit, Integration, and Functional Testing
    • Test Set Up and Tear Down
      • Test Set Up and Tear Down
      • Test setup using a context manager
      • What?
    • Using the Configurator and pyramid.testing APIs in Unit Tests
    • Creating Integration Tests
    • Creating Functional Tests
    • Unit, Integration, and Functional Testing
  • Resources
    • Defining a Resource Tree
    • Location-Aware Resources
    • Generating The URL Of A Resource
      • Generating The URL Of A Resource
      • Overriding Resource URL Generation
    • Generating the Path To a Resource
    • Finding a Resource by Path
    • Obtaining the Lineage of a Resource
    • Determining if a Resource is In The Lineage of Another Resource
    • Finding the Root Resource
    • Resources Which Implement Interfaces
    • Finding a Resource With a Class or Interface in Lineage
    • Pyramid API Functions That Act Against Resources
    • Resources
  • Hello Traversal World
    • Example requests
    • Hello Traversal World
  • Much Ado About Traversal
    • URL Dispatch
    • Historical Refresher
    • Traversal (aka Resource Location)
    • What Is a “Resource”?
    • View Lookup
    • Use Cases
    • Much Ado About Traversal
  • Traversal
    • Traversal Details
    • The Resource Tree
    • The Traversal Algorithm
      • The Traversal Algorithm
      • A Description of The Traversal Algorithm
      • Traversal Algorithm Examples
      • Using Resource Interfaces In View Configuration
    • References
    • Traversal
  • Security
    • Enabling an Authorization Policy
      • Enabling an Authorization Policy
      • Enabling an Authorization Policy Imperatively
    • Protecting Views with Permissions
      • Protecting Views with Permissions
      • Setting a Default Permission
    • Assigning ACLs to your Resource Objects
    • Elements of an ACL
    • Special Principal Names
    • Special Permissions
    • Special ACEs
    • ACL Inheritance and Location-Awareness
    • Changing the Forbidden View
    • Debugging View Authorization Failures
    • Debugging Imperative Authorization Failures
    • Creating Your Own Authentication Policy
    • Creating Your Own Authorization Policy
    • Admonishment Against Secret-Sharing
    • Security
  • Combining Traversal and URL Dispatch
    • A Review of Non-Hybrid Applications
      • A Review of Non-Hybrid Applications
      • URL Dispatch Only
      • Traversal Only
    • Hybrid Applications
      • Hybrid Applications
      • The Root Object for a Route Match
      • Using *traverse In a Route Pattern
      • Using the traverse Argument In a Route Definition
      • Using *subpath in a Route Pattern
    • Corner Cases
      • Corner Cases
      • Registering a Default View for a Route That Has a view Attribute
      • Binding Extra Views Against a Route Configuration that Doesn't Have a *traverse Element In Its Pattern
    • Generating Hybrid URLs
    • Combining Traversal and URL Dispatch
  • Invoking a Subrequest
  • Using Hooks
    • Changing the Not Found View
    • Changing the Forbidden View
    • Changing the Request Factory
    • Adding Methods or Properties to Request Object
    • Using The Before Render Event
    • Using Response Callbacks
    • Using Finished Callbacks
    • Changing the Traverser
    • Changing How pyramid.request.Request.resource_url() Generates a URL
    • Changing How Pyramid Treats View Responses
    • Using a View Mapper
    • Registering Configuration Decorators
    • Registering Tweens
      • Registering Tweens
      • Creating a Tween
      • Registering an Implicit Tween Factory
      • Suggesting Implicit Tween Ordering
      • Explicit Tween Ordering
      • Tween Conflicts and Ordering Cycles
      • Displaying Tween Ordering
    • Adding A Third Party View, Route, or Subscriber Predicate
      • Adding A Third Party View, Route, or Subscriber Predicate
      • View and Route Predicates
      • Subscriber Predicates
    • Using Hooks
  • Pyramid Configuration Introspection
    • Using the Introspector
    • Introspectable Objects
    • Pyramid Introspection Categories
    • Introspection in the Toolbar
    • Disabling Introspection
    • Pyramid Configuration Introspection
  • Extending An Existing Pyramid Application
    • The Difference Between “Extensible” and “Pluggable” Applications
    • Rules for Building An Extensible Application
      • Rules for Building An Extensible Application
      • Fundamental Plugpoints
    • Extending an Existing Application
      • Extending an Existing Application
      • If The Application Has Configuration Decorations
      • Extending the Application
      • Overriding Views
      • Overriding Routes
      • Overriding Assets
    • Extending An Existing Pyramid Application
  • Advanced Configuration
    • Conflict Detection
      • Conflict Detection
      • Manually Resolving Conflicts
      • Automatic Conflict Resolution
      • Methods Which Provide Conflict Detection
    • Including Configuration from External Sources
    • Two-Phase Configuration
    • More Information
    • Advanced Configuration
  • Extending Pyramid Configuration
    • Adding Methods to the Configurator via add_directive
    • Using config.action in a Directive
    • Adding Configuration Introspection
      • Adding Configuration Introspection
      • Introspectable Relationships
    • Extending Pyramid Configuration
  • Creating Pyramid Scaffolds
    • Basics
    • Supporting Older Pyramid Versions
    • Examples
    • Creating Pyramid Scaffolds
  • Upgrading Pyramid
    • Deprecation and Removal Policy
    • Consulting the Change History
    • Testing Your Application Under a New Pyramid Release
    • My Application Doesn't Have Any Tests or Has Few Tests
    • Upgrading to the Very Latest Pyramid Release
    • Upgrading Pyramid
  • Thread Locals
    • Why and How Pyramid Uses Thread Local Variables
    • Why You Shouldn't Abuse Thread Locals
    • Thread Locals
  • Using the Zope Component Architecture in Pyramid
    • Using the ZCA Global API in a Pyramid Application
      • Using the ZCA Global API in a Pyramid Application
      • Disusing the Global ZCA API
      • Enabling the ZCA Global API by Using hook_zca
      • Enabling the ZCA Global API by Using The ZCA Global Registry
    • Using the Zope Component Architecture in Pyramid
  • SQLAlchemy + URL Dispatch Wiki Tutorial
    • SQLAlchemy + URL Dispatch Wiki Tutorial
    • Background
    • Design
      • Overall
      • Models
      • Views
      • Security
      • Summary
      • Design
    • Installation
      • Before You Begin
      • Making a Project
      • Installing the Project in Development Mode
      • Running the Tests
      • Exposing Test Coverage Information
      • Initializing the Database
      • Starting the Application
      • Decisions the alchemy Scaffold Has Made For You
      • Installation
    • Basic Layout
      • Application Configuration with __init__.py
      • View Declarations via views.py
      • Content Models with models.py
      • Basic Layout
    • Defining the Domain Model
      • Making Edits to models.py
      • Changing scripts/initializedb.py
      • Installing the Project and re-initializing the Database
      • Viewing the Application in a Browser
      • Defining the Domain Model
    • Defining Views
      • Declaring Dependencies in Our setup.py File
      • Running setup.py develop
      • Changing the views.py File
      • Adding Templates
      • Adding Routes to __init__.py
      • Viewing the Application in a Browser
      • Defining Views
    • Adding Authorization
      • Access Control
      • Login, Logout
      • Seeing Our Changes
      • Viewing the Application in a Browser
      • Adding Authorization
    • Adding Tests
      • Testing the Models
      • Testing the Views
      • Functional tests
      • Viewing the results of all our edits to tests.py
      • Running the Tests
      • Adding Tests
    • Distributing Your Application
  • ZODB + Traversal Wiki Tutorial
    • ZODB + Traversal Wiki Tutorial
    • Background
    • Design
      • Overall
      • Models
      • Views
      • Security
      • Summary
      • Design
    • Installation
      • Preparation
      • Make a Project
      • Install the Project in “Development Mode”
      • Run the Tests
      • Expose Test Coverage Information
      • Start the Application
      • Visit the Application in a Browser
      • Decisions the zodb Scaffold Has Made For You
      • Installation
    • Basic Layout
      • Application Configuration with __init__.py
      • Resources and Models with models.py
      • Views With views.py
      • Configuration in development.ini
      • Basic Layout
    • Defining the Domain Model
      • Delete the Database
      • Edit models.py
      • Look at the Result of Our Edits to models.py
      • View the Application in a Browser
      • Defining the Domain Model
    • Defining Views
      • Declaring Dependencies in Our setup.py File
      • Adding View Functions
      • Viewing the Result of all Our Edits to views.py
      • Adding Templates
      • Viewing the Application in a Browser
      • Defining Views
    • Adding Authorization
      • Access Control
      • Login, Logout
      • Seeing Our Changes
      • Viewing the Application in a Browser
      • Adding Authorization
    • Adding Tests
      • Test the Models
      • Test the Views
      • Functional tests
      • View the results of all our edits to tests.py
      • Running the Tests
      • Adding Tests
    • Distributing Your Application
  • Running a Pyramid Application under mod_wsgi
  • pyramid.authentication
    • Authentication Policies
    • Helper Classes
    • pyramid.authentication
  • pyramid.authorization
  • pyramid.compat
  • pyramid.config
  • pyramid.decorator
  • pyramid.events
    • Functions
    • Event Types
    • pyramid.events
  • pyramid.exceptions
  • pyramid.httpexceptions
    • HTTP Exceptions
    • pyramid.httpexceptions
  • pyramid.i18n
  • pyramid.interfaces
    • Event-Related Interfaces
    • Other Interfaces
    • pyramid.interfaces
  • pyramid.location
  • pyramid.paster
  • pyramid.path
  • pyramid.registry
  • pyramid.renderers
  • pyramid.request
  • pyramid.response
    • Functions
    • pyramid.response
  • pyramid.scaffolds
  • pyramid.scripting
  • pyramid.security
    • Authentication API Functions
    • Authorization API Functions
    • Constants
    • Return Values
    • pyramid.security
  • pyramid.session
  • pyramid.settings
  • pyramid.static
  • pyramid.testing
  • pyramid.threadlocal
  • pyramid.traversal
  • pyramid.tweens
  • pyramid.url
  • pyramid.view
  • pyramid.wsgi
  • What's New In Pyramid 1.5
    • Major Backwards Incompatibilities
    • Feature Additions
    • Other Backwards Incompatibilities
    • Deprecations
    • Documentation Enhancements
    • Scaffolding Enhancements
    • Dependency Changes
    • What's New In Pyramid 1.5
  • What's New In Pyramid 1.4
    • Major Feature Additions
      • Major Feature Additions
      • Third-Party Predicates
      • Easy Custom JSON Serialization
      • Partial Mako and Chameleon Template Renderings
      • Subrequest Support
    • Minor Feature Additions
    • Backwards Incompatibilities
    • Deprecations
    • Documentation Enhancements
    • Dependency Changes
    • What's New In Pyramid 1.4
  • What's New In Pyramid 1.3
    • Major Feature Additions
      • Major Feature Additions
      • Python 3 Compatibility
      • The paster Command Has Been Replaced
      • paste.httpserver replaced by waitress in Scaffolds
      • Compatibility Helper Library
      • Introspection
      • @view_defaults Decorator
      • Extending a Request without Subclassing
      • Not Found and Forbidden View Helpers
    • Minor Feature Additions
    • Backwards Incompatibilities
    • Deprecations
    • Known Issues
    • Documentation Enhancements
    • Dependency Changes
    • Scaffolding Changes
    • What's New In Pyramid 1.3
  • What's New In Pyramid 1.2
    • Major Feature Additions
      • Major Feature Additions
      • Debug Toolbar
      • route_prefix Argument to include
      • Tweens
      • Scaffolding Changes
    • Minor Feature Additions
    • Deprecations
    • Backwards Incompatibilities
    • Behavior Differences
    • Documentation Enhancements
    • Dependency Changes
    • What's New In Pyramid 1.2
  • What's New In Pyramid 1.1
    • Terminology Changes
    • Major Feature Additions
      • Major Feature Additions
      • request.response
      • paster pviews
      • Static Routes
      • Default HTTP Exception View
      • http_cache
      • Easier Scripting Writing
    • Minor Feature Additions
    • Backwards Incompatibilities
    • Deprecations and Behavior Differences
    • Dependency Changes
    • Documentation Enhancements
    • What's New In Pyramid 1.1
  • What's New In Pyramid 1.0
    • Major Feature Additions
      • Major Feature Additions
      • New Name and Branding
      • BFG Conversion Script
      • Scaffold Improvements
      • Terminology Changes
      • Better Platform Compatibility and Support
      • Sessions
      • Mako
      • URL Dispatch
      • ZCML Externalized
      • Imperative Two-Phase Configuration
      • Better Support for Global Template Variables During Rendering
      • View Mappers
      • Testing Support Improvements
      • Authentication Support Improvements
      • Documentation Improvements
    • Minor Feature Additions
    • Backwards Incompatibilities
    • Deprecations and Behavior Differences
    • Dependency Changes
    • Documentation Enhancements
    • What's New In Pyramid 1.0
  • Pyramid Change History
    • Next release
    • 1.5.1 (2014-05-31)
    • 1.5 (2014-04-08)
    • 1.5b1 (2014-02-08)
      • 1.5b1 (2014-02-08)
      • Features
    • 1.5a4 (2014-01-28)
      • 1.5a4 (2014-01-28)
      • Features
      • Bug Fixes
    • 1.5a3 (2013-12-10)
      • 1.5a3 (2013-12-10)
      • Features
      • Bug Fixes
      • Documentation
      • Backwards Incompatibilities
      • Deprecations
      • Dependencies
    • 1.5a2 (2013-09-22)
      • 1.5a2 (2013-09-22)
      • Features
      • Bug Fixes
      • Backwards Incompatibilities
      • Deprecations
    • 1.5a1 (2013-08-30)
      • 1.5a1 (2013-08-30)
      • Features
      • Bug Fixes
      • Backwards Incompatibilities
    • 1.4 (2012-12-18)
      • 1.4 (2012-12-18)
      • Docs
    • 1.4b3 (2012-12-10)
    • 1.4b2 (2012-12-10)
      • 1.4b2 (2012-12-10)
      • Docs
      • Backwards Incompatibilities
    • 1.4b1 (2012-11-21)
      • 1.4b1 (2012-11-21)
      • Features
      • Bug Fixes
      • Documentation
    • 1.4a4 (2012-11-14)
      • 1.4a4 (2012-11-14)
      • Features
      • Bug Fixes
      • Deprecations
      • Documentation
      • Internals
    • 1.4a3 (2012-10-26)
      • 1.4a3 (2012-10-26)
      • Bug Fixes
      • Features
    • 1.4a2 (2012-09-27)
      • 1.4a2 (2012-09-27)
      • Bug Fixes
      • Features
      • Documentation
    • 1.4a1 (2012-09-16)
      • 1.4a1 (2012-09-16)
      • Bug Fixes
      • Features
      • Deprecations
      • Backwards Incompatibilities
      • Documentation
      • Dependencies
    • 1.3 (2012-03-21)
      • 1.3 (2012-03-21)
      • Bug Fixes
    • 1.3b3 (2012-03-17)
      • 1.3b3 (2012-03-17)
      • Bug Fixes
      • Scaffolds
      • Documentation
    • 1.3b2 (2012-03-02)
      • 1.3b2 (2012-03-02)
      • Bug Fixes
    • 1.3b1 (2012-02-26)
      • 1.3b1 (2012-02-26)
      • Bug Fixes
      • Deprecations
    • 1.3a9 (2012-02-22)
      • 1.3a9 (2012-02-22)
      • Features
      • Backwards Incompatibilities
      • Deprecations
      • Bug Fixes
      • Documentation
    • 1.3a8 (2012-02-19)
      • 1.3a8 (2012-02-19)
      • Features
      • Backwards Incompatibilities
      • Documentation
      • Scaffolding
      • Dependencies
      • Internal
    • 1.3a7 (2012-02-07)
      • 1.3a7 (2012-02-07)
      • Features
      • Bug Fixes
      • Backwards Incompatibilities
      • Documentation
    • 1.3a6 (2012-01-20)
      • 1.3a6 (2012-01-20)
      • Features
      • Bug Fixes
    • 1.3a5 (2012-01-09)
      • 1.3a5 (2012-01-09)
      • Bug Fixes
      • Backwards Incompatibilities
    • 1.3a4 (2012-01-05)
      • 1.3a4 (2012-01-05)
      • Features
      • Bug Fixes
      • Backwards Incompatibilities
    • 1.3a3 (2011-12-21)
      • 1.3a3 (2011-12-21)
      • Features
      • Bug Fixes
      • Documentation
    • 1.3a2 (2011-12-14)
      • 1.3a2 (2011-12-14)
      • Features
      • Documentation
      • Backwards Incompatibilities
    • 1.3a1 (2011-12-09)
      • 1.3a1 (2011-12-09)
      • Features
      • Bug Fixes
      • Backwards Incompatibilities
      • Dependencies
      • Documentation
      • Scaffolds
    • 1.2 (2011-09-12)
      • 1.2 (2011-09-12)
      • Features
    • 1.2b3 (2011-09-11)
      • 1.2b3 (2011-09-11)
      • Bug Fixes
    • 1.2b2 (2011-09-08)
      • 1.2b2 (2011-09-08)
      • Bug Fixes
      • Documentation
    • 1.2b1 (2011-09-08)
      • 1.2b1 (2011-09-08)
      • Bug Fixes
      • Documentation
    • 1.2a6 (2011-09-06)
      • 1.2a6 (2011-09-06)
      • Bug Fixes
      • Internal
      • Behavior Differences
      • Scaffolds
    • 1.2a5 (2011-09-04)
      • 1.2a5 (2011-09-04)
      • Bug Fixes
      • Dependencies
    • 1.2a4 (2011-09-02)
      • 1.2a4 (2011-09-02)
      • Features
      • Dependencies
    • 1.2a3 (2011-08-29)
      • 1.2a3 (2011-08-29)
      • Bug Fixes
      • Internal
    • 1.2a2 (2011-08-27)
      • 1.2a2 (2011-08-27)
      • Bug Fixes
      • Features
    • 1.2a1 (2011-08-24)
      • 1.2a1 (2011-08-24)
      • Features
      • Internal
      • Deprecations
      • Backwards Incompatibilities
      • Documentation
      • Dependency Changes
      • Scaffolds
      • Bug Fixes
    • 1.1 (2011-07-22)
      • 1.1 (2011-07-22)
      • Features
      • Internals
      • Documentation
    • 1.1b4 (2011-07-18)
      • 1.1b4 (2011-07-18)
      • Documentation
      • Backwards Incompatibilities
      • Features
      • Bug Fixes
    • 1.1b3 (2011-07-15)
      • 1.1b3 (2011-07-15)
      • Features
      • Deprecations
      • Bug Fixes
    • 1.1b2 (2011-07-13)
      • 1.1b2 (2011-07-13)
      • Features
      • Behavior Changes
      • Bug Fixes
      • Documentation
    • 1.1b1 (2011-07-10)
      • 1.1b1 (2011-07-10)
      • Features
      • Bug Fixes
      • Documentation
      • Behavior Changes
    • 1.1a4 (2011-07-01)
      • 1.1a4 (2011-07-01)
      • Bug Fixes
      • Features
      • Deprecations
      • Documentation
    • 1.1a3 (2011-06-26)
      • 1.1a3 (2011-06-26)
      • Features
      • Bug fixes
    • 1.1a2 (2011-06-22)
      • 1.1a2 (2011-06-22)
      • Bug Fixes
      • Backwards Incompatibilities
    • 1.1a1 (2011-06-20)
      • 1.1a1 (2011-06-20)
      • Documentation
      • Features
      • Bug Fixes
      • Deprecations
      • Behavior Changes
      • Backwards Incompatibilities
      • Dependencies
    • 1.0 (2011-01-30)
      • 1.0 (2011-01-30)
      • Documentation
      • Bug Fixes
    • 1.0b3 (2011-01-28)
      • 1.0b3 (2011-01-28)
      • Bug Fixes
      • Documentation
    • 1.0b2 (2011-01-24)
      • 1.0b2 (2011-01-24)
      • Bug Fixes
    • 1.0b1 (2011-01-21)
      • 1.0b1 (2011-01-21)
      • Features
      • Bug Fixes
      • Documentation
      • Deprecations
      • Backwards Incompatibilities
      • Paster Templates
    • 1.0a10 (2011-01-18)
      • 1.0a10 (2011-01-18)
      • Bug Fixes
      • Backwards Incompatibilities
      • Features
      • Paster Templates
      • Documentation
      • Deprecations
    • 1.0a9 (2011-01-08)
      • 1.0a9 (2011-01-08)
      • Bug Fixes
      • Features
      • Backwards Incompatibilities
      • Documentation
      • Internals
    • 1.0a8 (2010-12-27)
      • 1.0a8 (2010-12-27)
      • Bug Fixes
      • Features
      • Paster Templates
      • Documentation
    • Pyramid Change History
    • 1.0a7 (2010-12-20)
      • 1.0a7 (2010-12-20)
      • Terminology Changes
      • Bug Fixes
      • Features
      • Environment
      • Documentation
      • Paster Templates
      • Dependencies
    • 1.0a6 (2010-12-15)
      • 1.0a6 (2010-12-15)
      • Bug Fixes
      • Documentation
    • 1.0a5 (2010-12-14)
      • 1.0a5 (2010-12-14)
      • Features
      • Dependencies
      • Bug Fixes
      • Documentation
      • Deprecations
    • 1.0a4 (2010-11-21)
      • 1.0a4 (2010-11-21)
      • Features
      • Documentation
      • Bug Fixes
      • Backwards Incompatibilities
      • Deprecations
      • Documentation
      • Internal
    • 1.0a3 (2010-11-16)
      • 1.0a3 (2010-11-16)
      • Features
      • Bug Fixes
      • Documentation
      • Deprecations
      • Behavior Differences
    • 1.0a2 (2010-11-09)
      • 1.0a2 (2010-11-09)
      • Documentation
    • 1.0a1 (2010-11-05)
      • 1.0a1 (2010-11-05)
      • Features (delta from BFG 1.3)
      • Documentation (delta from BFG 1.3)
      • Backwards Incompatibilities (with BFG 1.3)
  • repoze.bfg Change History (previous name for Pyramid)
    • repoze.bfg Change History (previous name for Pyramid)
    • 1.3b1 (2010-10-25)
      • 1.3b1 (2010-10-25)
      • Features
      • Bug Fixes
      • Documentation
    • 1.3a15 (2010-09-30)
      • 1.3a15 (2010-09-30)
      • Features
    • 1.3a14 (2010-09-14)
      • 1.3a14 (2010-09-14)
      • Bug Fixes
      • Features
      • Requirements
      • Backwards Incompatibilities
      • Errata
    • 1.3a13 (2010-09-14)
      • 1.3a13 (2010-09-14)
      • Bug Fixes
      • Features
      • Backwards Incompatibilities
      • Deprecations
      • Documentation
    • 1.3a12 (2010-09-08)
      • 1.3a12 (2010-09-08)
      • Bug Fixes
      • Features
      • Documentation
      • Paster Templates
      • Dependencies
      • Internal
    • 1.3a11 (2010-09-05)
      • 1.3a11 (2010-09-05)
      • Bug Fixes
    • 1.3a10 (2010-09-05)
      • 1.3a10 (2010-09-05)
      • Features
      • Bug Fixes
      • Backwards Incompatibilities
      • Documentation
      • Internal
    • 1.3a9 (2010-08-22)
      • 1.3a9 (2010-08-22)
      • Features
      • Backwards Incompatibilities
      • Documentation
      • Internal
    • 1.3a8 (2010-08-08)
      • 1.3a8 (2010-08-08)
      • Features
      • Documentation
      • Internal
    • 1.3a7 (2010-08-01)
      • 1.3a7 (2010-08-01)
      • Features
      • Bug Fixes
      • Backwards Incompatibilities
      • Documentation
    • 1.3a6 (2010-07-25)
      • 1.3a6 (2010-07-25)
      • Features
      • Documentation
      • Bug Fixes
      • Deprecations
      • Backwards Incompatibilities
    • 1.3a5 (2010-07-14)
      • 1.3a5 (2010-07-14)
      • Features
      • Bug Fixes
      • Documentation
      • Backwards Incompatibilities
    • 1.3a4 (2010-07-03)
      • 1.3a4 (2010-07-03)
      • Features
      • Documentation
      • Internal
    • 1.3a3 (2010-05-01)
      • 1.3a3 (2010-05-01)
      • Paster Templates
      • Documentation
    • 1.3a2 (2010-04-28)
      • 1.3a2 (2010-04-28)
      • Features
      • Backwards Incompatibilities
      • Behavior Changes
      • Documentation
    • 1.3a1 (2010-04-26)
      • 1.3a1 (2010-04-26)
      • Features
      • ZCML
      • Deprecations
      • Dependencies
      • Internal
      • Documentation
      • Paster Templates
      • Licensing
    • 1.2 (2010-02-10)
    • 1.2b6 (2010-02-06)
      • 1.2b6 (2010-02-06)
      • Backwards Incompatibilities
      • Bug Fixes
    • 1.2b5 (2010-02-04)
      • 1.2b5 (2010-02-04)
      • Bug Fixes
    • 1.2b4 (2010-02-03)
      • 1.2b4 (2010-02-03)
      • Documentation
      • Bug Fixes
      • Features
      • Backwards Incompatibilities
      • Dependencies
    • 1.2b3 (2010-01-24)
      • 1.2b3 (2010-01-24)
      • Bug Fixes
      • Features
      • Internal
    • 1.2b2 (2010-01-21)
      • 1.2b2 (2010-01-21)
      • Bug Fixes
      • Documentation
      • Dependencies
    • 1.2b1 (2010-01-18)
      • 1.2b1 (2010-01-18)
      • Bug Fixes
      • Features
      • Documentation
    • 1.2a11 (2010-01-05)
      • 1.2a11 (2010-01-05)
      • Bug Fixes
      • Features
    • 1.2a10 (2010-01-04)
      • 1.2a10 (2010-01-04)
      • Features
      • Documentation and Paster Templates
      • Documentation Licensing
    • 1.2a9 (2009-12-27)
      • 1.2a9 (2009-12-27)
      • Documentation Licensing
      • Documentation
    • 1.2a8 (2009-12-24)
      • 1.2a8 (2009-12-24)
      • Features
      • Bug Fixes
      • Documentation
      • Deprecations
    • 1.2a7 (2009-12-20)
      • 1.2a7 (2009-12-20)
      • Features
      • Internal
      • Documenation
    • 1.2a6 (2009-12-18)
      • 1.2a6 (2009-12-18)
      • Features
      • Documentation
      • Bug Fixes
    • 1.2a5 (2009-12-10)
      • 1.2a5 (2009-12-10)
      • Features
      • Internals
      • Documentation
      • Dependencies
    • 1.2a4 (2009-12-07)
      • 1.2a4 (2009-12-07)
      • Features
      • Bug Fixes
    • 1.2a3 (2009-12-02)
      • 1.2a3 (2009-12-02)
      • Bug Fixes
      • Backwards Incompatibilities
    • 1.2a2 (2009-11-29)
      • 1.2a2 (2009-11-29)
      • Bug Fixes
      • Documentation
    • 1.2a1 (2009-11-28)
      • 1.2a1 (2009-11-28)
      • Features
      • Documentation
      • Bug Fixes
      • Internals
      • Backwards Incompatibilites
      • Deprecations
      • Dependencies
    • 1.1.1 (2009-11-21)
      • 1.1.1 (2009-11-21)
      • Bug Fixes
    • 1.1 (2009-11-15)
      • 1.1 (2009-11-15)
      • Internals
      • Documentation
    • 1.1b4 (2009-11-12)
      • 1.1b4 (2009-11-12)
      • Bug Fixes
      • Documentation
      • Templates
      • Deprecations
    • 1.1b3 (2009-11-06)
      • 1.1b3 (2009-11-06)
      • Features
      • Bug Fixes
      • Backwards Incompatibilities
    • 1.1b2 (2009-11-02)
      • 1.1b2 (2009-11-02)
      • Bug Fixes
      • Documentation
      • Features
      • Dependencies
    • 1.1b1 (2009-11-01)
      • 1.1b1 (2009-11-01)
      • Bug Fixes
      • Documentation
      • Internal
    • 1.1a9 (2009-10-31)
      • 1.1a9 (2009-10-31)
      • Bug Fixes
      • Features
      • Documentation
      • Internal
      • Backwards Incompatibilities
    • 1.1a8 (2009-10-27)
      • 1.1a8 (2009-10-27)
      • Features
      • Bug Fixes
      • Documentation
      • Backwards Incompatibilities
      • Internal
    • 1.1a7 (2009-10-18)
      • 1.1a7 (2009-10-18)
      • Features
      • Documentation
      • Internal
    • 1.1a6 (2009-10-15)
      • 1.1a6 (2009-10-15)
      • Features
      • Documentation
      • Backwards Incompatibilities
      • Internal
    • 1.1a5 (2009-10-10)
      • 1.1a5 (2009-10-10)
      • Documentation
      • Features
      • Internal
      • Deprecations
      • Backwards Incompatibilities
    • 1.1a4 (2009-09-23)
      • 1.1a4 (2009-09-23)
      • Bug Fixes
      • Documentation
      • Features
      • Backwards Incompatibilities
      • Internal
    • 1.1a3 (2009-09-16)
      • 1.1a3 (2009-09-16)
      • Documentation
      • Features
      • Dependencies
      • Deprecations
      • Backwards Incompatibilities
    • 1.1a2 (2009-09-14)
      • 1.1a2 (2009-09-14)
      • Features
    • 1.1a1 (2009-09-06)
      • 1.1a1 (2009-09-06)
      • Bug Fixes
      • Features
      • Internal
      • Documentation
      • Deprecations
      • Backwards Incompatibilities
    • 1.0.1 (2009-07-22)
    • 1.0 (2009-07-05)
    • 1.0b2 (2009-07-03)
    • 1.0b1 (2009-07-02)
      • 1.0b1 (2009-07-02)
      • Features
      • Documentation
    • 1.0a9 (2009-07-01)
      • 1.0a9 (2009-07-01)
      • Features
    • 1.0a8 (2009-07-01)
      • 1.0a8 (2009-07-01)
      • Deprecations
      • Features
      • Bug Fixes
    • 1.0a7 (2009-06-30)
      • 1.0a7 (2009-06-30)
      • Features
      • Documentation
      • Internal
    • 1.0a6 (2009-06-29)
      • 1.0a6 (2009-06-29)
      • Bug Fixes
    • 1.0a5 (2009-06-28)
      • 1.0a5 (2009-06-28)
      • Features
    • 1.0a4 (2009-06-25)
      • 1.0a4 (2009-06-25)
      • Features
      • Documentation
      • Bug Fixes
    • 1.0a3 (2009-06-24)
      • 1.0a3 (2009-06-24)
      • Implementation Changes
      • Bug Fixes
      • Documentation
      • Features
      • Backwards Incompatibilities
    • 1.0a2 (2009-06-23)
      • 1.0a2 (2009-06-23)
      • Bug Fixes
      • Features
      • Documentation
      • Backwards Incompatibilities
    • 1.0a1 (2009-06-22)
      • 1.0a1 (2009-06-22)
      • Features
      • Deprecations
      • Removals
      • Backwards Incompatibilities
      • Bug Fixes
      • Documentation
    • 0.9.1 (2009-06-02)
      • 0.9.1 (2009-06-02)
      • Features
      • Bug Fixes
      • Documentation
      • API Removals
    • 0.9 (2009-06-01)
      • 0.9 (2009-06-01)
      • Bug Fixes
      • Features
      • Removals
      • Documentation
    • 0.9a8 (2009-05-31)
      • 0.9a8 (2009-05-31)
      • Features
      • Bug Fixes
      • Deprecations
      • Renames
    • 0.9a7 (2009-05-30)
      • 0.9a7 (2009-05-30)
      • Features
    • 0.9a6 (2009-05-29)
      • 0.9a6 (2009-05-29)
      • Documentation
      • Features
    • 0.9a5 (2009-05-28)
      • 0.9a5 (2009-05-28)
      • Features
    • 0.9a4 (2009-05-27)
      • 0.9a4 (2009-05-27)
      • Bug Fixes
    • 0.9a3 (2009-05-27)
      • 0.9a3 (2009-05-27)
      • Features
      • Documentation
      • Deprecations
      • Deprecated Import Alias Removals
    • 0.9a2 (2009-05-27)
      • 0.9a2 (2009-05-27)
      • Features
      • Deprecations
    • 0.9a1 (2009-5-27)
      • 0.9a1 (2009-5-27)
      • Features
      • Backwards Incompatibilities
      • Deprecations
    • 0.8.1 (2009-05-21)
      • 0.8.1 (2009-05-21)
      • Features
    • 0.8 (2009-05-18)
      • 0.8 (2009-05-18)
      • Features
      • Deprecations
      • Backwards Incompatibilities
    • 0.8a7 (2009-05-16)
      • 0.8a7 (2009-05-16)
      • Backwards Incompatibilities
      • Documentation
      • Features
    • 0.8a6 (2009-05-11)
      • 0.8a6 (2009-05-11)
      • Features
      • Documentation
      • Bug Fixes
    • 0.8a5 (2009-05-08)
      • 0.8a5 (2009-05-08)
      • Features
      • Deprecations
    • 0.8a4 (2009-05-04)
      • 0.8a4 (2009-05-04)
      • Features
      • Backwards Incompatibilities
    • 0.8a3 (2009-05-03)
      • 0.8a3 (2009-05-03)
      • Features
    • 0.8a2 (2009-05-02)
      • 0.8a2 (2009-05-02)
      • Features
    • 0.8a1 (2009-05-02)
      • 0.8a1 (2009-05-02)
      • Deprecation Warning and Import Alias Removals
      • Features
      • Backwards Incompatibilities
    • 0.7.1 (2009-05-01)
      • 0.7.1 (2009-05-01)
      • Index-Related
      • Features
      • Backwards Incompatibilities
    • 0.7.0 (2009-04-11)
      • 0.7.0 (2009-04-11)
      • Bug Fixes
      • Features
      • Backwards Incompatibilities
      • Documentation
    • 0.6.9 (2009-02-16)
      • 0.6.9 (2009-02-16)
      • Bug Fixes
      • Features
      • Documentation
      • Implementation Changes
    • 0.6.8 (2009-02-05)
      • 0.6.8 (2009-02-05)
      • Backwards Incompatibilities
      • Bugfixes
      • Features
      • Implementation Changes
    • 0.6.7 (2009-01-27)
      • 0.6.7 (2009-01-27)
      • Features
      • Implementation Changes
    • 0.6.6 (2009-01-26)
      • 0.6.6 (2009-01-26)
      • Implementation Changes
    • 0.6.5 (2009-01-26)
      • 0.6.5 (2009-01-26)
      • Features
      • Behavior Changes
      • Implementation Changes
      • Bug Fixes
    • 0.6.4 (2009-01-23)
      • 0.6.4 (2009-01-23)
      • Backwards Incompatibilities
      • Implementation Changes
      • New Modules
    • 0.6.3 (2009-01-19)
      • 0.6.3 (2009-01-19)
      • Bug Fixes
      • Features
      • Deprecations
      • Implementation Changes
      • Documentation Additions
    • 0.6.2 (2009-01-13)
      • 0.6.2 (2009-01-13)
      • Features
      • Bug Fixes
      • Implementation Changes
      • New Modules
      • Behavior Changes
      • Deprecations
    • 0.6.1 (2009-01-06)
      • 0.6.1 (2009-01-06)
      • New Modules
      • Deprecations
      • Features
    • 0.6 (2008-12-26)
      • 0.6 (2008-12-26)
      • Backwards Incompatibilities
      • Other
    • 0.5.6 (2008-12-18)
    • 0.5.5 (2008-12-17)
      • 0.5.5 (2008-12-17)
      • Backwards Incompatibilities
    • 0.5.4 (2008-12-13)
      • 0.5.4 (2008-12-13)
      • Backwards Incompatibilities
      • Bugfixes
      • Features
    • 0.5.3 (2008-12-07)
    • 0.5.2 (2008-12-05)
    • 0.5.1 (2008-11-25)
    • 0.5.0 (2008-11-18)
    • 0.4.9 (2008-11-17)
    • 0.4.8 (2008-11-12)
      • 0.4.8 (2008-11-12)
      • Backwards Incompatibilities
    • 0.4.7 (2008-11-11)
      • 0.4.7 (2008-11-11)
      • Features
    • 0.4.6 (2008-11-10)
      • 0.4.6 (2008-11-10)
      • Bug Fixes
    • 0.4.5 (2008-11-09)
      • 0.4.5 (2008-11-09)
      • Features
    • 0.4.4 (2008-11-08)
      • 0.4.4 (2008-11-08)
      • Features
      • Deprecations
    • 0.4.3 (2008-11-02)
      • 0.4.3 (2008-11-02)
      • Bug Fixes
    • 0.4.2 (2008-11-02)
      • 0.4.2 (2008-11-02)
      • Features
      • Documentation
      • Bug Fixes
    • 0.4.1 (2008-10-28)
      • 0.4.1 (2008-10-28)
      • Bug Fixes
    • 0.4.0 (2008-10-03)
      • 0.4.0 (2008-10-03)
      • Docs
      • Features
      • Bug Fixes
      • Deprecations
      • Backwards incompatibilities
    • 0.3.9 (2008-08-27)
      • 0.3.9 (2008-08-27)
      • Features
      • Backwards incompatibilities
    • 0.3.8 (2008-08-26)
      • 0.3.8 (2008-08-26)
      • Docs
      • Bug fixes
      • Features
      • Deprecations
    • 0.3.7 (2008-09-09)
      • 0.3.7 (2008-09-09)
      • Features
      • Bug fixes
    • 0.3.6 (2008-09-04)
      • 0.3.6 (2008-09-04)
      • Features
      • Bug Fixes
    • 0.3.5 (2008-09-01)
      • 0.3.5 (2008-09-01)
      • Features
    • 0.3.4 (2008-08-28)
      • 0.3.4 (2008-08-28)
      • Backwards incompatibilities
      • Features
    • 0.3.3 (2008-08-23)
    • 0.3.2 (2008-08-23)
    • 0.3.1 (2008-08-20)
    • 0.3.0 (2008-08-16)
    • 0.2.9 (2008-08-11)
    • 0.2.8 (2008-08-11)
    • 0.2.7 (2008-08-05)
    • 0.2.6 (2008-07-31)
    • 0.2.5 (2008-07-28)
    • 0.2.4 (2008-07-27)
    • 0.2.3 (2008-07-20)
    • 0.2.2 (2008-07-20)
    • 0.2.1 (2008-07-20)
    • 0.2 (2008-07-19)
    • 0.1 (2008-07-08)
  • Defending Pyramid's Design
    • Pyramid Provides More Than One Way to Do It
    • Pyramid Uses A Zope Component Architecture (“ZCA”) Registry
      • Pyramid Uses A Zope Component Architecture (“ZCA”) Registry
      • Problems
      • Ameliorations
      • Rationale
      • Conclusion
    • Pyramid “Encourages Use of ZCML”
    • Pyramid Does Traversal, And I Don't Like Traversal
    • Pyramid Does URL Dispatch, And I Don't Like URL Dispatch
    • Pyramid Views Do Not Accept Arbitrary Keyword Arguments
    • Pyramid Provides Too Few “Rails”
    • Pyramid Provides Too Many “Rails”
    • Pyramid Is Too Big
    • Pyramid Has Too Many Dependencies
    • Pyramid “Cheats” To Obtain Speed
    • Pyramid Gets Its Terminology Wrong (“MVC”)
    • Pyramid Applications are Extensible; I Don't Believe In Application Extensibility
    • Zope 3 Enforces “TTW” Authorization Checks By Default; Pyramid Does Not
      • Zope 3 Enforces “TTW” Authorization Checks By Default; Pyramid Does Not
      • Challenge
      • Defense
    • Pyramid Uses its Own HTTP Exception Class Hierarchy Rather Than webob.exc
    • Pyramid has Simpler Traversal Machinery than Does Zope
    • Microframeworks Have Smaller Hello World Programs
      • Microframeworks Have Smaller Hello World Programs
      • Application Programmers Don't Control The Module-Scope Codepath (Import-Time Side-Effects Are Evil)
      • Routes Need Relative Ordering
      • “Stacked Object Proxies” Are Too Clever / Thread Locals Are A Nuisance
      • Explicitly WSGI
      • Wrapping Up
    • Pyramid Doesn't Offer Pluggable Apps
    • Pyramid Has Zope Things In It, So It's Too Complex
      • Pyramid Has Zope Things In It, So It's Too Complex
      • Too Complex
      • Hate Zope
      • Love Simplicity
    • Other Challenges
    • Defending Pyramid's Design
    No review for this book yet, be the first to review.
      No comment for this book yet, be the first to comment
      You May Also Like
      Also Available On
      App store smallGoogle play small
      Categories
      Curated Lists
      • Pattern Recognition and Machine Learning (Information Science and Statistics)
        by Christopher M. Bishop
        Data mining
        by I. H. Witten
        The Elements of Statistical Learning: Data Mining, Inference, and Prediction
        by Various
        See more...
      • CK-12 Chemistry
        by Various
        Concept Development Studies in Chemistry
        by John Hutchinson
        An Introduction to Chemistry - Atoms First
        by Mark Bishop
        See more...
      • Microsoft Word - How to Use Advanced Algebra II.doc
        by Jonathan Emmons
        Advanced Algebra II: Activities and Homework
        by Kenny Felder
        de2de
        by
        See more...
      • The Sun Who Lost His Way
        by
        Tania is a Detective
        by Kanika G
        Firenze_s-Light
        by
        See more...
      • Java 3D Programming
        by Daniel Selman
        The Java EE 6 Tutorial
        by Oracle Corporation
        JavaKid811
        by
        See more...