Sessions at EuroPython 2011 on Thursday 23rd June

Your current filters are…

  • Beyond Python Enhanced Generators

    by Erik J. Groeneveld

    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.

    At 9:00am to 10:30am, Thursday 23rd June

    Coverage video

  • Developing cutting-edge applications with PyQt

    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.

    At 9:00am to 1:00pm, Thursday 23rd June

  • Django productivity tips and tricks

    by Simone Federici

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

    At 9:00am to 10:30am, Thursday 23rd June

    Coverage video

  • Programmazione MapReduce in Python con Pydoop

    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.

    At 9:00am to 10:30am, Thursday 23rd June

    Coverage video

  • Python + Oracle = Prosperity & Performance

    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
    - Todd

    At 9:00am to 1:00pm, Thursday 23rd June

  • Social Network Analysis in Python

    by Enrico Franchi

    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.

    At 9:00am to 10:30am, Thursday 23rd June

    Coverage video

  • What is Google App Engine?

    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:

    • 1-hour Introduction to Cloud computing and Google App Engine seminar
    • 3-hour App Engine hands-on workshop/codelab

    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.

    At 9:00am to 10:30am, Thursday 23rd June

    Coverage video

  • Combining Embedded and Interactive Python in a Debugger: A Case Study

    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.

    At 11:15am to 12:15pm, Thursday 23rd June

    Coverage video

  • Gestione di processi clinici in Python: un caso d'uso

    by Federico Caboni

    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.

    At 11:15am to 12:15pm, Thursday 23rd June

    Coverage video

  • Refactoring PyChart

    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.

    At 11:15am to 12:15pm, Thursday 23rd June

    Coverage video

  • Snakes on a cloud: the OpenStack project

    by Thierry Carrez

    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.

    At 11:15am to 12:15pm, Thursday 23rd June

  • Sqlkit: empowering database access

    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.

    At 11:15am to 12:15pm, Thursday 23rd June

    Coverage video

  • A Python Takeover

    by Mark Ramm-Christensen

    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.

    At 12:15pm to 1:15pm, Thursday 23rd June

    Coverage video

  • JSON data + RML template = PDF report

    by Stefano Cotta Ramusino

    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!

    At 12:15pm to 1:00pm, Thursday 23rd June

    Coverage video

  • Precompiling and deploying Python to any Linux or FreeBSD system

    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.

    At 12:15pm to 1:00pm, Thursday 23rd June

    Coverage video

  • Scrivere un tool parallelo e distribuito per backup multi-terabyte

    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.

    At 12:15pm to 1:00pm, Thursday 23rd June

    Coverage video

  • The political implications of having fun (while programming open source)

    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.

    At 12:15pm to 1:15pm, Thursday 23rd June

    Coverage video

  • Deploying web applications to the cloud with Python

    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.

    At 2:30pm to 3:30pm, Thursday 23rd June

    Coverage video

  • Fun with Python's newer tools

    by Raymond Hettinger

    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.

    At 2:30pm to 3:30pm, Thursday 23rd June

    Coverage video

  • Introducing Django REST framework

    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:

    • RESTful Web APIs and Django - what batteries aren't in the box.
    • An introduction to the framework - What it is, what problems it tries to solve.
    • Why it's so important that Web APIs should be Web browse-able.
    • A live coding demonstration.
    • Audience discussion.

    Sign up for the sprint: http://ep2011.europython.eu/p3/s...
    More info: http://django-rest-framework.org

    At 2:30pm to 3:30pm, Thursday 23rd June

    Coverage video

  • Objects and classes in Python (and JavaScript)

    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.
    D. Implement JavaScript object semantics in Python (advanced topic).

    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.
    7. Review of JavaScript object semantics.
    8. Using Python classes to implement JavaScript object semantics.

    For Guido on the history of Python classes see
    http://python-history.blogspot.c...
    http://python-history.blogspot.c...
    http://python-history.blogspot.c...

    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.

    At 2:30pm to 6:30pm, Thursday 23rd June

  • Python and the Elephant

    by Marco Nenciarini, Harald Armin Massa and Gabriele Bartolini

    Hands-on training session on how to develop applications with Python for and inside a PostgreSQL database

    • Writing applications for PostgreSQL using Python and PsycoPG
    • Writing applications inside PostgreSQL using PL/Python

    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:

    • as a standard client/server approach where a Python application connects to PostgreSQL using PsycoPG and executes SQL statements
    • as a PostgreSQL extension, using functions written in PL/Python directly stored and executed inside PostgreSQL

    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.

    At 2:30pm to 6:30pm, Thursday 23rd June

  • Python for High Performance and Scientific Computing

    by Andreas Schreiber

    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.

    At 2:30pm to 3:30pm, Thursday 23rd June

  • Rubrica indirizzi all'ennesima potenza

    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!

    At 2:30pm to 3:30pm, Thursday 23rd June

    Coverage video

  • Visualization and Analysis of Large Scale Datasets with Python

    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.

    http://www.paraview.org/

    At 2:30pm to 6:30pm, Thursday 23rd June

  • Data Driven Cache Invalidation

    by Magnus Hagander

    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.

    At 3:30pm to 4:30pm, Thursday 23rd June

    Coverage video

  • OpenERP: 100% pythonic way for business management

    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.

    At 3:30pm to 4:30pm, Thursday 23rd June

    Coverage video

  • PyPy in production

    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:

    • most Python benchmarks run much faster than with CPython or Psyco
    • the real-world PyPy compiler toolchain itself (200 KLocs) runs twice as fast
    • already supports 32 and 64bit x86 and is in the process of supporting ARM
    • full compatibility with CPython (more than Jython/IronPython)
    • full (and JIT-ed) ctypes support to call C libraries from Python
    • supports Stackless Python (in-progress)
    • new "cpyext" layer which integrates existing CPython C extensions
    • an experimental super-fast JIT-compilation of calls to C++ libraries

    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:

    [1] Eurostars Eureka is our funding source since 2009. It is a
    cross-European funding collaboration that targets small firms
    which produce research.

    At 3:30pm to 4:30pm, Thursday 23rd June

    Coverage video

  • Python Enterprise: vento di libertà

    by Simone Federici

    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.

    At 3:30pm to 4:30pm, Thursday 23rd June

    Coverage video

  • Python Tips, Tricks, and Idioms

    by Raymond Hettinger

    Dozens of little insights into the language. A whirlwind tour of nifty tricks, little known features, and common patterns.

    At 3:30pm to 4:30pm, Thursday 23rd June

    Coverage video