GoCD

Software Architecture For Developers with Neal Ford - Episode 149

Summary

Whether it is intentional or accidental, every piece of software has an existing architecture. In this episode Neal Ford discusses the role of a software architect, methods for improving the design of your projects, pitfalls to avoid, and provides some resources for continuing to learn about how to design and build successful 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 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.
  • A few announcements before we start the show:
    • There is still time to register for the O’Reilly Software Architecture Conference in New York. Use the link podcastinit.com/sacon-new-york to register and save 20%
    • If you work with data or want to learn more about how the projects you have heard about on the show get used in the real world then join me at the Open Data Science Conference in Boston from May 1st through the 4th. It has become one of the largest events for data scientists, data engineers, and data driven businesses to get together and learn how to be more effective. To save 60% off your tickets go to podcastinit.com/odsc-east-2018 and register.
  • With many thanks to O’Reilly Media, I have two items to give away. To sign up you just need to subscribe to the mailing list at podcastinit.com and you will have the chance to win either a copy of Neal’s book, Building Evolutionary Architectures, or a Bronze ticket to the O’Reilly Software Architecture Conference in New York. I will be picking the winners on February 21st.
  • Your host as usual is Tobias Macey and today I’m interviewing Neal Ford about principles of software architecture for developers

Interview

  • Introductions
  • How did you get introduced to Python?
  • A majority of your work has been focused on software architectures and how that can be used to facilitate delivery of working systems. Can you start by giving a high level description of what software architecture is and how it fits into the overall development process?
  • One of the difficulties that arise in long-lived projects is that technical debt accrues to the point that forward progress stagnates due to fear that any changes will cause the system to stop functioning. What are some methods that developers can use to either guard against that eventuality, or address it when it happens?
  • What are some of the broad categories of architectural patterns that developers should be aware of?
  • Are there aspects of the language that a system or application is being implemented in which influence the style of architecture that is commonly used?
  • What are some architectural anti-patterns that you have found to be the most commonly occurring?
  • Software is useless if there is no way to deliver it to the end user. What are some of the challenges that are most often overlooked by engineering teams and how do you solve for them?
  • Beyond the purely technological aspects, what other elements of software production and delivery are necessary for a successful architecture?
  • What resources can you recommend for someone who is interested in learning more about software architecture, whether as an individual contributor or in a full time architect role?

Keep In Touch

Picks

Links

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

ZimboPy - Episode 148

Summary

Learning to code is one of the most effective ways to be successful in the modern economy. To that end, Marlene Mhangami and Ronald Maravanyika created the ZimboPy organization to teach women and girls in Zimbabwe how to program in Python. In this episode they are joined by Mike Place to discuss how ZimboPy got started, the projects that their students have worked on, and how the community can get involved.

Preface

mu- 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 Marlene Mhangami, Mike Place, and Ronald Maravanyika about ZimboPy, an organization that teaches women and girls in Zimbabwe how to program using Python

Interview

  • Introductions
  • How did you get introduced to Python?
  • Can you start by explaining what the mission of ZimboPy is and how it got started?
  • Which languages did you consider using for your lessons and what was your reason for choosing Python?
  • What subject matter do you cover in addition to pure programming concepts?
  • What are some of the types of projects that the students have completed as part of their work with ZimboPy?
  • What have been the most challenging aspects of running ZimboPy?
  • How is ZimboPy supported and what are your plans to ensure future sustainability?
  • Can you share some success stories for the women and girls that you have worked with?
  • For anyone who is interested in replicating your work for other communities what advice do you have?

Keep In Touch

Picks

Links

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

PyRay: Pure Python 3D Rendering with Rohit Pandey - Episode 147

Summary

Using a rendering library can be a difficult task due to dependency issues and complicated APIs. Rohit Pandey wrote PyRay to address these issues in a pure Python library. In this episode he explains how he uses it to gain a more thorough understanding of mathematical models, how it compares to other options, and how you can use it for creating your own videos and GIFs.

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.
  • A few announcements before we start the show:
    • There’s still time to get your tickets for PyCon Colombia, happening February 9th and 10th. Go to pycon.co to learn more and register.
    • There is also still time to register for the O’Reilly Software Architecture Conference in New York. Use the link podcastinit.com/sacon-new-york to register and save 20%
    • If you work with data or want to learn more about how the projects you have heard about on the show get used in the real world then join me at the Open Data Science Conference in Boston from May 1st through the 4th. It has become one of the largest events for data scientists, data engineers, and data driven businesses to get together and learn how to be more effective. To save 60% off your tickets go to podcastinit.com/odsc-east-2018 and register.
  • Your host as usual is Tobias Macey and today I’m interviewing Rohit Pandey about PyRay, a 3d rendering library written completely in python

Interview

  • Introductions
  • How did you get introduced to Python?
  • Can you start by explaining what PyRay is and what motivated you to create it?
    [rohit] PyRay is an open source library written completely in Python that let’s you render three and higher dimensional objects and scenes. Development on it has been ongoing and new features have so far come about from videos for my Youtube channel.
  • What does the internal architecture of PyRay look like and how has that design evolved since you first started working on it?
  • What capabilities are unlocked by having a pure Python rendering library which would otherwise be impractical or impossible for Python developers to do with existing options?
    [rohit] Having a pure Python library makes it accessible with minimal fixed cost to Python users. The tradeoff is you lose on speed, but for many applications that isn’t an issue. I haven’t seen a library coded completely in Python that let’s you manipulate 3d and higher dimensional objects. The core usecase right now is Mathematical artwork. Google geometric gifs and you’ll see some fascinating, mesmerizing results. But those are created for the most part using tools that are not Python. Which is a pity since Python has a very extensive library of Mathematical functions.
  • What have been some of the most challenging aspects of building and maintaining PyRay?
    [rohit] 3d objects – getting mesh plots. I have to develop routines from scratch for almost everything – shading objects, etc. Animated routines for characters.

  • What are some of the most interesting or unexpected uses of PyRay that you are aware of?
    [rohit] Physical simulations. Ex: Testing if a solid is a fair die, getting lower bounds for space packing efficiencies of solids. Creating interactive demos where a user can draw to provide input.

  • For someone who wanted to contribute to PyRay are there any particular skills or experience that would be most helpful?
    Basic linear algebra and python
  • What are some of the features or improvements that you have planned for the future of PyRay?

Keep In Touch

pyray repo – https://github.com/ryu577/pyray
Email
GitHub
LinkedIn

Picks

Links

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

MonkeyType with Carl Meyer and Matt Page - Episode 146

Summary

One of the draws of Python is how dynamic and flexible the language can be. Sometimes, that flexibility can be problematic if the format of variables at various parts of your program is unclear or the descriptions are inaccurate. The growing middle ground is to use type annotations as a way of providing some verification of the format of data as it flows through your application and enforcing gradual typing. To make it simpler to get started with type hinting, Carl Meyer and Matt Page, along with other engineers at Instagram, created MonkeyType to analyze your code as it runs and generate the type annotations. In this episode they explain how that process works, how it has helped them reduce bugs in their code, 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 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.
  • A few announcements before we start the show:
    • There’s still time to get your tickets for PyCon Colombia, happening February 9th and 10th. Go to pycon.co to learn more and register.
    • There is also still time to register for the O’Reilly Software Architecture Conference in New York Feb 25-28. Use the link podcastinit.com/sacon-new-york to register and save 20%
    • If you work with data or want to learn more about how the projects you have heard about on the show get used in the real world then join me at the Open Data Science Conference in Boston from May 1st through the 4th. It has become one of the largest events for data scientists, data engineers, and data driven businesses to get together and learn how to be more effective. To save 60% off your tickets go to podcastinit.com/odsc-east-2018 and register.
  • Your host as usual is Tobias Macey and today I’m interviewing Carl Meyer and Matt Page about MonkeyType, a system to collect type information at runtime for your Python 3 code

Interview

  • Introductions
  • How did you get introduced to Python?
  • What is MonkeyType and how did the project get started?
  • How much overhead does the MonkeyType tracing add to the running system, and what techniques have you used to minimize the impact on production systems?
  • Given that the type information is collected from call traces at runtime, and some functions may accept multiple different types for the same arguments (e.g. add), do you have any logic that will allow for combining that information into a higher-order type that gets set as the annotation?
  • How does MonkeyType function internally and how has the implementation evolved over the time that you have been working on it?
  • Once the type annotations are present in your code base, what other tooling are you using to take advantage of that information?
  • It seems as though using MonkeyType to trace your running production systems could be a way to inadvertantly identify dead sections of code that aren’t being executed. Have you investigated ways to use the collected type information perform that analysis?
  • What have been some of the most challenging aspects of building, using, and maintaining MonkeyType?
  • What have been some of the most interesting or noteworthy things that you have learned in the process of working on and with MonkeyType?
  • What have you found to be the most useful and most problematic aspects of the typing capabilities provided in recent versions of Python?
  • For someone who wants to start using MonkeyType today, what is involved in getting it set up and using it in a new or existing codebase?
  • What features or improvements do you have planned for future releases of MonkeyType?

Keep In Touch

Picks

Links

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

Learn Leap Fly: Using Python To Promote Global Literacy with Kjell Wooding - Episode 145

Summary

Learning how to read is one of the most important steps in empowering someone to build a successful future. In developing nations, access to teachers and classrooms is not universally available so the Global Learning XPRIZE serves to incentivize the creation of technology that provides children with the tools necessary to teach themselves literacy. Kjell Wooding helped create Learn Leap Fly in order to participate in the competition and used Python and Kivy to build a platform for children to develop their reading skills in a fun and engaging environment. In this episode he discusses his experience participating in the XPRIZE competition, how he and his team built what is now Kasuku Stories, and how Python and its ecosystem helped make it possible.

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 Kjell Wooding about Learn Leap Fly, a startup using Python on mobile devices to facilitate global learning

Interview

  • Introductions
  • How did you get introduced to Python?
  • Can you start by describing what Learn Leap Fly does and how the company got started?
  • What was your motivation for using Kivy as the primary technology for your mobile applications as opposed to the platform native toolkits or other multi-platform frameworks?
  • What are some of the pedagogical techniques that you have incorporated into the technological aspects of your mobile application and are there any that you were unable to translate to a purely technical implementation.
  • How do you measure the effectiveness of the work that you are doing?
  • How has the framework of the XPRIZE influenced the way in which you have approached the design and development of your work?
  • What have been some of the biggest challenges that you faced in the process of developing and deploying your submission for the XPRIZE?
  • What are some of the features that you have planned for future releases of your platform?

Keep In Touch

Picks

Links

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

Healthchecks.io: Open Source Alerting For Your Cron Jobs with Pēteris Caune - Episode 144

Summary

Your backups are running every day, right? Are you sure? What about that daily report job? We all have scripts that need to be run on a periodic basis and it is easy to forget about them, assuming that they are working properly. Sometimes they fail and in order to know when that happens you need a tool that will let you know so that you can find and fix the problem. Pēteris Caune wrote Healthchecks to be that tool and made it available both as an open source project and a hosted version. In this episode he discusses his motivation for starting the project, the lessons he has learned while managing the hosting for it, 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 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 Pēteris Caune about Healthchecks, a Django app which serves as a watchdog for your cron tasks

Interview

  • Introductions
  • How did you get introduced to Python?
  • Can you start by explaining what Healthchecks is and what motivated you to build it?
  • How does Healthchecks compare with other cron monitoring projects such as Cronitor or Dead Man’s Snitch?
  • Your pricing on the hosted service for Healthchecks.io is quite generous so I’m curious how you arrived at that cost structure and whether it has proven to be profitable for you?
  • How is Healthchecks functionality implemented and how has the design evolved since you began working on and using it?
  • What have been some of the most challenging aspects of working on Healthchecks and managing the hosted version?
  • For someone who wants to run their own instance of the service what are the steps and services involved?
  • What are some of the most interesting or unusual uses of Healtchecks that you are aware of?
  • Given that Healthchecks is intended to be used as part of an operations management and alerting system, what are the considerations that users should be aware of when deploying it in a highly available configuration?
  • What improvements or features do you have planned for the future of Healthchecks?

Keep In Touch

Picks

Links

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

Bonobo: Lightweight ETL Toolkit for Python 3 with Romain Dorgueil - Episode 143

Summary

A majority of the work that we do as programmers involves data manipulation in some manner. This can range from large scale collection, aggregation, and statistical analysis across distrbuted systems, or it can be as simple as making a graph in a spreadsheet. In the middle of that range is the general task of ETL (Extract, Transform, and Load) which has its own range of scale. In this episode Romain Dorgueil discusses his experiences building ETL systems and the problems that he routinely encountered that led him to creating Bonobo, a lightweight, easy to use toolkit for data processing in Python 3. He also explains how the system works under the hood, how you can use it for your projects, and what he has planned for the future.

Preface

  • Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.
  • 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 Romain Dorgueil about Bonobo, a data processing toolkit for modern Python

Interview

  • Introductions
  • How did you get introduced to Python?
  • What is Bonobo and what was your motivation for creating it?
    • What is the story behind the name?
  • How does Bonobo differ from projects such as Luigi or Airflow?
    [RD] After I explain why that’s totally different things, maybe a good follow up would be to ask about differences from other data streaming solutions, like Apache Beam or Spark.
  • How is Bonobo implemented and how has its architecture evolved since you began working on it?
  • What have been some of the most challenging aspects of building and maintaining Bonobo?
  • What are some extensions that you would like to have but don’t have the time to implement?
  • What are some of the most interesting or creative uses of Bonobo that you are aware of?
  • What do you have planned for the future of Bonobo?

Keep In Touch

Picks

Links

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

Orange: Visual Data Mining Toolkit with Janez Demšar and Blaž Zupan - Episode 142

Summary

Data mining and visualization are important skills to have in the modern era, regardless of your job responsibilities. In order to make it easier to learn and use these techniques and technologies Blaž Zupan and Janez Demšar, along with many others, have created Orange. In this episode they explain how they built a visual programming interface for creating data analysis and machine learning workflows to simplify the work of gaining insights from the myriad data sources that are available. They discuss the history of the project, how it is built, the challenges that they have faced, and how they plan on growing and improving 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 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 Blaž Zupan and Janez Demsar about Orange, a toolbox for interactive machine learning and data visualization in Python

Interview

  • Introductions
  • How did you get introduced to Python?
  • What is Orange and what was your motivation for building it?
  • Who is the target audience for this project?
  • How is the graphical interface implemented and what kinds of workflows can be implemented with the visual components?
  • What are some of the most notable or interesting widgets that are available in the catalog?
  • What are the limitations of the graphical interface and what options do user have when they reach those limits?
  • What have been some of the most challenging aspects of building and maintaining Orange?
  • What are some of the most common difficulties that you have seen when users are just getting started with data analysis and machine learning, and how does Orange help overcome those gaps in understanding?
  • What are some of the most interesting or innovative uses of Orange that you are aware of?
  • What are some of the projects or technologies that you consider to be your competition?
  • Under what circumstances would you advise against using Orange?
  • What are some widgets that you would like to see in future versions?
  • What do you have planned for future releases of Orange?

Keep In Touch

Picks

Links

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

Dramatiq: Distributed Task Queue For Python 3 with Bogdan Popa - Episode 141

Summary

A majority of projects will eventually need some way of managing periodic or long-running tasks outside of the context of the main application. This is where a distributed task queue becomes useful. For many in the Python community the standard option is Celery, though there are other projects to choose from. This week Bogdan Popa explains why he was dissatisfied with the current landscape of task queues and the features that he decided to focus on while building Dramatiq, a new, opinionated distributed task queue for Python 3. He also describes how it is designed, how you can start using it, and what he has planned for the future.

Preface

  • Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.
  • 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 Bogdan Popa about Dramatiq, a distributed task processing library for Python with a focus on simplicity, reliability and performance

Interview

  • Introductions
  • How did you get introduced to Python?
  • What is Dramatiq and what was your motivation for creating it?
  • How does Dramatiq compare to other task queues in Python such as Celery or RQ?
  • How is Dramatiq implemented and how has the internal architecture evolved?
  • What have been some of the most difficult aspects of building Dramatiq?
  • What are some of the features that you are most proud of?
  • For someone who is interested in integrating Dramatiq into an application, can you describe the steps involved and the API?
  • Do you provide any form of migration path or compatibility layer for people who are currently using Celery or RQ?
  • Can you describe the licensing structure for the project and your reasoning?
    • How did you determine the price point for commercial licenses?
    • Have you been successful in selling licenses for commercial use?
  • What are some of the features that you have planned for future releases?

Keep In Touch

Picks

Links

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

Jake Vanderplas: Data Science For Academic Research - Episode 140

Summary

Jake Vanderplas is an astronomer by training and a prolific contributor to the Python data science ecosystem. His current role is using Python to teach principles of data analysis and data visualization to students and researchers at the University of Washington. In this episode he discusses how he got started with Python, the challenges of teaching best practices for software engineering and reproducible analysis, and how easy to use tools for data visualization can help democratize access to, and understanding of, 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 Jake Vanderplas about data science best practices, and applying them to academic sciences

Interview

  • Introductions
  • How did you get introduced to Python?
  • How has your astronomy background informed and influenced your current work?
  • In your work at the University of Washington, what are some of the most common difficulties that students face when learning data science?
    • How does that list differ for professional scientists who are learning how to apply data science to their work?
  • Where is the tooling still lacking in terms of enabling consistent and repeatable workflows?
  • One of the projects that you are spending time on now is Altair, which is a library for generating visualizations from Pandas dataframes. How does that work factor into your teaching?
  • What are some of the most novel applications of data science that you have been involved with?
  • What are some of the trends in data analysis that you are most excited for?

Keep In Touch

Picks

Links

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