Awesome Pyramid

A curated list of awesome Pyramid apps, projects and resources.
Inspired by and based on awesome-python.
Admin interface
Packages that extend the Admin interface, adding or improving
features.
- pyramid_formalchemy
- provides a CRUD interface for pyramid based on FormAlchemy.
- pyramid_sacrud -
Pyramid CRUD interface. Provides an administration web interface for
Pyramid. Unlike classic CRUD, pyramid_sacrud allows overrides and
flexibility to customize your interface, similar to django.contrib.admin
but uses a different backend to provide resources. New
Architecture built on the resources and mechanism traversal, allows
to use it in various cases.
- Websauna - a full stack
application framework for Pyramid
Asset Management
Packages that help manage the static assets of a
project.
Async
- aiopyramid -
Run pyramid using asyncio.
- gevent-socketio -
gevent-socketio is a Python implementation of the Socket.IO protocol,
developed originally for Node.js by LearnBoost and then ported to other
languages.
- Stargate -
Stargate is a package for adding WebSockets support to pyramid
applications using the excellent eventlet library for long running
connections.
- channelstream -
websocket communication server (gevent).
Authentication
Packages that improve or extend the authentication methods of
Pyramid.
- pyramid_ldap -
an LDAP authentication policy for Pyramid.
- pyramid_ldap3 -
Provides LDAP authentication services for your Pyramid application based
on the ldap3 package.
- pyramid_who -
Authentication policy for pyramid using repoze.who 2.0 API.
- velruse -
Simplifying third-party authentication for web applications. it supports
most of auth providers.
- pyramid_simpleauth
- session based authentication and role based security for Pyramid
application
- Python Social
Auth - Social authentication/registration mechanism with support for
a large number of providers.
- Authomatic -
Simple yet powerful authorization / authentication client library for
Python web applications.
- apex - Toolkit for
Pyramid, a Pylons Project, to add Authentication and Authorization using
Velruse (OAuth) and/or a local database, CSRF, ReCaptcha, Sessions,
Flash messages and I18N.
- pyramid_authsanity
- That will make it simpler to have a secure authentication policy with
an easy to use backend.
- pyramid_jwt -
This package implements an authentication policy for Pyramid that using
JSON Web Tokens. This standard (RFC 7519) is often used
to secure backens APIs. The excellent PyJWT library is used
for the JWT encoding / decoding logic.
- pyramid_ipauth
- Pyramid authentication policy based on remote ip address.
Authorization
Packages related to authorization infrastructure and
permissions.
- ziggurat_foundations
- Framework agnostic set of sqlalchemy classes that make building
applications that require permissions an easy task.
- pyramid_multiauth
- An authentication policy for Pyramid that proxies to a stack of other
authentication policies.
- pyramid_authstack
- Use multiple authentication policies with Pyramid.
- horus - User
registration and login system for the Pyramid Web Framework.
- pyramid_yosai -
Pyramid integration with security Framework for Python applications
featuring Authorization (rbac permissions and roles), Authentication
(2fa totp), Session Management and an extensive Audit Trail
https://yosaiproject.github.io/yosai/
Caching & Session
Packages that help with caching and session.
Debugging
Packages that help hunt down bugs.
Email
Packages that help manage email sending.
Packages that extend the functionality of forms or add new types
of forms.
- deform - is a Python
HTML form generation library.
- colander - A
serialization/deserialization/validation library for strings, mappings
and lists.
- WTForms - is a
flexible forms validation and rendering library for python web
development.
- ColanderAlchemy
- helps you to auto-generate Colander schemas that are based on
SQLAlchemy mapped classes.
- marshmallow -
A lightweight library for converting complex objects to and from simple
Python datatypes (i.e. (de)serialization and validation).
- pyramid_elfinder
- This is conector for elfinder file manager, written for pyramid
framework.
- pyramid_storage -
This is a package for handling file uploads in your Pyramid framework
application.
RESTful API
Packages for developing RESTful APIs.
- cornice - provides
helpers to build & document REST-ish Web Services with Pyramid, with
decent default behaviors. It takes care of following the HTTP
specification in an automated way where possible.
- rest_toolkit -
is a Python package which provides a very convenient way to build REST
servers. It is build on top of Pyramid, but you do not need to know much
about Pyramid to use rest_toolkit.
- pyramid_royal
- Royal is a pyramid extension which eases writing RESTful web
applications.
- cliquet -
Cliquet is a toolkit to ease the implementation of HTTP microservices,
such as data-driven REST APIs.
- webargs - A friendly
library for parsing HTTP request arguments, with built-in support for
popular web frameworks.
- ramses -
Generate a RESTful API using RAML. It uses Nefertari which provides
ElasticSearch-powered views.
- nefertari -
Nefertari is a REST API framework sitting on top of Pyramid and
ElasticSearch.
- pyramid_swagger -
Convenient tools for using Swagger to define and validate your
interfaces in a Pyramid webapp. (Swagger 2.0 document)
- pyramid-openapi3
- Validate Pyramid views against an OpenAPI 3.0 document. Similar to
pyramid_swagger but for OpenAPI 3.0.
- pyramid_jsonapi
- Automatically create a JSON API
standard API from a database using the sqlAlchemy ORM and pyramid
framework.
- pyramid_apispec -
Create an OpenAPI specification file using apispec and Marshmallow
schemas.
Search
Packages that provide search capabilities to projects.
- hypatia - A Python
indexing and searching system.
Security
Packages that improve the security of a project.
Services
Settings
Packages that help manage the configurability of
projects.
- pyramid_zcml -
Zope Configuration Markup Language configuration support for
Pyramid.
- pyramid_services
- defines a pattern and helper methods for accessing a pluggable service
layer from within your Pyramid apps.
- hupper - A process
monitor/reloader for developers that can watch files for changes and
restart the process.
Storage
Packages that extend the functionality of the existing storage
backend or provide new storage backends.
- pyramid_tm -
Centralized transaction management for Pyramid applications (without
middleware).
- zope.sqlalchemy
- Integration of SQLAlchemy with transaction management.
- pyramid_sqlalchemy
- provides some basic glue to facilitate using SQLAlchemy with
Pyramid.
- pyramid_zodbconn -
ZODB Database connection management for Pyramid.
- pyramid_mongoengine
- pyramid-mongoengine package based on flask-mongoengine
- pyramid_mongodb -
Basic Pyramid Scaffold to easily use MongoDB for persistence with the
Pyramid Web framework
- pyramid-excel
- pyramid-excel is based on pyexcel and makes it easy
to consume/produce information stored in excel files over HTTP protocol
as well as on file system. This library can turn the excel data into a
list of lists, a list of records(dictionaries), dictionaries of lists.
And vice versa. Hence it lets you focus on data in Pyramid based web
development, instead of file formats.
Task Queue
Packages that make working with task/background queues
easier.
- pyramid_celery -
Pyramid configuration with celery integration. Allows you to use pyramid
.ini files to configure celery and have your pyramid configuration
inside celery tasks.
- pyramid_rq -
Support using the rq queueing system with pyramid. The easiest way to
monitor and use RQ in your Pyramid
projects.
Templates
Testing
Packages that help test code or generate test data.
- webtest - Wraps any
WSGI application and makes it easy to send test requests to that
application, without starting up an HTTP server.
Translations
Packages help with the task of translating projects.
- lingua - Lingua is a
package with tools to extract translatable texts from your code, and to
check existing translations. It replaces the use of the xgettext command
from gettext, or pybabel from Babel.
- pyramid_i18n_helper
- helper to create new smgid and translate msgid to local langs .
Web frontend integration
- PyramidVue -
Pyramid and VueJs (JavaScript) template with Hot-Module-Replacement
starter template.
Workflows
Packages that do process, procedure and/or business tasks
management.
Other
- pyramid_layout -
Pyramid add-on for managing UI layouts.
- pyramid_skins
- This package provides a simple framework to integrate code with
templates and resources.
- waitress - Waitress
is meant to be a production-quality pure-Python WSGI server with very
acceptable performance. It has no dependencies except ones which live in
the Python standard library.
- pyramid_handlers -
analogue of Pylons-style “controllers” for Pyramid.
- pyramid_rpc -
RPC service add-on for Pyramid, supports XML-RPC in a more extensible
manner than pyramid_xmlrpc with support for JSON-RPC and AMF.
- pyramid_autodoc
- Sphinx extension for documenting your Pyramid APIs.
- pyramid_pages -
Provides a collections of tree pages to your Pyramid application. This
is very similar to django.contrib.flatpages but with a tree structure
and traversal algorithm in URL dispatch.
- paginate - Python
pagination module.
- pyramid_tablib -
tablib renderer (xlsx, xls, csv) for pyramid
- tomb_routes -
Simple utility library around pyramid routing
- pyramid_extdirect
- This pyramid plugin provides a router for the ExtDirect Sencha API
included in ExtJS. ExtDirect allows to run server-side callbacks
directly through JavaScript without the extra AJAX boilerplate.
- pyramid_retry
- pyramid_retry is an execution policy for Pyramid that wraps requests
and can retry them a configurable number of times under certain
“retryable” error conditions before indicating a failure to the
client.
Projects
Outstanding Pyramid projects.
Framework
- Ringo - Ringo is a
Python based high level web application framework build on top of
Pyramid. The framework can be used to build form based management or
administration software.
- cone.app - A
comprehensive web application stub on top of Pyramid.
CMS
- nive_cms - Nive is
professional out the box content management system for mobile and
desktop websites based on python and the webframework pyramid. Please
refer to the website cms.nive.co for detailed information.
- substanced - An
application server built upon the Pyramid web framework. It provides a
user interface for managing content as well as libraries and utilities
which make it easy to create applications.
- Kotti - A
user-friendly, light-weight and extensible web content management
system. Based on Pyramid and SQLAlchemy.
- KARL - A
moderately-sized application (roughly 80K lines of Python code) built on
top of Pyramid. It is an open source web system for collaboration,
organizational intranets, and knowledge management. It provides
facilities for wikis, calendars, manuals, searching, tagging,
commenting, and file uploads. See the KARL site for download and
installation details.
Cookiecutters
e-Commerce
Other
- cluegun - A simple
pastebin application based on Rocky Burt’s ClueBin. It demonstrates form
processing, security, and the use of ZODB within a Pyramid
application.
- shootout - An
example “idea competition” application by Carlos de la Guardia and
Lukasz Fidosz. It demonstrates URL dispatch, simple authentication,
integration with SQLAlchemy and pyramid_simpleform.
- virginia - A very
simple dynamic file rendering application. It is willing to render
structured text documents, HTML documents, and images from a filesystem
directory. It’s also a good example of traversal. An earlier version of
this application runs the repoze.org website.
- Akhet
- A Pyramid library and demo application with a Pylons-like feel. Its
most known for its former application scaffold, which helped users
transition from Pylons and those preferring a more Pylons-like API. The
scaffold has been retired but the demo plays a similar role.
- Khufu Project - Khufu
is an application scaffolding for Pyramid that provides an environment
to work with Jinja2 and SQLAlchemy.
- Ptah - Ptah is a
fast, fun, open source high-level Python web development
environment.
- warehouse -
Warehouse is a next generation Python Package Repository designed to
replace the legacy code base that currently powers PyPI.
- travelcrm -
TravelCRM is effective free and open source application for the
automation of customer relationships for travel agencies at all levels,
from small to large networks.
- RhodeCode - enterprise source
code management platform. It applies unified user control, permissions,
code reviews, and tool integration across Mercurial, Git, and Subversion
repositories. Large and growing software teams all over the world use
RhodeCode to collaborate in a secure, behind-the-firewall
environment.
Project Management
- AppEnlight - Performance,
exception, and uptime monitoring for the Web
Resources
Where to discover new Pyramid apps and projects.
Books
- Python
Web Frameworks - Dive into details on the top six Python
frameworks—Django, Flask, Tornado, Bottle, Pyramid, and CherryPy.
Websites
- Try Pyramid - The Start Small,
Finish Big, Stay Finished Framework. Official website.
Conferences
Videos
List
of videos from the official site
Online Video
Courses at Talk Python Training
Web
Applications with Python and the Pyramid Framework - In this Web
Applications with Python and the Pyramid Framework training course,
expert author Paul Everitt will teach you about the features needed for
Python web development, as well as Pyramid’s unique features. This
course is designed for users that already have a basic knowledge of
Python.
You will start by learning about single file web apps, templating,
and multiple routes and views. From there, Paul will teach you about
MyApp Python package, views and routes, and templating and static
assets. This video tutorial also covers forms, databases, and sessions,
authentication and authorization, and JSON. Finally, you will learn
about extensibility, including custom configuration settings, extending
and overriding, and custom view predicates.
Once you have completed this computer based training course, you will
have gained a basic understanding of the features needed for Python web
development and the features unique to Pyramid.
Who uses it?
Contributing
Just fork and send a pull request with your awesome Pyramid apps,
projects or resources.
License

To the extent possible under law, @uralbash has waived all copyright and
related or neighboring rights to this work.
pyramid.md
Github