We are preparing for 2015! Submit your proposal and give us tips for improvements!

PyGrunn is the "Python and friends" conference with
a local footprint and global mindset. Firmly rooted
in the open source culture, it aims to provide the
leading lights in advanced internet technologies, a
platform to inform, inspire and impress their peers.

For all the latest info join our community on:

Speakers 2014

Jeff Knupp

Keynote: Writing Idiomatic Python

More information
Jeff Knupp Jeff Knupp

Writing Idiomatic Python: Towards Comprehensible and Maintainable Code

This talk explores the notion of what makes Python code idiomatic (or "Pythonic"). It discusses what idiomatic code is, examples of how to write in an idiomatic style, and the benefits of doing so. Primarily through sample code, you'll learn how NOT to write code to solve common issues, as well as the idiomatic way to accomplish the same thing. As a result, your code will be more readable, easier to maintain, and easier to test.

BIO information

Jeff Knupp is the author of "Writing Idiomatic Python" and maintains a popular Python blog at http://www.jeffknupp.com. He is also the author of the "sandman" Python library and offers private tutoring services for Python and Django/Flask. Jeff can be reached at the following email address: jeff@jeffknupp.com

Valerio Basile

Bad habits in academic code

More information
Valerio Basile Valerio Basile

Bad habits in academic code

Academic code is (in)famous for being often not maintained, undocumented, not portable, and generally a headache. But why? Coming from smart people, often with high programming skills, this seems like a paradox.

In this talk I will give an first-person account of how programming in an academic context can produce a very different type of code then what we see in the industry or among hobbyists, and how a set of Python tools can help alleviate the gap.

BIO information

I'm currently a 4th year PhD student at RUG in Computational Linguistics, but in the past have worked with databases, system administration, Web dev and a bunch of other stuff. I was even a PC salesman at some point and a Computer Science student in Bologna.

I've seen both worlds of industry and academia and I haven't decided yet what's best for me. I'm a Free Software enthusiast and a Python aficionado. When I grow up I want to be an inventor.

Guido Kollerie

Slice & Dice: Data Analysis using Pandas

More information
Guido Kollerie Guido Kollerie

Slice & Dice: Data Analysis using Pandas

Pandas is an increasingly popular and fast Python library for analyzing large amounts of data. It has made Python a practical choice for performing data analysis. This talk will introduce Pandas and show real world examples slicing and dicing raw data into meaningful information.

BIO information

Freelance software developer.

Kilian Evang

Produce: Makefiles without the annoying bits

Slides, Code
More information
Kilian Evang Kilian Evang

Produce: Makefiles without the annoying bits

Scientists are increasingly faced with the demand to make their software and data available so others can check their method and results. Makefiles provide a fantastic thin layer above shell scripts for distributing ready-to-run, self-documenting experiments and analyses.

However, Make has its warts, and some advanced requirements lead to extremely tedious-to-write and hard-to-understand code. Alternatives such as SCons or Rake are often too focused on building software and give up too much of Make's simplicity to be suitable as a lingua franca" for scientific exchange.

Enter Produce, a new free and open-source incremental build tool written in Python 3 that retains the basic concepts of Make and uses the friendly and familiar INI file syntax. Arbitrary regular expressions and arbitrary Python expressions make Produce files very powerful while keeping everything as simple and intuitive as possible.

BIO information

Kilian Evang is a PhD student in computational semantics at the University of Groningen. His work is about getting computers to understand the true meaning of sentences and texts in natural languages like English and Dutch. Besides natural languages, Kilian also has a keen interest in programming languages and using them, working daily with Prolog, Python and shell scripts.

Kenneth Reitz

Growing Open Source Seeds & Documentation is King

More information
Kenneth Reitz Kenneth Reitz

Growing Open Source Seeds

This talk will be an in-depth review of the stages that most open source projects go though, and the decisions their maintainers face. Requests will be used as an example — lessons learned and best practices will be covered.

Documentation is King

Open source is all about communication — a project is only as useful as the documentation is has.

Every design decision should be documented. Imagine not having to have tap your coworkers on the shoulder when you’re working on an unfamiliar part of the codebase, or on-boarding a new employee. Imagine being able to make the change, run the tests, and push to production without questioning yourself, because the process was documented — or better yet, automated.

BIO information

Kenneth Reitz is the product owner of Python at Heroku and a member of the Python Software Foundation. He embraces minimalism, elegant architecture, and simple interfaces.

Kenneth focuses on software development, photography, and music production. He is well known for his many open source software projects, specifically Requests: HTTP for Humans.

Dmitrijs Milajevs

Python for data scientists

More information
Dmitrijs Milajevs Dmitrijs Milajevs

Python for data scientists

With the current amount of data, scientists have to become programmers to carry on bleeding edge research.

Python is a great language for building large systems. Currently it becomes more and more popular in academia to perform data processing and exploration.

In this talk I'll introduce the tools that Python community provides to analyze the data. IPython Notebook, Matplotliib, bokeh, seaborn and pandas are just few of them.

BIO information

Hmm, a former Paylogic crew member :) currently a Ph.D. student at Queen Mary, University of London.

Job Ganzevoort

From zero to hero

Slides, Code 1, Code 2
More information
Job Ganzevoort Job Ganzevoort

From zero to hero

How to setup a Django application, from first start to deployment to maintenance. In rapid succession we'll cover many subject, from puppet to nginx to git to fabric. We'll especially cover git workflow and branches, keeping separate DTAP settings en introduce some useful tools.

BIO information

Developer at Goldmund, Wyldebeast & Wunderliebe. Software engineer with systems background. Devops guy before that was a word.

Gijs Molenaar

SQLAlchemy and astronomical data

More information
Gijs Molenaar Gijs Molenaar

SQLAlchemy and astronomical data

At the Anton Pannekoek institute we store a lot of data coming from the LOFAR radio telescope. This data is then later on processed for finding transients, objects that change over time. For storing and querying the data we use good old SQL. Although SQL does the job well, the language is quite outdated. It is a hard and challenging task to write and maintain complex queries. My talk will be about how we use Python and SQLAlchemy as tools for writing and managing complex astronomical queries.

BIO information

When I was a kid I wanted to become a bicycle repair man. Now I'm working at the Anton Pannekoek Institute as a scientific software engineer for the AARTFAAC project, which is also fun. Although I'm living in Amsterdam this year I'll be a lot in South Africa working on software for the Square Kilometre Array. In my spare time I make beer and music.

Grzegorz "Greg" Kowal

Geoprocessing with python

More information
Grzegorz Kowal Grzegorz "Greg" Kowal

Geoprocessing with python

Geoprocessing is a GIS operation used to manipulate spacial data. Python is a common platform used in geoprocessing, many tools exist to support us in this interesting field of work. In this talk I will explain solution and tools I have created and used for processing of the gamma soil scans. This solution was created for the farming industry aiming to rationalise use of fertilisers and supporting sustainable farming.

BIO information

I'm Polish, educated in Australia and living in Netherlands. I have strong background in Java, specially in web based solutions. I worked for different organisations including banks, telecom companies and small startups. Since 2010 I have been involved in developing Python and GIS (Geographical Information System) solutions. This became my passion. I have lovely wife Joanna and I'm a father of a 2 year old boy - Jan. You can always talk to me about history and cars - those are my other hobbies.

Saúl Ibarra Corretgé

asyncio internals

More information
Saúl Ibarra Corretgé Saúl Ibarra Corretgé

asyncio internals

asyncio is the new asynchronous framework for Python, part of the standard library on CPython 3.4. But how does it actually work? Let's see what's under the hood!

BIO information

Saghul is a Python and C developer who loves anything and everything that has to do with sockets.

Douwe van der Meij

From zero to hero

More information
Douwe van der Meij Douwe van der Meij

From zero to hero

How to setup a Django application, from first start to deployment to maintenance. In rapid succession we'll cover many subject, from puppet to nginx to git to fabric. We'll especially cover git workflow and branches, keeping separate DTAP settings en introduce some useful tools.

BIO information

Developer at Goldmund, Wyldebeast & Wunderliebe. Software engineer, Python minded, Django enthusiast.

Erik Romijn

Keeping Django chained: top security concerns for Django websites

More information
Erik Romijn Erik Romijn

Keeping Django chained: top security concerns for Django websites

Django offers excellent support to help you build secure web applications. It has built-in protection against XSS, CSRF, SQL injection, clickjacking and many more attacks. However, the fact that you’re using Django does not mean you're off the hook. You could have flaws in your user authorisation or your SSL setup. Using raw or extra in database queries is helpful when you need that extra power, but also makes it simple to introduce a SQL injection. And so on.

In this session, we'll go through some of the most common and serious security issues that can affect Django websites, and how you can mitigate them. Some of these will apply to other web applications too.

BIO information

I’m an independent app maker, making both iOS and web apps in independent projects and freelance work. Most of my web apps are built with Django, and I am also a Django core developer. One of my goals is to help developers with little security background to understand that many aspects of security are not that difficult, and not at all frightening.

Oscar Vilaplana

Scaling your system

More information
Oscar Vilaplana Oscar Vilaplana

Scaling your system

You have a system running in a bunch of servers with a centralized database. It works and you like it but your customers like it even more. In fact, they like it so much that your metal barely keeps up with all the traffic, data, users and love. Either you find a way to scale your system (the Instagram way) or you make it uglier to scare users away (the Digg way). At Paylogic we prefer the former.

We'll look at basic scalability patterns, what we should look to decide how to scale and at how others did it, and we'll apply all this to an imaginary monolythic system.

BIO information

Architect at Paylogic. Passionate about clean architecture and code, Python, AngularJS, piano, short fiction and recumbent biking.

Berco Beute

Python friends: CoffeeScript & AngularJS

More information
Berco Beute Berco Beute

Python friends: CoffeeScript & AngularJS

Are the days of backends rendering webpages over? There sure is an increase in functionality that moved from the backend to the clientside. JavaScript undeniably played an important role in that. But with the rise of clientside complexity the need for simplicity rose as well. Coffeescript is an attempt to simplify the JavaScript syntax, promote its good parts and hide its bad parts. AngularJS is a clientside JavaScript framework for building one-page webapps. This talk will give a crashcourse in both technologies so you can decide whether they can be valuable new tools in your toolbox next to Python. This will be done by showing a clientside REST API built with AngularJS and coffeescript.

BIO information

CTO (Paylogic), hacker, musician and all-round internet technology enthusiast Berco Beute has been inspired by the possibilities of software since the eigthies. His enthusiasm show no signs of decline. Au contraire.

Henk Doornbos

Processes, Data and the rest

More information
Henk Doornbos Henk Doornbos

Processes, Data and the rest

The systems we build are complicated. They have to support complicated processes, such as configuring events, selling complicated product and dealing with financial aspects. They also generate and use lots of complicated data. It is not easy to design such systems, making sure that all processes are supported and that all data is taken into account.

The talk introduces a systematic way to create such designs. I will also sketch how that method can be used to create restful API's. The method helps us to build scalable API's that not just allow clients to use data but also make it easy to support complicated processes.

BIO information

Senior Architect and Head of Tech (Paylogic). Lecturer (Groningen University and Hanze university). Miller (De Hoop, Haren).

For the past 30 years Henk Doornbos has been passionate about methods, tools and techniques that help to create, maintain and manage complicated software systems.

Avi Flax

The impedance mismatch of Web Microframeworks

More information
Avi Flax Avi Flax

The impedance mismatch of Web Microframeworks

I love Web microframeworks, but most of them do HTTP routing wrong, because their core paradigm is at odds with that of the web. I’ll show examples using Bottle, Sinatra, Express, and Compojure to demonstrate that their approach to routing encourages developers to incorrectly implement HTTP and to misunderstand it; why this matters, and how to do it better, including a tiny library I’ve created for doing it right with Clojure and Compojure.

BIO information

Software architect, Web partisan, HTTP pedant. Blurring the lines between apps, services, APIs, and websites since 2005. CTO of SFX Entertainment. Admirer of Python for a decade, currently infatuated with Clojure and functional programming. Excited about asyncio. Geek since birth.

Dirk Zittersteyn

Advanced continuous integration

More information
Dirk Zittersteyn Dirk Zittersteyn

Advanced continuous integration

A Lightning-fast introduction into multiple people working on different things while not breaking your software, and getting your features to your customer as quickly as possible.

BIO information

26-year-old software engineer, sailor and data visualizer, loves long walks through the debugger, deep introspection and late-night talks with a terminal.

Armin Ronacher

SSL, CAs and keeping your stuff safe

More information
Armin Ronacher Armin Ronacher

SSL, CAs and keeping your stuff safe

An introduction to encryption and security in practical terms and why it's important but not as important as you might think. Some practical experiences from CA based SSL for web services and what it gives you, what it does not and some alternatives.

BIO information

Armin Ronacher is an independent Software Developer working for Splash Damage on Online Infrastructure for computer games. He's the creator of the Flask Python web framework and many other Python libraries.

Denis Bilenko


More information
Denis Bilenko Denis Bilenko


What would be the future of writing servers in Python? Is it newly blessed AsyncIO? Gevent? OS threads? My bet is that the latter with Gevent in a transition period.

The talk will include:

  • a short intro to gevent
  • current status
  • comparison to other approaches

BIO information

Denis is a founder/CTO at Surfly, Amsterdam-based company providing screen sharing for the Web. He is the author and maintainer of gevent.

Rodrigo Bernardo Pimentel

A first look at async.io

Slides, Code
More information
Rodrigo Bernardo Pimentel Rodrigo Bernardo Pimentel

A first look at async.io

Python is no stranger to asynchronous I/O. Twisted has been around for more than a decade, and Tornado is approaching its 5th birthday.

At Layar, we use both. So, when Guido announced what would become the asyncio library (or Tulip, its reference implementation), we were naturally curious. It has now been incorporated into the standard library with the 3.4 release a few weeks ago, so it's about time to get our hands dirty.

This talk is a first look at asyncio. It won't contain all the answers, but hopefully some (and raise interesting questions).

BIO information

Rodrigo has been programming Python for about 10 years, now (and other languages for somewhat longer). For the past few years he's been exploring scalability problems. He makes a good dry martini, too. Rodrigo is server team lead at Layar.

Artur Barseghyan

Modern authentication in Python web applications

More information
Artur Barseghyan Artur Barseghyan

Modern authentication in Python web applications

The talk consists of two parts: (1) Single Sign-on and (2) Two-step verification (two-factor authentication).

(1) Standalone applications can handle their own user base and the authentication pretty well. When it comes to corporate solutions, it’s not uncommon to use multiple applications. While from the developer perspective it may be just fine to log into 10 different environments in order to be able to work, from the end-user perspective multiple logins are quite annoying. Single Sign-on solves the problem.

(2) Stolen passwords are not uncommon these days. Two-step verification puts an extra layer of security over the standard login/password authentication.

BIO information

Employed by: Goldmund, Wyldebeast & Wunderliebe http://www.goldmund-wyldebeast-wunderliebe.nl/

Github: https://github.com/barseghyanartur

The biggest hobby: http://delusionalinsanity.com/portfolio/

Pawel Lewicki

Sphinx + Robot Framework = documentation as result of functional testing

More information
Pawel Lewicki Pawel Lewicki

Sphinx + Robot Framework = documentation as result of functional testing

Sphinx is a Python documentation generator, Robot Framework is a test automation framework. These tools combined make documentation a part of the test coverage. Tests are written in human (customer) readable form and the result documentation contains screenshots from product in development. Come and see it in action.

BIO information

I'm experienced Plone developer with background of RDBMS development and report building. I was involved in big implementations of ERP systems, where my main task were building reports with SQL and Crystal Reports, and writing Intranet applications. Since 2013 working with Goldmund, Wyldebeast & Wunderliebe as senior Plone developer.

Panel Discussion

Dangers of centralization. Options and solutions.

More information
Panel Panel Discussion

Dangers of centralization. Options and solutions.

Recent issues, e.g. with NSA, has shown that centralized systems and data bring along considerable dangers. Whether it's privacy, security, reliability, safety, etc. With an increasing dependance on these systems the risks increase accordingly. The problem is not unique to large IT systems but can be seen at many levels and in many settings. The world is riddled by problems caused by centralization. It seems that nobody or nothing can really handle the power that centralized systems give them.

But there is a way out. Nature for instance has shown that in many domains only decentralized systems work. But there are examples from a wide range of other domains, e.g. economy, IT, society, etc. Decentralized systems have their own problems, of course, but it could solve some of our pressing current day issues.

This raises many questions and it is important to address them. For example, if you can solve issues in software systems by building them with an inherent drive towards decentralization, could you translate such a solution to other domains? And looking at IT specifically, what are the alternatives to centralized systems? Will they work? What are the available tools for building decentralized systems?

This panel session will start with a presentation about the problem domain followed by an open discussion between the panel and the audience. Being a technology conference the focus of the discussion will be software systems.

This panel session marks the kickoff of a larger project on this topic. Details of the larger project will be touched upon during the session.

Everybody is encouraged to actively participate!

Movies 2014

Jeff Knupp - Keynote: Writing Idiomatic Python

Armin Ronacher - SSL, CAs and keeping your stuff safe

Avi Flax - The impedance mismatch of Web Microframeworks

Saúl Ibarra Corretgé - asyncio internals

Oscar Vilaplana - Scaling your system

Panel Discussion - Dangers of centralization. Options and solutions.


PyGrunn 2014 will take place on May 9 at Groninger Forum, the old Forum Images building, in Groningen.

Groninger Forum is a cultural living and working environment. A place where artists, creative persons, entrepreneurs and enthusiasts can meet. A perfect spot for PyGrunn! It is a 3-minute walk from the central train station and in the heart of the city.

Hereplein 73, 9711 GD Groningen
+31 50 312 0433

Anniversary T-shirts

If you want one of these very cool PyGrunn anniversary shirts please contact us via info@pygrunn.org!

Cost is only €20,00 EUR!

Available sizes: M, L, XL

Schedule 2014


This year for the first time PyGrunn comes with sprints! We feel that sprints are an excellent way to contribute to the open source community from which PyGrunn emerged. As most of us are software developers, it's important to be able to sit face to face and work together on opensource projects in which we worked during the year, to discuss the future, implement new features, fix bugs, and hack on some experiment. And it's also a great opportunity to hang around with peers, talk tech, and have fun!


We are currently deciding on the topics to sprint on. Please contribute by voting for existing topic or proposing another topic using the form. In the latter case you should have a core project developer in mind that can join the sprint.


Sprints are planned at May 10 and 11 (the saturday and sunday after the conference day) from 10:00 till 22:00 at the Launch Cafe Groningen.

More photos of the venue can be found here and here. Μore information about this wonderful venue can be found at the venue's site. The venue is equiped with wifi, projectors, and whiteboards. Beer, coffee, tea, and snacks will be provided.

Join us and make that change. Be a grunner amongst PyGrunners!


The schedule is the same for both sprint days.

Forming teams, announcing things to do
Lunch @ cafe nearby
Team reports
Closing the day [Party]

Request For Proposals 2015

This is your chance to share your work with the PyGrunn community! Let us know your proposal for a talk at PyGrunn 2015.

All talks are 30 minutes and should inspire, impress and inform. Try to use the full 30 minutes to inspire your audience and save the discussions for the time between talks.


As the tagline says, PyGrunn is about Python and friends, so talks don't have to be about Python per se. But they should have some connection to Python. The audience is technically quite skilled so adjust your talk accordingly. This year two themes have our special interest:

  1. Python in science and education: Python is an excellent tool for acquiring both knowledge and skills. Whether it is learning how to programm or analyse large datasets for bio-medical research. It scales well from simple beginnings to complex experimental work.
  2. Python and big data: 'Big data' is an umbrella concept that houses a large number of quite exciting topics. Python has many qualities that make it a great fit for big data work and research.
We are looking for talks and posters/papers about these two topics.


Poster and paper sessions are new this year. We will make room for displaying a number of posters and papers in the venue. Authors can show their papers/posters and give more information in person to interested parties. Submit your paper/poster by filling out the form below and mail the paper/poster separately to info@pygrunn.org.

Speakers get free access. You don't have to buy a ticket if you speak at PyGrunn!

Please mail any questions you may have to info@pygrunn.org. You can send us any remarks you may have using the additional information field in the form.

Share your tips for 2015


PyGrunn is the largest conference in The Netherlands dedicated to Python and Friends. PyGrunn has always been a special gathering for enthousiasts and for those who wish to share their knowledge and passion about Python and not only. Its purpose is to provide a pleasant experience to every attendant. We are both excited and proud to present our sponsors for PyGrunn 2014, the anniversary and annual edition of our t-shirts, a list of former PyGrunn speakers, and a few photographic moments of PyGrunn 2013.



Your company could be here!





Anniversary Edition

Amazing 5th year anniversary one of a kind PyGrunn t-shirt!

For sale at the PyGrunn conference for only €20,00 EUR!

PyGrunn 2014

Annual amazing collectable event t-shirt!

Free with your entrance ticket!

Former Speakers


  • Holger Krekel - Re-inventing Python packaging & testing (keynote)
  • Daniël & Gideon de Kok - What Python can learn from Haskell
  • Luuk van der Velden - Best practices for the lone coder syndrome
  • Peter Odding - Reliable deployment of large Python applications
  • Oscar Vilaplana - Handling massive traffic with Python
  • Álex González - Python and Scala smoke the peace pipe
  • Berco Beute - REST API design
  • Armin Ronacher - A year with MongoDB
  • Oleg Pidsadnyi - Behaviour driven design with PyTest
  • Remco Wendt - Component architectures in Python
  • Mark Vletter - Lean prototyping
  • Emil Loer - Python raytracing
  • Douwe van der Meij - MVC revisited with Diazo
  • Jan-Jaap Driessen - Fanstatic
  • Gijs Molenaar - LOFAR <3 Python
  • Alessandro Molina - High Performance Web Applications with Python and TurboGears
  • Dmitrijs Milajevs - Real Time discussion retrieval from Twitter
  • Kenneth Reitz - Python for humans


  • Michael Bayer - SQLAlchemy (keynote)
  • Bram Noordzij - Amazon Web Services. The good, bad & ugly
  • Alexandros Kanterakis - PyPedia
  • Oleg Pidsadnyi - Large number of markers on Google Maps
  • Emil Loer - Musical Python
  • Douwe van der Meij - AOP in Python API design
  • Remco Wendt - Profiling
  • Miguel Araujo - Django Uni-forms
  • Henk Doornbos & Berco Beute - Chronic Pythonic
  • Ivor Bosloper - GeoDjango
  • Oscar Vilaplana - Tornado in depth
  • Laurence de Jong - Continuous integration
  • Alexander Solovyov - Go: Python + static typing?
  • Niels Hageman - Distributed job scheduling
  • Armin Ronacher - A fresh look at HTTP from Python
  • Reinout van Rees - Optimize & automate your Python life
  • Dan Tofan & Spyros Ioakeimidis - Python tools for making architectural decisions
  • Rick Oost - Generalized traversals


  • Armin Ronacher - The state of Python and the web (keynote)
  • Henk Doorbos - Making large, untested code bases testable
  • Reinout van Rees - Practical project automation
  • Jobert Abma - The ten commandments of Security
  • Berco Beute - Growing up Pythonically
  • Alexander Solovyov - hg and complex development processes
  • Òscar Vilaplana - ØMQ
  • Pieter Noordhuis - Redis in practice
  • Duco Dokter - NLTK: natural language processing with Python
  • Gideon de Kok & Tom de Vries - Mobile Architectures
  • Kim Chee Leong - Buildout
  • Emil Loer - Embeddng Python interpreter in Ruby and vice versa
  • Rix Groenboom - MijnOverheid: performance testing in practice


  • Ivan Sagalaev (keynote)
  • Ivan Metzlar
  • Erik Huisman & Aldert Greydanus
  • Michiel Prins & Jobert Abma
  • Tom de Vries & Gideon de Kok
  • Oscar Vilaplana
  • Oleg Pidsadnyi
  • Merijn Terheggen - Minimal Viable Products
  • Henk Doornbos - Python and hardware programming
  • Berco Beute - A Python's Life?
  • Bart jan Wesselink - Advanced Payment Routing
  • Tim Bakker - Green Parking

Photographic Moments of PyGrunn 2013