Your current filters are…
Right after the introduction of PEP342 (Enhanced Generators) we started to decompose programs into generators. It was soon discovered that for real-life problems one would need something like "yield from", as is described in PEP380. At that time, we already had a similar solution called 'compose', which we adapted to PEP380. (http://weightless.io/compose)
After 5 years working with 'compose', we found a small set of other features that are essential if you want to use Enhanced Generators not only as a way of lightweight command scheduling, but also a a pipe-line, or parser. Indeed, the latter concepts are what real co-routines are about.
This talk introduces what is needed on top of PEPs 342 and 380 based on experience with decomposing big enterprise search engines into co-routines. Parts of it have been presented on SPA (2008) and EuroPython (2010). Understanding of Enhanced Generators is a prerequisite.
Experience has shown that the topic is subtle enough to require quite some time for full understanding, hence the suggestion for a 90 min slot.
by Lorenzo Mancini and Matteo Bertozzi
(Presented with Matteo Bertozzi)
Python's high development speed and Qt's gargantuan feature set allow for comfortable development of complex desktop applications. Still, what does one need to do to best leverage this awesome combination? And more importantly, what crucial advantages exist to decide its adoption in favour of more traditional tecniques?
During this training, we'll start from a white canvas and show how to develop a desktop application using the best tools Qt offers. You'll learn how to compose complex GUIs from basic building blocks, and how to use QPainter, one of the most advanced 2D painting systems in the open source world. Qt's Webkit integration will be discussed, along with the recent Qt Quick technology, which allows one to create smooth and fluid user interfaces. Qt's solution to common deployment problems, like handling a serious translation workflow, will be presented. At the end, we'll package our PyQt application so it's ready to be distributed for download.
Walk away with a sound understanding of why you should choose PyQt for your next desktop project.
I will show in this talk some tips, tricks and best practices for some recurring patterns in the django application development.
This is not a list of tools and applications, but rather a homemade summary of code snippets and design best practices.
All in all, the goal is: no mistakes and go faster.
Topics include: python, users, forms, jquery, virtualenv, distribute, buildbot, etc. ...
by Simone Leo
Hadoop è la principale implementazione open source di MapReduce, il paradigma di calcolo distribuito su larga scala di Google. L'API nativa di Hadoop è in Java e le opzioni built-in per la programmazione in Python -- Streaming e Jython -- presentano diversi inconvenienti: la prima consente di accedere solo a un piccolo sottoinsieme delle funzionalità di Hadoop, mentre la seconda ha tutte le limitazioni di Jython rispetto a CPython.
Pydoop (http://pydoop.sourceforge.net) è un'API per Hadoop che rende disponibile buona parte delle funzionalità di Hadoop al programmatore Python, consentendo lo sviluppo in CPython. I suoi moduli di base sono wrapper Boost.Python per l'interfaccia C/C++ di Hadoop.
Il talk consiste in un tutorial su MapReduce/Hadoop e in una presentazione dell'API Pydoop, con l'obiettivo principale di avvicinare le community di Hadoop e Python. Può essere utile, anche se non strettamente necessaria, una conoscenza di base della programmazione distribuita.
by Todd Trichler
Have you ever wanted or perhaps needed to access data stored in a corporate Oracle database from within your Python environment?
This session will help developers get up and running using Python with Oracle:
- Learn the basics of working with cx_Oracle
- Learn how to use VirtualBox to set up a Python & Oracle test and developement environment.
- Discover features within Oracle that you can use to build more performant python based applications.
- Leave with all the resources you need to certify your python app to run against a production Oracle11gR2 database, or hone those skills for the next job.
- Get a quick intro to Oracle Linux along the way.
No prior experience with Oracle is required, some basic understanding of databases would be helpful.
Look forward to meeting you @ EuroPython 2011
Network Analysis has gained a huge recognition since the widespread adoption of on-line social networking systems. It is a cross-disciplinary subject with important contributions from researchers of different areas such as physics, sociology, maths and computer science.
However, Network Analysis is also a useful tool for the working programmer. The basic techniques which will be introduced in this talk can be used, for example, both to i) test the robustness and resilience to damage of a technological network and ii) understand the structure of a social network, which can in turn lead to insight on trends and preferences gathering information from modern on-line social networking systems.
Along with the concepts, working Python code is presented, both using existing network analysis Python tools and numeric packages. The focus is mainly placed on code, which will be shown and discussed together with the formal theory.
Basic maths skills and basic knowledge of the Python programming language are the only suggested prerequisites.
by Wesley Chun
Google App Engine is a unique hosting platform that lets you build applications and run them in Google's data centers using the massive global infrastructure built to run the Internet's most powerful company. App Engine offers a development environment that uses familiar technologies (Java and Python) and provides a powerful and robust set of APIs to users while maintaining security and independence from other apps running in the cloud. It is always free to get started so you can try it out with no risk, and if you need additional computing resources, you can purchase additional computing resources beyond the free quota limits. (If you enable billing and trust us with your credit card, we will extend your free quotas even further; you won't get charged until you exceed those *extended* quotas.) Scale your application to millions of users and pay only for what you use at competitive market pricing.
In this session, we provide an update of the newest features found in the most recent releases of the App Engine platform. We also share some suggestions for best practices to existing App Engine developers.
Beginners to the App Engine platform will be interested in the introductory workshop which may be offered (see description below).
Google App Engine workshop
In this tutorial, we'll give you a comprehensive introduction to the platform in two/three components:
In the first hour, we review Cloud Computing as an industry and where Google App Engine fits into the picture. Specifically, we discuss App Engine as a PaaS solution because of the inherent challenges of building web and other applications. We'll outline the architecture of App Engine, what it's major components are, introduce its features and APIs, discuss the service and how it works (including information on the free quotas), present some information about current users and usage, including integration with Google Apps, and finally, give an overview of its enterprise edition called Google App Engine for Business.
After the approximately one-hour lecture, we'll show you how to create applications that run on App Engine by building a simple but real web application from the ground up via a hands-on coding laboratory. Although based on the online tutorial, this codelab goes up and beyond what's in the documentation: you will get a more detailed step-by-step instructions to replicate that example as well as have the opportunity to extend your application with some of the newer APIs that come with App Engine. The codelab will cover the Users service, non-relational Datastore, and Memcache APIs. Time-permitting, we'll also discuss some of the newest features found in recent App Engine releases.
by Caroline Tice
LLDB is an open source compiler currently under development. LLDB
incorporates Python in several different ways: From the command line,
one can drop into an interactive Python script interpreter, entering
normal Python interactive commands and having them interpreted and
executed. In addition, the LLDB debugger has a programming API that
allows users to call actual debugger functions and access real
debugger objects. This API is run through SWIG and converted into a
Python module that gets automatically imported into the interactive
interpreter inside LLDB. The upshot of this is that, in the Python
mode, users can call the API functions as if they were regular Python
functions. This is turn means that users can do things like hit a
breakpoint, call the appropriate API functions to get the actual
current frame object, check to see if the caller function several
frames up the stack is a particular function, and if so, perform some
other interesting action. LLDB also allows for breakpoint commands to
be written in Python (which therefore allows them to call the API
functions), as well as having acommandthat interpretsand executes a
single line of Python.
Becausethe APIand allof the debuggerfunctionality is available in
a Python module, it is also possible to write a debugger front end
completely in Python and have it import the LLDB module and call the
LLDB API functions (which calls into the LLDB shared library), to
create a new debugger front end. Our test suite takes advantage of
this to run tests on the LLDB library without having to start up an
interactive LLDB debubgger session.
There were manyinteresting problems encountered and overcome in
getting all of this to work. LLDB combines both interactive Python
and embedded Python. There were some interesting things worked out so
thata single Pythonenvironment dictionary is used for the entire
debugger session: A user can pop into and out of the interactive
interpreter and have access at any time to anything defined in any
previous visit to the interactive interpreter (within the same debug
session); breakpoint commands have access to everything defined in the
interactive session; so do embedded script commands. It gets even
more complicated, because LLDB can have multiple debugger sessions
alive at once, and each debugger session has its own Python
interpreter with its own dictionary and must not be allowed to
interfere with another session's state. In this talk I will discuss
how we implemented many of these features in LLDB, pointing out some
of the more interesting problems we encountered and how we overcame
them, and demonstrate it all working inLLDB.
In questo seminario descriverò la nostra esperienza positiva d'uso di Python per lo sviluppo di un sistema di etichettatura di provette per il prelievo sanguigno in ambito di laboratorio e corsia ospedaliera. Il sistema è basato sui Technical Framework di IHE –standard industriale per la modellazione di processi clinici– ed è progettato per ridurre gli errori umani e assicurare la tracciabilità del processo.
Durante il seminario spiegherò perché abbiamo scelto Python in primo luogo, e descriverò come siamo stati in grado di sfruttarne le caratteristiche peculiari nello specifico del nostro dominio, esaminando le limitazioni e i problemi affrontati.
Mostrerò specifici casi –compreso qualche esempio di codice– d'uso di Python in parti differenti del progetto, come un driver di basso livello per la gestione della robotica di laboratorio, un modulo di comunicazione asincrona, l'implementazione di attori IHE, e l'inevitabile applicazione web sviluppata in Django.
Usare Python ha contribuito enormemente alla progettazione del sistema, e ci ha consentito di adottare cicli di prototipizzazione estremamente rapidi, sia per l'hardware che per il software. Durante il seminario parlerò anche di ciò che, secondo noi, ancora manca perché Python possa guadagnarsi il posto che gli spetta come piattaforma credibile per l'implementazione di processi clinici basati sui più diffusi standard internazionali.
by Jacob Hallén
PyChart is a very nice program for producing print quality graphs. However, it came equipped with a rather strange API, where every class was called T. It was also using the global namespace in strange and disturbing ways. Furthermore, it mixed multiple distinct tasks in some classes.
I will show how I went about refactoring the package in order to make a nice and clean API. This talk is focused on teaching refactoring methodology to beginner and intermediate level programmers. It will also give a brief introduction to how to make beautiful graphs with PyChart.
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.
by Alessandro Dentella
It's very easy to access databases with Python, and there are many ORMs allowing a high level of abstraction. Still, it's a long road from there to interactive handling of data, even for very simple tasks.
Sqlkit tries to act as a bridge, offering some mega-widgets that allow you to build GUI applications or directly access data using the 'sqledit' application, shipped with sqlkit; sqlkit is built with PyGTK and SQLAlchemy.
This presentation covers some of the most powerful features of sqlkit, and shows how easy it is to build small programs for personal use, as well as rich and complex applications. It primarily focuses on two points: how easy it is to create data forms (eventually with one2many or many2many, thanks to a original definition of layouts), and the template system based on OpenOffice which allows easy report creation.
This presentation shows how sqlkit can be used both as application development framework and as a tool to help us while developing other applications (e.g.: Django, OpenERP,... ).
To deliver a gradual presentation, we'll use the configuration system of sqledit, starting from a minimal configuration (a single URL) we'll add elements to that until we'll have a full application.
Two years ago I started working on SourceForge with a couple of python developers. Back then the site was written in PHP and was in some ways buried in technical debt. Everything is different today, we have a complete set of tools for Ticket tracking, Wiki documents, Git, Mercurial, Subversion, and IRC -- all written in Python, and now released as open source software.
This is the story of how the amazing libraries, tools, and talent in the Python web community has radically changed an established company, and allowed us to reinvent sourceforge.net.
This talk will go over our tech stack, talk about the libraries we used, the way we solved scalability, internationalization, and performance issues issues. Ultimately we know that without python, we could not have built a flexible plugin based system, and gotten permission from management to open source it.
The main problem with reports generated in Python is how to separate the content from the style using ReportLab library, because all informations should be saved in a single source file that, by example, is impossible to understand for your graphic designer.
So the solution: just modularizes all components you need and identify simple container formats for your data input (JSON) and document template (ReportLab RML).
Now with the power of Genshi and XInclude we will create dynamic templates that include specific snippets (e.g., to generate on the fly a decent graph with matplotlib or cairoplot to fill some lacks of ReportLab) and we will detach the stylesheet from the template structure.
And at the end you can also have the internationalization service in the PDF report generation!
by Péter Szabó
If a Python application has lots of dependencies and requires specific versions of some of its dependencies, then users can easily get bored or frustrated installing the application. To make the installation faster and have less side effects, application authors can create bundles which contain the application, all its dependencies and possibly the Python interpreter. This talk presents a way of creating bundles using StaticPython, and compares it to bb-freeze. StaticPython is a single-file statically linked version of Python for 32-bit Linux (i386), containing all standard and some extra Python modules and C extensions.
by Marco Nenciarini
Una trattazione sull'uso di Python per implementare un tool per il backup giornaliero di un data warehouse di oltre 50 terabyte, basato sulla tecnologia Greenplum Database.
Questo intervento racconta la nostra esperienza, dalla raccolta dei requisiti utente alla prima release del tool, descrivendo i principali problemi incontrati e i moduli Python usati per risolverli, usando metodologie agili per lo sviluppo.
Sebbene l'applicazione non sia disponibile come progetto open-source, questo intervento fornisce degli spunti di valore a proposito dello sviluppo di applicazioni distribuite e parallele usando Python.
by Benno Luthiger
What are the implications for the society if people enjoy their work, because this work is perceived as rewarding by itself? It is this question that occupies me since I have finished my Ph.D. research about the motivation of open source programmers. In my research, I have been able to show that fun is an important driver for open source programmers. Moreover, fun plays an important role not only for hobbyists, but for developers who are paid for their work too (open or closed source).
These findings contrast with the traditional efforts of leftist parties and labor unions.
For those political organizations, labor is perceived as compulsion and exploitation and, therefore, people have to be liberated from labor. The resulting political praxis is to send people into retirement as soon as possible and, on the other hand, to make the life for unemployed people carefree.
Is the software developers‘ world a little Shangri-La, apart from the real world, delineated by the leftist parties, or is the open source model generalizable? What happens with the values generated through the labor if the work as such is rewarding? The open source mode of production is part of our modern reality and in my presentation I would like to consider this big reality from the perspective of open source.
by Nate Aune
How can Python help you deploy web applications to the cloud? Amazon EC2 provides virtual machines on demand but as a developer you still have to configure these machines and push your code to them. Fabric is a Python library that lets you execute commands on a remote machine, and Boto is a Python library for interfacing with Amazon web services. By using Fabric and Boto, you can easily create repeatable deployments and provision new resources as needed with minimal effort.
This talk will introduce Amazon Web Services and how to launch new machines using simple Boto scripts, and how to get started making your own repeatable deployments using Fabric scripts.
Spend ten minutes each learning to work with Counters, named tuples, new string formatting, and the LRU cache. Learn the basic API, see how it works under the hood, enjoy a simple example, and then have fun pushing it to the limit in interesting ways.
by Tom Christie
Django REST framework is a new project that aims to make it easy to build RESTful Web APIs.
The APIs it creates are fully Web browse-able, using an awesome Django admin style interface, allowing them to be truly self-describing, well-connected systems.
The talk will include:
by Jonathan Fine
Python has a well-thought out system for classes. Beginners can use it without understanding it all. Experts can use it to produce code that is both elegant and powerful (such as models and class-based views in Django). Python classes can be used for many purposes.
This tutorial arises from the author's experience in using classes to solve problems, such as:
A. Add custom methods and attributes to objects that are, at root, just an integer.
B. Construct dictionaries whose values are functions.
C. Construct classes on-the-fly.
The outline syllabus is:
1. Review of the class statement in Python (and decorators).
2. Subclassing built-in types such as int and tuple.
3. How to define classes without using a class statement.
4. How to define a dispatch dictionary using a class statement.
5. Metaclasses as syntactic sugar for class construction.
6. Metaclasses to provide new class semantics.
This tutorial is for Intermediate or Advanced Python programmers. (Beginners will find it very hard going.) The aim of the course is to explain exactly what happens when a class in constructed, and to learn ways of using this knowledge.
Hands-on training session on how to develop applications with Python for and inside a PostgreSQL database
PostgreSQL nowadays represents the perfect choice for an RDBMS for Python developers, given its compliance to the SQL standards and its integration with the Python language. PostgreSQL offers you as a Python developer two flexible approaches for writing their applications:
NOTE: This is a professional training given by certified instructors of our sponsor 2nd Quadrant. It is provided as a preview of their professional training services, and requires a separate registration fee of €100 (20% VAT included). You can buy a ticket for this training directly from this website.
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.
by Davide Corio
Avete presente il classico, noioso, banale esempio di rubrica indirizzi in Python? Si? Quindi, diamo un'occhiata ad un nuovissimo, complicato ed entusiasmante modo di tenere la nostra rubrica e il nostro dispositivo mobile sincronizzati. Mischieremo differenti tecnologie come Zope, OpenERP, Funambol, XML-RPC e Json. Tutto per rendere la vostra vita più elettrizzante!
by Christine Moran
In this talk I will introduce ParaView, an open source application developed by researchers around the world for parallel visualization and analysis of large scale datasets, which in can be used to visualize and analyze terabytes of data in real time. ParaView’s core algorithms are implemented in C/C++ but all its major functionality can be scripted from python with ease. I’ll give a short introduction to AstroViz, a parallel visualization tool for astrophysical simulations implemented as an opensource plugin to ParaView, which I have been lead developer on since 2009. The focus of the talk will be on driving ParaView from within python however, both general out of the box use and customized extensions.
I also have access to several parallel supercomputers so if there’s a huge dataset we as a crowd would like to tackle visualizing during the course of the week that would be fun project. The end of the talk will be a short brainstorm of cool applications of analysis and visualization of large scale datasets.
In todays world, nobody (should) deploy a web application facing the
internet without having a proper caching system in place. There are
many different solutions to choose from, from manual use of memcached
through framework integrated caching to external caches like Squid or
Varnish. Most modern frameworks come with integrated functionality for
at least one of these methods, and often more than one.
However, they often relies on all traffic going through the same
framework to work properly - a caching layer in Rails is hard to share
with one in Django. This talk will show a way to break the design
rules of these frameworks just a little, and have the database help
solve this problem.
This talk will use a small application written in Python using Django
to illustrate the examples, but the method is language independent.
Unsurprisingly, the database used is PostgreSQL.
by Davide Corio
Business management isn't just accounting. Let's see how Python can help us to build a complete ERP infrastructure. From CRM to e-commerce, from accounting to document management...we'll see how Python is mature and able to do great things where Java and .NET are still considered as the only option. Case studies to be presented.
by Antonio Cuni and Armin Rigo
The PyPy project has recently gathered a lot of attention for its
progress in speeding up the Python language -- it is the fastest
Python interpreter, and the most compatible and most stable
'alternative´ one. No longer merely a research project, PyPy
is now suitable for production use. We are working on improvements
on calling into C libraries and generally integrating with
the existing Python extensions ecosystem.
We will give an overview on how the tracing Just-in-Time compiler
works in PyPy. From there, we will then focus on what the PyPy
project has achieved, particularly in the past two years:
We want to reserve time for discussing potential future work like SWIG
and/or Cython compatibility and other areas brought up by the audience.
There are many interesting details that can be explored further;
we will focus on the points the audience is most interested in.
For more info:
 Eurostars Eureka is our funding source since 2009. It is a
cross-European funding collaboration that targets small firms
which produce research.
Nell’enterprise la scalabilità verticale è ferma, l'HTTP Session è un dramma, XML è considerato un bug, i DB vengono messi in discussione, JMS è saturo, SOA un bluff. Parlerò di una diversa filosofia per le architetture Enterprise. Python è dinamico, object oriented, offre un forte supporto all'integrazione ed è fornito di una estesa libreria standard e, non da poco, può essere imparato in pochi giorni. Molti programmatori Python possono confermare un sostanziale aumento di produttività e ritengono che il linguaggio incoraggi allo sviluppo di codice di qualità e manutenibilità superiori. In questo talk parlerò quindi di produttività e qualità.
Il talk è un chiaro mezzo per diffondere python.
Dozens of little insights into the language. A whirlwind tour of nifty tricks, little known features, and common patterns.
20th–26th June 2011