The pyramid-scheduler package is a pyramid plugin that allows asynchronous and deferred task scheduling and management. It uses APScheduler for actual task management and Kombu for messaging between processes.
IMPORTANT: the pyramid-scheduler is very new, but fully functional. The following features are considered "beta", and should probably not be used in production:
Multiple queues. For now, just use a single queue (and thus you are limited to a single background process).
Intuitive sequence of job events. Currently, the events that can be listened to (from pyramid_scheduler.api.Event, such as JOB_CREATED, JOB_EXECUTED, JOB_CANCELED, and JOB_REMOVED) do not reliably fire in an intuitive order. For example, you may get a JOB_REMOVED event before the JOB_EXECUTED event for a deferred job.websockets is a library for developing WebSocket servers and clients in Python. It implements RFC 6455 with a focus on correctness and simplicity. It passes the Autobahn Testsuite.
Built on top on Python’s asynchronous I/O support introduced in PEP 3156, it provides an API based on coroutines, making it easy to write highly concurrent applications.
(dictshield successor)
Python Data Structures for Humans™.
Schematics is a Python library to combine types into structures, validate them, and transform the shapes of your data based on simple descriptions.
The internals are similar to ORM type systems, but there is no database layer in Schematics. Instead, we believe that building a database layer is made significantly easier when Schematics handles everything but writing the query.
My PyCon Ru 2014 slides about writing secure APIs are online:
HStore in PostgreSQL 9.4 will support nested arrays, w/ binary representation x50 faster than JSON for some queries
RT @mitsuhiko: My experience with JavaScript over the weekend has now made me write a blog post: “Stop Being Cute and Clever”
The library provides a simple interface where queues are created on-demand and items added using the put() and get() methods. In addition, queues are iterable, pulling items out as they become available.
In addition, the put() method provides scheduling and prioritization options. An item can be scheduled for work at a particular time, and its work priority defined in terms of an expected time where the item must be worked.