
The Python Podcast.__init__
389 episodes — Page 6 of 8

Ep 138Asphalt: A Framework For Asynchronous Network Applications with Alex Grönholm
FullSummary As we rely more on small, distributed processes for building our applications, being able to take advantage of asynchronous I/O is increasingly important for performance. This week Alex Grönholm explains how the Asphalt Framework was created to make it easier to build these network oriented software stacks and the technical challenges that he faced in the process. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at podastinit.com/linode and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. And now you can deliver your work to your users even faster with the newly upgraded 200 GBit network in all of their datacenters. If you’re tired of cobbling together your deployment pipeline then it’s time to try out GoCD, the open source continuous delivery platform built by the people at ThoughtWorks who wrote the book about it. With GoCD you get complete visibility into the life-cycle of your software from one location. To download it now go to podcatinit.com/gocd. Professional support and enterprise plugins are available for added piece of mind. 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. Your host as usual is Tobias Macey and today I’m interviewing Alex Grönholm about the Asphalt Framework, a Python microframework for network oriented applications Interview Introductions How did you get introduced to Python? What is Asphalt and what was your reason for building it? How does Asphalt compare to Twisted? What are the most challenging parts of writing asynchronous and event-based applications and how does Asphalt help simplify that process? When building an Asphalt application it can be easy to accidentally block an async loop by pulling in third party libraries that don’t support asynchronous execution. What are some of the techniques for identifying and resolving blocking portions of your application? What does the internal architecture of Asphalt look like and how has that evolved from when you first started working on it? What have been some of the most difficult aspects of building and evolving Asphalt? What are some of the most interesting or unexpected uses of Asphalt that you have seen? What are some of the new features or improvements that you have planned for the future of Asphalt? Keep In Touch Gitter IRC GitHub agronholm on GitHub @agronholm on Twitter Picks Tobias Thor: Ragnarok Alex Two Steps From Hell Links Asphalt ERP Asyncio Tornado Twisted SQLAlchemy PEP 550 Sanic WAMP Podcast.init Interview About Crossbar Tee FlexGet APScheduler BitTorrent uvloop Tokio The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 137Golem: End-To-End Test Automation Framework with Luciano Renzi
FullSummary The importance of testing your software is widely talked about and well understood. What is not as often discussed is the different types of testing, and how end-to-end tests can benefit your team to ensure proper functioning of your application when it gets released to production. This week Luciano Renzi shares the work that he has done on Golem, a framework for building and executing an automation suite to exercise the entire system from the perspective of the user. He discusses his reasons for creating the project, how he things about testing, and where he plans on taking Golem in the future. Give it a listen and then take it for a test drive. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at podastinit.com/linode and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. And now you can deliver your work to your users even faster with the newly upgraded 200 GBit network in all of their datacenters. If you’re tired of cobbling together your deployment pipeline then it’s time to try out GoCD, the open source continuous delivery platform built by the people at ThoughtWorks who wrote the book about it. With GoCD you get complete visibility into the life-cycle of your software from one location. To download it now go to podcatinit.com/gocd. Professional support and enterprise plugins are available for added piece of mind. 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. Your host as usual is Tobias Macey and today I’m interviewing Luciano Renzi about Golem, a framework and automation tool for end-to-end testing in Python Interview Introductions How did you get introduced to Python? What is golem and what motivated you to create it? What was your inspiration for the name? Why did you choose to use Python for Golem and if you were to start over today would you make the same choice? For someone who is unfamiliar with the concept, can you describe what end-to-end testing is and the reasons for making it part of their development process? What is the main goal of Golem What does the internal architecture and implementation of Golem look like and how has that evolved from when you first started the project? How does Golem compare to other Python libraries for automated browser testing and what was lacking in the existing solutions when you created it? What are the differences between golem and robot framework? What about projects written in other languages such as protractor? One of the intriguing features of Golem is the web interface for constructing tests. What are the benefits of codeless automation & record-playback functionality? What are some of the most challenging aspects of building and maintaining Golem? It seems that every browser automation library is ultimately a wrapper around Selenium. Why is a wrapper necessary and why haven’t any strong alternatives been created? What are the advantages of making Golem a framework for test automation, rather than a library? What are some of the most interesting or unexpected uses for Golem that you have seen? What do you have planned for the future of Golem? What is the current state of end to end automation and how do you see it evolving in the future? How do you think machine learning and AI will be used in test automation? Keep In Touch luciano-renzi on GitHub @lucianorenzi_ on Twitter Picks Tobias Weapons of Math Destruction Links Golem Elementum Pascal Watir JUnit Selenium Page Object Pattern Selenium Grid Sauce Labs py.test Podcast.init Interview About Py.Test Robot Framework Mechanize Acceptance Tests Protractor Webdriver.io Appium The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 136Graphite Metrics Stack with Jason Dixon and Dan Cech
FullSummary Do you know what is happening in your production systems right now? If you have a comprehensive metrics platform then the answer is yes. If your answer is no, then this episode is for you. Jason Dixon and Dan Cech, core maintainers of the Graphite project, talk about how graphite is architected to capture your time series data and give you the ability to use it for answering questions. They cover the challenges that have been faced in evolving the project, the strengths that have let it stand the tests of time, and the features that will be coming in future releases. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at podastinit.com/linode and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. And now you can deliver your work to your users even faster with the newly upgraded 200 GBit network in all of their datacenters. If you’re tired of cobbling together your deployment pipeline then it’s time to try out GoCD, the open source continuous delivery platform built by the people at ThoughtWorks who wrote the book about it. With GoCD you get complete visibility into the life-cycle of your software from one location. To download it now go to podcatinit.com/gocd. Professional support and enterprise plugins are available for added piece of mind. 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. Now is a good time to start planning your conference schedule for 2018. To help you out with that, guest Jason Dixon is offering a $100 discount for Monitorama in Portland, OR on June 4th – 6th and guest Dan Cech is offering a €50 discount to Grafanacon in Amsterdam, Netherlands March 1st and 2nd. There is also still time to get your tickets to PyCascades in Vancouver, BC Canada January 22nd and 23rd. All of the details are in the show notes Your host as usual is Tobias Macey and today I’m interviewing Jason Dixon and Dan Cech about Graphite Interview Introductions How did you get introduced to Python? What is Graphite and how did you each get involved in the project? Why should developers be thinking about collecting and reporting on metrics from their software and systems? How do you think the Graphite project has contributed to or influenced the overall state of the art in systems monitoring? There are a number of different projects that comprise a fully working Graphite deployment. Can you list each of them and describe how they fit together? What are some of the early design choices that have proven to be problematic while trying to evolve the project? What are some of the challenges that you have been faced with while maintaining and improving the various Graphite projects? What will be involved in porting Graphite to run on Python 3? If you were to start the project over would you still use Python? What are the options for scaling Graphite and making it highly available? Given the level of importance to a companies visibility into their systems, what development practices do you use to ensure that Graphite can operate reliably and fail gracefully? What are some of the biggest competitors to Graphite? When is Graphite not the right choice for tracking your system metrics? What are some of the most interesting or unusual uses of Graphite that you are aware of? What are some of the new features and enhancements that are planned for the future of Graphite? Keep In Touch Jason @obfuscurity on Twitter Website obfuscurity on GitHub Dan @dancech on Twitter Website DanCech on GitHub Picks Tobias Archery Jason Rocket League Monitorama $100 Discount (Limited Quantity) Dan Home Assistant Podcast.__init__ Interview GrafanaCon €50 discount with PODCASTINIT2018 Links Graphite Sensu Monitorama RainTank Grafana Labs Librato GitHub Dyn Telemetry Perl PHP React O’Reilly Graphite Book Time Series RRDTool InfluxDB Adrian Cockcroft NVMe Prometheus CNCF ASAP Smoothing PyCascades The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 135Surprise! Recommendation Algorithms with Nicolas Hug
FullSummary A relevant and timely recommendation can be a pleasant surprise that will delight your users. Unfortunately it can be difficult to build a system that will produce useful suggestions, which is why this week’s guest, Nicolas Hug, built a library to help with developing and testing collaborative recommendation algorithms. He explains how he took the code he wrote for his PhD thesis and cleaned it up to release as an open source library and his plans for future development on it. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at podastinit.com/linode and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. And now you can deliver your work to your users even faster with the newly upgraded 200 GBit network in all of their datacenters. If you’re tired of cobbling together your deployment pipeline then it’s time to try out GoCD, the open source continuous delivery platform built by the people at ThoughtWorks who wrote the book about it. With GoCD you get complete visibility into the life-cycle of your software from one location. To download it now go to podcatinit.com/gocd. Professional support and enterprise plugins are available for added piece of mind. 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. Your host as usual is Tobias Macey and today I’m interviewing Nicolas Hug about Surprise, a scikit library for building recommender systems Interview Introductions How did you get introduced to Python? What is Surprise and what was your motivation for creating it? What are the most challenging aspects of building a recommender system and how does Surprise help simplify that process? What are some of the ways that a user or company can bootstrap a recommender system while they accrue data to use a collaborative algorithm? What are some of the ways that a recommender system can be used, outside of the typical ecommerce example? Once an algorithm has been deployed how can a user test the accuracy of the suggestions? How is Surprise implemented and how has it evolved since you first started working on it? What have been the most difficult aspects of building and maintaining Surprise? competitors? What are the attributes of the system that can be modified to improve the relevance of the recommendations that are provided? For someone who wants to use Surprise in their application, what are the steps involved? What are some of the new features or improvements that you have planned for the future of Surprise? Keep In Touch Website @hug_nicolas on Twitter nicolashug on GitHub Picks Tobias Silk profiler for Django Links Surprise Gridsearch Cold Start Problem Content-Based Recommendation Ensemble Learning Spotlight Lightfm Pandas The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 134Rasa: Build Your Own AI Chatbot with Joey Faulkner
FullSummary With the proliferation of messaging applications, there has been a growing demand for bots that can understand our wishes and perform our bidding. The rise of artificial intelligence has brought the capacity for understanding human language. Combining these two trends gives us chatbots that can be used as a new interface to the software and services that we depend on. This week Joey Faulkner shares his work with Rasa Technologies and their open sourced libraries for understanding natural language and how to conduct a conversation. We talked about how the Rasa Core and Rasa NLU libraries work and how you can use them to replace your dependence on API services and own your data. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at podastinit.com/linode and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. And now you can deliver your work to your users even faster with the newly upgraded 200 GBit network in all of their datacenters. If you’re tired of cobbling together your deployment pipeline then it’s time to try out GoCD, the open source continuous delivery platform built by the people at ThoughtWorks who wrote the book about it. With GoCD you get complete visibility into the life-cycle of your software from one location. To download it now go to podcatinit.com/gocd. Professional support and enterprise plugins are available for added piece of mind. 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. Your host as usual is Tobias Macey and today I’m interviewing Joey Faulkner about Rasa Core and Rasa NLU for adding conversational AI to your projects. Interview Introductions How did you get introduced to Python? Can you start by explaining the goals of Rasa as a company and highlighting the projects that you have open sourced? What are the differences between the Rasa Core and Rasa NLU libraries and how do they relate to each other? How does the interaction model change when going from state machine driven bots to those which use Rasa Core and what capabilities does it unlock? How is Rasa NLU implemented and how has the design evolved? What are the motivations for someone to use Rasa core or NLU as a library instead of available API services such as wit.ai, LUIS, or Dialogflow? What are some of the biggest challenges in gathering and curating useful training data? What is involved in supporting multiple languages for an application using Rasa? What are the biggest challenges that you face, past, present, and future, building and growing the tools and platform for Rasa? What would be involved for projects such as OpsDroid, Kalliope, or Mycroft to take advantage of Rasa and what benefit would that provide? On the comparison page for the hosted Rasa platform it mentions a feature of collaborative model training, can you describe how that works and why someone might want to take advantage of it? What are some of the most interesting or unexpected uses of the Rasa tools that you have seen? What do you have planned for the future of Rasa? Keep In Touch Gitter Twitter @joeymfaulkner @Rasa_HQ Email GitHub Picks Tobias Information Architecture Joey Dog Spotting Rasa NLU Trainer Links Rasa Technologies Rasa NLU Rasa Core SpaCy Podcast.__init__ Interview with SpaCy Creator yt-project Podcast.__init__ Interview with yt-project Chatbot Word2Vec State Machine Podcast.__init__ Episode About Automat with Glyph Recursive Neural Network MITIE Support Vector Machine Scikit Learn wit.ai LUIS Dialogflow Keras Reinforcement Learning The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 133Eliot: Effective Logging with Itamar Turner-Trauring
FullSummary Understanding what is happening in a software system can be difficult, especially when you have inconsistent log messages. Itamar Turner-Trauring created Eliot to make it possible for your project to tell you a story about how transactions flow through your program. In this week’s episode we go deep on proper logging practices, anti patterns, and how to improve your ability to debug your software with log messages. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at podastinit.com/linode and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. And now you can deliver your work to your users even faster with the newly upgraded 200 GBit network in all of their datacenters. If you’re tired of cobbling together your deployment pipeline then it’s time to try out GoCD, the open source continuous delivery platform built by the people at ThoughtWorks who wrote the book about it. With GoCD you get complete visibility into the life-cycle of your software from one location. To download it now go to podcatinit.com/gocd. Professional support and enterprise plugins are available for added piece of mind. 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. Your host as usual is Tobias Macey and today I’m interviewing Itamar Turner-Trauring about Eliot, a library for managing complex logs across multiple processes. Interview Introductions How did you get introduced to Python? What is Eliot and what problem were you trying to solve by creating it? How is Eliot implemented and how has the design evolved since you first started working on it? Why is it so important to have a standardized format for your application logs? What are some of the anti-patterns that you consider to be the most harmful when developers are setting up logging in their projects? What have been the most challenging aspects of building and maintaining Eliot? How does Eliot compare to some of the other third party logging libraries available such as structlog or logbook? What are some of the improvements or additional features that you have planned for the future of Eliot? Keep In Touch Website @itamarst on Twitter Picks Tobias Moonshot Podcast Itamar Middlemarch by George Eliot Links Eliot Zope PHP OpenTracing Zipkin Carl De Marcken Sentry Elasticsearch Logstash Kibana Eliot-Tree Daniel Lebrero Flocker Context Local Variables PEP (PEP 550) Flamegraph Brendan Gregg DAG Structlog The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 132Donkey: Building Self Driving Cars with Will Roscoe
FullSummary Do you wish that you had a self-driving car of your own? With Donkey you can make that dream a reality. This week Will Roscoe shares the story of how he got involved in the arena of self-driving car hobbyists and ended up building a Python library to act as his pilot. We talked about the hardware involved, how he has evolved the code to meet unexpected challenges, and how he plans to improve it in the future. So go build your own self driving car and take it for a spin! Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at podastinit.com/linode and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. And now you can deliver your work to your users even faster with the newly upgraded 200 GBit network in all of their datacenters. If you’re tired of cobbling together your deployment pipeline then it’s time to try out GoCD, the open source continuous delivery platform built by the people at ThoughtWorks who wrote the book about it. With GoCD you get complete visibility into the life-cycle of your software from one location. To download it now go to podcatinit.com/gocd. Professional support and enterprise plugins are available for added piece of mind. 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. Your host as usual is Tobias Macey and today I’m interviewing Will Roscoe about Donkey, a python library for building DIY self driving cars. Interview Introductions How did you get introduced to Python? What is Donkey and what was your reason for creating it? What is the story behind the name? What was your reason for choosing Python as the language for implementing Donkey and if you were to start over today would you make the same choice? How is Donkey implemented and how has its software architecture evolved? Is the library built in a way that you can process inputs from additional sensor types, such as proximity detectors or LIDAR? For training the autopilot what are the input features that the model is testing against for the input data, and is it possible to change the features that it will try to detect? Do you have plans to incorporate any negative reinforcement techniques for training the pilot models so that errors in data collection can be identified as undesirable outcomes? What have been some of the most interesting or humorous successes and failures while testing your cars? What are some of the challenges involved with getting such a sophisticated stack of software running on a Raspberry Pi? What are some of the improvements or new features that you have planned for the future of Donkey? Media Donkey Car Photos Keep In Touch Donkey Slack Channel Wills Twitter – @dataduce #donkeycar on social Picks Tobias Orgzly Org Mode for Sublime Org Mode for VSCode Org Mode for Vim Will Algorithms to Live By The Structure of Scientific Revolutions A song I can’t stop nodding my head to Links Donkey Car DIY Robocars Tornado [Tornado on Podcast.init](https://www.pythonpodcast.com/episode-40-ben-darnell-on-tornado/?utm_source=rss&utm_medium=rss Raspberry Pi TensorFlow Convolutional Neural Network Adafruit LIDAR ROS (Robot Operating System) Unity Udacity self driving car nano-degree SparkFun Beagleboard Adam Conway The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 131Event Sourcing with John Bywater
FullSummary The way that your application handles data and the way that it is represented in your database don’t always match, leading to a lot of brittle abstractions to reconcile the two. In order to reduce that friction, instead of overwriting the state of your application on every change you can log all of the events that take place and then render the current state from that sequence of events. John Bywater joins me this week to discuss his work on the Event Sourcing library, why you might want to use it in your applications, and how it can change the way that you think about your data. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports the show on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at podastinit.com/linode and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. And now you can deliver your work to your users even faster with the newly upgraded 200 GBit network in all of their datacenters. If you’re tired of cobbling together your deployment pipeline then it’s time to try out GoCD, the open source continuous delivery platform built by the people at ThoughtWorks who wrote the book about it. With GoCD you get complete visibility into the life-cycle of your software from one location. To download it now go to podcatinit.com/gocd. Professional support and enterprise plugins are available for added piece of mind. 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. Your host as usual is Tobias Macey and today I’m interviewing John Bywater about event sourcing, an architectural approach to make your data layer easier to scale and maintain. Interview Introductions How did you get introduced to Python? Can you start by describing the concept of event sourcing and the benefits that it provides? What is the event sourcing library and what was your reason for starting it? What are some of the reasons that someone might not want to implement an event sourcing approach in their persistence layer? Given that you are storing a record for each event that occurs on a domain object, how does that affect the amount of storage necessary to support an event sourced application? What is the impact on performance and latency from an end user perspective when the application is using event sourcing to render the current state of the system? What does the internal architecture and design of your library look like and how has that evolved over time? In the case where events are delivered out of order, how can you ensure that the present view of an object is reflected accurately? For someone who wants to incorporate an event sourcing design into an existing application, how would they do that? How do you manage schema changes in your domain model when you need to reconstruct present state from the beginning of an objects event sequence? What are some of the most interesting uses of event sourcing that you have seen? What are some of the features or improvements that you have planned for the future of you event sourcing library? Keep In Touch John johnbywater on GitHub @johnbywater on Twitter Picks Tobias Heresy In The Church Of Docker John QuantDSL Links CKAN Data.gov Patterns of Enterprise Application Architecture Object Relational Impedance Mismatch Event Sourcing (Pattern) Event Sourcing (Library) N-Tiered Architecture Domain Driven Design Event Storming ORM, The Vietnam of Computer Science Vaughn Vernon, Implementing Domain Driven Design Active Record Pattern Optimistic Concurrency Control Paxos DynamoDB Martin Fowler Eric Evans The Dark Side of Event Sourcing The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 130Kalliope with Nicolas Marcq and Thibaud Buffet
FullSummary Wouldn’t it be nice to have a personal assistant to answer your questions, help you remember important tasks, and control your environment? Meet Kalliope, a Python powered, modular, voice controlled automation platform. This week Nicolas Marcq and Thibaud Buffet explain how they started the project, what makes it stand out from other open source and commercial options, and how you can start using it today. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at www.podastinit.com/linode?utm_source=rss&utm_medium=rss and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. Need to learn more about how to scale your apps or learn new techniques for building them? Pluralsight has the training and mentoring you need to level up your skills. Go to www.pythonpodcast.com/pluralsight?utm_source=rss&utm_medium=rss to start your free trial today. Visit the site to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch. 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. If you work with data for your job or want to learn more about how open source is powering the latest innovations in data science then make your way to the Open Data Science Conference, happening in London in October and San Francisco in November. Follow the links in the show notes to register and help support the show in the process. Your host as usual is Tobias Macey and today I’m interviewing Nicolas Marcq and Thibaud Buffet about Kalliope, a modular always-on voice controlled personal assistant designed for home automation. Interview Introductions How did you get introduced to Python? What is the Kalliope project and how did it get started? How does Kalliope compare to commercial options such as Amazon Alexa and Google Home, as well as other open source projects such as Mycroft or Jasper? The majority of voice assistant projects that I have seen default to interacting in English, whereas Kalliope is multi-lingual. What led you to that design choice and how is that implemented? One of the perennial questions around voice assistants is privacy, so how does Kalliope work to mitigate the issues associated with having an always on device listening in people’s homes? How is Kalliope architected internally and how has the design evolved over time? What are some of the most difficult or challenging aspects of building Kalliope and its associated projects? What are some of the most interesting uses of Kalliope that you are aware of? What are some of the most notable features or improvements that you have planned for the future of Kalliope? How has the choice of Python as the implementation worked for you, and if you were to start over today do you think you would make the same decision? Keep In Touch Nicolas @Sispheor on Twitter Sispheor on GitHub Website Thibaud @Tib_Tac on Twitter LaMonF on GitHub Picks Tobias Kiwi Crate Nicolas Raspberry Pi Speaker Thibaud ReactiveX in Python Links Snowboy Mycroft Mycroft Interview Amazon Alexa Google Home Jasper Kalliope TTS STT CMU Sphinx Abstract Base Class MQTT RxPy Interview The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 129Modoboa with Antoine Nguyen
FullSummary Email has long been the most commonly used means of communication on the internet. This week Antoine Nguyen talks about his work on the Modoboa project to make hosting your own mail server easier to manage. He discusses how the project got started, the tools that it ties together, and how he used Django to build a webmail and admin interface to make it more approachable. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at www.podastinit.com/linode?utm_source=rss&utm_medium=rss and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. Need to learn more about how to scale your apps or learn new techniques for building them? Pluralsight has the training and mentoring you need to level up your skills. Go to www.pythonpodcast.com/pluralsight?utm_source=rss&utm_medium=rss to start your free trial today. Visit the site to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch. 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. If you work with data for your job or want to learn more about how open source is powering the latest innovations in data science then make your way to the Open Data Science Conference, happening in London in October and San Francisco in November. Follow the links in the show notes to register and help support the show in the process. Your host as usual is Tobias Macey and today I’m interviewing Antoine Nguyen about Modoboa, a project to make mail hosting simple. Interview Introductions How did you get introduced to Python? What is Modoboa and what is the problem that you were trying to solve when you started it? Where does the name come from? Self-hosting an email server was a common activity during the early stages of the internet, what are some of the reasons that someone should consider running their own mail server now that there are so many options for third-party hosting such as Gmail and Outlook? Email hosting has become more complicated in recent years with the need to jump through a lot of hoops to maintain a sufficient reputation to keep your messages from being flagged as spam. Are there any utilities in Modoboa to assist with that process? There are a lot of components that you have brought together for running an email server. Can you describe how the different pieces fit together and what layers you have built on top to help make the overall system more manageable? What does the scaling strategy look like for Modoboa? What is the most challenging aspect of building and maintaining Modoboa? What are some of the features that you have planned for the future of Modoboa? Keep In Touch Email @antngu on Twitter Picks Tobias Dropbox Paper Antoine Capoeira Links PyTk Postfix Dovecot Nextcloud Owncloud SPF Records DKIM DMARC SMTP IMAP Apache Libcloud Amavis Mail Transfer Agent Radicale Ansible Docker Gentoo Packer Synology Drobo Prosody Lua XMPP The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 128QuTiP with Paul Nation
FullSummary The future of computation and our understanding of the world around us is driven by the quantum world. This week Paul Nation explains how the Quantum Toolbox in Python (QuTiP) is being used in research projects that are expanding our knowledge of the physical universe. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at www.podastinit.com/linode?utm_source=rss&utm_medium=rss and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. Need to learn more about how to scale your apps or learn new techniques for building them? Pluralsight has the training and mentoring you need to level up your skills. Go to www.pythonpodcast.com/pluralsight?utm_source=rss&utm_medium=rss to start your free trial today. Visit the site to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch. 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. If you work with data for your job or want to learn more about how open source is powering the latest innovations in data science then make your way to the Open Data Science Conference, happening in London in October and San Francisco in November. Follow the links in the show notes to register and help support the show in the process. Your host as usual is Tobias Macey and today I’m interviewing Paul Nation about QuTIP, the quantum toolbox in Python. Interview Introductions How did you get introduced to Python? Before we start talking about QuTiP, can you provide us with a baseline definition of what quantum mechanics is? What is QuTIP and how did the project get started? Is QuTiP used purely in academics, or are there other users? What are some of the practical innovations that have been created as a result of research into different areas of quantum optics? How do you foresee the advent of practical quantum computers impacting the state of quantum mechanical research? Given the inherent complexity of the subject matter that you are dealing with, how do you approach the challenge of trying to present a usable API to users of QuTiP while not inhibiting their ability to operate at a low level when necessary? What is the process for incorporating new understandings of quantum mechanical theory into the QuTiP package? What are some of the most difficult aspects of simulating quantum systems in a standard computational environment? What is the most enjoyable aspect of working on QuTiP, what is the least enjoyable? What are some of the most notable research results that you are aware of which used QuTiP as part of their studies? What are some resources that you can recommend for anyone who wants to learn more about quantum mechanics? Keep In Touch QuTiP QuSTaR Picks Tobias edx.org Paul Cython Matplotlib Cheyenne Mountain Zoo Links Quantum Optics 2 Level System Complex Numbers Qubit Quantum Computing Harmonic Oscillator Nature Scientific Journal IBM Quantum Experience D-Wave Rigetti Quantum Computing Quantum Supremacy Hamiltonian Sparse Matrix Richard Feynman Dask Project Q Quantum State Transfer via Noisy Photonic and Phononic Waveguides paper by Peter Zoller Extending the lifetime of a quantum bit with error correction in superconducting circuits paper by Rob Shoelkopf (Yale) QuTiP Documentation The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 127Lego Robotics with David Lechner and Denis Demidov
FullSummary Do you like Legos, robots, and Python? This week I am joined by David Lechner and Denis Demidov to talk about the ev3dev project and how you can program your Lego Mindstorms with Python! Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at www.podastinit.com/linode?utm_source=rss&utm_medium=rss and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. Need to learn more about how to scale your apps or learn new techniques for building them? Pluralsight has the training and mentoring you need to level up your skills. Go to www.pythonpodcast.com/pluralsight?utm_source=rss&utm_medium=rss to start your free trial today. Visit the site to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch. 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. If you work with data for your job or want to learn more about how open source is powering the latest innovations in data science then make your way to the Open Data Science Conference, happening in London in October and San Francisco in November. Follow the links in the show notes to register and help support the show in the process. Your host as usual is Tobias Macey and today I’m interviewing David Lechner and Denis Demidov about using Python with the ev3dev platform for programming LEGO robots Interview Introductions How did you get introduced to Python? Can you explain what the ev3dev project is and some of the story about how and why it got started? What is LEGO’s opinion of the ev3dev project? For anyone who isn’t familiar with the MINDSTORMS EV3 product from LEGO, can you give a brief overview of the hardware that they come with? Other than allowing users to program in environments other than the block-based editor that LEGO provides, what capabilities does the ev3dev project add to the MINDSTORMS EV3 platform? How are the language bindings generated and how do the different implementations compare to each other? What are the most challenging aspects of building and maintaining the ev3dev distribution and various language bindings? One of the things that my son is curious about is the possibility for integrating his MINDSTORMS with projects such as Kalliope or Mycroft to allow for voice controlled robots. Are you aware of anyone having done so or how you would approach something like that? What are some of the most interesting or innovative projects that you have seen people make with the MINDSTORMS platform running ev3dev? Why would someone want to use MINDSTORMS instead of any of the other robotics platforms that are available? For someone who is interested in learning more about intermediate and advanced robotics, what are some resources that you would recommend? Keep In Touch Denis @denis_demidov on Twitter ddemidov on Github David dlech on Github Website Picks Tobias Raspberry Pi Kalliope Denis pybind11 David Local food LocalHarvest Links ev3dev Lego MINDSTORMS BeagleBone Lego Mindstorms Community C++ Jupyter Notebooks Ralph Hempel Forth RCX NXT EV3 ARMv5 Debian PiStorms BrickPi EVB UART EV3 Schematics Look for “EV3 Hardware Developer Kit” in “Advanced Users” section. I2C RPyC Laurens Valk Liquid Templates Delta Robot Quest For Space Lego Technic Mindsensors.com Cool robots built with ev3dev Micropython The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 126Cloud-Init with Scott Moser
FullSummary Server administration is a complex endeavor, but there are some tools that can make life easier. If you are running your workload in a cloud environment then cloud-init is here to help. This week Scott Moser explains what cloud-init is, how it works, and how it became the de-facto tool for configuring your Linux servers at boot. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at www.podastinit.com/linode?utm_source=rss&utm_medium=rss and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. Need to learn more about how to scale your apps or learn new techniques for building them? Pluralsight has the training and mentoring you need to level up your skills. Go to www.pythonpodcast.com/pluralsight?utm_source=rss&utm_medium=rss to start your free trial today. Visit the site to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch. 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. If you work with data for your job or want to learn more about how open source is powering the latest innovations in data science then make your way to the Open Data Science Conference, happening in London in October and San Francisco in November. Follow the links in the show notes to register and help support the show in the process. Your host as usual is Tobias Macey and today I’m interviewing Scott Moser about cloud-init, a set of python scripts and utilities to make your cloud images be all they can be! Interview Introductions How did you get introduced to Python? What is cloud-init and how did the project get started? Why was Python chosen as the language for implementing cloud-init? How has cloud-init come to be the de-facto utility for managing cloud instances across vendors and distributions? Are there any viable competitors to cloud-init? coreos-cloudinit, some others. How much overlap is there between cloud-init and configuration management tools such as SaltStack, Ansible, Chef, etc. How have you architected cloud-init to allow for compatibility across operating system distributions? What is the most difficult or complex aspect of building and maintaining cloud-init? [os integration, networking, goal of “do stuff without reboot”] Given that it is used as a critical component of the production deployment mechanics for a large number of people, how do you ensure an appropriate level of stability and security while developing cloud-init? How do you think the status of cloud-init as a Canonical project has affected the level of contributions that you receive? How much of the support and roadmap is contributed by individual vs corporate users such as AWS and Azure? What are some of the most unexpected or creative uses of cloud-init that you have seen? [https://wiki.ubuntu.com/OpenCompute?utm_source=rss&utm_medium=rss “disposable use os”] In your experience, what has been the biggest stumbling block for new users of cloud-init? Do you have any notable features or improvements planned for the future of cloud-init, or do you feel that it has reached a state of feature-completeness? Keep In Touch smoser on GitHub Picks Tobias mu4e isync Scott LXD Links IBM – Linux Technology Center Cloud-Init Ubuntu Canonical CoreOS EC2 OpenStack CentOS RHEL coreos-cloudinit JuJu Puppet SystemV Upstart SystemD Joyent SmartOS Digital Ocean IPv4 IPv6 Canonical MaaS+ JSON-Schema LXD Launchpad Bzr Git SUSE FreeBSD KVM Go-lang Pretty Table RAID ZFS LVM The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 125Biopython with Peter Cock, Wibowo Arindrarto, and Tiago Antão
FullSummary Advances in the techniques used for genome sequencing are providing us with more information to unlock the secrets of biology. But how does that data get processed and analyzed? With Python of course! This week I am joined by some of the core maintainers of Biopython to discuss what bioinformatics is, how Python is used to help power the research in the field, and how Biopython helps to tie everything together. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at www.podastinit.com/linode?utm_source=rss&utm_medium=rss and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. Need to learn more about how to scale your apps or learn new techniques for building them? Pluralsight has the training and mentoring you need to level up your skills. Go to www.pythonpodcast.com/pluralsight?utm_source=rss&utm_medium=rss to start your free trial today. Visit the site to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch. 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. If you work with data for your job or want to learn more about how open source is powering the latest innovations in data science then make your way to the Open Data Science Conference, happening in London in October and San Francisco in November. Follow the links in the show notes to register and help support the show in the process. Your host as usual is Tobias Macey and today I’m interviewing Peter Cock, Wibowo Arindrarto, and Tiago Antão about biopython, a suite of python tools for computational molecular biology. Interview Introductions How did you get introduced to Python? Can you start by explaining what bioinformatics is and highlight some of the different areas of research? What is biopython and how did it get started? Biopython has a long history behind it. How has the project evolved over that time to meet the changing needs in terms of both research amd computation? How does Biopython compare to the sibling Bio* projects in other programming languages? What does a common workflow look like for someone who is working with biological data? What are some of the most interesting or innovative uses of Biopython that you are aware of? What are some of the most challenging aspects of developing and supporting Biopython? What are some of the most exciting developments in bioinformatics, either recently or coming up? How much domain knowledge is necessary for someone who wants to contribute to the project? What are some of the most problematic limitations of Biopython and how do you work around them? Keep In Touch Peter Website Wibowo Website @_bow_ on Twitter Tiago Website @tiagoantao on Twitter Biopython GitHub Picks Tobias Keep it Low Conf Peter Jupyter Notebooks (formerly IPython) for producing notebooks combining code, graphical output and descriptive code. Can be seen as a modern take on Donald Knuth’s Literate programming? Wibowo Conda for installing software, including BioConda for community packaged software in bioinformatics. Tiago Brython project for writing Python 3 in your browser using JavaScript Glacier National Park in North West Montana Links BioJava BioRuby BioPerl BioJS Open Bioinformatics Foundation Software In The Public Interest Oxford Nanopore Technology (for sequencing in the field etc) The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 124opsdroid with Jacob Tomlinson
FullSummary Server administration is an activity that often happens in an isolated context in a terminal. ChatOps is a way of bringing that work into a shared environment and unlocking more collaboration. This week Jacob Tomlinson talks about the work he has done on opsdroid, a new bot framework targeted at tying together the various services and environments that modern production systems rely on. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at www.podastinit.com/linode?utm_source=rss&utm_medium=rss and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. Need to learn more about how to scale your apps or learn new techniques for building them? Pluralsight has the training and mentoring you need to level up your skills. Go to www.pythonpodcast.com/pluralsight?utm_source=rss&utm_medium=rss to start your free trial today. Visit the site to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch. 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. If you work with data for your job or want to learn more about how open source is powering the latest innovations in data science then make your way to the Open Data Science Conference, happening in London in October and San Francisco in November. Follow the links in the show notes to register and help support the show in the process. Your host as usual is Tobias Macey and today I’m interviewing Jacob Tomlinson about opsdroid Interview Introductions How did you get introduced to Python? What is opsdroid and what was the problem that you were trying to solve when you started the project? What led you to choose Python as the language for implementing opsdroid? What did you find lacking in the multitude of other chat bots that necessitated starting a new project? (e.g. Hubot, Errbot, Lita) One of the main features that you list in the documentation is the ease of installation. Why is that such an important aspect of the project and how is that implemented? What has been the most interesting and the most challenging aspect of implementing opsdroid? On the opsdroid organisation on GitHub there are many repositories for plugin modules. Do you see this being a management issue in the long term? How is opsdroid architected and what were the system requirements that led to the current system design? How do you manage authorization and authentication for performing commands against your production infrastructure in a group chat environment? What are some of the other security implications that users should be aware of when deploying a bot for interfacing with their deployment environment? How does a chat-oriented bot framework differ from those that are being created for voice-oriented interaction? What do you have planned for the future of opsdroid? Keep In Touch Website @_JacobTomlinson on Twitter jacobtomlinson on GitHub Picks Tobias Rough Translation Podcast Jacob Home Assistant Podcast Links Iron Man Movie Puppet Hubot ChatOps asyncio Home Assistant Podcast.init Interview api.ai Luis Lex Slack Mycroft Kalliope Amazon Alexa opsdroid audio Snowboy Google Home Wit.ai The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 123Ergonomica with Liam Schumm
FullSummary As developers we spend a lot of our work day in a terminal window, using shells that were designed 30 years ago. This week Liam Schumm joins me to explain why he decided to write a new, more ergonomic shell environment to simplify his workflow. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at www.podastinit.com/linode?utm_source=rss&utm_medium=rss and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. Need to learn more about how to scale your apps or learn new techniques for building them? Pluralsight has the training and mentoring you need to level up your skills. Go to www.pythonpodcast.com/pluralsight?utm_source=rss&utm_medium=rss to start your free trial today. Visit the site to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch. 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. If you work with data for your job or want to learn more about how open source is powering the latest innovations in data science then make your way to the Open Data Science Conference, happening in London in October and San Francisco in November. Follow the links in the show notes to register and help support the show in the process. Your host as usual is Tobias Macey and today I’m interviewing Liam Schumm about Ergonomica Interview Introductions How did you get introduced to Python? What is Ergonomica and what was your reason for creating it? What are some of the most difficult aspects of the project that you have experienced? How is Ergonomica implemented? What was your reason for using a dialect of Lisp as the interface for a terminal environment as opposed to iterating on the idioms in shells such as Bash? How does Ergonomica’s implementation differ from traditional shells such as Bash, Csh, and Powershell? How does Ergonomica’s implementation differ from other alternative shells such as Xonsh, ZSH, and Fish? Why did you choose to implement Ergonomica in Python? What’s your target group for Ergonomica? What do you have planned for the future of Ergonomica? Reading through your website you are fairly well accomplished. How does your age factor into the kinds of projects that you are engaged in? Keep In Touch Liam’s GitHub Email @liamschumm on Twitter Picks Tobias Magic The Gathering: Arena of the Planeswalkers Liam GitLab CE Python-prompt-toolkit Thriftbooks – 15% off your first order Links PyGame Minecraft Beeware ChiPy Chi Hack Night XKCD Tar Comic POSIX Colorama PLY Peter Norvig How to write a lisp interpreter in python ZSH Fish Xonsh PyVim sh Homebrew The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 122Data Retriever with Henry Senyondo
FullSummary Analyzing and interpreting data is a large portion of the work involved in scientific research. Getting to that point can be a lot of work on its own because of all of the steps required to download, clean, and organize the data prior to analysis. This week Henry Senyondo talks about the work he is doing with Data Retriever to make data preparation as easy as retriever install. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at www.podastinit.com/linode?utm_source=rss&utm_medium=rss and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. Visit the site to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch. 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. Your host as usual is Tobias Macey and today I’m interviewing Henry Senyondo about Data Retriever, the package manager for public data sets. Interview Introductions How did you get introduced to Python? Can you explain what data retriever is and the problem that it was built to solve? Are there limitations as to the types of data that can be managed by data retriever? What kinds of data sets are currently available and who are the target users? What is involved in preparing a new dataset to be available for installation? How much of the logic for installing the data is shared between the R and Python implementations of Data Retriever and how do you ensure that the two packages evolve in parallel? How is the project designed and what are some of the most difficult technical aspects of building it? What is in store for the future of data retriever? Keep In Touch Github @henrykironde on Twitter Picks Tobias Otium Bluetooth Receiver Panasonic Ergofit Headphones Nitize Adhesive Pocket Clip Henry The Three Idiots Links Weecology Lab University of Florida Data Retriever LG R Julia Open Knowledge Foundation Frictionless Data Format Data Weaver The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 121Coverage.py with Ned Batchelder
FullSummary We write tests to make sure that our code is correct, but how do you make sure the tests are correct? This week Ned Batchelder explains how coverage.py fills that need, how he became the maintainer, and how it works under the hood. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at www.podastinit.com/linode?utm_source=rss&utm_medium=rss and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. Visit the site to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch. 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. Your host as usual is Tobias Macey and today I’m interviewing Ned Batchelder about coverage.py, the ubiquitous tool for measuring your test coverage. Interview Introductions How did you get introduced to Python? What is coverage.py and how did you get involved with the project? The coverage project has become the de facto standard for measuring test coverage in Python. Why do you think that is? What is the utility of measuring test coverage? What are the downsides to measuring test coverage? One of the notable capabilities that was introduced recently was the plugin for measuring coverage of Django templates. Why is that an important capability and how did you manage to make that work? How does coverage conduct its measurements and how has that algorithm evolved since you first started work on it? What are the most challenging aspects of building and maintaining coverage.py? While I was looking at the bug tracker I was struck by the vast array of contexts in which coverage is used. Do you find it overwhelming trying to support so many operating systems and Python implementations? What might be added to coverage in the future? Keep In Touch @nedbat on Twitter Website Picks Tobias Org-Journal Ned Hypothesis The Infinite Monkey Cage Links edX Lotus Notes Zope Coverage.py Gareth Rees Trace in stdlib Fig Leaf State Machines CodeCov Coveralls Cobertura Turing Completeness Django Templates Jinja2 Mako Hy-lang GCov Jython Code Triage Service Who Tests What The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 120Yosai with Darin Gordon
FullSummary For any program that is used by more than one person you need a way to control identity and permissions. There are myriad solutions to that problem, but most of them are tied to a specific framework. Yosai is a flexible, general purpose framework for managing role-based access to your applications that has been decoupled from the underlying platform. This week the author of Yosai, Darin Gordon, joins us to talk about why he started it, his experience porting it from Java, and where he hopes to take it in the future. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at www.podastinit.com/linode?utm_source=rss&utm_medium=rss and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. Visit the site to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch. 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. Your host as usual is Tobias Macey and today I’m interviewing Darin Gordon about Yosai, a security framework for Python applications Interview Introductions How did you get introduced to Python? What is Yosai and what is the problem that you were trying to solve when you started it? How does Yosai compare to existing libraries for web frameworks such as Flask-Security or Django Guardian and why might someone choose Yosai instead? In the documentation it mentions that Yosai is a port of the Apache Shiro framework from Java to Python. What was most difficult about exposing a Pythonic interface while maintaining the core principles of the original? Authentication and authorization are difficult problem domains and can cause significant issues if they are not implemented in a secure fashion. How do you ensure an appropriate level of quality in Yosai to be confident having people use it? To start can you describe how the framework is architected and what is involved in integrating it with a project? Outside of the context of web applications, what are some situations where someone should consider integrating authentication and authorization into their project? What have been some of the most challenging aspects of building the Yosai project? Tell us about the Rust extension you wrote earlier this year What do you have planned for the future of Yosai? Keep In Touch Website GitHub @darin_gordon on Twitter Picks Tobias Brains On! podcast Darin The Asphalt Framework. Asphalt is an asyncio-based microframework for network oriented applications. Links Yosai Project Web Page Github Repo RBAC Apache Shiro TOTP Pyramid SOLID Builder Pattern POJO Corey Benfield Hyper HTTP/2 Library Passlib Hugo MKDocs YAML Middleware IoT Authz in Rust PyO3 Snaek PyCon Canada PyCascades JSON Web Tokens The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 119Moving to MongoDB with Michael Kennedy
FullSummary There are dozens of decisions that need to be made when building an application. Sometimes this can lead to analysis paralysis and prevent you from making progress, so don’t let the perfect be the enemy of the good. This week Michael Kennedy shares his experience with evolving his application architecture when his business needs outgrew his initial designs. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at www.podastinit.com/linode?utm_source=rss&utm_medium=rss and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. Visit the site to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch. 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. Your host as usual is Tobias Macey and today I’m interviewing Mike Kennedy about his work scaling his apps and his business Interview Introductions How did you get introduced to Python? In some of your recent episodes you have mentioned the work that you did to migrate your applications to run on MongoDB. Can you start by describing the business case for these applications and how you arrived at the initial design? What was the limiting factor that led you to consider such a drastic shift in how you store and manage your data and what benefits did you gain when the work was complete? If the issue was with scaling, how did you identify the choke points? Why go from relational (SQLite) to document (Mongo) instead of what would seem a more obvious choice of a production grade relational engine such as PostGreSQL or MySQL? Are there any particular synergies that arise from using a document as opposed to a relational store when working with Python and what are some of the main considerations when deciding between them? What was happening in your business that precipitated the need for this work? How are you talking to MongoDB from Python? Directly (via pymongo) or ORM-style? Why did you make that choice? How well is that working out? Advantages / drawbacks? In addition to podcasting you have also been working to create a number of successful courses to teach people how to use Python. Is there anything specific to the language that translates into how you design the material? For anyone who wants to learn more about the benefits and tradeoffs of using a document store with their Python applications, what are some resources that you recommend? Keep In Touch Michael @mkennedy on Twitter Websites Talk Python Python Bytes Picks Tobias Org Mode Levar Burton Reads Mike Newspaper Robomongo (now Robo 3T) The Dark Secret at the Heart of AI Haibike SDURO Cross 4.0 Links SQLAlchemy SQLIte MySQL PostGreSQL NoSQL MongoDB Database Normalization Foreign Keys Document Database Rollbar MongoEngine Mongo Security Checkup MLab MongoDB Atlas MongoDB World O’Reilly Python Mongo Book MongoDB For Python Developers Momentum Dash The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 118Zulip Chat with Tim Abbott
FullSummary In modern work environments the email is being edged out by group chat as the preferred method of communication. The majority of the platforms used are commercial and closed source, but there is one project that is working to change that. Zulip is a project that aims to redefine how effective teams communicate and it is already gaining ground. This week Tim Abbott shares the story of how Zulip got started, how it is built, and why you might want to start using it. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at www.podastinit.com/linode?utm_source=rss&utm_medium=rss and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. Visit the site to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch. 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. Your host as usual is Tobias Macey and today I’m interviewing Tim Abbott about Zulip, a powerful open source group chat platform Interview Introductions How did you get introduced to Python? What is Zulip and what was the initial inspiration for creating it? Where does the name come from? My understanding is that the project was initally intended to be a commercial product. Can you share some of the history of the acquisition by Dropbox and the journey to open sourcing it? How has your experience at Dropbox influenced the evolution and implementation of the Zulip project? There are a large number of group chat platforms available, both commercial and open source. How does Zulip differentiate itself from other options such as Slack or Mattermost? Typically real-time communication is difficult to achieve in a WSGI application. How is Zulip architected to allow for interactive communication? What have been the most challenging aspects of building and maintaining the Zulip project? What is involved in installing and running a Zulip server? For a large installation, what are the options for scaling it out to handle greater load? There is a large and healthy community that has built up around the Zulip project. What are some of the methods that you and others have used to foster that growth and engagement? What has been the most unexpected aspect of working on Zulip, whether technically or in terms of the community around it? What do you have planned for the future of Zulip? Keep In Touch Zulip Chat @zuliposs on Twitter Tim @tabbott3 on Twitter Website Picks Tobias Lego Mindstorms EV3 Tim Checklist Manifesto Tim’s Recipe Wiki Links Zulip Ksplice Electron React Native IFTTT Zapier Zephyr Barn Owl MyPy Tornado Django Zulip Tornado Documentation MySQL PostGreSQL ElasticSearch Code Triage Emoji Podcast.__init__ Zulip Chat The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 117NAPALM with David Barroso and Mircea Ulinic
FullSummary Routers and switches are the stitches in the invisible fabric of the internet which we all rely on. Managing that hardware has traditionally been a very manual process, but the NAPALM (Network Automation and Programmability Abstraction Layer with Multivendor support) is helping to change that. This week David Barroso and Mircea Ulinic explain how Python is being used to make sure that you can watch those cat videos. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at www.podastinit.com/linode?utm_source=rss&utm_medium=rss and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. Visit the site to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch. 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. Your host as usual is Tobias Macey and today I’m interviewing David Barroso and Mircea Ulinic about NAPALM (Network Automation and Programmability Abstraction Layer with Multivendor support), the library for managing programmable network devices Interview Introductions How did you get introduced to Python? [david] 2012 trying to use django 1.4 to store data I had on confluence. [mircea] August 2008, when I bought the Learning Python, Mark Lutz, 2nd edition Can you start by explaining what NAPALM is and the problem that you were solving when you started working on it? [david] trying to remove all the if vendor_a do this, elif vendor_b do this other thing instead [mircea] only if I will feel there’s anything to add What led you to choose Python as the language for implementing it? [david] it’s what I knew best and vendors were starting to provide libraries to interact with their platforms so python seemed like a natural evolution as we could just provide an abstraction on top of those libraries that already existed. [mircea] I didn’t implement NAPALM, I was fistly a user then contributor, now I’m one of the maintainers. When working with network equipment it is easy to apply the wrong settings and bring down a large number of systems or lock yourself out entirely. Are there any tools in NAPALM to help prevent this from happening? [david] We provide mechanisms to ensure proper peer reviewing; we let operators propose a configuration and get a diff. We have a rollback mechanism so if you detect an issue you can immediately rollback and we also added support to the autorollback feature some vendors have. How have you architected the library to allow for easy integration of new classes of network devices? [david] very simple architecture. Trying to avoid complex features like abstract classes, metaprogramming or decorators. Main reason is that I figured my main user base wasn’t going to be very python savvy so I wanted something simple. What I ended doing was simulating interfaces with with a base class that described the supported methods and how they were supposed to behave and an extensive testing framework that ensure the method signatures and the behaviors matched the expectations. Designing and building a consistent API for such a wide variety of hardware and software platforms is a daunting task. How do you determine the lowest common set of functionality that you are going to expose as part of the core library vs delegating to the underlying dependencies? [david] We don’t necessarily go with the lowest common denominator. Sometimes we try to emulate features. For example, if a platform doesn’t support atomic changes we might simulate it by trying to send the configuration as a block and rollback immediately. Obviously a feature likes this is clearly documented so people is aware that this might happen. What we try to avoid though is implementing things that are very specific to a single vendor. In any case the way it has worked so far falls into two categories: configuration management. These are primitives like loading a candidate configuration for merging or replacing into the device, getting a diff back, commiting, discarding or rolling back configuration. These primitives were designed at the very begining of the project based on the netconf protocol and they have changed very little since then. When a primitive is not natively supported by a device we try to emulate it as with the atomicity example I gave before or we don’t implement it at all if it’s not possible. The second category is what we call getters which are methods that retrieve information from the devices. Things like interface counters, bgp neighbors, etc. These are basically community driven. Some

Ep 116Automat State Machines with Glyph Lefkowitz
FullSummary The venerable ‘if’ statement is a cornerstone of program flow and busines logic, but sometimes it can grow unwieldy and lead to unmaintainable software. One alternative that can result in cleaner and easier to understand code is a state machine. This week Glyph explains how Automat was created and how it has been used to upgrade portions of the Twisted project. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at www.podastinit.com/linode?utm_source=rss&utm_medium=rss and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. Visit the site to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch. 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. Your host as usual is Tobias Macey and today I’m interviewing Glyph about Automat, a library that provides self-service finite-state machines for the programmer on the go. Interview Introductions How did you get introduced to Python? What is a state machine and when might you want to use one? There are a number of libraries available on PyPI that facilitate the creation of state machines. Why did you feel the need to build a new option and how does it differ from what was already available? Why do you think developers fall into the trap of complicated conditional structures rather than reaching for a state machine? For someone who wants to integrate Automat into their project how would they go about that and what are some of the gotchas that they should keep in mind? What do the internals of Automat look like and how did you approach the overall design of the project? What are some of the more difficult aspects of designing and implementing state machines properly? What are some of the technical hurdles that you have been faced with in the process of building a library for implementing state machines? What do you have planned for the future of Automat? What are some of the most interesting use cases of Automat that you have seen? Keep In Touch Email @glyph on Twitter Glyph on GitHub Picks Tobias Commercial Electric color changing LED puck lights Glyph OmniFocus GTD Links Automat Glyph Interview About Software Ethics Finite State Automaton Yacc Bison Flex Parser Generator PyPI State Machine Pure Mealy Machine Moore Machine Mealy vs. Moore Machines Leaky Abstraction The Law of Leaky Abstraction Twisted Python Descriptor GraphViz Hypothesis PyCon Talk – TLS State Machine The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 115Nuclear Engineering with Dr. Katy Huff
FullSummary Access to affordable and consistent electricity is one of the big challenges facing our modern society. Nuclear energy is one answer because of its reliable output and carbon-free operation. To make this energy accessible to a larger portion of the global population further reasearch and innovation in reactor design and fuel sources is necessary, and that is where Python can help. This week Dr. Katy Huff talks about the research that she is doing, the problems facing the nuclear industry, and how she uses Python to make it happen. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at www.podastinit.com/linode?utm_source=rss&utm_medium=rss and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. Visit the site to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch. 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. Your host as usual is Tobias Macey and today I’m interviewing Dr. Katy Huff about using Python for nuclear engineering Interview Introductions How did you get introduced to Python? Can you start by explaining what nuclear engineering is and give some examples of current research in the field? The most widely used and recognized form of nuclear plant is the light water reactor, which, to my understanding, is also the most susceptible to melt-downs and release of radioactive material carried by escaped steam. What are some of the reactor types that are currently being researched to improve safety and efficiency? One of the major policy and logistics issues regarding nuclear power plants is the problem of how to handle spent fuel rods. What are some of the methods that are being researched to solve this problem? In your PyCon presentation you mentioned the Cyclus and PyNE projects as tools that you use in your research. Can you provide a brief overview of each and explain how you use them? What are some of the most pressing issues in nuclear engineering and how are you leveraging Python to help with addressing them? How does open source software relate to open science, and how do they impact the impact the ways that research is performed? What are some of the current or future developments in nuclear engineering that you are most excited about? Keep In Touch Website Twitter Research Picks Tobias Ryobi Tools Katy Atomic Awakening Atomic Accidents Atomic Adventures Links Plasma Nuclear Energy Thorium Uranium Molten Salt Reactor Spent fuel rods Yucca Mountain Nuclear Fuel Reprocessing Sodium Cooled Fast Reactor PyCon Keynote PyNE Cyclus Anthony Scopatz Moose Framework Partial Differential Equations REPL (Read Eval Print Loop) Stellarator Toroidal Fusion Device Journal of Open Source Software (JOSS) American Nuclear Society NEI IAEA The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 114Industrial Automation with Jonas Neubert
FullSummary We all use items that are produced in factories, but do you ever stop to think about the code that powers that production? This week Jonas Neubert takes us behind the scenes and talks about the systems and software that power modern facilities, the development workflows, and how Python gets used to tie everything together. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at www.podastinit.com/linode?utm_source=rss&utm_medium=rss and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. Visit the site to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch. 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. Your host as usual is Tobias Macey and today I’m interviewing Jonas Neubert about using Python for industrial automation Interview Introductions How did you get introduced to Python? How did you get involved in factory automation? What are some of the technical challenges that are unique to a factory environment and the physical computing needs associated with it? When developing new capabilities for your factory, how do you manage proper testing of your software given the need to interoperate with the hardware? Which languages are most frequently used for command and control of industrial systems and how does Python interface with them? How do you manage the problem of interfacing with the various different protocols and data formats that are presented by the different hardware instruments? In your PyCon presentation you commented on the fact that security in industrial automation systems is lacking. What are some of the most common issues that you have seen? Why is it that security is such an issue in industrial systems? How are production releases of your software managed and how does it differ from other types of products such as web applications? Aside from manufacturing facilities, what are some other types of environments or industries that require similar levels of hardware automation? What are some of the most interesting or challenging projects that you have worked on? What are some of the packages on PyPI that you find most useful in your day-to-day work? For someone who wants to get involved in industrial automation what kind of experience should they have and what are some of the resources that you recommend? What are some of the innovations in industrial automation that you are most excited about? Keep In Touch @jonemo on Twitter Website Jobs at Tempo Automation Picks Tobias Opeth Jonas Pycon 2017 Talks Eric Evenchick – Hacking Cars with Python Building a wireless speedometer with MicroPython Python from space by Katherine Scott Łukasz Langa – Unicode what is the big deal Morgan Wahl – Text is More Complicated Than You Think Comparing and Sorting Unicode The Prepared Newsletter by Spencer Wright Long Distance Amtrak rides! Links Tempo Automation Palm webOS Infinion Technologies DRAM Service Oriented Architecture Singleton Light Curtain Factory Acceptance Testing Site Acceptance Testing Testing Pyramid Protocol Analyzer Multimeter GCode IEC-61131 Pascal Ladder Logic OPC Standards OPC DA C# Factory Control Systems Stuxnet Industroyer IEC 61850 Industrial Internet of Things Counsyl PySerial FactoryBoy Parameterized Freezegun Struct XMLRPC Factory Tours How It’s Made McMaster.com Mass Customization Life Sciences CRISPR PyCon – Reprogramming the human genome Transcriptic Autodesk Life Sciences The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 113Jedi Code Completion with David Halter
FullSummary When you’re writing python code and your editor offers some suggestions, where does that suggestion come from? The most likely answer is Jedi! This week David Halter explains the history of how the Jedi auto completion library was created, how it works under the hood, and where he plans on taking it. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at www.podastinit.com/linode?utm_source=rss&utm_medium=rss and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. Visit the site to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch. 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. Your host as usual is Tobias Macey and today I’m interviewing David Halter about Jedi, an awesome autocompletion and static analysis library for Python Interview Introductions How did you get introduced to Python? Can you explain what Jedi is and what problem you were trying to solve when you created it? What is the story behind the name? While reading through the documentation I noticed that there is alpha support for linting with Jedi. Can you compare the linting approach and capabilities with those found in other tools such as pylint and flake8? What does the internal architecture and design look like? From the research that I did for the show it seems that, rather than use the AST to determine the structure of the code being completed you built your own parser and recursive evaluation of the other methods that you use for determining accurate completion? What was lacking in existing parsers that led you to build your own? What are some of the difficulties that you have encountered building and maintaining the grammar definitions and higher level API for parsing multiple versions of Python, including the 2 vs 3 split? What are some of the biggest challenges associated with introspecting user code? What are some of the ways that Jedi can be confounded by a user’s project? What are some of the most difficult technical hurdles that you have been faced with while building Jedi? What are some unusual or unexpected uses of Jedi that you have seen? What do you have planned for the future of Jedi? Keep In Touch davidhalter on GitHub @jedidjah_ch on Twitter Picks Tobias Patch utility David Bears Den Soccer Singing Dancing DocOpt OpenStack Links Cloudscale.ch Vim Youcompleteme Neocomplete pyflakes pycodestyle pylint Parser Generator Parser Error Recovery lib2to3 Python grammar file Finite state automata Type inference yapf AST module MyPy IPython The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 112Coconut with Evan Hubinger
FullSummary Functional programming is gaining in popularity as we move to an increasingly parallel world. Sometimes you want access to purely functional syntax and capabilities but you don’t want to have to learn an entirely new language. Coconut is here to help! This week Evan Hubinger explains how Coconut is a functional language that compiles to Python and can be mixed and matched with the rest of your program. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at www.podastinit.com/linode?utm_source=rss&utm_medium=rss and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. Visit the site to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch. 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. Your host as usual is Tobias Macey and today I’m interviewing Evan Hubinger about Coconut, a functional language implemented as a superset of Python Interview Introductions How did you get introduced to Python? Can you start by explaining what Coconut is and what problem you were trying to solve when you created it? Where did the name come from? How is Coconut implemented and what does the compilation process for Coconut code look like? How will I be able to debug my Python if I’m not the one writing it? The documentation mentions that Coconut itself is compatible with both Python 2 and 3, are there any caveats to be aware of in terms of mixing in standard Python syntax? Are there any performance optimizations that you have had to perform in order to make things like recursion and pattern matching work at reasonable speeds in the Python VM? Which functional languages have you taken inspiration from during the creation of Coconut? What are some of the most interesting or unexpected uses of Coconut that you have seen? What are some resources that you recommend for people who are interested in learning more about functional programming? Keep In Touch Coconut Website GitHub Tutorial Documentation FAQ Chat room Evan GitHub LinkedIn Picks Tobias ElementTree Evan pyparsing is an awesome PyPI package you should check out The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 111Cauldron with Scott Ernst
FullSummary The notebook format that has been exemplified by the IPython/Jupyter project has gained in popularity among data scientists. While the existing formats have proven their value, they are still susceptible with difficulties in collaboration and maintainability. Scott Ernst created the Cauldron notebook to be testable, production ready, and friendly to version control. This week we explore the capabilities, use cases, and architecture of Cauldron and how you can start using it today! Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at www.podastinit.com/linode?utm_source=rss&utm_medium=rss and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. Visit the site to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch. 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. Your host as usual is Tobias Macey and today I’m interviewing Scott Ernst about Cauldron, a new notebook format built with software engineering best practices in mind. Interview Introductions How did you get introduced to Python? Can you start by explaining what Cauldron is and what problem you were trying to solve when you created it? In the documentation it mentions that you can use any editor for creating the content of the notebook. Can you describe a typical workflow of authoring the various files and cells and viewing the output? How does Cauldron compare to the Jupyter notebook format and what factors would lead someone to choose one over the other? Does Cauldron support running languages other than Python? If not then what would be involved in adding that capability? Cauldron notebooks support unit tests of individual cells. How does that process work and what are the limitations? The option for running the notebook in the context of a task workflow tool appears to be a powerful capability. What are some of the considerations that are necessary when writing a notebook to be run in that manner? What are some of the most interesting or unexpected projects that you have seen people using Cauldron for? What do you have planned for the future of Cauldron? Keep In Touch @swernst on Twitter Website Picks Tobias Tiffany Aching Adventures Scott Apache Big Data Conference Links When I Work IPython Interview Spark R2Py Bokeh Website Podcast.init Interview Luigi Airflow Website Podcast.init Interview Digital Paleontology A16 Project The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 110Tech Debt and Refactoring at Yelp! with Andrew Mason
FullSummary Healthy code makes for happy coders, and there are many ways to measure the health of a project. This week Andrew Mason talks about the Undebt project from Yelp!, as well as some of the other tools and practices that have been developed to make sure that the balance on their technical debt card stays low. Give it a listen to learn how and why to measure and address the painful parts of your software. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at www.podastinit.com/linode?utm_source=rss&utm_medium=rss and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. Visit the site to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch. 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. Your host as usual is Tobias Macey and today I’m interviewing Andrew Mason about technical debt and refactoring with Undebt. Interview Introductions How did you get introduced to Python? How do you define technical debt and why is it an important aspect of a project to keep track of? How would you characterize refactoring in general and when you might want to do it? What is Undebt and what was the problem that you were facing at Yelp when it was created? For someone who wants to get started with using Undebt what does that process look like and how does it work under the covers? What are some of the other tools and techniques available for refactoring Python code and how do they differ from what is possible in Undebt? What are some of the other tools and methods that you use to maintain the overall health of your codebase? What are some of the limitations and edge cases that you have experiemced working with Undebt? It is often a difficult balancing act when working in a team to determine how much time to spend paying down technical debt and building tools that will act as force multipliers vs doing feature work that will be visible to end-users. In your experience, what are some ways to manage that tension? Keep In Touch Andrew GitHub Website @andrew_mason1 on Twitter Picks Tobias Continuous Delivery by Jez Humble and David Farley Andrew XI Editor The Circle by David Eggers Links Martin Fowler “Uncle” Bob Martin git-code-debt Undebt PyParsing Podcast.init Episode About Parsing Rope Pre-Commit PyLint The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 109LBRY with Jeremy Kauffman
FullSummary Content discovery and delivery and how it works in the digital realm is one of the most critical pieces of our modern economy. The blockchain is one of the most disruptive and transformative technologies to arrive in recent years. This week Jeremy Kauffman explains how the company and platform of LBRY are combining the two in an attempt to redefine how content creators and consumers interact by creating a new distributed marketplace for all kinds of media. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at www.podastinit.com/linode?utm_source=rss&utm_medium=rss and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. Visit the site to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch. 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. Your host as usual is Tobias Macey and today I’m interviewing Jeremy Kaufman about LBRY, a new marketplace for media built on peer to peer storage and blockchain technologies. Interview Introductions How did you get introduced to Python? What is LBRY and how did the idea for it get started? What, if any, mechanisms are there for content owners to address piracy? Is the LBRY blockchain purpose built for the protocol and application or is it using something like Ethereum under the covers? In order to support a large scale distributed marketplace, the crypto coin that you are using will need to be able to support large transaction volumes so how have you architected it in order to achieve that capability? What technologies are you leveraging to facilitate the content distribution mechanism? One of the current problems with Bitcoin mining is that as the complexity of the proofs has increased and dedicated operations have moved to ASICs it has become less feasible for an individual to take part. Is there any provision for that situation built into the LBRY blockchain or does it not matter due to the capabilities for individual users to earn coins by participating as part of the storage network? What led to the decision to use Python for the initial implementation? For people who are participating in the LBRY network, what is the mechanism for them to convert their earned LBC into fiat currency? How much of the overall LBRY stack is using Python and what other languages are you taking advantage of? What is the business plan for LBRY the company and what do you have planned for the future of LBRY? Keep In Touch Jeremy @jeremykauffman on Twitter Email LBRY Website @LBRYio on Twitter Picks Tobias Neurotribes Jeremy Crystals and Mud in Property Law Links LBRY BitTorrent BitCoin Blockchain Distributed Hash Tables The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 108Python Goes To The Movies with Dhruv Govil
FullSummary Movies are magic, and Python is part of what makes that magic possible. We go behind the curtain this week with Dhruv Govil to learn about how Python gets used to bring a movie from concept to completion. He shares the story of how he got started in film, the tools that he uses day to day, and some resources for further learning. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at www.podastinit.com/linode?utm_source=rss&utm_medium=rss and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. Visit the site to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch. 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. Your host as usual is Tobias Macey and this week I am joined by Dhruv Govil to talk about how Python is used for making movies. Interview Introductions How did you get introduced to Python? How did you get started in the film-making business? What are some of the ways that Python is used in the process of bringing a movie to completion? How much of the overall pipeline processing happens in Python vs just being used as a means of wiring together other programs. How much of the code that gets written is reusable between different projects? What is involved in testing data assets when they are submitted to the pipeline for the open format conversion process? What are some of the libraries that you have found to be most useful in your day-to-day work? Why do you think that Python is so widely used in the film industry and are there any other languages that you see being used in a similar manner? What are some of the areas where Python is used that you were most surprised by? Are there any portions of the process where you would like to be able to use Python but are unable due to performance or platform constraints? What are some of the most interesting projects that you have worked on and which are you most proud of? How does the work that is done by developers and technical contributors get reflected in the final credits? For anyone who is interested in working in the film industry as a technical contributor what advice do you have? Keep In Touch Dhruv Website @DhruvGovil on Twitter dgovil on GitHub Picks Tobias Firefox on Android Dhruv Google Earth VR Links Udemy: Python for MayaUdemy Vancouver Film School Guardians of the Galaxy Cloudy w/ chance meatballs 2 Blog Post: Python For Feature Film PyQT PySide Autodesk Maya Katana Nuke Cython Rez Alembic Geometry Storage Format Pixar Universal Scene Description Pyblish Open Color IO Edge of Tomorrow PyOpenGL Kraken Fabric Engine SIGGRAPH Convention Ray Tracing In A Weekend Mathematics for Computer Graphics Blender The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 107Scapy with Guillaume Valadon
FullSummary Network protocols are often inscrutable, but if you have an effective way to experiment with them then they expose a lot of power. This week Guillaume Valadon explains how Scapy can be used to inspect your network traffic, test the security of your systems, and develop brand new protocols, all in Python! Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at www.podastinit.com/linode?utm_source=rss&utm_medium=rss and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. Visit the site to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch. 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. Get a shirt and support the show! Go to https://teespring.com/podcastinit?utm_source=rss&utm_medium=rss and get a mug to go with it. Your host as usual is Tobias Macey and today I am interviewing Guillaume Valadon about Scapy, the swiss army knife for packet manipulation in Python Interview Introductions How did you get introduced to Python? Can you explain what Scapy is and what problem it was created to solve? How has the decision to build Scapy in Python benefited the project? How has the 10 year history of the project affected your ability to maintain and evolve the code? How has the project evolved from the initial prototypes by Philippe Biondi through to its current incarnation as Scapy 2? I understand that the project was originally hosted on Bitbucket and then moved to Github. What prompted that decision and how has it played out? Who is the target audience and what are some of the primary intended use cases for Scapy? How is the implementation of packet layering architected in order to allow for such flexibility and composability? What are some of the most interesting and unexpected ways that you have seen Scapy used? What protocols have been the most problematic to implement and maintain? What have been some of the most challenging aspects of developing Scapy? What do you have planned for the future of Scapy? Contact Info Guillaume Website Email @guedou on Twitter Picks Tobias Buckethead Guillaume Rust Links Six UTScapy CodeCov Appveyor Jython OpenBSD MicroPython NSA Extra Bacon SNMP ASN.1 X509 TLS IPSec DNS HTTP2 PEP8 Scapy 3 The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 106yt-project with Nathan Goldbaum and John Zuhone
FullSummary Astrophysics and cosmology are fields that require working with complex multidimensional data to simulate the workings of our universe. The yt project was created to make working with this data and providing useful visualizations easy and fun. This week Nathan Goldbaum and John Zuhone share the story of how yt got started, how it works, and how it is being used right now. Announcements The Open Data Science Conference is coming to Boston May 3rd-5th. Get your ticket now so you don’t miss out on your chance to learn more about the state of the art for data science and data engineering. Now you can get T-shirts, sweatshirts, mugs, and a tote bag to let the world know about Podcast.init, and you can support the show at the same time! Go to teespring.com/podcastinit and load up! Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at www.podastinit.com/linode?utm_source=rss&utm_medium=rss and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. Visit the site to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch. 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. Your host as usual is Tobias Macey and today I’m interviewing Nathan Goldbaum and John Zuhone about the YT project for multi-dimensional data analysis. Interview Introductions How did you get introduced to Python? What is yt and how did it get started? Where does the name come from? How does yt compare to other projects such as AstroPy for astronomical data analysis? What are the domains in which yt is most widely used? One of the main use cases of yt is for visualizing multidimensional data. What are some of the design challenges in trying to represent such complicated domains via a visual model? Some of the sample datasets for the examples are rather large. What are some of the biggest challenges associated with running analyses on such substantial amounts of information? How has the project evolved and what are some of the biggest challenges that it is facing going forward? Contact John @njgoldbaum on Twitter Nathan @astrojaz on Twitter Picks Tobias Scout2 Nathan The Expanse Novels John Visual Studio Code Links HDF5Py Matt Turk Seismodome Computational Fluid Dynamics AstroPy Website Podcast Interview SymPy Website Podcast Interview Magnetohydrodynamics Numerical Relativistic Hydrodynamics MPI4Py Matplotlib The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 105Scikit-Image with Stefan van der Walt and Juan Nunez-Iglesias
FullSummary Computer vision is a complex field that spans industries with varying needs and implementations. Scikit-Image is a library that provides tools and techniques for people working in the sciences to process the visual data that is critical to their research. This week Stefan Van der Walt and Juan Nunez-Iglesias, co-authors of Elegant SciPy, talk about how the project got started, how it works, and how they are using it to power their experiments. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at www.podastinit.com/linode?utm_source=rss&utm_medium=rss and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. Visit the site to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch. 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. Your host as usual is Tobias Macey and today I am interviewing Stefan van der Walt and Juan Nunez-Iglesias, co-authors of Elegant SciPy, about scikit-image Interview Introduction How did you get introduced to Python? What is scikit-image and how did the project get started? How does its focus differ from projects like SimpleCV/OpenCV or Pillow? What are some of the common use cases for which the scikit-image package is typically employed? What are some of the ways in which images can exhibit higher dimensionality and what are some of the kinds of operations that scikit-image can perform in those situations? How is scikit designed and what are some of the biggest challenges associated with its development, whether in the past, present, or future? What are some of the most interesting use cases for scikit-image that you have seen? What do you have planned for the future of scikit-image? Contact Information Stefan Email @stefanvdwalt on Twitter Website Juan Email @jnuneziglesias on Twitter Website jni on GitHub Picks Tobias Set Stefan Monkey Island Thimbleweed Park Aqua Notes Juan Matilda the Musical Water Rower Rowing Machine Bored Elon Musk OMG: “News app that connects to a blood pressure monitor and adjusts your feed accordingly.” Links scikits.appspot.com Sphinx Gallery SciPy Conference Minimum Cost Paths Image Stitching Tutorial Elegant SciPy The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 104Oscar Ecommerce with David Winterbottom and Michael van Tellingen
FullSummary If you have a product to sell, whether it is a physical good or a subscription service, then you need a way to manage your transactions. The Oscar ecommerce framework for Django is a flexible, extensible, and well built way for you to add that functionality to your website. This week David Winterbottom and Michael van Tellingen talk about how the project got started, how it works under the covers, and how you can start using it today. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at www.podastinit.com/linode?utm_source=rss&utm_medium=rss and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. Visit the site to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch. To help other people find the show you can leave a review on iTunes, or Google Play Music, and tell your friends and co-workers Before we start the show I have a couple of announcements I started a new Slack channel for guests and listeners of the show. Go to www.pythonpodcast.com/slack?utm_source=rss&utm_medium=rss to join in the conversation! If you are interested in how open source powers innovations in data then you should check out the Open Source Data Science conference. It is coming to Boston, Massachusetts on March 3rd through the 5th so don’t miss out on your chance to level up and meet some new friends! Your host as usual is Tobias Macey and today I’m interviewing David Winterbottom and Michael van Tellingen about the Oscar framework for building ecommerce applications in Django. Interview Introductions How did you get introduced to Python? What is Oscar and what problem were you trying to solve when you created it? At face value ecommerce seems like a fairly straightforward problem domain but there is a lot of incidental complexity involved. What are some of the most challenging aspects of building and managing a web store? The documentation states in a number of places that Oscar takes a ‘domain driven’ approach to building ecommerce applications. Can you explain what you mean by that and how it manifests in the project? What does the internal design of Oscar look like and how would someone get started with building a site with it? There can be a benefit to having an opinionated approach when building a framework because it simplifies the implemenation for the user. What is the reasoning for choosing to expose and allow for complexity in Oscar? What are some of the most interesting and unexpected projects that you have seen built with Oscar? How has ecommerce changed in the time since Oscar was first created, and how has that impacted its evolution? What is in store for the future of Oscar? Contact David Website @codeinthehole on Twitter GitHub Michael Website Picks David Destroy All Software by Gary Bernhardt Michael PyCharm Zeep (SOAP Library) Links Shopify Tangent Domain Driven Design by Eric Evans (book) Entity, Attribute, Value Pattern Home Assistant Interview Spree Commerce Magento Saleor Wagtail Wagtail Interview Django CMS Kivy Garden Awesome Wagtail SaltStack Formulas Pelican Plugins DjangoPackages.org Django Treebeard TDD (Test Driven Development) The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 103Duplicity with Kenneth Loafman
FullSummary Everyone who uses a computer on a regular basis knows the importance of backups. Duplicity is one of the most widely used backup technologies, and it’s written in Python! This week Kenneth Loafman shares how Duplicity got started, how it works, and why you should be using it every day. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at linode.com/podcastinit and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. Visit our site to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch. To help other people find the show you can leave a review on iTunes, or Google Play Music, and tell your friends and co-workers Your host as usual is Tobias Macey and today I’m interviewing Kenneth Loafman about Duplicity, the Python based backup tool Interview Introduction How did you get introduced to Python? Can you share some of the history of Duplicity? What is duplicity and how does it differ from other available backup tools? Many backup solutions are written in Java or lower level languages such as C, what is the motivation for using Python as the language for implementing Duplicity? At face value backing up files seems like a straightforward task but there is a lot of incidental complexity. Can you describe the architecture and internals of Duplicity that allow for it to handle a wide variety of use cases? It has been shown in a number of contexts that people will generally use the default settings, so by forcing people to opt out of encrypting their backups you are promoting security best practices in Duplicity. Why is it so important to have the archive encrypted, even if the storage medium is fully under the control of the person doing the backup? Given that backups need to be highly reliable what are the steps that you take during the development process to ensure that there are no regressions? What mechanisms are built into duplicity to prevent data corruption? What are some of the most difficult or complex aspects of the problem space that Duplicity is dealing with? I noticed that you have a proposal for a new archive format to replace Tar. Can you describe the motivation for that and the design choices that have been made? Contact Kenneth Loafman Email @FirstPrime on Twitter Picks Tobias Passengers Kenneth NCIS Plan 9 From Outer Space Links rsync librsync deja-dup duply ECC duplicity The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 102Digital Identity, Privacy, and Security with Brian Warner
FullSummary As the internet and digital technologies continue to infiltrate our way of life, we are forced to consider how our concepts of identity and security are reflected in these spaces. Brian Warner joins me this week to discuss his work on privacy focused projects that he has worked on, including the Tahoe LAFS, Firefox Sync, and Magic Wormhole. He also has some intriguing ideas about how we can replace passwords and what it means to have an online identity. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at linode.com/podcastinit and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. Visit our site to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch. To help other people find the show you can leave a review on iTunes, or Google Play Music, and tell your friends and co-workers Your host as usual is Tobias Macey and today I’m interviewing Brian Warner about digital identity, privacy, and security Interview Please introduce yourself How did you get introduced to Python? How did you get involved in the area of cryptography and digital privacy? You have created or made significant contributions to a number of projects that are focused on making secure communications and storage more accessible, including Tahoe LAFS (Least Authority File System), Magic Wormhole, and Petmail. Can you provide a brief overview of these projects and any others that you would like to mention? What problem were you trying to solve when you created or began contributing to each of them and how satisfied are you with their current state? What have you found to be the biggest barriers to adoption for these projects? How do Tahoe and Magic Wormhole benefit an average user and what are your plans for their future development? One of the most ubiquitous issues with our modern security infrastructure leading to compromise is the humble password. What are some technologies that you foresee replacing the need for passwords? As technologists we are fairly well aware of the weaknesses in the systems that we use day-to-day. How can we make digital privacy and security more accessible? Contact Info warner on GitHub @lotharrr on Twitter Picks Brian Ra on Things of Interest The Golden Age by John C. Wright Links Tor Petmail (v1, ca 2003) Petmail (new) Mojo Nation Tahoe-LAFS Magic-Wormhole Erasure Coding Firefox Sync JPAKE SPAKE2 PyCon 2016 Presentation on Magic Wormhole (video) (slides) Versioneer Keybase File System Least Authority Enterprises Foolscap SpiderOak Object Capability Pattern Shamir’s Secret Sharing AutoCrypt Signal WhatsApp Simply Secure

Ep 101Crossbar.io with Tobias Oberstein and Alexander Gödde
FullSummary As our system architectures and the Internet of Things continue to push us towards distributed logic we need a way to route the traffic between those various components. Crossbar.io is the original implementation of the Web Application Messaging Protocol (WAMP) which combines Remote Procedure Calls (RPC) with Publish/Subscribe (PubSub) communication patterns into a single communication layer. In this episode Tobias Oberstein describes the use cases and design patterns that become possible when you have event-based RPC in a high-throughput and low-latency system. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at linode.com/podcastinit and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. Visit our site to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch. To help other people find the show you can leave a review on iTunes, or Google Play Music, and tell your friends and co-workers Your host as usual is Tobias Macey and today I’m interviewing Tobias Oberstein and Alexander Gödde about Crossbar.io, a high throughput asynchronous router for the WAMP protocol Interview Introductions How did you get introduced to Python? What is Crossbar and what is the problem that you were trying to solve when you created it? What is the status of the IETF WAMP protocol proposal? Why have an open protocol – and how do you see the ecosystem? Python isn’t typically considered to be a high-performance language so what led you to use it for building Crossbar? How is Crossbar architected for proxying requests from a highly distributed set of clients with low latency and high throughput? How do you handle authorization between the various clients of the router so that potentially sensitive messages don’t get published to the wrong component? Does Crossbar encapsulate any business logic or is that all pushed to the edges of the system? What are some of the typical kinds of applications that Crossbar is designed for? What are some common design paradigms that would be better suited for a WAMP implementation? What are some of the most interesting or surprising uses of Crossbar that you have seen? What do you have planned for the future of Crossbar? Keep In Touch Mailing Lists https://groups.google.com/forum/#!forum/autobahnws?utm_source=rss&utm_medium=rss https://groups.google.com/forum/#!forum/wampws?utm_source=rss&utm_medium=rss https://groups.google.com/forum/#!forum/crossbario?utm_source=rss&utm_medium=rss #autobahn on IRC Picks Tobias Logan Alex Pivotal Tracker Tobias PyPy Brian Warner Click prompt-toolkit Links Autobahn WAMP PyPy API Gateway The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 100MetPy: Taming The Weather With Python
FullSummary What’s the weather tomorrow? That’s the question that meteorologists are always trying to get better at answering. This week the developers of MetPy discuss how their project is used in that quest and the challenges that are inherent in atmospheric and weather research. It is a fascinating look at dealing with uncertainty and using messy, multidimensional data to model a massively complex system. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at linode.com/podcastinit and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. Visit our site to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch. To help other people find the show you can leave a review on iTunes, or Google Play Music, and tell your friends and co-workers Your host as usual is Tobias Macey and today I’m interviewing Ryan May, Sean Arms, and John Leeman about MetPy, a collection of tools and notebooks for analyzing meteorological data in Python. Interview Introductions How did you get introduced to Python? What is MetPy and what is the problem that prompted you to create it? Can you explain the problem domain for Meteorology and how it compares to other domains such as the physical sciences? How do you deal with the inherent uncertainty of atmospheric and weather data? What are some of the data sources and data formats that a meteorologist works with? To what degree is machine learning or artificial intelligence employed when modelling climate and local weather patterns? The MetPy documentation has a number of examples of how to use the library and a number of them produce some fairly complex plots and graphs. How prevalent is the need to interact with meteorological data visually to properly understand what it is trying to tell you? I read through your developer guide and watched your SciPy talk about development automation in MetPy. My understanding is that individuals with a pure science background tend to eschew formal code styles and software engineering practices so I’m curious what your experience has been when interacting with your user community. What are some of the interesting innovations in weather science that you are looking forward to? Keep In Touch MetPy @MetPy on Twitter Documentation GitHub Ryan @dopplershift on Twitter dopplershift on GitHub Picks Tobias Drill To Detail Podcast Data Capital Episode Ryan pytest-mpl Sean Trolls John Embedded.fm Links Unidata University of Oklahoma – College of Atmospheric and Geographic Sciences University Corporation for Atmospheric Research NetCDF GEMPACK XArray The Climate Corporation GOES-16 LDM Goes16 on Twitter Don’t Panic Geocast The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 99The Update Framework: Securing Your Software Updates with Justin Cappos
FullSummary If you write software then there’s a good probability that you have had to deal with installing dependencies, but did you stop to ask whether you’re installing what you think you are? My guest this week is Professor Justin Cappos from the Secure Systems Lab at New York University and he joined me to discuss his work on The Update Framework which was built to guarantee that you never install a compromised package in your systems. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at linode.com/podcastinit and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. Visit our site to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch. To help other people find the show you can leave a review on iTunes, or Google Play Music, and tell your friends and co-workers Your host as usual is Tobias Macey and today I’m interviewing Justin Cappos about The Update Framework, an open spec and reference implementation for mitigating attacks on software update systems. Interview Introduction How did you first get introduced to Python? Please start by explaining what The Update Framework (TUF) is and the problem that you were trying to solve when you created it. How is TUF architected and what led you to choose Python for the reference implementation? TUF addresses the problem of ensuring that the packages that get installed are created by the right developers, but how do you properly establish trust in the first place? Why are consistent and auditable dependencies important for the security of a system and how does TUF help with that goal? What are some of the known attack vectors for a software update system and how do Python and other systems attempt to mitigate these vulnerabilities? One of the perennial problems with any dependency management system is that of transitive dependencies. How does TUF handle this extra complexity of ensuring that all of the secondary, tertiary, etc. dependencies are also properly pinned and trusted? For someone who wants to start using TUF what are the steps to get it set up with pip? How would a project that wants to use TUF, do so? Who is using TUF and when will it be used with PyPI? Keep In Touch https://ssl.engineering.nyu.edu/?utm_source=rss&utm_medium=rss https://ssl.engineering.nyu.edu/personalpages/jcappos/?utm_source=rss&utm_medium=rss Picks Tobias The Enchanted Forest Chronicles Justin Hand Pulled Noodles Lam Zhou Links When the Going Gets Tough, Get TUF Going – PyCon 2016 RPM Apt Stork Package Manager Yubikey Distribution Packages Considered Insecure Notary Flynn Uptane in-toto The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 98Pandas with Jeff Reback
FullSummary Pandas is one of the most versatile and widely used tools for data manipulation and analysis in the Python ecosystem. This week Jeff Reback explains why that is, how you can use it to make your life easier, and what you can look forward to in the months to come. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at linode.com/podcastinit and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. When you’re writing Python you need a powerful editor to automate routine tasks, maintain effective development practices, and simplify challenging things like refactoring. Our sponsor JetBrains delivers the perfect solution for you in the form of PyCharm, providing a complete set of tools for productive Python, Web, Data Analysis and Scientific development, available in 2 editions. The free and open-source PyCharm Community Edition is perfect for pure Python coding. PyCharm Professional Edition is a full-fledged tool, designed for professional Python, Web and Data Analysis developers. Today JetBrains is offering a 3-month free PyCharm Professional Edition individual subscription. Don’t miss this chance to use the best-in-class tool with intelligent code completion, automated testing, and integration with modern tools like Docker – go to <www.pythonpodcast.com/pycharm?utm_source=rss&utm_medium=rss> and use the promo code podcastinit during checkout. Visit the site to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch. To help other people find the show you can leave a review on iTunes, or Google Play Music, and tell your friends and co-workers Your host as usual is Tobias Macey and today I’m interviewing Jeff Reback about Pandas, the swiss army knife of data analysis in Python. Interview Introductions How did you get introduced to Python? To start off, what is Pandas and what is its origin story? How did you get involved in the project’s development? For someone who is just getting started with Pandas what are the fundamental ideas and abstractions in the library that are necessary to understand how to use it for working with data? Pandas has quite an extensive API and I noticed that the most recent release includes a nice cheat sheet. How do you balance the power and flexibility of such an expressive API with the usability issues that can be introduced by having so many options of how to manipulate the data? There is a strong focus for use in science and data analytics, but there are a number of other areas where Pandas is useful as well. What are some of the most interesting or unexpected uses that you have seen or heard of? What are some of the biggest challenges that you have encountered while working on Pandas? Do you find the constraint of only supporting two dimensional arrays to be limiting, or has it proven to be beneficial for the success of pandas? What’s coming for pandas? Pandas 2.0! Keep In Touch @jreback on Twitter jreback on GitHub Picks Tobias http://standards.mousepawgames.com/index.html?utm_source=rss&utm_medium=rss Jeff Travis CI Appveyor Circle CI Links Continuum Analytics Myths Programmers Believe About Time Jupyter Notebook XArray Dask Website Interview NumFocus PyLint Interview The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 97PyTables with Francesc Alted
FullSummary HDF5 is a file format that supports fast and space efficient analysis of large datasets. PyTables is a project that wraps and expands on the capabilities of HDF5 to make it easy to integrate with the larger Python data ecosystem. Francesc Alted explains how the project got started, how it works, and how it can be used for creating sharable and archivable data sets. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at linode.com/podcastinit and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. Linode will has announced new plans, including 1GB for $5 plan, high memory plans starting at 16GB for $60/mo and an upgrade in storage from 24GB to 30GB on our 2GB for $10 plan. Visit our site to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch. To help other people find the show you can leave a review on iTunes, or Google Play Music, and tell your friends and co-workers Your host as usual is Tobias Macey and today I’m interviewing Francesc Alted about PyTables Interview Introductions How did you get introduced to Python? To start with, what is HDF5 and what was the problem that motivated you to wrap Python around it to create PyTables? Which are the most relevant contributors for PyTables? How you interacted? How is the project architected and what are some of the design decisions that you are most proud of? What are some of the typical use cases for PyTables and how does it tie into the broader Python data ecosystem? How common is it to use an HDF5 file as a data interchange format to be shared between researchers or between languages? Given the ability to create custom node types, does that inhibit the ability to interact with the stored data using other libraries? What are some of the capabilities of HDF5 and PyTables that can’t be reasonably replicated in other data storage systems? One of the more intriguing capabilities that I noticed while reading the documentation is the ability to perform undo and redo operations on the data. How might that be leveraged in a real-world use case? What are some of the most interesting or unexpected uses of PyTables that you are aware of? Keep In Touch @FrancescAlted on Twitter FrancescAlted on GitHub Picks Tobias The Accountant Francesc Blosc a high speed compressor, specially meant for binary data The Lego Batman Movie Links PyTables PyTables – Optimization Presentations and Videos about PyTables Part of the story behind PyTables HDF5 Pandas SIMD NumFOCUS The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 96SKIDL with Dave Vandenbout
FullSummary As circuits and electronic components become more complex, visual circuit building tools are more difficult to use effectively. If you wish that you could just write your circuits in Python then you’re in luck! Dave Vandenbout created a library called SKIDL that brings the power and flexibility of Python to the realm of Electrical Engineering and he tells us all about it in this weeks show. Preamble Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at linode.com/podcastinit and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. Visit our site to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch. To help other people find the show you can leave a review on iTunes, or Google Play Music, and tell your friends and co-workers Join our community! Visit discourse.pythonpodcast.com for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas. Your host as usual is Tobias Macey and today I’m interviewing Dave Vandenbout about SKIDL, a library for designing and validating circuit layouts. Interview Introductions How did you get introduced to Python? Can you describe what SKIDL is and the problem that you were trying to solve when you first started it? Most of my experience designing circuits has been done using a graphical tool. If you are using Python for the entire layout does it become difficult to understand the overall circuit without the visual representation? Is there a way to generate a circuit diagram from the SKIDL code for a visual reference? It seems that there is a substantial amount of electrical knowledge required to be able to design and build schematics in code. For someone who is more of a hobbyist or is just starting to work with circuit design are there any facilities of SKIDL to assist with that understanding? What does the testing and validation process of a generated circuit look like? What does the internal architecture of SKIDL look like and what are some of the biggest challenges that you have faced while building it? For the generated netlist does SKIDL take into account voltage losses due to the lengths of the traces in the final PCB and does it have any facilities to optimize the overall layout for space and efficiency? Sometimes a circuit board is meant to be accessible for maintenance or even display purposes. Is it possible to specify the arrangement of components to make them more aesthetically pleasing or to space them so that they are easier to access physical interface ports (e.g. GPIO pins or I2C buses)? What are some of the most interesting or surprising uses of SKIDL that you have seen? Keep In Touch Website Documentation Picks Tobias Samsonite Tectonic Backpack Dave Ball 4 by Jim Bouton Links KiCad Gerber Files ASIC FPGA PHDL MyHDL VHDL SPICE Simulator The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 95Parsing and Parsers with Dave Beazley and Erik Rose
FullSummary If you have ever found yourself frustrated by a complicated regular expression or wondered how you can build your own dialect of Python then you need a parser. Dave Beazley and Erik Rose talk about what parsers are, how some of them work, and what you can do with them in this episode. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at linode.com/podcastinit and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. Visit our site to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch. To help other people find the show you can leave a review on iTunes, or Google Play Music, and tell your friends and co-workers Join our community! Visit discourse.pythonpodcast.com for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas. Your host as usual is Tobias Macey and today I’m interviewing Erik Rose and Dave Beazley about what parsing is, why you might want to use it, and how their respective libraries Parsimonious and PLY make it easy. Interview Introductions How did you get introduced to Python? Can you each start by talking a bit about your respective libraries and what problem you were trying to solve when they were first created? In what ways does a full-fledged parser differ from what a regular expression engine is capable of? What are some of the different high-level approaches to building a parser and when might you want to choose one over the others? I’m sure that when most people hear the term parsing they associate it with reading in a data interchange format such as JSON or CSV. What are some of the more interesting or broadly applicable uses of parsing that might not be as obvious? One term that kept coming up while I was doing research for this interview was “Grammars”. How would you explain that concept for someone who is unfamiliar with it? Once an input has been parsed, what does the resulting data look like and how would a developer interact with it to do something useful? For someone who wants to build their own domain specific language (DSL) what are some of the considerations that they should be aware of to create the grammar? What are some of the most interesting or innovative uses of parsers that you have seen? Keep In Touch Dave Beazley @dabeaz on Twitter Website Erik Rose @ErikRose on Twitter Website Picks Tobias Terminix Erik Riven ScummVM Dave iTerm2 Kerbal Space Program Links Python Cookbook Python Essential Reference Fathom SWIG Windows Scripting Host PEG (Brian Foord) Parsing Techniques by Grune and Jacobs The Dragon Book Stack Overflow HTML regex parsing Earley parsing SPARK Hy-lang Docs Interview Trampolining Lisp NLTK SLY DXR LLVM Numba The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 94Home Assistant with Paulus Schoutsen
FullSummary Don’t you wish you could make all of your devices talk to each other? Check out Home Assistant, the Python 3 platform for unified automation. Paulus Schoutsen shares the story of how the project got started, what makes it tick, and how you can use it today! Introduction Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at linode.com/podcastinit and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. Visit our site to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch. To help other people find the show you can leave a review on iTunes, or Google Play Music, and tell your friends and co-workers Join our community! Visit discourse.pythonpodcast.com for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas. Your host as usual is Tobias Macey and today I’m interviewing Paulus Schoutsen about Home Assistant, the Python 3 platform for unifying your home automation. Interview Introductions How did you get introduced to Python? What is Home Assistant and what was the initial frustration that inspired you to create it? How useful would home assistant be for someone who doesn’t have a lot of the so-called ‘smart home’ technology? Given the fact that the intended context for Home Assistant is in the user’s house or apartment, how do you ensure that their data and privacy are safe? Reading through the documenation for installing and configuring Home Assitant, it seems prohibitively complex for someone who is not technically inclined. Has any work been done to try to package the project in a way that is more friendly to a casual user? What are some of the most difficult challenges that you have faced while building Home Assistant? Why did you choose Python 3 as the technology for building this platform? The list of supported services and integrations is quite impressive. How does the current architecture allow for that kind of growth? How has the architecture of Home Assistant evolved from when you first started it? What are some of the products or platforms that you consider to be competitors of Home Assistant and how do you differentiate yourself? What are some of the most interesting or unexpected uses of Home Assistant that you have seen? What do you see as some of the most promising and the most troubling trends in the future of home automation? Keep In Touch Gitter Chatroom Forum Picks Tobias Miss Peregrine’s Home for Peculiar Children Paulus Read a Newspaper Links Mycroft Interview Project Homepage Let’s Encrypt Voluptuous JSON-Schema Home Assistant PyCon Presentation asyncio Open HAB Merai Botnet The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 93Cryptography with Paul Kehrer
FullSummary Sooner or later you will need to encrypt or hash some data. Thankfully we have the Cryptography library, along with the other projects maintained by the Python Cryptographic Authority, to make sure that your crypto is done right. In this episode Paul Kehrer talks about how the PyCA got started, the projects that they maintain, and how you can start using cryptography in your programs today. Brief Introduction Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at linode.com/podcastinit and get a $20 credit to try out their fast and reliable Linux virtual servers for running your app or experimenting with something you hear about in this episode. Visit our site to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch. To help other people find the show you can leave a review on iTunes, or Google Play Music, and tell your friends and co-workers Join our community! Visit discourse.pythonpodcast.com for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas. Your host as usual is Tobias Macey and today I’m interviewing Paul Kehrer about cryptography and encryption in Python Interview with Paul Kehrer Introductions How did you get introduced to Python? Can you share a bit of the background behind the Python Cryptographic Authority and how you got involved? There is an adage that you should never roll your own crypto because if there are bugs or exploits in your implementation then it can have potentially serious side effects. What problem was the Cryptography library created to solve that was important enough to proceed despite that risk? Given the sensitive nature of the libraries that you are working on, what development practices are you relying on to prevent the introduction of vulnerabilities? While reading through the documentation I noticed that Cryptography links against OpenSSL. Is it possible to swap that out for alternative implementations such as LibreSSL or S2N? What are some of the testing techniques that you use to ensure the accuracy of the algorithms that you are using? What are some of the factors that a developer should keep in mind when selecting which cryptographic library to use in their projects? When might someone want to use the capabilities found in the cryptography library what do they need to be aware of while writing their application? For someone who wants to incorporate the cryptography library into their project what are some of the potential pitfalls that they should be aware of and how much knowledge of encryption should they possess? In what ways does the security landscape in Python differ from that of other languages that you are familiar with and what unique challenges do we face? What are some of the fundamental aspects of encryption and cryptography that you feel every developer should at least be aware of? If anyone wants to learn more about security and encryption, what resources do you recommend? Keep In Touch Twitter – @reaperhulk Picks Tobias Migadu Castle Panic Paul Frinkiac.com Morbotron Links S2N LibreSSL Cryptography 101 General Number Field Sieve Lattice Based Crypto Google New Hope Cryptography Hypothesis Mersenne Twister CryptoPals Crypto Challenges The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 92Translate House with Dwayne Bailey and Ryan Northey
FullSummary What is internationalization, when should you add it to your program, and how do you get started? This week Dwayne Bailey and Ryan Northey tell us about their work with Translate House and the different projects that they have built to make translating your software easier. Brief Introduction Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at linode.com/podcastinit and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. Visit our site to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch. To help other people find the show you can leave a review on iTunes, or Google Play Music, and tell your friends and co-workers Join our community! Visit discourse.pythonpodcast.com for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas. Your host as usual is Tobias Macey and today I’m interviewing Dwayne Bailey and Ryan Northey about Translate House and the process of internationalization and localization for software projects. Interview with Dwayne Bailey and Ryan Northey Introductions How did you get introduced to Python? Why did you get involved in localisation, what got you started? How would you describe the difference between internationalization and localization? Are there cases where it makes sense to only do one of those things? Why should people localise software into other languages? Translate House is an organization focused on localizing and internationalizing software projects. To that end there are a collection of projects that you develop and maintain. Can you briefly introduce each of them and describe their purpose? What was the first project that was created in that list and how did it lead to the creation of the other tools? At what point did you decide that creating an organization to own and support the tools that you were building was the right choice to make? You run a distributed organisation, how do you manage that? I was recently speaking with Michal Čihař about the Weblate project and he mentioned that he uses the Translate Toolkit for handling the low level aspects of managing the translation files. What are some of the architectural and design challenges that arise from needing to support so many different systems for managing source text and translations? How do Pootle and Virtaal compare to other tools for web or desktop based translation? Are they primarily used for translating software or do they get used for other sources of text as well? Given that Virtaal is intended for use on desktop systems by people who aren’t necessarily technically adept how have you approached the packaging and deployment aspects of it? What are some of the challenges that you have had to overcome? Given the fact that multi-lingual translation requires interacting with a large quantity of text in numerous alphabets, what kind of impact has the unicode handling in Python 3 had on your projects? What do you have planned for the future of your projects? Keep In Touch Github Gitter Ryan Github Picks Tobias Google Chromecast Dwayne Jitsi Meet Ryan Gitter Links XLIFF Gettext PO Format CLDR (Common Locale Data Repository) The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 91Morepath with Martijn Faassen
FullSummary Python has a wide and growing variety of web frameworks to choose from, but if you want one with super powers then you need Morepath. This week Martijn Faassen shares the story of how Morepath was created, how it differentiates itself from the other available options, and how you can use it to power your next project. Brief Introduction Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at linode.com/podcastinit and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. You’ll want to make sure that your users don’t have to put up with bugs, so you should use Rollbar for tracking and aggregating your application errors to find and fix the bugs in your application before your users notice they exist. Use the link rollbar.com/podcastinit to get 90 days and 300,000 errors for free on their bootstrap plan. Visit our site to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch. To help other people find the show you can leave a review on iTunes, or Google Play Music, and tell your friends and co-workers Join our community! Visit discourse.pythonpodcast.com for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas. Your host as usual is Tobias Macey and today I’m interviewing Martijn Faassen about the Morepath web framework. Interview with Martijn Faassen Introductions How did you get introduced to Python? What is Morepath and what problem were you trying to solve when you created it? The tag line for the Morepath project is that it’s a web microframework with superpowers. What is special or different about it that sets it apart from the other options in the Python ecosystem? It can be difficult to convince someone to migrate to a new framework, particularly if there is a lack of supporting ecosystem. What are some of the motivating factors for a developer to switch to Morepath if they already have experience with one of the more widely used frameworks? What does the internal architecture for Morepath look like and what are some of the challenges that you have faced while building it? One of the features is the automatic link generation for ensuring that you don’t end up with dead links. Is there any support for permalinks or redirects so that if you refactor your site people won’t end up at a path that no longer exists? In the documentation you make a number of references to the fact that Morepath is a routing based framework. Can you explain what you mean by that and how it differs from a traversal based framework? Part of the core elements of Morepath are your libraries Reg and Dectate. Can you describe each of them and explain some of how they came to be created? Morepath has a different conception of models than most frameworks that I’ve dealt with in that they aren’t necessarily associated with any form of database. Can you explain why that is and some of the patterns that it allows for? The method for extending and reusing applications built in Morepath is through subclassing the objects and overriding specific methods. What is it about this approach that you found to be more flexible than the alternatives exhibited by other frameworks? What are some of the most interesting or unexpected uses of Morepath that you have seen? What do you have planned for the future of Morepath? Keep In Touch Blog Twitter GitHub Email Picks Tobias IMDB Gyroscopes Martijn Ken And Robin Talk About Stuff Viili Links 13th age JSON API JSON-LD Hydra (REST standard) GraphQL Falcor aiohttp Zope Pyramid Grok OneGov Martijn – My Exit From Zope LXML Elementree The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 90ERPNext with Rushabh Mehta
FullSummary If you need to track all of the pieces of a business and don’t want to use 15 different tools then you should probably be looking at an ERP (Enterprise Resource Planning) system. Unfortunately, a lot of them are big, clunky, and difficult to manage, so Rushabh Mehta decided to build one that isn’t. ERPNext is an open-source, web-based, easy to use ERP platform built with Python. Brief Introduction Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at linode.com/podcastinit and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. You’ll want to make sure that your users don’t have to put up with bugs, so you should use Rollbar for tracking and aggregating your application errors to find and fix the bugs in your application before your users notice they exist. Use the link rollbar.com/podcastinit to get 90 days and 300,000 errors for free on their bootstrap plan. Visit our site to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch. To help other people find the show you can leave a review on iTunes, or Google Play Music, and tell your friends and co-workers Join our community! Visit discourse.pythonpodcast.com for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas. Your host as usual is Tobias Macey and today I’m interviewing Rushabh Mehta about ERPNext Interview with Rushabh Mehta Introductions How did you get introduced to Python? What does ERP stand for and what kinds of busineesses require that kind of software? What problem were you trying to solve when you created ERPNext and what factors led to the decision to write it in Python? How is ERPNext architected and what are some of the biggest challenges that were faced during its creation? While researching the project I noticed that you created your own framework which is used for building ERPNext. What was lacking in the existing options that made building a new framework appealing? What are some of the projects that you consider to be your competitors and what are the features that would convince a user to choose ERPNext? For someone who wants to self-host ERPNext what are the system requirements and what does the scaling strategy look like? On the marketing site for ERPNext it is advertised as being for small and medium businesses. What are the characteristics of larger businesses that might not make them a good fit for the features or structure of ERPNext? What are some of the most interesting or unexpected ways that you have seen ERPNext put to use? Are there any interesting projects of features that you are working on for release in the near future? Keep In Touch Rushabh Twitter ERPNext Forum GitHub Website Picks Tobias WordPress Rushabh Ready Player One Links 8088 PC XT Odoo The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Ep 89Jackie Kazil
FullSummary Jackie Kazil has led a distinguished and varied career with a strong focus on providing information and tools that empower others. This includes her work in data journalism, as a presidential innovation fellow, co-founding 18F, co-authoring a book, and being elected to the board of the Python Software Foundation. In this episode she shares these stories and more with us and how Python has helped her along the way. Brief Introduction Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at linode.com/podcastinit and get a $20 credit to try out their fast and reliable Linux virtual servers for running your application. You’ll want to make sure that your users don’t have to put up with bugs, so you should use Rollbar for tracking and aggregating your application errors to find and fix the bugs before your users notice they exist. Use the link rollbar.com/podcastinit to get 90 days and 300,000 errors for free on their bootstrap plan. Visit our site to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch. To help other people find the show you can leave a review on iTunes, or Google Play Music, and tell your friends and co-workers Join our community! Visit discourse.pythonpodcast.com to join other listeners of the show and share ideas for how to make it better. Your host as usual is Tobias Macey and today I’m interviewing Jackie Kazil about her work with 18F, writing Data Wrangling with Python, and her career with Python. Interview with Jackie Kazil Introductions How did you get introduced to Python? Looking at your background it shows that you got your start in Journalism and that you are now working on an additional degree in Computational Social Science. Can you share a bit about that journey and what set you on that path? What is computational social science and what has your particular focus been within that field? How has your work in news media prepared you for your current role? One of your many notable achievements is co-founding 18F. Can you start by explaining what that organization is and how you got involved in the efforts to build it? What are some of the notable uses of Python at 18F? In what ways did your experience working with 18F differ from the work you have done at companies outside of government? You recently co-wrote and published Data Wrangling with Python through O’Reilly Media. What kind of subject matter do you cover in the book and who is the target audience? There are a number of resources available to learn the various tools for working with data in Python. What is the gap that this book is aiming to fill and how did you get started with it? What are some of the most interesting things that you learned while working on the book? Keep In Touch Twitter Email Picks Tobias Jason Bourne Movies Jackie Czech Dumpling Dough Links Byteback NetworkX Project Mesa GeoQ openFOIA OpenFEC API The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA