[Video(id='T-TwcmT6Rcw', title='Raymond Hettinger - Dataclasses:  The code generator to end all code generators - PyCon 2018', duration='PT45M8S', metrics={'viewCount': '6047', 'likeCount': '139', 'dislikeCount': '2', 'favoriteCount': '0', 'commentCount': '14'}),
 Video(id='duvZ-2UK0fc', title='Ned Batchelder - Big-O: How Code Slows as Data Grows - PyCon 2018', duration='PT28M51S', metrics={'viewCount': '1320', 'likeCount': '45', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='GBQAKldqgZs', title='Kenneth Reitz - Pipenv: The Future of Python Dependency Management - PyCon 2018', duration='PT35M45S', metrics={'viewCount': '4737', 'likeCount': '154', 'dislikeCount': '6', 'favoriteCount': '0', 'commentCount': '20'}),
 Video(id='zJ9z6Ge-vXs', title='David Beazley - Reinventing the Parser Generator  - PyCon 2018', duration='PT45M1S', metrics={'viewCount': '2588', 'likeCount': '75', 'dislikeCount': '1', 'favoriteCount': '0', 'commentCount': '2'}),
 Video(id='AQsZsgJ30AE', title='Dustin Ingram - Inside the Cheeseshop: How Python Packaging Works - PyCon 2018', duration='PT25M15S', metrics={'viewCount': '886', 'likeCount': '22', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='oLkfnc_UMcE', title='Nathaniel J. Smith - Trio: Async concurrency for mere mortals - PyCon 2018', duration='PT32M', metrics={'viewCount': '863', 'likeCount': '39', 'dislikeCount': '2', 'favoriteCount': '0', 'commentCount': '8'}),
 Video(id='qaPzlIJ57dk', title='Russell Keith-Magee - Building a cross-platform native app with BeeWare - PyCon 2018', duration='PT30M50S', metrics={'viewCount': '836', 'likeCount': '35', 'dislikeCount': '1', 'favoriteCount': '0', 'commentCount': '3'}),
 Video(id='DlgG0QdrqAU', title='Alex Petralia - Analyzing Data: What pandas and SQL Taught Me About Taking an Average - PyCon 2018', duration='PT26M2S', metrics={'viewCount': '476', 'likeCount': '14', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='DAWHMHMPVHU', title='Paul Vincent Craven - Easy 2D Game Creation With Arcade - PyCon 2018', duration='PT29M48S', metrics={'viewCount': '690', 'likeCount': '31', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '1'}),
 Video(id='-7taKQnndfo', title='Andrew Godwin - Taking Django Async - PyCon 2018', duration='PT40M17S', metrics={'viewCount': '905', 'likeCount': '32', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '1'}),
 Video(id='-sIOMs4MSuA', title='Christopher Fonnesbeck -  Bayesian Non-parametric Models for Data Science using PyMC3 - PyCon 2018', duration='PT42M25S', metrics={'viewCount': '695', 'likeCount': '18', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '2'}),
 Video(id='CPz0s1CQsTE', title='Graham Dumpleton - Secrets of a WSGI master. - PyCon 2018', duration='PT32M55S', metrics={'viewCount': '356', 'likeCount': '8', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '1'}),
 Video(id='rrBJVMyD-Gs', title='Jack Diederich - HOWTO Write a Function - PyCon 2018', duration='PT41M31S', metrics={'viewCount': '1457', 'likeCount': '17', 'dislikeCount': '1', 'favoriteCount': '0', 'commentCount': '1'}),
 Video(id='ZUX9Fx8Rwzg', title='Alvaro Leiva Geisse - Systemd: why you should care as a Python developer - PyCon 2018', duration='PT27M3S', metrics={'viewCount': '1244', 'likeCount': '42', 'dislikeCount': '1', 'favoriteCount': '0', 'commentCount': '7'}),
 Video(id='q42hCs2E4So', title='Renato Oliveira - User focused API Design - PyCon 2018', duration='PT27M28S', metrics={'viewCount': '460', 'likeCount': '7', 'dislikeCount': '1', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='FjojZxDZscQ', title='Brian Okken, Paul Everitt - Visual Testing with PyCharm and pytest - PyCon 2018', duration='PT29M55S', metrics={'viewCount': '698', 'likeCount': '14', 'dislikeCount': '2', 'favoriteCount': '0', 'commentCount': '1'}),
 Video(id='d7iIb_XVkZs', title='Daniel Pyrathon - A practical guide to Singular Value Decomposition in Python - PyCon 2018', duration='PT31M15S', metrics={'viewCount': '1251', 'likeCount': '27', 'dislikeCount': '2', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='0hsKLYfyQZc', title='Kevin Markham - Using pandas for Better (and Worse) Data Science - PyCon 2018', duration='PT3H20M43S', metrics={'viewCount': '967', 'likeCount': '34', 'dislikeCount': '1', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='zQeYx87mfyw', title='Jake VanderPlas - Performance Python: Seven Strategies for Optimizing Your Numerical Code', duration='PT23M10S', metrics={'viewCount': '1260', 'likeCount': '44', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '4'}),
 Video(id='tzFWz5fiVKU', title='Sunday Morning Lightning Talks + Keynote - PyCon 2018', duration='PT1H19M16S', metrics={'viewCount': '1752', 'likeCount': '32', 'dislikeCount': '1', 'favoriteCount': '0', 'commentCount': '3'}),
 Video(id='MYucYon2-lk', title='Hillel Wayne - Beyond Unit Tests: Taking Your Testing to the Next Level - PyCon 2018', duration='PT29M21S', metrics={'viewCount': '995', 'likeCount': '41', 'dislikeCount': '1', 'favoriteCount': '0', 'commentCount': '1'}),
 Video(id='MJBWAkE7cEo', title='Padmaja Bhagwat - Listen, Attend, and Walk : Interpreting natural language navigational instructions', duration='PT27M42S', metrics={'viewCount': '169', 'likeCount': '6', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '1'}),
 Video(id='Jd8ulMb6_ls', title='Larry Hastings - Solve Your Problem With Sloppy Python - PyCon 2018', duration='PT30M24S', metrics={'viewCount': '1798', 'likeCount': '66', 'dislikeCount': '1', 'favoriteCount': '0', 'commentCount': '3'}),
 Video(id='hnSgIUA57hg', title='Kelsey Pedersen - Augmenting Human Decision Making with Data Science - PyCon 2018', duration='PT34M24S', metrics={'viewCount': '214', 'likeCount': '5', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='iAvoE9vjZuc', title='Douglas Blank - Jupyter Tools for Teaching and Learning - PyCon 2018', duration='PT33M38S', metrics={'viewCount': '305', 'likeCount': '5', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='49CIIu1XkIE', title='Sara Packman - The Journey Over the Intermediate Gap - PyCon 2018', duration='PT27M9S', metrics={'viewCount': '912', 'likeCount': '27', 'dislikeCount': '1', 'favoriteCount': '0', 'commentCount': '1'}),
 Video(id='ms29ZPUKxbU', title='Jake VanderPlas - Exploratory Data Visualization with Vega, Vega-Lite, and Altair - PyCon 2018', duration='PT3H19M2S', metrics={'viewCount': '3716', 'likeCount': '93', 'dislikeCount': '2', 'favoriteCount': '0', 'commentCount': '9'}),
 Video(id='hhj7eb6TrtI', title='Mariatta Wijaya - What is a Python Core Developer? - PyCon 2018', duration='PT36M13S', metrics={'viewCount': '447', 'likeCount': '14', 'dislikeCount': '1', 'favoriteCount': '0', 'commentCount': '2'}),
 Video(id='0kXaLh8Fz3k', title='John Reese - Thinking Outside the GIL with AsyncIO and Multiprocessing - PyCon 2018', duration='PT30M50S', metrics={'viewCount': '1019', 'likeCount': '22', 'dislikeCount': '1', 'favoriteCount': '0', 'commentCount': '6'}),
 Video(id='5lYWxjSitIg', title='Janet Matsen - Programming microbes using Python - PyCon 2018', duration='PT24M56S', metrics={'viewCount': '595', 'likeCount': '18', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='pMgmKJyWKn8', title='Carl Meyer - Type-checked Python in the real world - PyCon 2018', duration='PT32M10S', metrics={'viewCount': '2043', 'likeCount': '75', 'dislikeCount': '3', 'favoriteCount': '0', 'commentCount': '4'}),
 Video(id='T5IAf5vGGSk', title="Nicholas Tollervey - Mu - How to Make a Kids' Code Editor - PyCon 2018", duration='PT28M16S', metrics={'viewCount': '690', 'likeCount': '17', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '5'}),
 Video(id='wuCpCkrfeMs', title='Hynek Schlawack - How to Write Deployment-friendly Applications - PyCon 2018', duration='PT44M20S', metrics={'viewCount': '650', 'likeCount': '21', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '2'}),
 Video(id='52zM4GgmqDE', title='Claudio Freire - Efficient shared memory data structures - PyCon 2018', duration='PT27M16S', metrics={'viewCount': '524', 'likeCount': '13', 'dislikeCount': '1', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='2uaTPmNvH0I', title='Miguel Grinberg - Oops! I Committed My Password To GitHub! - PyCon 2018', duration='PT29M44S', metrics={'viewCount': '658', 'likeCount': '18', 'dislikeCount': '1', 'favoriteCount': '0', 'commentCount': '2'}),
 Video(id='NyNUYYI-Pdg', title='Using Python to build an AI to play and win SNES StreetFighter II - PyCon 2018', duration='PT30M38S', metrics={'viewCount': '615', 'likeCount': '20', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '4'}),
 Video(id='fRUCAt9WFpc', title='Jiaqi Liu - Building a Data Pipeline with Testing in Mind - PyCon 2018', duration='PT20M16S', metrics={'viewCount': '432', 'likeCount': '7', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='MAz1xolSB68', title='Shohei Hido - CuPy: A NumPy-compatible Library for GPU - PyCon 2018', duration='PT30M12S', metrics={'viewCount': '547', 'likeCount': '11', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='WiQqqB9MlkA', title='Nina Zakharenko - Elegant Solutions For Everyday Python Problems - PyCon 2018', duration='PT32M58S', metrics={'viewCount': '2383', 'likeCount': '61', 'dislikeCount': '1', 'favoriteCount': '0', 'commentCount': '11'}),
 Video(id='c-I0md_3fbQ', title='Lightning Talks - Saturday Evening - PyCon 2018', duration='PT1H11M', metrics={'viewCount': '788', 'likeCount': '16', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '4'}),
 Video(id='ZsGFU2qh73E', title='Barry Warsaw - Get your resources faster, with importlib.resources - PyCon 2018', duration='PT28M42S', metrics={'viewCount': '1891', 'likeCount': '27', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='-ltFl1vbe6I', title='Nir Arad - Controlling apples with snakes: Automating mobile apps with Appium - PyCon 2018', duration='PT27M46S', metrics={'viewCount': '189', 'likeCount': '5', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='IYWlfVqBQLc', title='Esther Nam - One weird trick to becoming a better software developer - PyCon 2018', duration='PT28M22S', metrics={'viewCount': '814', 'likeCount': '28', 'dislikeCount': '7', 'favoriteCount': '0', 'commentCount': '7'}),
 Video(id='W4WQi2OIy7o', title='Skipper Seabold - Introduction to Python for Data Science - PyCon 2018', duration='PT3H19M', metrics={'viewCount': '1513', 'likeCount': '39', 'dislikeCount': '2', 'favoriteCount': '0', 'commentCount': '6'}),
 Video(id='u3d-n41Tobw', title='Emily Xie - Making Art with Python - PyCon 2018', duration='PT1H34M7S', metrics={'viewCount': '626', 'likeCount': '19', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '2'}),
 Video(id='cSSpnq362Bk', title='James Bennett - A Bit about Bytes: Understanding Python Bytecode - PyCon 2018', duration='PT29M45S', metrics={'viewCount': '477', 'likeCount': '17', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='0c46YHS3RY8', title='Greg Price - Clearer Code at Scale: Static Types at Zulip and Dropbox - PyCon 2018', duration='PT29M51S', metrics={'viewCount': '407', 'likeCount': '8', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='SrJq2AzXZME', title='Allen Downey - Introduction to Digital Signal Processing - PyCon 2018', duration='PT3H5M24S', metrics={'viewCount': '1232', 'likeCount': '25', 'dislikeCount': '1', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='hWV8t494N88', title='Pieter Hooimeijer - Types, Deeper Static Analysis, and you - PyCon 2018', duration='PT28M29S', metrics={'viewCount': '928', 'likeCount': '20', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='Iq72dt1gO9c', title='Matthew Rocklin - Democratizing Distributed Computing with Dask and JupyterHub - PyCon 2018', duration='PT32M6S', metrics={'viewCount': '525', 'likeCount': '9', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='VAXCrDrAPo0', title='Tania  Sanchez Monroy - Down the rabbit hole. A 101 on reproducible workflows with Python', duration='PT3H9M46S', metrics={'viewCount': '1201', 'likeCount': '13', 'dislikeCount': '1', 'favoriteCount': '0', 'commentCount': '2'}),
 Video(id='_UWRQZ3nFm0', title='Tom Augspurger, James Crist, Martin Durant - Parallel Data Analysis with Dask - PyCon 2018', duration='PT3H13M50S', metrics={'viewCount': '725', 'likeCount': '14', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='VJ0vibC_Hl0', title='Saturday Morning Lightning Talks + Keynotes - PyCon 2018', duration='PT1H26M20S', metrics={'viewCount': '1248', 'likeCount': '19', 'dislikeCount': '1', 'favoriteCount': '0', 'commentCount': '1'}),
 Video(id='ITksU31c1WY', title='Dan Callahan - Keynote - PyCon 2018', duration='PT30M10S', metrics={'viewCount': '512', 'likeCount': '14', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '1'}),
 Video(id='0ROZRNZkPS8', title='Carol Willing - Practical Sphinx - PyCon 2018', duration='PT27M21S', metrics={'viewCount': '543', 'likeCount': '10', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '3'}),
 Video(id='KAPeaEJeuc8', title="Elizabeth Wickes - Hard Shouldn't be Hardship: Supporting Absolute Novices to Python - PyCon 2018", duration='PT30M15S', metrics={'viewCount': '131', 'likeCount': '6', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '2'}),
 Video(id='L9Y2ap6vIMg', title='Alex Gaynor - Learning From Failure: Post Mortems - PyCon 2018', duration='PT29M24S', metrics={'viewCount': '591', 'likeCount': '11', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '1'}),
 Video(id='DG2AAhvh7nk', title='Liana Bakradze - Learning Python like a Pro - PyCon 2018', duration='PT25M46S', metrics={'viewCount': '764', 'likeCount': '5', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '2'}),
 Video(id='lpWvYxEW09k', title='Stacy Morse - Code Reviews Using Art Critique Principles - PyCon 2018', duration='PT29M53S', metrics={'viewCount': '326', 'likeCount': '11', 'dislikeCount': '1', 'favoriteCount': '0', 'commentCount': '1'}),
 Video(id='ww1UsGZV8fQ', title='Lisa Roach - Demystifying the Patch Function   - PyCon 2018', duration='PT37M7S', metrics={'viewCount': '391', 'likeCount': '13', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '1'}),
 Video(id='svcBO-OjYfM', title='Code like an accountant: Designing data systems for accuracy, resilience and auditability', duration='PT31M28S', metrics={'viewCount': '376', 'likeCount': '8', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='uRvTeK5Ndq8', title='Christy Heaton - Intro to Spatial Analysis and Maps with Python - PyCon 2018', duration='PT2H33M17S', metrics={'viewCount': '437', 'likeCount': '10', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='w0xgJ5C9Be8', title='Philip James - API-Driven Django - PyCon 2018', duration='PT3H13M22S', metrics={'viewCount': '650', 'likeCount': '7', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '2'}),
 Video(id='dWuRDbH4Xlw', title='Scott Triglia - Surviving (and thriving!) when you are overloaded - PyCon 2018', duration='PT27M16S', metrics={'viewCount': '393', 'likeCount': '13', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='zzbw0JbiI6Y', title='Chalmer Lowe - Statistics and probability: your first steps on the road to data science - PyCon 2018', duration='PT3H14M8S', metrics={'viewCount': '438', 'likeCount': '9', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '1'}),
 Video(id='_rLPDxpXIFc', title='Harry  Percival - Introduction to TDD with Django - PyCon 2018', duration='PT3H11M53S', metrics={'viewCount': '409', 'likeCount': '8', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='HuuYwUxM-ZY', title='Allison Kaptur - Love your bugs - PyCon 2018', duration='PT33M18S', metrics={'viewCount': '192', 'likeCount': '8', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='xEE4X-9RROM', title='Dmitry Filippov, Ewa Jodlowska - By the Numbers: Python Community Trends in 2017/2018 - PyCon 2018', duration='PT25M41S', metrics={'viewCount': '218', 'likeCount': '4', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='h-38HZqanJs', title='VM (Vicky) Brasseur - The human nature of failure & resiliency - PyCon 2018', duration='PT44M44S', metrics={'viewCount': '175', 'likeCount': '9', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '1'}),
 Video(id='3kta4GB3PAw', title='Catherine Devlin Keynote - Final Remarks - PyCon 2018', duration='PT44M55S', metrics={'viewCount': '334', 'likeCount': '7', 'dislikeCount': '3', 'favoriteCount': '0', 'commentCount': '1'}),
 Video(id='kw0RL9LZk9s', title='Ian Zelikman, Austin Hacker - Workflow Engines Up and Running - PyCon 2018', duration='PT3H25M15S', metrics={'viewCount': '451', 'likeCount': '8', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '1'}),
 Video(id='XKoK9wJjSqY', title='Moshe Zadka - Web Applications, A to Z - PyCon 2018', duration='PT3H25M1S', metrics={'viewCount': '1281', 'likeCount': '16', 'dislikeCount': '2', 'favoriteCount': '0', 'commentCount': '4'}),
 Video(id='jbb1dbFaovg', title='Aly Sivji, Joe Jasinski, tathagata dasgupta (t) - Docker for Data Science - PyCon 2018', duration='PT3H20M57S', metrics={'viewCount': '379', 'likeCount': '7', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '1'}),
 Video(id='fJj18KzomR0', title='Lightning Talks - Thursday - PyCon 2018', duration='PT34M24S', metrics={'viewCount': '705', 'likeCount': '3', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '1'}),
 Video(id='zxcvyrhmjbc', title='Michael Herman - Going Serverless with OpenFaaS, Kubernetes, and Python - PyCon 2018', duration='PT3H10M10S', metrics={'viewCount': '847', 'likeCount': '9', 'dislikeCount': '1', 'favoriteCount': '0', 'commentCount': '1'}),
 Video(id='Fzlg95lrILk', title='Shauna Gordon-McKeon - Beyond Django Basics - PyCon 2018', duration='PT3H16M', metrics={'viewCount': '280', 'likeCount': '5', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '3'}),
 Video(id='K94iCIy77pA', title='Anna Nicanorova - Data Visualization in Mixed Reality with Python - PyCon 2018', duration='PT18M45S', metrics={'viewCount': '231', 'likeCount': '5', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '3'}),
 Video(id='X4YHGKj3V5M', title='Irina Truong - Adapting from Spark to Dask: what to expect - PyCon 2018', duration='PT27M55S', metrics={'viewCount': '364', 'likeCount': '7', 'dislikeCount': '1', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='s36GwDng904', title='Devishi Jha - Teaching Python 101  - PyCon 2018', duration='PT22M8S', metrics={'viewCount': '216', 'likeCount': '5', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '2'}),
 Video(id='LEkyvEZoDZg', title='Stephanie Kim - Exploring Deep Learning Framework PyTorch - PyCon 2018', duration='PT43M2S', metrics={'viewCount': '478', 'likeCount': '4', 'dislikeCount': '1', 'favoriteCount': '0', 'commentCount': '2'}),
 Video(id='GuNoaAFnTPg', title="Lilly Ryan - Don't Look Back in Anger: Wildman Whitehouse and the Great Failure of 1858 - PyCon 2018", duration='PT30M13S', metrics={'viewCount': '164', 'likeCount': '5', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='XhWvz4dK4ng', title='Emily Morehouse-Valcarcel - The AST and Me - PyCon 2018', duration='PT23M40S', metrics={'viewCount': '306', 'likeCount': '10', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='BqJyaejvVjQ', title='Carol Willing - STEAM Workshops using Jupyter Notebooks, JupyterHub, and Binder - PyCon 2018', duration='PT34M44S', metrics={'viewCount': '185', 'likeCount': '3', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='-kqZtZj4Ky0', title='Stuart Williams - Python Epiphanies - PyCon 2018', duration='PT3H17M9S', metrics={'viewCount': '667', 'likeCount': '8', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='R4kMwckrUlg', title='Amit Saha - Counter, Gauge, Upper 90 - Oh my! - PyCon 2018', duration='PT25M31S', metrics={'viewCount': '197', 'likeCount': '1', 'dislikeCount': '1', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='Aj3KMefwOqI', title='Victor Stinner - Python 3: ten years later - PyCon 2018', duration='PT43M4S', metrics={'viewCount': '389', 'likeCount': '4', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '1'}),
 Video(id='J8LvW-tyLRc', title='Nicolle Cysneiros - Graph Databases: Talking about your Data Relationships with Python - PyCon 2018', duration='PT45M31S', metrics={'viewCount': '347', 'likeCount': '7', 'dislikeCount': '2', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='aGGbnMyeZs0', title='Scott Sanderson - Foundations of Numerical Computing in Python - PyCon 2018', duration='PT3H22M30S', metrics={'viewCount': '702', 'likeCount': '5', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '3'}),
 Video(id='Pbz1fo7KlGg', title='Mario Corchero - Effortless Logging: A deep dive into the logging module - PyCon 2018', duration='PT30M28S', metrics={'viewCount': '2097', 'likeCount': '43', 'dislikeCount': '5', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='G1lDk_WKXvY', title='Kyle Knapp - Automating Code Quality - PyCon 2018', duration='PT29M45S', metrics={'viewCount': '761', 'likeCount': '17', 'dislikeCount': '1', 'favoriteCount': '0', 'commentCount': '2'}),
 Video(id='0Z45gcIwwrQ', title='Sam Kitajima-Kimbrel - Bowerbirds of Technology: Architecture and Teams at Less-than-Google Scale', duration='PT29M59S', metrics={'viewCount': '131', 'likeCount': '2', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='CiegLU8ijFU', title='David Gouldin - import time_travel: A Primer on Timezones in Python - PyCon 2018', duration='PT41M3S', metrics={'viewCount': '184', 'likeCount': '4', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='3m555yWTaNI', title="Shannon Turner - You're an expert. Here's how to teach like one. - PyCon 2018", duration='PT28M8S', metrics={'viewCount': '350', 'likeCount': '14', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '1'}),
 Video(id='DGrS0uwMuHY', title="Mike Müller - Faster Python Programs - Measure, don't Guess - PyCon 2018", duration='PT3H23M28S', metrics={'viewCount': '597', 'likeCount': '3', 'dislikeCount': '1', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='bTAFl8P2DkE', title='Lightning Talks - Friday - PyCon 2018', duration='PT56M59S', metrics={'viewCount': '500', 'likeCount': '7', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '2'}),
 Video(id='wXnvEzw4hHI', title='Adam Englander - Practical API Security - PyCon 2018', duration='PT2H55M53S', metrics={'viewCount': '335', 'likeCount': '6', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='-9NpTeddWds', title='Joyce Jang - Build Teams as an Engineer - PyCon 2018', duration='PT31M56S', metrics={'viewCount': '206', 'likeCount': '5', 'dislikeCount': '1', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='WXkhJ92-fsY', title='Steven Sklar - The Hare Wins the Race: Getting the most out of RabbitMQ in distributed applications', duration='PT28M57S', metrics={'viewCount': '259', 'likeCount': '8', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '1'}),
 Video(id='WVnACT48CkE', title='Zekun Li - There and Back Again: Disable and re-enable garbage collector at Instagram - PyCon 2018', duration='PT24M12S', metrics={'viewCount': '260', 'likeCount': '8', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '1'}),
 Video(id='8OoR-P6wE0M', title='Rizky Ariestiyansyah - When data meets education! The secret life of data in education - PyCon 2018', duration='PT24M58S', metrics={'viewCount': '190', 'likeCount': '10', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '2'}),
 Video(id='H4SS9yVWJYA', title='Jason Fried - Fighting the Good Fight: Python 3 in your organization - PyCon 2018', duration='PT30M48S', metrics={'viewCount': '310', 'likeCount': '6', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='79AIzbjLzdk', title='Ewa Jodlowska - PSF Report & Community Service Awards - PyCon 2018', duration='PT12M56S', metrics={'viewCount': '587', 'likeCount': '4', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '1'}),
 Video(id='I5AZ3rTR4Wc', title='Valery Calderon - Reactive Programming with RxPy - PyCon 2018', duration='PT19M27S', metrics={'viewCount': '272', 'likeCount': '0', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='938yg4udxSc', title='Kirk Kaiser - Birding with Python and Machine Learning - PyCon 2018', duration='PT23M8S', metrics={'viewCount': '248', 'likeCount': '2', 'dislikeCount': '1', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='M5U9RwBJXiQ', title='Stuart Williams - Python by Immersion - PyCon 2018', duration='PT3H7M29S', metrics={'viewCount': '230', 'likeCount': '2', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='lk6FGg5RzAk', title='Van Lindberg - Deconstructing the US Patent Database - PyCon 2018', duration='PT21M32S', metrics={'viewCount': '212', 'likeCount': '3', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='LDdUuoI_lIg', title='Justin Crown - "WHAT IS THIS MESS?" - Writing tests for pre-existing code bases - PyCon 2018', duration='PT27M39S', metrics={'viewCount': '359', 'likeCount': '12', 'dislikeCount': '1', 'favoriteCount': '0', 'commentCount': '1'}),
 Video(id='TStuXnGfwVw', title='Josh Lowe - Invited Speaker - PyCon 2018', duration='PT22M23S', metrics={'viewCount': '453', 'likeCount': '9', 'dislikeCount': '1', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='yN98sklnHSM', title='Wanjun Zhang - Coding as Enrichment: How to Empower Students with Creative Coding Experiences', duration='PT27M44S', metrics={'viewCount': '244', 'likeCount': '4', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '1'}),
 Video(id='EtIAbfCrsFI', title='Andrew Knight - Behavior-Driven Python - PyCon 2018', duration='PT28M31S', metrics={'viewCount': '323', 'likeCount': '8', 'dislikeCount': '1', 'favoriteCount': '0', 'commentCount': '4'}),
 Video(id='q-x7jK72E6E', title='Jason Huggins - Keynote - PyCon 2018', duration='PT32M35S', metrics={'viewCount': '1173', 'likeCount': '7', 'dislikeCount': '14', 'favoriteCount': '0', 'commentCount': '6'}),
 Video(id='tFalO9KdCDM', title='Harry  Percival - Intermediate testing with Django:  Outside-in TDD and Mocking effectively', duration='PT3H20M47S', metrics={'viewCount': '115', 'likeCount': '5', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '2'}),
 Video(id='_nSKR-lJjO0', title='Amirali Sanatinia - Getting Started with Blockchains and Cryptocurrencies in Python - PyCon 2018', duration='PT3H18M6S', metrics={'viewCount': '425', 'likeCount': '7', 'dislikeCount': '2', 'favoriteCount': '0', 'commentCount': '3'}),
 Video(id='rCZgroTno1w', title='Meg Ray - Python for N00bs: A cognitive and educational approach - PyCon 2018', duration='PT25M56S', metrics={'viewCount': '142', 'likeCount': '5', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='EGF4G2feXx4', title='Amanda Sopkin -  Randomness in Python: Creating Chaos in an Ordered Machine/Controlled Environment', duration='PT28M11S', metrics={'viewCount': '120', 'likeCount': '4', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='_6U1XoxyyBY', title='Trey Hunner - Using List Comprehensions and Generator Expressions For Data Processing - PyCon 2018', duration='PT3H21M44S', metrics={'viewCount': '1161', 'likeCount': '20', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '3'}),
 Video(id='EEV4G6rh-KQ', title='Rae Knowler - Python, Locales and Writing Systems - PyCon 2018', duration='PT35M4S', metrics={'viewCount': '166', 'likeCount': '3', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='cxTXJ3N91s0', title='Using GitHub, Travis CI, and Python to Introduce Collaborative Software Development - PyCon 2018', duration='PT26M33S', metrics={'viewCount': '192', 'likeCount': '4', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='zIcgCZl37tU', title='The importance of exploratory data analysis and data visualization in machine learning - PyCon 2018', duration='PT17M35S', metrics={'viewCount': '357', 'likeCount': '7', 'dislikeCount': '1', 'favoriteCount': '0', 'commentCount': '1'}),
 Video(id='XMtygcrqHqo', title='Lights Camera Action! Scrape, explore, and model to predict Oscar winners & box office hits', duration='PT3H8M41S', metrics={'viewCount': '496', 'likeCount': '4', 'dislikeCount': '1', 'favoriteCount': '0', 'commentCount': '2'}),
 Video(id='GmbaKdd6o6A', title='Anna Ossowski - Flourishing FLOSS: Making Your Project Successful - PyCon 2018', duration='PT28M59S', metrics={'viewCount': '127', 'likeCount': '7', 'dislikeCount': '1', 'favoriteCount': '0', 'commentCount': '1'}),
 Video(id='BwC01zoSRBc', title="Julie Lavoie - Beyond scraping: how to use machine learning when you're not sure where to start", duration='PT24M58S', metrics={'viewCount': '458', 'likeCount': '11', 'dislikeCount': '2', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='McgG09XriEI', title='Debugging PySpark -- Or trying to make sense of a JVM stack trace when you were minding your own bus', duration='PT25M58S', metrics={'viewCount': '211', 'likeCount': '0', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='kx-048qE-TI', title='Ruben Orduz,  Nolan Brubaker - A Python-flavored Introduction to Containers And Kubernetes', duration='PT2H48M35S', metrics={'viewCount': '659', 'likeCount': '7', 'dislikeCount': '4', 'favoriteCount': '0', 'commentCount': '2'}),
 Video(id='dGz-K8x8k5k', title='Chris Schuhmacher - Coding through Adversity - PyCon 2018', duration='PT27M52S', metrics={'viewCount': '197', 'likeCount': '5', 'dislikeCount': '2', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='iQI56-up3Yk', title='Amjith Ramanujam - How Netflix does failovers in 7 minutes flat - PyCon 2018', duration='PT31M46S', metrics={'viewCount': '807', 'likeCount': '17', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='8mYlzEanNEY', title='Laura Jacob - GenZeal: A new generation of thinkers who design, develop, and distribute for tomorrow', duration='PT27M58S', metrics={'viewCount': '63', 'likeCount': '0', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='2Tg2gfzL_8s', title='Melanie Crutchfield - Code Your Heart Out: Beginning Python for Human People with Feelings', duration='PT2H32M11S', metrics={'viewCount': '344', 'likeCount': '3', 'dislikeCount': '3', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='TcHkkzWBMKY', title='Anubha Maneshwar - Pycamp 2K17: A Disclaimer - PyCon 2018', duration='PT16M25S', metrics={'viewCount': '60', 'likeCount': '0', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='HkbMUrgzwMs', title='Eric Ma, Mridul Seth - Network Analysis Made Simple: Part I - PyCon 2018', duration='PT3H21M59S', metrics={'viewCount': '479', 'likeCount': '4', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='wJpUlnfwjbk', title='Christopher Beacham / Lady Red - Visualizing Algorithms with Python and Programmable LEDs', duration='PT30M18S', metrics={'viewCount': '162', 'likeCount': '1', 'dislikeCount': '1', 'favoriteCount': '0', 'commentCount': '1'}),
 Video(id='UYpWVfTng4s', title='vigneshwer dhinakaran - Pumping up Python modules using Rust - PyCon 2018', duration='PT30M41S', metrics={'viewCount': '583', 'likeCount': '6', 'dislikeCount': '6', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='tRp84BlFF94', title='Justin Myles Holmes - Python across the USA: This is the Bus. - PyCon 2018', duration='PT24M57S', metrics={'viewCount': '137', 'likeCount': '3', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='3EXvR1shVFQ', title='Erin Braswell - Python Data Sonification for Science and Discovery - PyCon 2018', duration='PT26M12S', metrics={'viewCount': '247', 'likeCount': '11', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '2'}),
 Video(id='yrRqNzJTBjk', title='Matt Davis - Python Performance Investigation by Example - PyCon 2018', duration='PT30M36S', metrics={'viewCount': '494', 'likeCount': '12', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '1'}),
 Video(id='F0uiLhZmtN4', title='Allen Downey - Complexity Science - PyCon 2018', duration='PT3H8M3S', metrics={'viewCount': '504', 'likeCount': '4', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '2'}),
 Video(id='43NiFtbNg_s', title='Julie Qiu - Strategies to Edit Production Data - PyCon 2018', duration='PT26M51S', metrics={'viewCount': '139', 'likeCount': '1', 'dislikeCount': '3', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='klaGx9Q_SOA', title='Trey Hunner - Python 2 to 3: How to Upgrade and What Features to Start Using - PyCon 2018', duration='PT25M59S', metrics={'viewCount': '529', 'likeCount': '14', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '2'}),
 Video(id='A5tPhUKljuY', title='Amber Brown ("HawkOwl") - How We Do Identity Wrong - PyCon 2018', duration='PT32M17S', metrics={'viewCount': '497', 'likeCount': '6', 'dislikeCount': '13', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='G9I5ZnkWR0A', title='Colin Carroll, Karin C. Knudson - Fighting Gerrymandering with PyMC3 - PyCon 2018', duration='PT30M3S', metrics={'viewCount': '263', 'likeCount': '4', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '1'}),
 Video(id='RojaWIoBfOo', title='Christopher Swenson - Colossal Cave Adventure in Python... in the browser! - PyCon 2018', duration='PT41M42S', metrics={'viewCount': '193', 'likeCount': '7', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '1'}),
 Video(id='MRCLwmYTVpc', title='Mridul Seth, Eric Ma - Network Analysis Made Simple: Part II  - PyCon 2018', duration='PT3H21M14S', metrics={'viewCount': '149', 'likeCount': '1', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='WCEXYvv-T5Q', title='Liz Sander - Software Library APIs: Lessons Learned from scikit-learn - PyCon 2018', duration='PT27M23S', metrics={'viewCount': '246', 'likeCount': '4', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='6_P_h2bDwYs', title='Julie Qiu - Build a Search Engine with Python + Elasticsearch - PyCon 2018', duration='PT2H58M24S', metrics={'viewCount': '267', 'likeCount': '3', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='dT2xjgUInhQ', title='Philip James, Asheesh Laroia - All in the timing: How side channel attacks work - PyCon 2018', duration='PT30M15S', metrics={'viewCount': '141', 'likeCount': '4', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='ZwvjtCjimiw', title='Mariatta Wijaya - Build-a-GitHub-Bot Workshop - PyCon 2018', duration='PT1H56M1S', metrics={'viewCount': '108', 'likeCount': '0', 'dislikeCount': '0', 'favoriteCount': '0', 'commentCount': '0'}),
 Video(id='C7ZhMnfUKIA', title='How we designed an inclusivity-first conference on a shoestring budget and short timeline', duration='PT31M9S', metrics={'viewCount': '122', 'likeCount': '9', 'dislikeCount': '3', 'favoriteCount': '0', 'commentCount': '0'})]