Skip to content


liavkoren edited this page Nov 8, 2015 · 71 revisions

PyCon Canada - November 7-9th 2015

Sign Up For Tutorials

The tutorials at PyCon Canada have a limited capacity of up to 50 people. If you're interested in attending one of the PyCon Canada tutorials, please sign-up in advance below. Note that you must already have a ticket to PyCon Canada 2015 to attend.

We will also be using this list to send out any tutorial requirements (things that you should have installed on your laptop before arriving at the tutorial).

Building HATEOAS driven RESTful APIs with ripozo

Tim Martin

Saturday at 10:40 a.m. to 11:50 a.m.

If you have spent any time building RESTful API's you are sure to come across someone claiming you are doing it incorrectly because it does not incorporate HATEOAS. Even Roy Fielding asserts that an application must be driven by hypermedia to be RESTful! Many will claim that the tooling simply "isn't there yet". In this talk we'll disprove this assumption and walk you through creating hypermedia driven APIs with ripozo. We'll show you why this makes developing truly RESTful applications painless and even expose you to clients that make the beauty of self discovering APIs evident.

Software requirements:

  1. Python (>=2.6)
  2. pip
  3. virtualenv(recommended)
  4. Checkout pycon-ripozo-tutorial repository

Add your name here:

  1. Alex Volkov
  2. JM Lopez
  3. Denis Carriere
  4. Hyungtae Kim
  5. Zeeshan Qureshi
  6. Mohit Gupta
  7. Myles Braithwaite
  8. Gregory Szilagyi
  9. Steven Butterworth

Interactive Media Development with Python & TouchDesigner

Elburz Sorkhabi

Saturday at 1:40 p.m. to 3:10 p.m.

In a world of smartphones, gestural sensors, and virtual reality, there is more than just a want for interactive and immersive media, there is an expectation for it. The reality is that as the world gravitates towards interactive and immersive media, Python is being chosen less and less by developers as their go-to tool because it lacks the facilities to quickly prototype and create architectures to support such process-intensive works. Compare Python with other languages and their respective creative coding frameworks and you'll begin to notice the startling gap in our toolset. With a wide gamut of choices ranging from C++ and openFrameworks or Cinder, Java environments like Processing, and even web technologies like Javascript, Flash and HTML, it's a shame that a comparable solution doesn't exist for Python. Regardless of the reason, there exists an alternative solution that has proven very successful: Derivative's TouchDesigner.

Derivative's TouchDesigner has been a cornerstone in the immersive design and interactive technology industry for many years now, powering many of the leading live performances, events, and artistic installations around the world. With the release of TouchDesigner version 088, Python 3 has been deeply integrated into its architecture. This allows Python developers an easy way to create works beyond what's capable in Flash, Javascript, or Processing, such as driving multi-screen media walls, creating generative content with arrays of Microsoft Kinects and Leap Motions, interfacing with industry-standard audio and video equipment, processing of multi-layered 4k content for Oculus Rifts, projection mapping buildings and abstract surfaces, driving LED walls, lighting fixtures, and pyro for live concert tours, and more. This can all be developed inside of TouchDesigner's high-performance & real-time media framework using Python. For more examples of types of works covered in this tutorial visit

The sections of this tutorial are as follows:

Part 1: Introductions, Definitions, Concepts, and Examples - General Introductions - Introduction to tools - Introduction to concepts of interactive media - Examples of interactive media installations - Breakdown of Python used in interactive media installations

Part 2: Demonstration and Live Coding - Prototyping, Analyzing, and Visualizing Sensor Data with Python - Get and Visualize Twitter data in real-time using Requests - Iterate and Render 3D geometry in real-time using Python

The goal of this tutorial is to quickly use TouchDesigner and Python to:

  1. Get sensor inputs and create control values and triggers
  2. Use the sensor triggers to scrape data from Twitter using Python Requests library
  3. Analyze the incoming tweets to create a map of most used words in tweets relating to PyCon Canada 2015
  4. Visualize the word cloud
  5. Use sensor control values to manipulate the word cloud in real-time


  1. Download all the required tools and follow the pre-requisite steps on the Tutorial's GitHub Repo
  2. If you'd like to actively program along, bring an ethernet cable to connect to our local switch to receive sensor data over the network.

Add your name here:

  1. Ashley Beattie
  2. Stefan W.
  3. Josh Kerbel
  4. Abtin Afshar
  5. Shunzhe Yu
  6. Galina (Ryan) Galimova
  7. Zeeshan Qureshi
  8. JM Lopez
  9. George Peristerakis
  10. Alexander Hosking
  11. Hamid Ebrahimi
  12. Tim van Boxtel

Learn to analyse graphs with graph-tool for fun, fun, and profit!

Zach Aysan

Saturday at 3:50 p.m. to 5:05 p.m.

Have you every had an Hard morning and thought to yourself:

Self, why can't I understand the data I have here before me? Why can I not just create a Directed Acyclical Graph and create hierarchies of knowledge from a Wikipedia dump? Self how do I get better at analysing graphical data?

Well you're in luck. We'll get you set up with graph-tool and someone to help guide you to the promised land of linear time.

Software requirements:


Add your name here:

  1. Josh Kerbel
  2. Akshay Tiwary
  3. Sidhant Saraogi
  4. David Wolever
  5. Matt Stata
  6. Torsten Scholak
  7. Catherine Tam
  8. Rastko Anicic
  9. Andre Erler
  10. Galina (Ryan) Galimova
  11. Julie Sturgeon
  12. Colin Cuciureanu
  13. JM Lopez
  14. George Peristerakis
  15. Masoud Hashemi
  16. Kanika
  17. Sye van der Veen
  18. Hamid Ebrahimi
  19. Kartik Hariharan
  20. Vida Sadri
  21. Navid Shakibapour
  22. Cesar Osorio
  23. Eric Shiu
  24. Dean Wang
  25. Engin Arslan
  26. Ivan Jankovic
  27. Ahmadul Hassan
  28. Yanqi Li
  29. Asad Ali
  30. Sophy O
  31. Hayden

What the FORTRAN is ** Doing in Python

en zyme

Sunday at 11:10 a.m. to 12:40 p.m.

Exponentiation is just extended multiplication, or is it? Only up to a point. In reality, Real numbers don't really exist, there are only a finite number of Integers, negative zero is not always the same as positive zero, and Complex numbers really are. All of which make exponentiation both subtle and computationally expensive. A retrospective and prospective of the intricacies of reification of 'number' and the occasional futility of mathematical operations in particular, **.

Use cases and examples of operations and functions related to exponentiation (e.g. power, square root, logarithm, hyperbolic cosine) will be drawn from Python and informed by FORTRAN, C. Implementations within Python will be compared and viewed through the lenses of CPython, NumPy, SciPy, Numba, PyPy, Decimal, Fractions, SymPy and more.

A guided hands-on tour of the tools and challenges of working with bigger and bigger numbers and really tiny ones, too. We'll be looking under the covers to see what Python really does with numbers and operators by utilizing %timeit, dis, with just a taste of Concrete and Abstract Syntax, down to the underlying C code.

Software requirements:


Add your name here:

  1. Usman Ehtesham Gul
  2. Stefan W.
  3. Akshay Tiwary
  4. Sidhant Saraogi
  5. Cameron Mochrie
  6. Zeeshan Qureshi
  7. Julie Sturgeon
  8. Doug Latornell
  9. Catherine Tam
  10. Yanqi Li
  11. Liav Koren
Clone this wiki locally
You can’t perform that action at this time.