Archives: Episodes

Unpacking The Python Toolkit For Chaos Engineering - Episode 199

Summary

Chaos engineering is the practice of injecting failures into your production systems in a controlled manner to identify weaknesses in your applications. In order to build, run, and report on chaos experiments Sylvain Hellegouarch created the Chaos Toolkit. In this episode he explains his motivation for creating the toolkit, how to use it for improving the resiliency of your systems, and his plans for the future. He also discusses best practices for building, running, and learning from your own experiments.

Announcements

  • Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.
  • When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With 200 Gbit/s private networking, scalable shared block storage, node balancers, and a 40 Gbit/s public network, all controlled by a brand new API you’ve got everything you need to scale up. Go to pythonpodcast.com/linode to get a $20 credit and launch a new server in under a minute. And don’t forget to thank them for their continued support of this show!
  • And to keep track of how your team is progressing on building new features and squashing bugs, you need a project management system designed by software engineers, for software engineers. Clubhouse lets you craft a workflow that fits your style, including per-team tasks, cross-project epics, a large suite of pre-built integrations, and a simple API for crafting your own. Podcast.__init__ listeners get 2 months free on any plan by going to pythonpodcast.com/clubhouse today and signing up for a trial.
  • Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected])
  • To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media.
  • Join the community in the new Zulip chat workspace at pythonpodcast.com/chat
  • Your host as usual is Tobias Macey and today I’m interviewing Sylvain Hellegouarch about Chaos Toolkit, a framework for building and automating chaos engineering experiments

Interview

  • Introductions
  • How did you get introduced to Python?
  • Can you start by explaining what Chaos Engineering is?
  • What is the Chaos Toolkit and what motivated you to create it?
    • How does it compare to the Gremlin platform?
  • What is the workflow for using Chos Toolkit to build and run an experiment?
    • What are the best practices for building a useful experiment?
    • Once you have an experiment created, how often should it be executed?
  • When running an experiment, what are some strategies for identifying points of failure, particularly if they are unexpected?
    • What kinds of reporting and statistics are captured during a test run?
  • Can you describe how Chaos Toolkit is implemented and how it has evolved since you began working on it?
  • What are some of the most challenging aspects of ensuring that the experiments run via the Chaos Toolkit are safe and have a reliable rollback available?
  • What have been some of the most interesting/useful/unexpected lessons that you have learned in the process of building and maintaining the Chaos Toolkit project and community?
  • What do you have planned for the future of the project?

Keep In Touch

Picks

Links

The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Computational Musicology For Python Programmers - Episode 198

Summary

Music is a part of every culture around the world and throughout history. Musicology is the study of that music from a structural and sociological perspective. Traditionally this research has been done in a manual and painstaking manner, but the advent of the computer age has enabled an increase of many orders of magnitude in the scope and scale of analysis that we can perform. The music21 project is a Python library for computer aided musicology that is written and used by MIT professor Michael Scott Cuthbert. In this episode he explains how the project was started, how he is using it personally, professionally, and in his lectures, as well as how you can use it for your own exploration of musical analysis.

Announcements

  • Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.
  • When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With 200 Gbit/s private networking, scalable shared block storage, node balancers, and a 40 Gbit/s public network, all controlled by a brand new API you’ve got everything you need to scale up. Go to pythonpodcast.com/linode to get a $20 credit and launch a new server in under a minute. And don’t forget to thank them for their continued support of this show!
  • And to keep track of how your team is progressing on building new features and squashing bugs, you need a project management system designed by software engineers, for software engineers. Clubhouse lets you craft a workflow that fits your style, including per-team tasks, cross-project epics, a large suite of pre-built integrations, and a simple API for crafting your own. Podcast.__init__ listeners get 2 months free on any plan by going to pythonpodcast.com/clubhouse today and signing up for a trial.
  • Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email h[email protected])
  • To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media.
  • Join the community in the new Zulip chat workspace at pythonpodcast.com/chat
  • Your host as usual is Tobias Macey and today I’m interviewing Michael Cuthbert about music21, a toolkit for computer aided musicology

Interview

  • Introductions
  • How did you get introduced to Python?
  • Can you start by explaining what computational musicology is?
  • What is music21 and what motivated you to create it?
    • What are some of the use cases that music21 supports, and what are some common requests that you purposefully don’t support?
  • How much knowledge of musical notation, structure, and theory is necessary to be able to work with music21?
  • Can you talk through a typical workflow for doing analysis of one or more pieces of existing music?
    • What are some of the common challenges that users encounter when working with it (either on the side of Python or musicology/musical theory)?
    • What about for doing exploration of new musical works?
  • As a professor at MIT, what are some of the ways that music21 has been incorporated into your classroom?
    • What have they enjoyed most about it?
  • How is music21 implemented, and how has its structure evolved since you first started it?
    • What have been the most challenging aspects of building and maintaining the music21 project and community?
  • What are some of the most interesting, unusual, or unexpected ways that you have seen music21 used?
    • What are some analyses that you have performed which yielded unexpected results?
  • What do you have planned for the future of music21?
  • Beyond computational analysis of musical theory, what are some of the other ways that you are using Python in your academic and professional pursuits?

Keep In Touch

Picks

Links

The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Classic Computer Science For Pythonistas - Episode 197

Summary

Software development is a career that attracts people from all backgrounds, and Python in particular helps to make it an approachable occupation. Because of the variety of paths that can be taken it is becoming increasingly common for practitioners to bypass the traditional computer science education. In this episode David Kopec discusses some of the classic problems that he has found most useful to understand in his work as a professor and practitioner of software engineering. He shares his motivation for writing the book "Classic Computer Science Problems In Python", the practical approach that he took, and an overview of how the contents can be used in your day-to-day work.

Announcements

  • Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.
  • When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With 200 Gbit/s private networking, scalable shared block storage, node balancers, and a 40 Gbit/s public network, all controlled by a brand new API you’ve got everything you need to scale up. Go to pythonpodcast.com/linode to get a $20 credit and launch a new server in under a minute. And don’t forget to thank them for their continued support of this show!
  • And to keep track of how your team is progressing on building new features and squashing bugs, you need a project management system designed by software engineers, for software engineers. Clubhouse lets you craft a workflow that fits your style, including per-team tasks, cross-project epics, a large suite of pre-built integrations, and a simple API for crafting your own. Podcast.__init__ listeners get 2 months free on any plan by going to pythonpodcast.com/clubhouse today and signing up for a trial.
  • Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected])
  • To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media.
  • Join the community in the new Zulip chat workspace at pythonpodcast.com/chat
  • Your host as usual is Tobias Macey and today I’m interviewing David Kopec about his recent book "Classic Computer Science Problems In Python"

Interview

  • Introductions
  • How did you get introduced to Python?
  • Can you start by discussing your motivation for creating this book and the subject matter that it covers?
    • How do you define a "classic" computer science problem and what was your criteria for selecting the specific cases that you included in the book?
  • What are your favorite features of the Python language, and which of them did you learn as part of the process of writing the examples for this book?
  • Which classes of problems have you found to be most difficult for your readers and students to master?
    • Which do you consider to be most relevant/useful to professional software engineers?
  • I was pleasantly surprised to see introductory aspects of artificial intelligence included in the subject matter that you covered. How did you approach the challenge of making the underlying principles accessible to readers who don’t necessarily have a background in the related fields of mathematics?
  • What are some of the most interesting or unexpected changes that you had to make in the process of adapting your examples from Swift to Python in order to make them appropriately idiomatic?
  • By aiming for an intermediate audience you free yourself of the need to incorporate fundamental aspects of programming, but there can be a wide variety of experiences at that level of experience. How did you approach the challenge of making the text accessible while still being accurate and engaging?
  • What are some of the resources that you would recommend to readers who would like to continue learning about computer science after completing your book?

Keep In Touch

Book Discount And Giveaway

Picks

Links

The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

What You Need To Know About Open Source Licenses And Intellectual Property - Episode 196

Summary

As a developer and user of open source code, you interact with software and digital media every day. What is often overlooked are the rights and responsibilities conveyed by the intellectual property that is implicit in all creative works. Software licenses are a complicated legal domain in their own right, and they can often conflict with each other when you factor in the web of dependencies that your project relies on. In this episode Luis Villa, Co-Founder of Tidelift, explains the catagories of software licenses, how to select the right one for your project, and what to be aware of when you contribute to someone else’s code.

Announcements

  • Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.
  • When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With 200 Gbit/s private networking, scalable shared block storage, node balancers, and a 40 Gbit/s public network, all controlled by a brand new API you’ve got everything you need to scale up. Go to pythonpodcast.com/linode to get a $20 credit and launch a new server in under a minute. And don’t forget to thank them for their continued support of this show!
  • And to keep track of how your team is progressing on building new features and squashing bugs, you need a project management system designed by software engineers, for software engineers. Clubhouse lets you craft a workflow that fits your style, including per-team tasks, cross-project epics, a large suite of pre-built integrations, and a simple API for crafting your own. Podcast.__init__ listeners get 2 months free on any plan by going to pythonpodcast.com/clubhouse today and signing up for a trial.
  • Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected])
  • To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media.
  • Join the community in the new Zulip chat workspace at pythonpodcast.com/chat
  • Your host as usual is Tobias Macey and today I’m interviewing Luis Villa about software licensing and intellectual property rules that developers need to know

Interview

  • Introductions
  • How did you get started as a programmer?
  • Intellectual property law and licensing of software, data, and media are complicated topics that are often poorly understood by developers. Can you start off by giving an overview of categories of intellectual property that we should be thinking of?
  • Most of us who have created or used software, whether it is open or closed source, have at some point come across various licenses. What may not be immediately obvious is that there are degrees of compatibility between these licenses. What are some guiding principles for determining which licenses are in conflict?
    • In an organization, who is responsible for ensuring compliance with software and content licensing within a given project?
    • When introducing new dependencies into a project or system what steps should be taken to evaluate license compatibility and compliance?
  • When creating a new project, one of the steps in the process is to select a license. What are some useful guidelines or questions to determine which license to use?
  • Another aspect of software licensing that developers might run into is when contributing to an open source project where a contributor license agreement might be necessary. What should we be thinking about when deciding whether to sign such an agreement?
  • In addition to software libraries, developers might need to use content such as images, audio, or video in their projects which have their own copyright and licensing considerations. What are some of the things that we should be looking for in those situations?
  • Another component of our systems that has grown in its importance with the rise of advanced analytics is data. We may need to use open data sources, pay for access to data repositories, or provide access to data that is under our control. What are some common approaches to licensing or terms of use for these contexts?
    • What should we be wary of when using or providing data in our applications?
  • How much of the work that you do at Tidelift is spent on educating developers and customers on the finer points of intellectual property management?
    • What are some of the most common difficulties or points of confusion that you encounter?
  • What are some useful resources that you would recommend to anyone who is interested in learning more about intellectual property and software licensing?

Keep In Touch

Picks

Links

The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Counteracting Code Complexity With Wily - Episode 195

Summary

As we build software projects, complexity and technical debt are bound to creep into our code. To counteract these tendencies it is necessary to calculate and track metrics that highlight areas of improvement so that they can be acted on. To aid in identifying areas of your application that are breeding grounds for incidental complexity Anthony Shaw created Wily. In this episode he explains how Wily traverses the history of your repository and computes code complexity metrics over time and how you can use that information to guide your refactoring efforts.

Preface

  • Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.
  • When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With 200 Gbit/s private networking, scalable shared block storage, node balancers, and a 40 Gbit/s public network, all controlled by a brand new API you’ve got everything you need to scale up. Go to pythonpodcast.com/linode to get a $20 credit and launch a new server in under a minute. And don’t forget to thank them for their continued support of this show!
  • And to keep track of how your team is progressing on building new features and squashing bugs, you need a project management system designed by software engineers, for software engineers. Clubhouse lets you craft a workflow that fits your style, including per-team tasks, cross-project epics, a large suite of pre-built integrations, and a simple API for crafting your own. Podcast.__init__ listeners get 2 months free on any plan by going to pythonpodcast.com/clubhouse today and signing up for a trial.
  • Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected])
  • To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media.
  • Join the community in the new Zulip chat workspace at pythonpodcast.com/chat
  • Your host as usual is Tobias Macey and today I’m interviewing Anthony Shaw about Wily, a command-line application for tracking and reporting on complexity of Python tests and applications

Interview

  • Introductions
  • How did you get introduced to Python?
  • Can you start by describing what Wily is and what motivated you to create it?
  • What is software complexity and why should developers care about it?
    • What are some methods for measuring complexity?
  • I know that Python has the McCabe tool, but what other methods are there for determining complexity, both in Python and for other languages?
  • What kinds of useful signals can you derive from evaluating historical trends of complexity in a codebase?
  • What are some other useful metrics for tracking and maintaining the health of a software project?
  • Once you have established the points of complexity in your software, what are some strategies for remediating it?
  • What are your favorite tools for refactoring?
  • What are some of the aspects of developer-oriented tools that you have found to be most important in your own projects?
  • What are your plans for the future of Wily, or any other tools that you have in mind to aid in producing healthy software?

Keep In Touch

Picks

Links

The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Teaching Digital Archaeology With Jupyter Notebooks - Episode 194

Summary

Computers have found their way into virtually every area of human endeavor, and archaeology is no exception. To aid his students in their exploration of digital archaeology Shawn Graham helped to create an online, digital textbook with accompanying interactive notebooks. In this episode he explains how computational practices are being applied to archaeological research, how the Online Digital Archaeology Textbook was created, and how you can use it to get involved in this fascinating area of research.

Introduction

  • Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.
  • When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With 200 Gbit/s private networking, scalable shared block storage, node balancers, and a 40 Gbit/s public network, all controlled by a brand new API you’ve got everything you need to scale up. Go to pythonpodcast.com/linode to get a $20 credit and launch a new server in under a minute. And don’t forget to thank them for their continued support of this show!
  • And to keep track of how your team is progressing on building new features and squashing bugs, you need a project management system designed by software engineers, for software engineers. Clubhouse lets you craft a workflow that fits your style, including per-team tasks, cross-project epics, a large suite of pre-built integrations, and a simple API for crafting your own. Podcast.__init__ listeners get 2 months free on any plan by going to pythonpodcast.com/clubhouse today and signing up for a trial.
  • Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected])
  • To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media.
  • Join the community in the new Zulip chat workspace at pythonpodcast.com/chat
  • Your host as usual is Tobias Macey and today I’m interviewing Shawn Graham about his work on the Online Digital Archaeology Textbook

Interview

  • Introductions
  • How did you get introduced to Python?
  • Can you start by explaining what digital archaeology is?
  • To facilitate your teaching you have collaborated on the O-DATE textbook and associated Jupyter notebooks. Can you describe what that resource covers and how the project got started?
  • What have you found to be the most critical lessons for your students to help them be effective archaeologists?
    • What are the most useful aspects of leveraging computational techniques in an archaeological context?
  • Can you describe some of the sources and formats of data that would commonly be encountered by digital archaeologists?
  • The notebooks that accompany the text have a mixture of R and Python code. What are your personal guidelines for when to use each language?
  • How have the skills and tools of software engineering influenced your views and approach to research and education in the realm of archaeology?
  • What are some of the most novel or engaging ways that you have seen computers applied to the field of archaeology?
  • What are your goals and aspirations for the O-DATE project?

Keep In Touch

Picks

Links

The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Analyzing Satellite Image Data Using PyTroll - Episode 193

Summary

Every day there are satellites collecting sensor readings and imagery of our Earth. To help make sense of that information, developers at the meteorological institutes of Sweden and Denmark worked together to build a collection of Python packages that simplify the work of downloading and processing satellite image data. In this episode one of the core developers of PyTroll explains how the project got started, how that data is being used by the scientific community, and how citizen scientists like you are getting involved.

Preface

  • Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.
  • When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so check out Linode. With 200 Gbit/s private networking, scalable shared block storage, node balancers, and a 40 Gbit/s public network, all controlled by a brand new API you’ve got everything you need to scale up. Go to pythonpodcast.com/linode to get a $20 credit and launch a new server in under a minute.
  • And to keep track of how your team is progressing on building new features and squashing bugs, you need a project management system designed by software engineers, for software engineers. Clubhouse lets you craft a workflow that fits your style, including per-team tasks, cross-project epics, a large suite of pre-built integrations, and a simple API for crafting your own. Podcast.__init__ listeners get 2 months free on any plan by going to pythonpodcast.com/clubhouse today and signing up for a trial.
  • Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected])
  • To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media.
  • Join the community in the new Zulip chat workspace at pythonpodcast.com/chat
  • Your host as usual is Tobias Macey and today I’m interviewing Martin Raspaud about PyTroll, a suite of projects for processing earth observing satellite data

Interview

  • Introductions
  • How did you get introduced to Python?
  • Can you start by explaining what PyTroll is and how the overall project got started?
  • What is the story behind the name?
  • What are the main use cases for PyTroll? (e.g. types of analysis, research domains, etc.)
  • What are the primary types of data that would be processed and analayzed with PyTroll? (e.g. images, sensor readings, etc.)
  • When retrieving the data, are you communicating directly with the satellites, or are there facilities that fetch the information periodically which you can then interface with?
  • How do you locate and select which satellites you wish to retrieve data from?
  • What are the main components of PyTroll and how do they fit together?
  • For someone processing satellite data with PyTroll, can you describe the workflow?
  • What are some of the main data formats that are used by satellites?
  • What tradeoffs are made between data density/expressiveness and bandwidth optimization?
  • What are some of the common issues with data cleanliness or data integration challenges?
  • Once the data has been retrieved, what are some of the types of analysis that would be performed with PyTroll?
  • Are there other tools that would commonly be used in conjunction with PyTroll?
  • What are some of the unique challenges posed by working with satellite observation data?
  • How has the design and capability of the various PyTroll packages evolved since you first began working on it?
  • What are some of the most interesting or unusual ways that you have seen PyTroll used?
  • What are some of the lessons that you have learned while building PyTroll that you have found to be most useful or unexpected?
  • What do you have planned for the future of PyTroll?

Keep In Touch

Picks

Links

The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Building GraphQL APIs in Python Using Graphene with Syrus Akbary - Episode 192

Summary

The web has spawned numerous methods for communicating between applications, including protocols such as SOAP, XML-RPC, and REST. One of the newest entrants is GraphQL which promises a simplified approach to client development and reduced network requests. To make implementing these APIs in Python easier, Syrus Akbary created the Graphene project. In this episode he explains the origin story of Graphene, how GraphQL compares to REST, how you can start using it in your applications, and how he is working to make his efforts sustainable.

Preface

  • Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.
  • When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so check out Linode. With 200 Gbit/s private networking, scalable shared block storage, node balancers, and a 40 Gbit/s public network, all controlled by a brand new API you’ve got everything you need to scale up. Go to pythonpodcast.com/linode to get a $20 credit and launch a new server in under a minute.
  • And to keep track of how your team is progressing on building new features and squashing bugs, you need a project management system designed by software engineers, for software engineers. Clubhouse lets you craft a workflow that fits your style, including per-team tasks, cross-project epics, a large suite of pre-built integrations, and a simple API for crafting your own. Podcast.__init__ listeners get 2 months free on any plan by going to pythonpodcast.com/clubhouse today and signing up for a trial.
  • Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected])
  • To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media.
  • Join the community in the new Zulip chat workspace at pythonpodcast.com/chat
  • Your host as usual is Tobias Macey and today I’m interviewing Syrus Akbary about Graphene, a python library for building your APIs with GraphQL

Interview

  • Introductions
  • How did you get introduced to Python?
  • What is GraphQL and what is the benefit vs a REST-based API?
    • How does it compare to specifications such as OpenAPI (formerly Swagger) or RAML?
  • Can you explain what Graphene is and your motivation for building it?
    • In addition to the Python implementation there is also a JavaScript library. Is that primarily for use as a client or can it also be used in Node for serving APIs?
  • What is involved in building a GraphQL API?
    • What does Graphene do to simplify this process?
  • How is Graphene implemented and how has that evolved since you first started working on it?
    • Is there a set of tests for verifying the compliance of Graphene or a specific API with the GraphQL specification?
  • What are some of the most complex or confusing aspects of building a GraphQL API?
  • What are some of the unique capabilities that are offered by building an application with GraphQL as the communication interface?
  • While reading through documentation in preparation for our conversation I noticed the Quiver project. Can you explain what that is and how it fits with the other Graphene projects?
    • What is it doing under the hood to optimize serving of the API?
  • For someone who is interested in adding a GraphQL interface to an existing application, what would be involved?
  • The documentation mentions creation of a schema, as well as defining queries. Is it possible for a client to craft queries that don’t match directly with those defined in the server layer?
  • What are some of the most interesting or surprising uses of Graphene and GraphQL that you have seeen?
  • What are some cases where it would be more practical to implement an API using REST instead of GraphQL?
  • What are some references that you would recommend for anyone who wants to learn more about GraphQL and its ecosystem?
  • What are your plans for the future of Graphene?

Keep In Touch

Picks

Links

The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

AIORTC: An Asynchronous WebRTC Framework with Jeremy Lainé - Episode 191

Summary

Real-time communication over the internet is an amazing feat of modern engineering. The protocol that powers a majority of video calling platforms is WebRTC. In this episode Jeremy Lainé explains why he wrote a Python implementation of this protocol in the form of AIORTC. He also discusses how it works, how you can use it in your own projects, and what he has planned for the future.

Preface

  • Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.
  • When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so check out Linode. With 200 Gbit/s private networking, scalable shared block storage, node balancers, and a 40 Gbit/s public network, all controlled by a brand new API you’ve got everything you need to scale up. Go to pythonpodcast.com/linode to get a $20 credit and launch a new server in under a minute.
  • And to keep track of how your team is progressing on building new features and squashing bugs, you need a project management system designed by software engineers, for software engineers. Clubhouse lets you craft a workflow that fits your style, including per-team tasks, cross-project epics, a large suite of pre-built integrations, and a simple API for crafting your own. Podcast.__init__ listeners get 2 months free on any plan by going to pythonpodcast.com/clubhouse today and signing up for a trial.
  • Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected])
  • To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media.
  • Join the community in the new Zulip chat workspace at pythonpodcast.com/chat
  • Your host as usual is Tobias Macey and today I’m interviewing Jeremy Lainé about AIORTC, an asynchronous implementation of the WebRTC and ObjectRTC protocols in Python

Interview

  • Introductions
  • How did you get introduced to Python?
  • Can you start by explaining what the WebRTC and ObjectRTC protocols are?
    • What are some of the main use cases for these protocols?
  • What is AIORTC and what was your motivation for creating it?
    • How does it compare to other implementations of the RTC protocols?
    • Why do you think there haven’t been any other Python implementations?
  • What are some of the benefits of having a Python implementation of the RTC protocol?
  • How is AIORTC implemented?
    • What have been some of the most difficult or challenging aspects of implementing a WebRTC compliant library?
    • What are some of the most interesting or useful lessons that you have learned in the process?
  • What is involved in building an application on top of AIORTC?
    • What would be required to integrate AIORTC into an existing application built with something such as Flask or Django?
  • What are some of the most interesting uses of AIORTC that you have seen?
  • What are some of the projects that you would like to build with AIORTC?
  • What are some cases where it would make more sense to use a different library or framework for your WebRTC projects?
  • What are your plans for the future of AIORTC?

Keep In Touch

Picks

Links

The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Polyglot: Multi-Lingual Natural Language Processing with Rami Al-Rfou - Episode 190

Summary

Using computers to analyze text can produce useful and inspirational insights. However, when working with multiple languages the capabilities of existing models are severely limited. In order to help overcome this limitation Rami Al-Rfou built Polyglot. In this episode he explains his motivation for creating a natural language processing library with support for a vast array of languages, how it works, and how you can start using it for your own projects. He also discusses current research on multi-lingual text analytics, how he plans to improve Polyglot in the future, and how it fits in the Python ecosystem.

Preface

  • Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.
  • When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so check out Linode. With 200 Gbit/s private networking, scalable shared block storage, node balancers, and a 40 Gbit/s public network, all controlled by a brand new API you’ve got everything you need to scale up. Go to pythonpodcast.com/linode to get a $20 credit and launch a new server in under a minute.
  • And to keep track of how your team is progressing on building new features and squashing bugs, you need a project management system designed by software engineers, for software engineers. Clubhouse lets you craft a workflow that fits your style, including per-team tasks, cross-project epics, a large suite of pre-built integrations, and a simple API for crafting your own. Podcast.__init__ listeners get 2 months free on any plan by going to pythonpodcast.com/clubhouse today and signing up for a trial.
  • Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected])
  • To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media.
  • Join the community in the new Zulip chat workspace at pythonpodcast.com/chat
  • Your host as usual is Tobias Macey and today I’m interviewing Rami Al-Rfou about Polyglot, a natural language pipeline with support for an impressive amount of languages

Interview

  • Introductions
  • How did you get introduced to Python?
  • Can you start by describing what Polyglot is and your reasons for starting the project?
  • What are the types of use cases that Polyglot enables which would be impractical with something such as NLTK or SpaCy?
  • A majority of NLP libraries have a limited set of languages that they support. What is involved in adding support for a given language to a natural language tool?
    • What is involved in adding a new language to Polyglot?
    • Which families of languages are the most challenging to support?
  • What types of operations are supported and how consistently are they supported across languages?
  • How is Polyglot implemented?
  • Is there any capacity for integrating Polyglot with other tools such as SpaCy or Gensim?
  • How much domain knowledge is required to be able to effectively use Polyglot within an application?
  • What are some of the most interesting or unique uses of Polyglot that you have seen?
  • What have been some of the most complex or challenging aspects of building Polyglot?
  • What do you have planned for the future of Polyglot?
  • What are some areas of NLP research that you are excited for?

Keep In Touch

Picks

Links

The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA