Courses & TutorialsProgramming

Awesome Pyramid – Massive Collection of Resources

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.

  • pyramid_mailer – A package for
    sending email from your Pyramid application.
  • pyramid_marrowmailer
    Pyramid integration package for marrow.mailer, formerly known as TurboMail
  • pyramid_mailgun
    Pyramid integration package for marrow.mailer, formerly known as TurboMail

Forms

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).

Media-Management

  • 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

  • pyramid_sms
    SMS services for Pyramid web framework.

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 dispath.
  • 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

  • Pylons – official cookiecutter templates
  • Pyramid Runner – A minimal Pyramid
    scaffold that aims to provide a starter template to build small to large web services.

    • Traversal based application
    • JSON only response
    • JWT authentication policy
    • Alembic for database revisions
    • Some simple modifications to base tests, views and models base to reduce typing

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?

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button