Gevent (http://gevent.org) is a coroutine-based library that enables you to write highly-concurrent network and web applications. Learn in detail what Gevent is, what it does and how it does it.
I will introduce a coroutine-based approach to network programming, explain it benefits and pitfalls.We will walk through the Gevent API, including the most recent additions, and understand how it is implemented. I will make a quick overview of the most interesting 3rd party add-on and applications after that.
The PSF recently adopted a diversity statement. While some argue that we should do this just because it's "the right thing to do", others question why we, as a technical community, should even worry about diversity. This talk addresses the diversity question, not in moralistic or ethical terms, but in pragmatic ones. Studies on creativity and productivity demonstrate the potential benefits of diversity for the Python community. Making Python the best language it can be is not merely helped by increasing diversity, but may be dependent on diversity.
Messaging is a well established domain in information technology and can greatly improve the scalability and throughput of a system when employed appropriately. Message queues can be used to achieve
We use e.g. messaging in [http://openquake.org] OpenQuake to distribute calculations of [http://openquake.org/about/gem/] seismic hazard and the respective risk to human lives and infrastructure.
There is a huge number of messaging patterns identified in the industry [7] and a small selection of these will be presented to whet your appetite :-)
AMQP [1] is a fairly new and open messaging standard with a number of freely available open source message brokers (RabbitMQ [2], ZeroMQ [3], qpid [4] etc.) with different features and performance trade-offs.
In the course of the presentation you will be
* introduced to AMQP concepts and jargon
* introduced to available Python AMQP bindings (focussing on an asynchronous (txAMQP [5]) and a synchronous variant (most likely kombu [6]))
* shown code examples demonstrating how to use these Python bindings
The presentation (45 minutes in total) is structured as follows:
* 7.5 minutes for messaging concepts and patterns
* 7.5 minutes for AMQP concepts
* 5 minutes for an overview of the Python bindings for AMQP
* 10 minutes for txAMQP examples (asynchronous bindings)
* 10 minutes for kombu examples (synchronous bindings)
* 5 minutes for questions
References:
by David Cramer
Building scalable web applications may seem like a distant problem, but the problem is not thinking about it before it's too late. This talk will focus on designing a scalable web application before it needs to be (and avoiding the premature optimization dilemma). It will cover topics such as efficient usage of your database, appropriate caching (and invalidation!), and what the speaker considers as best practices.
by Bruno Renié
GeoDjango is the "world-class geographic web framework" everyone has probably heard of. The purpose of this talk, targeted at people familiar with Django itself, is to introduce in more details the capabilities of this framework.
After learning the basics of Geographic Information Systems, we will see:
During this talk we will be building a simple GeoDjango application to illustrate the different concepts introduced.
Django benefits from a thriving third-party ecosystem. This talk will take a deep look at three of the components I have found most useful in my own projects: Haystack for full-text search, Celery for offline processing and Fabric for automated deployments. I'll discuss how we use them for Lanyrd.com, and demonstrate why they deserve a permanent place in your toolbox.
by Ali Afshar
This talk will give an outline of the advances that Google have made in API delivery over the last year, and how it is relevant to you as a Python developer. The talk is suitable for beginners and advanced developers.
We will describe the underlying platform, and the built-in features that all Google APIs inherit.
We will focus on how the Python libraries for this API platform are generated and can be used as a single library that doesn't require updating with API updates, as Python lends itself perfectly to the nature of this platform.
This talk will cover:
- How to use OAuth into your webapp so users can give permission to access their data stored in third party web application.
- How your webapp can interact with their Web API using RESTful JSON protocols.
This talk is suitable for beginners already familiar with any WSGI web framework.
This talk will be illustrated with code samples using Google App Engine and Google APIs client library.
by David Cramer
Practice iterative development like the pros. Release sooner, faster, and more often.
Continuous deployment (and testing) has started to become a reality for many companies. It brings to light one of the many problems that face large product teams, but also creates some of its own. This talk will focus on the pros and cons of continuous deployment, how DISQUS switched from the recurring release cycle to continuous releases, as well as providing tips and arguments for adopting it in your workplace.
The primary goal of this talk is twofold: to evaluate the need of data mining and introduce some very cool, simple yet powerful machine learning techniques to audience such as classification, clustering, collaborative filtering, recommendation etc in your Python web applications. This talk will conclude with some explanation and limitations of machine learning algorithms.
Basic knowledge of Python is sufficient. However some experience with Django, meshups, machine learning or data hunger is encouraged. All talk material and django apps will be available after talk.
Ever wondered how web maps are created? Ever wondered if you
could build something like Google Maps over a weekend? You
probably can't, but this talk will show you the basics of
what you need to know, such as importing data, rendering
maps and even building simple routes. And all of this in
Python!
Abstract:
* Learning how OSM data looks
* Parsing and importing the data
* Rendering maps with Mapnik
* Bits of code required to build geocoder
* Building simple router with Python and PostGIS
* And anything else I forgot to mention in this abstract but will talk about
Definitions:
OpenStreetMap -- the so-called "Wikipedia of maps" project, with thousands of contributors who edit the map data of the whole world. Unlike similar projects, the map data is completely free (both as in beer and as in speech) and thus anyone can make use of it.
Mapnik -- rendering framework, created specifically for OpenStreetMap, written in C++ and Python.
PostGIS -- an extension of PostgreSQL database, with support for many useful GIS features.
Django makes it easy to build web sites and applications on tight deadlines - but how does it deal with sites that scale up in both traffic and complexity? Using Lanyrd.com as a case study, this talk will explore tricks and techniques for taking advantage of what Django has to offer while coping with the unexpected challenges raised by a highly dynamic social web application.
Topics covered will include performance monitoring and optimisation, advanced caching tricks, denormalisation with Solr and Redis and finding the right balance between technical elegance and pragmatism.
by Erik Janssens and Jeroen Dierckx
Camelot is a Python framework that leverages SQLAlchemy and QT to build rich desktop applications. The model - view definition used was inspired by the Django Admin interface. Some see it as a replacement for MS Access, but it's underlying libraries allow much more advanced features.
In this talk we will focus on the changes and new features that were introduced in Camelot and more importantly, how they can be used in your applications. Those features range from Matplotlib chart integration and new types of actions to displaying custom SQLAlchemy queries in a table view.
We will share our experiences with large scale deployment of Python and Camelot applications to the desktop of the user. In a number of case studies we will point out the mistakes we made and how they were corrected.
Web development is a complexity challenge nowadays. Growing number of functionalities results in customer expectations increase which makes project design more difficult. Using proper tools that suite your customer needs is essential.
In this talk I would like to present two successful stories using closely together Pyramid and Plone. Basing on these examples I wished to highlight the main reasons for using Plone as a CMS only and letting Pyramid do the rest (vertical application). Moreover, I will underscore good and bad practices during integration process and how to make farsighted architectural decisions in a right moment.
Prerequisites: be familiarized with common python web framework concepts.
by Lukáš Linhart and Almad
Build tools are not very popular in Python environment. In this talk, I'd like to show how useful it is to have one, even if you do just simple web applications. A nice, single point of entry instead of hairy shell scripts, fabric fabfiles and django admin commands all over the place.
Written in the neat, friendly Python instead of some Anty XML jumbo, you are about to have a refreshing cleanup.
OpenStack is an innovative open source project written in Python, backed by Rackspace Hosting and NASA, building a massively-scalable and reliable cloud computing platform.
The first part of this talk will clarify the place of OpenStack in the general "cloud" landscape and explain why a fully open cloud infrastructure stack is necessary to avoid vendor lock-in. We'll then focus on the OpenStack project goals, its developer community, its open design and release processes, and the developer tools it chose.
The second part of the talk will present into more technical details the different components of OpenStack: Nova (compute) and Swift (storage), including the Python libraries that are used (libvirt, SQLAlchemy, eventlet...). A Q&A session at the end of the talk will give the audience a chance to clear any remaining dark area.
Python is an accepted high-level scripting language with a growing community in academia and industry. It is used in a lot of scientific applications in many different scientific fields and in more and more industries, for example, in engineering or life science). In all fields, the use of Python for high-performance and parallel computing is increasing. Several organizations and companies are providing tools or support for Python development. This includes libraries for scientific computing, parallel computing, and MPI. Python is also used on many core architectures and GPUs, for which specific Python interpreters are being developed. A related topic is the performance of the various interpreter and compiler implementations for Python.
The talk gives an overview of Python’s use in HPC and Scientific Computing and gives information on many topics, such as Python on massively parallel systems, GPU programming with Python, scientific libraries in Python, and Python interpreter performance issues. The talk will include examples for scientific codes and applications from many domains.
The "sqlmap" is one of the largest, widely used and most active Python projects in the IT security community (more than 2000 commits in one year period with community of over 100 active testers). It combines it's developers' strong security knowledge together with analytical, mathematical and Python development skills to provide IT professionals with vibrant features.
Talk would be consisted of several parts: short introduction to project and developers, developing and testing environment, programming cycle, program's workflow, technologies used, common pitfalls and how we've circumvent them, usage of mathematical models, optimizations, project's future goals.
The significant part of this talk would be the immediate insight into the developing process of probably the world's most advanced open-source Python IT security project today.
Teaser for http://lanyrd.com/2011/europytho...
A pervasive elitism hovers in the background of collaborative software development: everyone secretly wants to be seen as a genius. I'll cover how to avoid this trap and gracefully exchange personal ego for personal growth and super-charged collaboration. I'll also examine how software tools affect social behaviors, and how to successfully manage the growth of new ideas.
Cloud Computing and Large Scale environments require sometime applications based on complex and distributed architectures... and this usually means a huge overhead in the design and confusion out of control in the code (network wise race conditions, single points of failure and so on)
Introducing elements like *MQ and IPC frameworks in this kind of applications is the only way to reduce the complexity and enable a fluid design (in other words: mess-under-control)
The talk is focused on describing how to design a distributed application in different scenarios, using ZeroMQ (a modern broker-less MQ system) as core framework, with examples and demos.