Tutorials

François Maillet edited this page Dec 20, 2016 · 230 revisions

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


Find the main story in your data with pandas

Roberto Rocha

Saturday November 12th, 11:10am

pandas is a powerful data analysis library that can quickly churn insights from datasets, even massive ones. Learn how to get started quickly and see statistical summaries and pivot tables. We'll also see how easy it is to group data by categories and whip up quick exploratory charts so you can see what your data looks like.

Software requirements:

To follow along, attendees will require a laptop with pandas, numpy, matplotlib and Jupyter packages pre-installed. Roberto recommends the Anaconda data science platform which provides an easy, cross-platform installation of all of these tools.

Attendees should also download the exercise data from the Ontario open data portal. We'll be exploring a public sector salary database. Download it here.

Add your name here:

  • Andre Erler
  • Ashley Beattie
  • Atul Bhardwaj
  • Bhaag Marway
  • Chee Won
  • Chelsea Ma
  • Darrell Aucoin
  • Dean Wang
  • Felix C
  • Haris Bin Zahid
  • Hyuck Won
  • Jia Cheng Hu
  • Joel Babcock
  • Josh Morel
  • Maryan H.
  • Maxim Girbu
  • Melanie Maddix
  • Michael T.
  • Mustafa S
  • Peter Schwanke
  • Raul S
  • Rick Oliva
  • Ryan Weir
  • Sai Wai Maung
  • Sam Bull
  • Sophy O
  • Tam Le
  • Jon Deng
  • Olivia Lin
  • Naresh Vempala
  • Jonathan Lin
  • Liav Koren
  • Vijay Shankar Venkataraman
  • Luis Hernandez
  • Bill Tubbs

They're names, not variables!

Stuart Williams

Saturday November 12th, 2:20pm

Names in Python probably cause more subtle confusion than any other feature. Sometimes it's because people think they work just like variables in other languages. Often it's because people don't understand how exactly they work.

This tutorial, targeted at beginner and intermediate Python developers, will focus on how names and namespaces work in all the major language features that change them.

Software requirements:

No software is required for this tutorial. Most of the 70 minutes will be explanation and demonstration with no time for hands-on exercises. However, feel free to have a Python REPL or Jupyter Notebook open to explore as you learn. The Jupyter Notebook I'll be using in the tutorial should be available afterwards.

Add your name here:

  • Vince Lau
  • Melanie Maddix
  • Peter Schwanke
  • Mary McDonald
  • Jenny Midwinter
  • Riegie Jeyaranchen
  • Rick Oliva
  • Atul Bhardwaj
  • Gary Tam
  • Chelsea Ma
  • Jia Cheng Hu
  • Andre Erler
  • Renee Chan
  • Jon Deng
  • Carol Tam
  • Naresh Vempala
  • Jonathan Lin
  • Willie Ausrotas
  • Luis Hernandez

NEW! Introducing security earlier into the SDLC - how to hack your own apps

Tanya Janca

Saturday November 12th, 4:00pm

Everyone knows that the earlier you fix a bug the cheaper and easier it is, this rings true for security bugs as well. This talk will argue that security needs to start in the development phase, and that the power to find most common security issues needs to be put into the developer's hands.

This talk will include hands on demo of how to find security flaws, how they happen in the first place, and most importantly, how to fix them. If you've written a fast, beautiful application that meets all your requirements but it isn't secure, then it's not the best. This talk will enable you to write the best code possible, by making your code secure.

Software requirements:

Add your name here:

  • Ryan Wilson-Perkin
  • Jean-Yves Razafy
  • Bhaag Marway
  • Sam Bull
  • Sai Wai Maung
  • Chelsea Ma
  • Jason Cornell
  • Liav Koren

From gigabytes to petabytes and beyond with PySpark

Mike Sukmanowsky

Sunday November 13th, 11:50am

Imagine writing a Python program that could just as easily process a few gigabytes of data locally or hundreds of petabytes in a distributed cluster without changing a single line of code? Too good to be true? It isn't, it's PySpark! In this tutorial we'll learn how to write PySpark that perform basic analysis and fancy machine learning and can run on your computer or thousands of servers.

Software requirements:

See instructions at https://github.com/msukmanowsky/pyconca-2016-spark-tutorial.

Add your name here:

  • Andre Erler
  • Ashley Beattie
  • Atul Bhardwaj
  • Chelsea Ma
  • Darrell Aucoin
  • Dean Wang
  • Haris Bin Zahid
  • Jenny Midwinter
  • Josh Morel
  • Mary McDonald
  • Maryan H.
  • Melanie Maddix
  • Mustafa S
  • Peter Schwanke
  • Rick Oliva
  • Riegie Jeyaranchen
  • Ryan Weir
  • Sai Wai Maung
  • Sam Bull
  • Vince Lau
  • Da Kuang
  • Hyuck Won
  • Carol Tam
  • Naresh Vempala
  • Vijay Shankar Venkataraman

-Sponsored- Building a web application for OCR (Optical Character Recognition) with CapitalOne

Capital One- Sourabh Mittal

Sunday November 13th, 13:55am

Tesseract is an amazing library for doing Optical Character Recognition on printed text. In this tutorial learn how to get started with (Tesseract and Flask libraries) and integrate them for creating a simple web application. We will also see how easy it is to customize the Tesseract library for different cases.

Software requirements:

To follow along, attendees will require a laptop with Python (>=2.7) and the Python packages Flask and Pillow installed.

For OCR below are separate instructions for Mac and PC:

###Mac:

Run following command in terminal:

  • brew install automake libtool jpeg libtiff libpng leptonica tesseract ghostscript
  • Ensure the following path exists first: /usr/local/Cellar/tesseract/3.04.01_2/share
  • Add the below line to your .bash_profile:
    • export TESSDATA_PREFIX="/usr/local/Cellar/tesseract/3.04.01_2/share"
  • Run “tesseract - v” to ensure that Tesseract installed successfully

###PC:

  • Download from here: https://code.google.com/archive/p/pytesser/downloads
  • Extract the .zip file and copy the folder to your \lib\site-packages folder. Most probably, this was located at: C:\Users\UID\AppData\Local\Continuum\Anaconda2\Lib\site-packages
  • If you are having trouble finding this location, you can do the following:
    • Start python
    • import site
    • site.getsitepackages()
  • Rename folder you copied from pytesser.v.1.0 etc to just pytesser
  • Open the folder (pytesser) and add a init.py (you can leave it blank)
  • Open pytesser.py and change the path tesseract_exe_name so it points to the location of tesseract.exe (for the above site-packages location, you would use): r'C:\Users\UID\AppData\Local\Continuum\Anaconda2\Lib\site-packages\pytesser\tesseract'
  • You should now be able to run this in python: import pytesser

Add your name here:

  • Chelsea Ma
  • Ibrahim Ahmed
  • Maryan H.
  • Sai Wai Maung
  • Umar Ahmed
  • Jia Cheng Hu
  • Jon Deng
  • Jonathan Lin
  • Cesar Osorio
  • Vijay Shankar Venkataraman

Building a real-time image classification web app with Python and MLDB.ai

François Maillet

Sunday November 13th, 3:40pm

In this tutorial, we will build a real-time machine learning web app using Python and MLDB.ai. We will use MLDB's Tensorflow integration to use a deep learning model to embed images in a high dimensional conceptual space, and use that representation as features to do transfer learning. This will allow us to build a real-time image classification endpoint.

Companion repository

The companion repo for this tutorial is here: https://github.com/mldbai/pyconca-2016 Screencast of the tutorial: https://www.youtube.com/watch?v=CN5Vd_7iyYk

The repo contains a built version of the web app along with slides.

What to prepare before the tutorial

To be able to follow along the tutorial, you have two options:

  1. You can use the free hosted version of MLDB: https://mldb.ai/#signup. Please create an account and try to launch an instance before the tutorial.

  2. Install MLDB on your laptop. We provide a Docker image for Linux and VirtualBox OVAs for MacOs and Windows. Follow the instructions here to install a trial of MLDB Enterprise edition: https://docs.mldb.ai/doc/#builtin/Running.md.html#packages. It's a big download so don't wait to get it on the conference wifi. You'll also need a free activation code that you can get on the mldb.ai website. Please make sure you version of MLDB is activated and try to connect to it prior to the tutorial.

Add your name here:

  • Ashley Beattie
  • Atul Bhardwaj
  • Bhaag Marway
  • Chee Won
  • Chelsea Ma
  • Darrell Aucoin
  • Jenny Midwinter
  • Jia Cheng Hu
  • Josh Morel
  • Joshua Weissbock
  • Maryan H.
  • Matthew Mirvish
  • Myles Braithwaite
  • Rick Oliva
  • Riegie Jeyaranchen
  • Sai Wai Maung
  • Sam Bull
  • Liav Koren
  • Vince Lau
  • Da Kuang
  • Jon Deng
  • Steven Seguin
Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.