.. _workshops: Workshops ========= A list of past PyLadies Vancouver workshops. We are always looking for speakers! Please fill in this `form `_ and we'll get back to you! Hands-on Intro to aiohttp ------------------------- When: April 26, 2018 Lead by: Mariatta Resource: https://us-pycon-2019-tutorial.readthedocs.io/ Skill level: Intermediate Asyncio is a relatively new feature in Python, with the async and await syntax only recently became proper keywords in Python 3.7. Asyncio allows you to write asynchronous programs in Python. In this tutorial, we’ll introduce you to an asyncio web library called aiohttp. aiohttp is a library for building web client and server using Python and asyncio. We’ll introduce you to several key features of aiohttp; including routing, session handling, templating, using middlewares, connecting to database, and making HTTP GET/POST requests. We’ll provide best practises in building your aiohttp application, as well as how to write tests for your application. We’ll use all new Python 3.7 features to build web services with asyncio and aiohttp. Skill level: Intermediate This tutorial assumes some experience programming with Python, REST APIs, git, GitHub, and installing Python packages using pip. Bring your own laptop, with your favorite IDE, text editor, and Python 3.7 pre-installed. Intro to Data Analysis in Python -------------------------------- When: July 7, 2018 Lead by: Jennnifer Walker Resource: https://jenfly.github.io/pydata-intro-workshop/ Skill level: Beginner Level. A little bit of previous experience with Python or another coding language would be helpful, but not required! In this workshop, you will develop skills with powerful data analysis tools from Python's rich ecosystem of libraries. If you're wrestling with spreadsheets on a regular basis and want to find better ways to analyze and visualize your data, handle messy and missing data, and automate repetitive tasks, this workshop is for you. If you're coming from another data analysis environment (R, Matlab, etc.) and/or you're a Python enthusiast who is curious about Python's data analysis capabilities, this workshop is also for you! Working with real-world data and the Pandas library, you'll learn how to load data from a comma-separated values (csv) file, quickly summarize it from many different angles, and visualize it in graphs—all with just a few lines of code. You'll also learn how to dive into the data for a deeper analysis with techniques such as subsets, filters, text processing, and aggregation. You'll want to bring your laptop for lots of hands-on practice as we work through the lessons and exercises. We'll be using Python 3.6, Jupyter Lab, ``numpy``, ``pandas``, ``matplotlib``, and ``seaborn``. I highly recommend using Anaconda to set up your environment, especially if you're new to Python and/or data analysis is your main reason for using Python. Build-a-GitHub-Bot Workshop --------------------------- When: May 5, 2018 Lead by: Mariatta Resource: https://github-bot-tutorial.readthedocs.io Skill level: Intermediate This workshop assumes some experience programming with Python, REST APIs, git, GitHub, and installing Python packages using pip. GitHub provides a great platform for collaborating. You can take it to the next level by creating custom GitHub bots. By delegating some of the chores to a bot, you get to spend more time developing your project and collaborating with others. Learn how to automate your workflow by building a personal GitHub assistant for your own project. We'll be using Python 3.6, ``gidgethub``, and ``aiohttp`` libraries. Face Detection with Python and OpenCV ------------------------------------- When: January 5, 2018 Lead by: Kiri Nichols Resource: https://github.com/pyladies-vancouver/facetrack Ever wanted to learn to do face detection with Python? This tutorial will cover how to use the OpenCV package to work with images and video. Whether you're a complete beginner or a total Python fiend, this tutorial is for you! Python Packaging Workshop ------------------------- When: October 25, 2017 Lead by: Brett Cannon Resource: https://snarky.ca/a-tutorial-on-python-package-building ``pip install your-own-library`` In this workshop, we will learn all about Python packaging: what is it for, what are the formats, what tools are available, and what the future holds. We'll go through the process of publishing a package using flit. Bring your own laptop to follow along. All skill levels welcome! Intermediate Git Tutorial ------------------------- When: November 17, 2016 Lead by: Holly Becker Used git, but only a little? Want to know more about collaborating with other people? Come to our git tutorial! This will be an intermediate level git tutorial. It assumes you know how to do the basics, like create a repository, add and commit files, and what a branch might be useful for. If you've used git for your own projects but haven't used it when collaborating with other people, this is for you! If you're brand new to git, we'll be reviewing the basics at the beginning. If you're a git expert, feel free to come and share you expertise! Topics we're hoping to cover: • Branches • Merging & Rebasing (and why you might pick one over the other) • Git visualizers Art with Python and Facial Recognition -------------------------------------- When: April 9, 2016 Lead by: Kiri Nichols This painting from Doctor Who has the nifty property of being able to adjust he perspective according to the position of viewers: https://www.youtube.com/watch?v=FUIbq2HPyQA Cool, eh? Let's try to do this with Python! Starter code is on github: https://github.com/small-yellow-duck/timelordart With the magic of face detection in openCV, we can use a camera to track the position of viewers. https://realpython.com/blog/python/face-detection-in-python-using-a-webcam/ There are several python libraries for rendering 3d objects. Let's try a few of them out! https://pypi.python.org/pypi/Vapory/0.1.0 http://www.pythonocc.org/quick-examples/hello-dumb-box/ Some problems you might wish to consider: - how long does it take to render an image? - what should happen if the face recognition algorithm doesn't find a face in the frame? - what should happen if the face recognition algorithm finds more than one face in the frame? Intro to Testing and Test Automation in Python ---------------------------------------------- When: February 2, 2016 Lead by: Christie Wilson Resource: https://github.com/keeppythonweird/catinabox#catinabox This is a repeat of the testing tutorial we presented in October. We've made a few tweaks to the format, with more focus on pytest and less on system testing. Please bring a laptop if you can. When we're closer to the date we'll give you more info on the requirements (still trying to iron out the setup portion of the tutorial!), but for now: * Create a github account if you don't have one already * Setup your github SSH key * Install python 2 or 3 with pip and virtualenv * Install git * Have a text editor or IDE Intro to Testing and Test Automation in Python ---------------------------------------------- When: October 1, 2015 Lead by: Christie Wilson Hands on python testing tutorial! Should be about 2 hours long. Bring a laptop if you can (or be prepared to pair). Prereqs: * Create a github account if you don't have one already * Install python 2 or 3 with pip and virtualenv * Install git * Have a text editor or IDE