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 2015

Bob Voorneveld

Implement Gmail api in our CRM system

More information
Bob Voorneveld Bob Voorneveld

Implement Gmail api in our CRM system

For over 2 years we tried to implement a good working IMAP implementation for our CRM. After the release/opening of the Gmail API, we switched out IMAP for the API and improved the performance of our system big time. To speed up load times, we also implemented Elastic Search and did a partial implementation of angularjs in our Django project. This way, we reduced our average response time of over 2 seconds to less than 200ms.

BIO information

In January 2014 Bob joined the VoIPGRID team as novice developer. Starting as a ’non coder’ learning on-the-job. He is an Apple fan boy without shame, even though colleagues are quick to blame the piece of fruit when the systems won't co-operate.

Ivor Bosloper

GIS in Python. Solutions and architecture trade-offs

More information
Ivor Bosloper Ivor Bosloper

GIS in Python. Solutions and architecture trade-offs

Python has become the de-factor language in GIS frameworks and applications, both in open source and in proprietary solutions. We’ll shortly introduce GIS concepts and an overview of these geospatial python solutions.

We’ll dive into specific python solutions to process and present vector and raster data in farming applications. Like in other domains, there’s an interesting trade-off between processing data in the database, web server or in-browser. We’ll explore how processing GIS data on different layers impact usability, interactivity and performance.

BIO information

Ivor is an all-round software developer. He is the CTO of Crop-R, a company that provides software for arable farmers.

Lars de Ridder

Advanced REST API's

More information
Lars de Ridder Lars de Ridder

Advanced REST API's

Designing REST API's is hard. It is almost, but not quite, entirely unlike anything else we normally design. Object oriented ideas are not sufficient here, nor will a functional approach fit. You are limited to the HTTP verbs, but you shouldn't always limit yourself to CRUD. You should be able to navigate, but there is no standard such as HTML for API's, so how does this work?

In this talk we'll talk about how to design a RESTful API. We'll have a quick look at what REST is and what it tries to accomplish. We then talk about designing the process your API needs to support and the data/resources it needs. We look at media types for (amongst other things) navigation, and the balance between discoverability and documentation. And, if we have time, we will consider some more extended topics such as change management, rate limiting and cache policies.

BIO information

I'm a software allrounder who enjoys being active in the entire spectrum of software development. I love code, and also love all other things related to building software and products. I have been a developer, technical project manager, teamlead, product manager, requirements engineer and I currently am Head of Tech for Paylogic, where we are building the best ticketing system in the world.

Valentin Haenel

Blosc and friends

More information
Valentin Haenel Valentin Haenel

Blosc and friends

Blosc is a fast metacodec two main features: the shuffle filter and threading. The shuffle filter, which is implemented using SSE2 instructions, allows reordering bytes to reduce the complexity of certain datasets. Threading, on the other hand, allows parallelization of existing codecs, hence the term metacodec. Blosc was originally conceived to mitigate the problem of starving CPUs which results from the ever growing divide between clock speed and memory latency. Recently, it has become increasingly useful for other scenarios too, for example, out-of-core approaches and compressed in-memory storage. Blosc has a small codebase and is implemented in C. Additionally, several pieces of interesting software, largely written in Python, have emerged that make use of Blosc, showcasing it's potential and exploring the new use-cases. Bcolz, for example, is a compressed in-memory and out-of-core container for numerical data. This talk is about Blosc and it's Python friends.

BIO information

Valentin is a freelance software-engineer interested in compression, exploiting the memory hierarchy for accelerated computation and out-of-core compute engines. In the past, he has worked on psychophysics data analysis, large-scale brain simulations and analytical engines for business intelligence. also, he wrote a book about Git and has contributed to a diverse selection of open source projects. He currently resides in Berlin and is the co-organizeer the regular PyData-Berlin meetups and conferences.

Laurence de Jong

Towards a web framework for distributed apps

More information
Laurence de Jong Laurence de Jong

Towards a web framework for distributed apps

Imagine a world in which your website runs on a decentralized internet. How will users find eachother? How do you store content? Do you use a decentralized database? Or an ORM? Do you need to pay for deploying or using the website? What will be the performance? These are just some of the many questions that might come up.

In this talk I will present the preliminary results of my research focussed on the stack for decentralized applications.

BIO information

Worked for three years at Paylogic after a graduation project where he implemented continuous intergration. Now he is doing his Master thesis at Media2B.

Ot de Wiljes

Computational Neuroscience

More information
Ot de Wiljes Ot de Wiljes

Computational Neuroscience

Python is becoming an essential tool of the computational neuroscientist. Powerful modules like Brian and Nest allow computational neuroscientists to get more work done, be more flexible, and work on more complex projects without paying too steep a cost in terms of performance.

BIO information

Ot has a bachelor's degree in Biology (specializing in bioinformatics), a Master's degree in Behavioural and Cognitive Neuroscience (specializing in computational modelling of cognition), half a decade's work experience as a business intelligence professional and data scientist (though he hates that term) and currently pursuing a PhD at the RUG.

Òscar Vilaplana

Orchestrating Python projects using CoreOS

More information
Òscar Vilaplana Òscar Vilaplana

Orchestrating Python projects using CoreOS

Docker has sparked a deep change in the way we architect and deploy applications, which is materializing in projects such as CoreOS, Kubernetes, Fleet and Etcd as well as in Service Oriented architectures becoming more commonplace.

We'll take a loot at how these tools are being used, and how the architecture of our Python applications can benefit from being designed with them in mind.

BIO information

Engineer at SpotMe. Passionate about clean architecture and code, Python, Go, NodeJS, piano, short fiction and recumbent biking.

Reinout van Rees

Regular people behaving like programmers

More information
Reinout van Rees Reinout van Rees

Regular people behaving like programmers: testing and version control for water management

At Nelen & Schuurmans, we helped create 3Di (, a very fast water simulation package. So: floods, rainfall, dam breaches. Interactive, even, via a web interface. For us, that means lots of python and django.

For us, that also means a core calculation engine written in Fortran, which is hard to test. And it also means 20 non-programmers working together on large datasets.

Solution: use programmer tools and techniques! Mercurial with the large-file-extension as a version control system for the datasets. Simple sort-of-unittesting for the core calculation engine. Works like a charm.

BIO information

Civil engineer by education, programmer by experience. Maker of summaries: just google for "pygrunn" and "reinout", for instance.

Sylvain Viollon

Tornado and IO in Python 3

More information
Sylvain Viollon Sylvain Viollon

Tornado and IO in Python 3

Tornado reflects most of its strength while implementing small web-services. Its IO loop approach let you work efficiently while doing lot of interaction with the network, other processes or working with large files. Using those technologies, this talk will go over the implementation designs for our services we choose with at Minddistrict in order to decouple our code-base.

BIO information

Sylvain have been writing Python web application for the past 10 years, mostly using technologies related to the Zope framework but as well using Python 3 and Tornado more recently.

Emil Loer

Leveraging RPython For Efficient Real-Time Audio Processing

More information
Emil Loer Emil Loer

Leveraging RPython For Efficient Real-Time Audio Processing

In the design of real-time audio processing engines there is always a trade-off between performance and architectural complexity. The former requires a close to the metal programming environment while the latter approach prefers higher level programming languages, such as Python.

This talk proposes a novel hybrid approach to creating a real-time audio processing engine based on traversal of a topologically sorted audio graph. Using the capabilities of the RPython tracing JIT compiler (the core of the PyPy project) an engine can be designed that is both performant and easy to work with.

BIO information

Emil Loer is a developer, entrepreneur and jazz musician. He is the owner of Codelle, an indie Mac and iOS app studio that excels at making apps for musicians. Next to that Emil does consulting for companies facing the most difficult algorithmic and architectural problems. Emil has deep knowledge on software synthesis, signal processing, real-time computing and code optimisation. His Vim skills are beyond measure.

Erik Groeneveld


More information
Erik Groeneveld Erik Groeneveld


BIO information

Erik has a broad background in programming languages but stuck to Python for most of his professional work.

He pushes every language to its limits. You can find work of him implementing true delegation in Java for example. Delegation in Python works out much better though, see

Python Generators turned his world inside-out since the very beginning. He writes complete inverted programs using generators only.

Pieter Hintjens

ZeroMQ (Keynote)

More information
Pieter Hintjens Pieter Hintjens

ZeroMQ (Keynote)

BIO information

Pieter Hintjens is a writer, programmer and thinker who has spent decades building large software systems and on-line communities, which he describes as "Living Systems". He is an expert in distributed computing, having written over 30 protocols and distributed software systems. He founded the ZeroMQ free software project in 2007, and in 2013 launched the edgenet project to build a fully secure, anonymous peer-to-peer Internet. He is the author of "ZeroMQ - Messaging for Many Applications" (O'Reilly), "Code Connected", and "Culture and Empire: Digital Revolution". His technology and digital anthropology blog is at

Dorian Hoxha

Creating a high performance server in python

More information
Dorian Hoxha Dorian Hoxha

Creating a high performance server in python

Most used languages for building adservers like c/c++/java, while having great running performance, have a higher development cost. We can build the ad-server in python making it efficient enough by using many c extensions, and if it succeeds the project will have the funds to be rebuilt in a more efficient language. Most of the modules used are python wrappers of c extensions, making it easier to translate the program in a more efficient language like c/c++.

BIO information

Dorian is a software developer usually working with python and mostly as a remote freelancer. He also calls himself a teacher after teaching an one-month class in university.

Niels Hageman

Reliable distributed task scheduling

More information
Niels Hageman Niels Hageman

Reliable distributed task scheduling

At Paylogic, we wanted a task queue to handle workloads that are too heavy to handle in the request-response cycle. We considered several ""off the shelf"" solutions, but none met our requirements. Given this, we decided to build our own (in Python).

This talk will first discuss the off the shelf solutions we considered and the reasons why we eventually decided to build our own solution. The second part will discuss this solution in depth (architecture, set-up, use cases etc.).

BIO information

Niels was born in the province of Fryslan in the Netherlands. After attending the university of Groningen he joined Paylogic and has been a part of the company since as a developer and devop.

Saúl Ibarra Corretgé

Python, WebRTC and You

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

Python, WebRTC and You

Introduction to WebRTC and application development using Python on the server side. Let's build a ""Call Roulette""!

WebRTC is a recent technology present in modern web browsers allowing developers to create rich multimedia applications using realtime audio, video and data. This talk will give an introduction to WebRTC and walk through the implementation of a simple Call Roulette application, designing the necessary signaling protocol and implementing it on the server side using Python3 and asyncio.

BIO information

VoIP, presence and IM lover, geek, Pythonista, geek again! I once got trapped in an event loop, and never got out of it.

K Rain Leander

Leveraging Procedural Knowledge

More information
K Rain Leander K Rain Leander

Leveraging Procedural Knowledge

On the road to senior developer, one has to learn multiple languages. This often seems like a series of massive obstacles wherein each new language resembles a new beginning. However, developers may often underestimate the extent to which procedural knowledge from one language transfers to a new language. In this talk, I will demonstrate that the process from Red Hat Technical Account Manager to Django Girls workshop participant to OpenShift developer was a series of procedural knowledge transfers, wherein the obstacles to learning reduces with each new technology that is learned. I will provide specific examples, from using editors to troubleshooting issues, and conclude with practical recommendations on which language to start with and how to create a coherent plan for transitioning from one language to another.

BIO information

K Rain Leander is an enthusiastic Technical Account Manager with a background in web development / graphic design / internet marketing and a Master's in Information Technology. She is currently leveraging her procedural knowledge from over six years as a support engineer with Red Hat to study Django and Python languages as well as OpenShift and OpenStack technologies and become more active in the Fedora community.

Thomas Levine

Data acquisition with Vlermv database

More information
Thomas Levine Thomas Levine

Data acquisition with Vlermv database

I like to store my data as ordinary files whenever I can. This way, I'm not locked into a particular database software, I can use ordinary file manipulation tools for debugging, and I don't have to remember how my database works in order to look at my data. But accessing files is very verbose in Python! My solution is Vlermv (, an open source NoSQL database implemented as a Python library that lets me pretend that my filesystem is a dictionary.

I'll start out by showing you how it works and how convenient it is. I designed it originally for my own use in data acquisition systems, and I will show you how I use it in my practice. Next, I'll show you how it influences my approaches to testing and debugging. I wrote it, so I'll also talk about some interesting parts of the implementation. And finally, I'll comment on the overuse of fancy database software and half-joke about how Mongo should often be replaced with Vlermv.

BIO information

Thomas Levine ( is a Python programmer, dada artist, and freelance data scientist. He works mostly in finance and specializes in Python, R, data acquisition, and open data.

Berco Beute

Python in a decentralized future

More information
Berco Beute Berco Beute

Python in a decentralized future

Is Python fitted for the many technical challenges the eminent decentralized future will bring? We'll scan the landscape and zoom in on a few interesting and promising efforts.

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.

Jens de Smit

IPython and MongoDB as big data scratchpads

More information
Jens de Smit Jens de Smit

IPython and MongoDB as big data scratchpads

NoSql databases have gotten considerable exposure the last few years as alternatives to traditional relational databases, one of the more mature examples being MongoDB. MongoDB has been met with enthusiasm, but also with flak, sometimes even by the same people (such as Armin Ronacher: In this talk I will explain how I have leveraged MongoDB's architecture and philosophy as a very efficient scratch pad for doing chain-of-events reconstruction at scale. The talk will explore how to use some command line trickery, an IPython notebook and a bunch of Python modules to extract 10M events out of several hundred GB of log data, and then reducing that to 50K meaningful data points, using MongoDB as the lynchpin.

BIO information

Developer and analyst with operational skills. Worked in networks, augmented reality and finance at SURFnet, Layar and now Optiver. Python lover with a strong background in lower level stuff and (too much) experience with PHP. Likes (e)sports, board/computer games and artisanal beers.

Henk Doornbos

Contract languages based on Python

More information
Henk Doornbos Henk Doornbos

Contract languages based on Python

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.

Herman Balsters

Python in: Processes, data, contracts

More information
Herman Balsters Herman Balsters

Python in: Processes, data, contracts

With extra attention for PyDatalog.

BIO information

There's no information on this speaker yet.

Are you 'Herman Balsters' or do you know him/her well? You can help us by creating a pull request on GitHub


PyGrunn 2015 will take place on May 22nd at Groninger Forum, the old Forum Images building, in Groningen.

Groninger Forum is a cultural living and working environment. A place where artists, creative people, 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


Schedule 2015


After the success of last years sprints, this year PyGrunn will again sprint! 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 open-source projects on which we worked during the year. Discuss the future, build new features, fix bugs, and hack on some experiment. The sprints are 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 topics or propose your own 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 23 and 24 (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 equipped with wifi, projectors, and whiteboards. Coffee, tea, beer 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

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




Former Speakers


  • Jeff Knupp - Writing idiomatic Python (keynote)
  • Armin Ronacher - SSL, CAs and keeping your stuff safe
  • Kenneth Reitz - Documentation is King
  • Killian Evang - Produce: Makefiles without the annoying bits
  • Pawel Lewicki - Sphinx + Robot Framework = documentation as result of functional testing
  • Rodrigo Bernardo Pimentel - A first look at
  • Guido Kollerie - Slice & Dice: Data Analysis using Pandas
  • Erik Romijn - Keeping Django chained: top security concerns for Django websites
  • Valerio Basile - Bad habits in academic code
  • Gijs Molenaar - SQLAlchemy and astronomical data
  • Dmitrijs Milajevs - Python for data scientists
  • Oscar Vilaplana - Scaling your system
  • Panel: - Dangers of centralization. Options and solutions
  • Saul Ibarra Corretge - asyncio internals
  • Avi Flax - The impedance mismatch of web microframeworks
  • Denis Bilenko - Gevent, threads & async frameworks
  • Berco Beute - Python friends: CoffeeScript & AngularJS
  • Job Ganzevoort & Douwe van der Meij - From zero to hero - Professional Django setup, deploy and maintain
  • Dirk Zittersteyn - Advanced continuous integration
  • Kenneth Reitz - Growing Open Source Seeds
  • Henk Doornbos - Processes, Data and the rest
  • Greg Kowal - Geoprocessing with python
  • Artur Barseghyan - Modern authentication in Python web applications


  • 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 - Fan/theme
  • 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 + /theme 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 2015

Movies 2015

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.