The Python Podcast.__init__ podcast

The Python Podcast.__init__

The podcast about Python and the people who make it great

The podcast about Python and the people who make it great

 

#389

Update Your Model's View Of The World In Real Time With Streaming Machine Learning Using River

Preamble -------- This is a [cross-over episode] (https://www.themachinelearningpodcast.com/river-streaming-machine-learning-episode-8/?utm_source=rss&utm_medium=rss) from our new show [The Machine Learning Podcast] (https://www.themachinelearningpodcast.com?utm_source=rss&utm_medium=rss) , the show about going from idea to production with machine learning. Summary ------- The majority of machine learning projects that you read about or work on are built around batch processes. The model is trained, and then validated, and then deployed, with each step being a discrete and isolated task. Unfortunately, the real world is rarely static, leading to concept drift and model failures. River is a framework for building streaming machine learning projects that can constantly adapt to new information. In this episode Max Halford explains how the project works, why you might (or might not) want to consider streaming ML, and how to get started building with River. Announcements ------------- ---Hello and welcome to the Machine Learning Podcast, the podcast about machine learning and how to bring it from idea to delivery. ---Building good ML models is hard, but testing them properly is even harder. At Deepchecks, they built an open-source testing framework that follows best practices, ensuring that your models behave as expected. Get started quickly using their built-in library of checks for testing and validating your model’s behavior and performance, and extend it to meet your specific needs as your model evolves. Accelerate your machine learning projects by building trust in your models and automating the testing that you used to do manually. Go to [themachinelearningpodcast.com/deepchecks] (https://www.themachinelearningpodcast.com/deepchecks?utm_source=rss&utm_medium=rss) today to get started! ---Your host is Tobias Macey and today I’m interviewing Max Halford about River, a Python toolkit for streaming and online machine learning Interview --------- ---Introduction ---How did you get involved in machine learning? ---Can you describe what River is and the story behind it? ---What is "online" machine learning? ------What are the practical differences with batch ML? ------Why is batch learning so predominant? ------What are the cases where someone would want/need to use online or streaming ML? ---The prevailing pattern for batch ML model lifecycles is to train, deploy, monitor, repeat. What does the ongoing maintenance for a streaming ML model look like? ------Concept drift is typically due to a discrepancy between the data used to train a model and the actual data being observed. How does the use of online learning affect the incidence of drift? ---Can you describe how the River framework is implemented? ------How have the design and goals of the project changed since you started working on it? ---How do the internal representations of the model differ from batch learning to allow for incremental updates to the model state? ---In the documentation you note the use of Python dictionaries for state management and the flexibility offered by that choice. What are the benefits and potential pitfalls of that decision? ---Can you describe the process of using River to design, implement, and validate a streaming ML model? ------What are the operational requirements for deploying and serving the model once it has been developed? ---What are some of the challenges that users of River might run into if they are coming from a batch learning background? ---What are the most interesting, innovative, or unexpected ways that you have seen River used? ---What are the most interesting, unexpected, or challenging lessons that you have learned while working on River? ---When is River the wrong choice? ---What do you have planned for the future of River? Contact Info ------------ --- [Email] (mailto:maxhalford25@gmail.com) --- [@halford_max] (https://twitter.com/halford_max?utm_source=rss&utm_medium=rss) on Twitter --- [MaxHalford] (https://github.com/MaxHalford?utm_source=rss&utm_medium=rss) on GitHub Parting Question ---------------- ---From your perspective, what is the biggest barrier to adoption of machine learning today? Closing Announcements --------------------- ---Thank you for listening! Don’t forget to check out our other shows. The [Data Engineering Podcast] (https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss) covers the latest on modern data management. [Podcast.__init__] () covers the Python language, its community, and the innovative ways it is being used. ---Visit the [site] (https://www.themachinelearningpodcast.com?utm_source=rss&utm_medium=rss) to subscribe to the show, sign up for the mailing list, and read the show notes. ---If you’ve learned something or tried out a project from the show then tell us about it! Email [hosts@themachinelearningpodcast.com] (mailto:hosts@themachinelearningpodcast.com) ) with your story. ---To help other people find the show please leave a review on [iTunes] (https://podcasts.apple.com/us/podcast/the-machine-learning-podcast/id1626358243?utm_source=rss&utm_medium=rss) and tell your friends and co-workers Links ----- --- [River] (https://riverml.xyz/0.11.1/?utm_source=rss&utm_medium=rss) --- [scikit-multiflow] (https://scikit-multiflow.github.io/?utm_source=rss&utm_medium=rss) --- [Federated Machine Learning] (https://en.wikipedia.org/wiki/Federated_learning?utm_source=rss&utm_medium=rss) --- [Hogwild!] (https://arxiv.org/abs/1106.5730?context=cs&utm_source=rss&utm_medium=rss) Google Paper --- [Chip Huyen concept drift blog post] (https://huyenchip.com/2022/02/07/data-distribution-shifts-and-monitoring.html?utm_source=rss&utm_medium=rss) --- [Dan Crenshaw Berkeley Clipper MLOps] (https://rise.cs.berkeley.edu/wp-content/uploads/2017/02/clipper_final.pdf?utm_source=rss&utm_medium=rss) --- [Robustness Principle] (https://www.wikiwand.com/en/Robustness_principle?utm_source=rss&utm_medium=rss) --- [NY Taxi Dataset] (https://www.kaggle.com/c/nyc-taxi-trip-duration?utm_source=rss&utm_medium=rss) --- [RiverTorch] (https://github.com/online-ml/river-torch?utm_source=rss&utm_medium=rss) --- [River Public Roadmap] (https://www.notion.so/d1e86fcdf21e4deda16eedab2b3361fb?v=503f44740b8b44a99a961aa96e9e46e1&utm_source=rss&utm_medium=rss) --- [Beaver] (https://github.com/online-ml/beaver?utm_source=rss&utm_medium=rss) tool for deploying online models --- [Prodigy ML human in the loop labeling] (https://prodi.gy/?utm_source=rss&utm_medium=rss) The intro and outro music is from [Hitman’s Lovesong feat. Paola Graziano] (https://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/Tales_Of_A_Dead_Fish/Hitmans_Lovesong/?utm_source=rss&utm_medium=rss) by [The Freak Fandango Orchestra] (http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss) / [CC BY-SA 3.0] (https://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss) ![image] (https://analytics.boundlessnotions.com/piwik.php?idsite=1&rec=1&url=https%3A%2F%2Fwww.pythonpodcast.com%2Friver-streaming-machine-learning-episode-388%2F&action_name=Update+Your+Model%27s+View+Of+The+World+In+Real+Time+With+Streaming+Machine+Learning+Using+River+-+Episode+388&urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss) ... Read more

12 Dec 2022

1 HR 16 MINS

1:16:22

12 Dec 2022


#388

Declarative Machine Learning For High Performance Deep Learning Models With Predibase

Preamble -------- This is a [cross-over episode] (https://www.themachinelearningpodcast.com/predibase-declarative-machine-learning-episode-4/?utm_source=rss&utm_medium=rss) from our new show [The Machine Learning Podcast] (https://www.themachinelearningpodcast.com?utm_source=rss&utm_medium=rss) , the show about going from idea to production with machine learning. Summary ------- Deep learning is a revolutionary category of machine learning that accelerates our ability to build powerful inference models. Along with that power comes a great deal of complexity in determining what neural architectures are best suited to a given task, engineering features, scaling computation, etc. Predibase is building on the successes of the Ludwig framework for declarative deep learning and Horovod for horizontally distributing model training. In this episode CTO and co-founder of Predibase, Travis Addair, explains how they are reducing the burden of model development even further with their managed service for declarative and low-code ML and how they are integrating with the growing ecosystem of solutions for the full ML lifecycle. Announcements ------------- ---Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great! ---When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With their managed Kubernetes platform it’s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. And now you can launch a managed MySQL, Postgres, or Mongo database cluster in minutes to keep your critical data safe with automated backups and failover. Go to [pythonpodcast.com/linode] (https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss) and get a $100 credit to try out a Kubernetes cluster of your own. And don’t forget to thank them for their continued support of this show! ---Your host is Tobias Macey and today I’m interviewing Travis Addair about Predibase, a low-code platform for building ML models in a declarative format Interview --------- ---Introduction ---How did you get involved in machine learning? ---Can you describe what Predibase is and the story behind it? ---Who is your target audience and how does that focus influence your user experience and feature development priorities? ---How would you describe the semantic differences between your chosen terminology of "declarative ML" and the "autoML" nomenclature that many projects and products have adopted? ------Another platform that launched recently with a promise of "declarative ML" is Continual. How would you characterize your relative strengths? ---Can you describe how the Predibase platform is implemented? ------How have the design and goals of the product changed as you worked through the initial implementation and started working with early customers? ------The operational aspects of the ML lifecycle are still fairly nascent. How have you thought about the boundaries for your product to avoid getting drawn into scope creep while providing a happy path to delivery? ---Ludwig is a core element of your platform. What are the other capabilities that you are layering around and on top of it to build a differentiated product? ---In addition to the existing interfaces for Ludwig you created a new language in the form of PQL. What was the motivation for that decision? ------How did you approach the semantic and syntactic design of the dialect? ------What is your vision for PQL in the space of "declarative ML" that you are working to define? ---Can you describe the available workflows for an individual or team that is using Predibase for prototyping and validating an ML model? ------Once a model has been deemed satisfactory, what is the path to production? ---How are you approaching governance and sustainability of Ludwig and Horovod while balancing your reliance on them in Predibase? ---What are some of the notable investments/improvements that you have made in Ludwig during your work of building Predibase? ---What are the most interesting, innovative, or unexpected ways that you have seen Predibase used? ---What are the most interesting, unexpected, or challenging lessons that you have learned while working on Predibase? ---When is Predibase the wrong choice? ---What do you have planned for the future of Predibase? Contact Info ------------ --- [LinkedIn] (https://www.linkedin.com/in/travisaddair/?utm_source=rss&utm_medium=rss) --- [tgaddair] (https://github.com/tgaddair?utm_source=rss&utm_medium=rss) on GitHub --- [@travisaddair] (https://twitter.com/travisaddair?utm_source=rss&utm_medium=rss) on Twitter Parting Question ---------------- ---From your perspective, what is the biggest barrier to adoption of machine learning today? Closing Announcements --------------------- ---Thank you for listening! Don’t forget to check out our other shows. The [Data Engineering Podcast] (https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss) covers the latest on modern data management. The [Machine Learning Podcast] (https://www.themachinelearningpodcast.com?utm_source=rss&utm_medium=rss) helps you go from idea to production with machine learning. ---Visit the [site] (https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss) to subscribe to the show, sign up for the mailing list, and read the show notes. ---If you’ve learned something or tried out a project from the show then tell us about it! Email [hosts@podcastinit.com] (mailto:hosts@podcastinit.com) ) with your story. ---To help other people find the show please leave a review on [iTunes] (https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&uo=6&at=&ct=&utm_source=rss&utm_medium=rss) and tell your friends and co-workers Links ----- --- [Predibase] (https://predibase.com/?utm_source=rss&utm_medium=rss) --- [Horovod] (https://horovod.ai/?utm_source=rss&utm_medium=rss) --- [Ludwig] (https://ludwig-ai.github.io/ludwig-docs/?utm_source=rss&utm_medium=rss) ------ [Podcast.__init__ Episode] (https://www.pythonpodcast.com/ludwig-horovod-distributed-declarative-deep-learning-episode-341/?utm_source=rss&utm_medium=rss) --- [Support Vector Machine] (https://en.wikipedia.org/wiki/Support-vector_machine?utm_source=rss&utm_medium=rss) --- [Hadoop] (https://hadoop.apache.org/?utm_source=rss&utm_medium=rss) --- [Tensorflow] (https://www.tensorflow.org/?utm_source=rss&utm_medium=rss) --- [Uber Michaelangelo] (https://eng.uber.com/michelangelo-machine-learning-platform/?utm_source=rss&utm_medium=rss) --- [AutoML] (https://en.wikipedia.org/wiki/Automated_machine_learning?utm_source=rss&utm_medium=rss) --- [Spark ML Lib] (https://spark.apache.org/mllib/?utm_source=rss&utm_medium=rss) --- [Deep Learning] (https://en.wikipedia.org/wiki/Deep_learning?utm_source=rss&utm_medium=rss) --- [PyTorch] (https://pytorch.org/?utm_source=rss&utm_medium=rss) --- [Continual] (https://continual.ai/?utm_source=rss&utm_medium=rss) ------ [Data Engineering Podcast Episode] (https://www.dataengineeringpodcast.com/continual-declarative-machine-learning-episode-222/?utm_source=rss&utm_medium=rss) --- [Overton] (https://machinelearning.apple.com/research/overton?utm_source=rss&utm_medium=rss) --- [Kubernetes] (https://kubernetes.io/?utm_source=rss&utm_medium=rss) --- [Ray] (https://docs.ray.io/en/latest/?utm_source=rss&utm_medium=rss) --- [Nvidia Triton] (https://developer.nvidia.com/nvidia-triton-inference-server?utm_source=rss&utm_medium=rss) --- [Whylogs] (https://github.com/whylabs/whylogs?utm_source=rss&utm_medium=rss) ------ [Data Engineering Podcast Episode] (https://www.dataengineeringpodcast.com/whylogs-data-logging-data-observability-episode-283/?utm_source=rss&utm_medium=rss) --- [Weights and Biases] (https://wandb.ai/?utm_source=rss&utm_medium=rss) --- [MLFlow] (https://mlflow.org/?utm_source=rss&utm_medium=rss) --- [Comet] (https://www.comet.com/site/?utm_source=rss&utm_medium=rss) --- [Confusion Matrices] (https://en.wikipedia.org/wiki/Confusion_matrix?utm_source=rss&utm_medium=rss) --- [dbt] (https://www.getdbt.com/?utm_source=rss&utm_medium=rss) ------ [Data Engineering Podcast Episode] (https://www.dataengineeringpodcast.com/dbt-data-analytics-episode-81/?utm_source=rss&utm_medium=rss) --- [Torchscript] (https://pytorch.org/docs/stable/jit.html?utm_source=rss&utm_medium=rss) --- [Self-supervised Learning] (https://en.wikipedia.org/wiki/Self-supervised_learning?utm_source=rss&utm_medium=rss) The intro and outro music is from [Hitman’s Lovesong feat. Paola Graziano] (https://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/Tales_Of_A_Dead_Fish/Hitmans_Lovesong/?utm_source=rss&utm_medium=rss) by [The Freak Fandango Orchestra] (http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss) / [CC BY-SA 3.0] (https://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss) ![image] (https://analytics.boundlessnotions.com/piwik.php?idsite=1&rec=1&url=https%3A%2F%2Fwww.pythonpodcast.com%2Fpredibase-declarative-machine-learning-episode-387%2F&action_name=Declarative+Machine+Learning+For+High+Performance+Deep+Learning+Models+With+Predibase+-+Episode+387&urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss) ... Read more

05 Dec 2022

59 MINS

59:22

05 Dec 2022


#387

Build Better Machine Learning Models With Confidence By Adding Validation With Deepchecks

Preamble -------- This is a [cross-over episode] (https://www.themachinelearningpodcast.com/wrap-your-model-in-a-full-stack-application-in-an-afternoon-with-baseten/?utm_source=rss&utm_medium=rss) from our new show [The Machine Learning Podcast] (https://www.themachinelearningpodcast.com?utm_source=rss&utm_medium=rss) , the show about going from idea to production with machine learning. Summary ------- Machine learning has the potential to transform industries and revolutionize business capabilities, but only if the models are reliable and robust. Because of the fundamental probabilistic nature of machine learning techniques it can be challenging to test and validate the generated models. The team at Deepchecks understands the widespread need to easily and repeatably check and verify the outputs of machine learning models and the complexity involved in making it a reality. In this episode Shir Chorev and Philip Tannor explain how they are addressing the problem with their open source deepchecks library and how you can start using it today to build trust in your machine learning applications. Announcements ------------- ---Hello and welcome to the Machine Learning Podcast, the podcast about machine learning and how to bring it from idea to delivery. ---Do you wish you could use artificial intelligence to drive your business the way Big Tech does, but don’t have a money printer? Graft![™] (https://s.w.org/images/core/emoji/14.0.0/72x72/2122.png?utm_source=rss&utm_medium=rss) is a cloud-native platform that aims to make the AI of the 1% accessible to the 99%. Wield the most advanced techniques for unlocking the value of data, including text, images, video, audio, and graphs. No machine learning skills required, no team to hire, and no infrastructure to build or maintain. For more information on Graft or to schedule a demo, visit [themachinelearningpodcast.com/graft] (https://www.themachinelearningpodcast.com/graft?utm_source=rss&utm_medium=rss) today and tell them Tobias sent you. ---Predibase is a low-code ML platform without low-code limits. Built on top of our open source foundations of Ludwig and Horovod, our platform allows you to train state-of-the-art ML and deep learning models on your datasets at scale. Our platform works on text, images, tabular, audio and multi-modal data using our novel compositional model architecture. We allow users to operationalize models on top of the modern data stack, through REST and PQL – an extension of SQL that puts predictive power in the hands of data practitioners. Go to [themachinelearningpodcast.com/predibase] (https://www.themachinelearningpodcast.com/predibase?utm_source=rss&utm_medium=rss) today to learn more and try it out! ---Data powers machine learning, but poor data quality is the largest impediment to effective ML today. Galileo is a collaborative data bench for data scientists building Natural Language Processing (NLP) models to programmatically inspect, fix and track their data across the ML workflow (pre-training, post-training and post-production) – no more excel sheets or ad-hoc python scripts. Get meaningful gains in your model performance fast, dramatically reduce data labeling and procurement costs, while seeing 10x faster ML iterations. Galileo is offering listeners a free 30 day trial and a 30% discount on the product there after. This offer is available until Aug 31, so go to [themachinelearningpodcast.com/galileo] (https://www.themachinelearningpodcast.com/galileo?utm_source=rss&utm_medium=rss) and request a demo today! ---Your host is Tobias Macey and today I’m interviewing Shir Chorev and Philip Tannor about Deepchecks, a Python package for comprehensively validating your machine learning models and data with minimal effort. Interview --------- ---Introduction ---How did you get involved in machine learning? ---Can you describe what Deepchecks is and the story behind it? ---Who is the target audience for the project? ------What are the biggest challenges that these users face in bringing ML models from concept to production and how does DeepChecks address those problems? ---In the absence of DeepChecks how are practitioners solving the problems of model validation and comparison across iteratiosn? ------What are some of the other tools in this ecosystem and what are the differentiating features of DeepChecks? ---What are some examples of the kinds of tests that are useful for understanding the "correctness" of models? ------What are the methods by which ML engineers/data scientists/domain experts can define what "correctness" means in a given model or subject area? ---In software engineering the categories of tests are tiered as unit -> integration -> end-to-end. What are the relevant categories of tests that need to be built for validating the behavior of machine learning models? ---How do model monitoring utilities overlap with the kinds of tests that you are building with deepchecks? ---Can you describe how the DeepChecks package is implemented? ------How have the design and goals of the project changed or evolved from when you started working on it? ------What are the assumptions that you have built up from your own experiences that have been challenged by your early users and design partners? ---Can you describe the workflow for an individual or team using DeepChecks as part of their model training and deployment lifecycle? ---Test engineering is a deep discipline in its own right. How have you approached the user experience and API design to reduce the overhead for ML practitioners to adopt good practices? ---What are the interfaces available for creating reusable tests and composing test suites together? ---What are the additional services/capabilities that you are providing in your commercial offering? ------How are you managing the governance and sustainability of the OSS project and balancing that against the needs/priorities of the business? ---What are the most interesting, innovative, or unexpected ways that you have seen DeepChecks used? ---What are the most interesting, unexpected, or challenging lessons that you have learned while working on DeepChecks? ---When is DeepChecks the wrong choice? ---What do you have planned for the future of DeepChecks? Contact Info ------------ ---Shir ------ [LinkedIn] (https://www.linkedin.com/in/shirchorev/?originalSubdomain=il&utm_source=rss&utm_medium=rss) ------ [shir22] (https://github.com/shir22?utm_source=rss&utm_medium=rss) on GitHub ---Philip ------ [LinkedIn] (https://www.linkedin.com/in/philip-tannor-a6a910b7?originalSubdomain=il&utm_source=rss&utm_medium=rss) ------ [@philiptannor] (https://twitter.com/philiptannor?utm_source=rss&utm_medium=rss) on Twitter Parting Question ---------------- ---From your perspective, what is the biggest barrier to adoption of machine learning today? Closing Announcements --------------------- ---Thank you for listening! Don’t forget to check out our other shows. The [Data Engineering Podcast] (https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss) covers the latest on modern data management. [Podcast.__init__] () covers the Python language, its community, and the innovative ways it is being used. ---Visit the [site] (https://www.themachinelearningpodcast.com?utm_source=rss&utm_medium=rss) to subscribe to the show, sign up for the mailing list, and read the show notes. ---If you’ve learned something or tried out a project from the show then tell us about it! Email [hosts@themachinelearningpodcast.com] (mailto:hosts@themachinelearningpodcast.com) ) with your story. ---To help other people find the show please leave a review on [iTunes] (https://podcasts.apple.com/us/podcast/the-machine-learning-podcast/id1626358243?utm_source=rss&utm_medium=rss) and tell your friends and co-workers Links ----- --- [DeepChecks] (https://github.com/deepchecks/deepchecks?utm_source=rss&utm_medium=rss) --- [Random Forest] (https://en.wikipedia.org/wiki/Random_forest?utm_source=rss&utm_medium=rss) --- [Talpiot Program] (https://en.wikipedia.org/wiki/Talpiot_program?utm_source=rss&utm_medium=rss) --- [SHAP] (https://github.com/slundberg/shap/?utm_source=rss&utm_medium=rss) ------ [Podcast.__init__ Episode] (https://www.pythonpodcast.com/shap-explainable-machine-learning-episode-335/?utm_source=rss&utm_medium=rss) --- [Airflow] (https://airflow.apache.org/?utm_source=rss&utm_medium=rss) --- [Great Expectations] (https://greatexpectations.io/?utm_source=rss&utm_medium=rss) ------ [Data Engineering Podcast Episode] (https://www.dataengineeringpodcast.com/great-expectations-technical-debt-data-pipeline-episode-117/?utm_source=rss&utm_medium=rss) The intro and outro music is from [Hitman’s Lovesong feat. Paola Graziano] (https://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/Tales_Of_A_Dead_Fish/Hitmans_Lovesong/?utm_source=rss&utm_medium=rss) by [The Freak Fandango Orchestra] (http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss) / [CC BY-SA 3.0] (https://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss) ![image] (https://analytics.boundlessnotions.com/piwik.php?idsite=1&rec=1&url=https%3A%2F%2Fwww.pythonpodcast.com%2Fdeepchecks-machine-learning-validation-episode-386%2F&action_name=Build+Better+Machine+Learning+Models+With+Confidence+By+Adding+Validation+With+Deepchecks+-+Episode+386&urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss) ... Read more

28 Nov 2022

47 MINS

47:36

28 Nov 2022


#386

Build A Full Stack ML Powered App In An Afternoon With Baseten

Preamble -------- This is a [cross-over episode] (https://www.themachinelearningpodcast.com/wrap-your-model-in-a-full-stack-application-in-an-afternoon-with-baseten/?utm_source=rss&utm_medium=rss) from our new show [The Machine Learning Podcast] (https://www.themachinelearningpodcast.com?utm_source=rss&utm_medium=rss) , the show about going from idea to production with machine learning. Summary ------- Building an ML model is getting easier than ever, but it is still a challenge to get that model in front of the people that you built it for. Baseten is a platform that helps you quickly generate a full stack application powered by your model. You can easily create a web interface and APIs powered by the model you created, or a pre-trained model from their library. In this episode Tuhin Srivastava, co-founder of Basten, explains how the platform empowers data scientists and ML engineers to get their work in production without having to negotiate for help from their application development colleagues. Announcements ------------- ---Hello and welcome to the Machine Learning Podcast, the podcast about machine learning and how to bring it from idea to delivery. ---When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With their managed Kubernetes platform it’s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. And now you can launch a managed MySQL, Postgres, or Mongo database cluster in minutes to keep your critical data safe with automated backups and failover. Go to [pythonpodcast.com/linode] (https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss) and get a $100 credit to try out a Kubernetes cluster of your own. And don’t forget to thank them for their continued support of this show! ---Your host is Tobias Macey and today I’m interviewing Tuhin Srivastava about Baseten, an ML Application Builder for data science and machine learning teams Interview --------- ---Introduction ---How did you get involved in machine learning? ---Can you describe what Baseten is and the story behind it? ---Who are the target users for Baseten and what problems are you solving for them? ---What are some of the typical technical requirements for an application that is powered by a machine learning model? ------In the absence of Baseten, what are some of the common utilities/patterns that teams might rely on? ---What kinds of challenges do teams run into when serving a model in the context of an application? ---There are a number of projects that aim to reduce the overhead of turning a model into a usable product (e.g. Streamlit, Hex, etc.). What is your assessment of the current ecosystem for lowering the barrier to product development for ML and data science teams? ---Can you describe how the Baseten platform is designed? ------How have the design and goals of the project changed or evolved since you started working on it? ------How do you handle sandboxing of arbitrary user-managed code to ensure security and stability of the platform? ---How did you approach the system design to allow for mapping application development paradigms into a structure that was accessible to ML professionals? ---Can you describe the workflow for building an ML powered application? ---What types of models do you support? (e.g. NLP, computer vision, timeseries, deep neural nets vs. linear regression, etc.) ------How do the monitoring requirements shift for these different model types? ------What other challenges are presented by these different model types? ---What are the limitations in size/complexity/operational requirements that you have to impose to ensure a stable platform? ---What is the process for deploying model updates? ---For organizations that are relying on Baseten as a prototyping platform, what are the options for taking a successful application and handing it off to a product team for further customization? ---What are the most interesting, innovative, or unexpected ways that you have seen Baseten used? ---What are the most interesting, unexpected, or challenging lessons that you have learned while working on Baseten? ---When is Baseten the wrong choice? ---What do you have planned for the future of Baseten? Contact Info ------------ --- [@tuhinone] (https://twitter.com/tuhinone?utm_source=rss&utm_medium=rss) on Twitter --- [LinkedIn] (https://www.linkedin.com/in/tuhin-srivastava-60601114/?utm_source=rss&utm_medium=rss) Parting Question ---------------- ---From your perspective, what is the biggest barrier to adoption of machine learning today? Closing Announcements --------------------- ---Thank you for listening! Don’t forget to check out our other shows. The [Data Engineering Podcast] (https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss) covers the latest on modern data management. [Podcast.__init__] () covers the Python language, its community, and the innovative ways it is being used. ---Visit the [site] (https://www.themachinelearningpodcast.com?utm_source=rss&utm_medium=rss) to subscribe to the show, sign up for the mailing list, and read the show notes. ---If you’ve learned something or tried out a project from the show then tell us about it! Email [hosts@themachinelearningpodcast.com] (mailto:hosts@themachinelearningpodcast.com) ) with your story. ---To help other people find the show please leave a review on [iTunes] (https://podcasts.apple.com/us/podcast/the-machine-learning-podcast/id1626358243?utm_source=rss&utm_medium=rss) and tell your friends and co-workers Links ----- --- [Baseten] (https://www.baseten.co/?utm_source=rss&utm_medium=rss) --- [Gumroad] (https://www.baseten.co/?utm_source=rss&utm_medium=rss) --- [scikit-learn] (https://scikit-learn.org/stable/?utm_source=rss&utm_medium=rss) --- [Tensorflow] (https://www.tensorflow.org/?utm_source=rss&utm_medium=rss) --- [Keras] (https://keras.io/?utm_source=rss&utm_medium=rss) --- [Streamlit] (https://streamlit.io/?utm_source=rss&utm_medium=rss) ------ [Podcast.__init__ Episode] (https://www.pythonpodcast.com/streamlit-web-application-episode-238/?utm_source=rss&utm_medium=rss) --- [Retool] (https://retool.com/?utm_source=rss&utm_medium=rss) --- [Hex] (https://hex.tech/?utm_source=rss&utm_medium=rss) ------ [Podcast.__init__ Episode] (https://www.pythonpodcast.com/hex-collaborative-notebooks-episode-294/?utm_source=rss&utm_medium=rss) --- [Kubernetes] (https://kubernetes.io/?utm_source=rss&utm_medium=rss) --- [React Monaco] (https://github.com/react-monaco-editor/react-monaco-editor?utm_source=rss&utm_medium=rss) --- [Huggingface] (https://huggingface.co/?utm_source=rss&utm_medium=rss) --- [Airtable] (https://www.airtable.com/?utm_source=rss&utm_medium=rss) --- [Dall-E 2] (https://openai.com/dall-e-2/?utm_source=rss&utm_medium=rss) --- [GPT-3] (https://en.wikipedia.org/wiki/GPT-3?utm_source=rss&utm_medium=rss) --- [Weights and Biases] (https://wandb.ai/site?utm_source=rss&utm_medium=rss) The intro and outro music is from [Hitman’s Lovesong feat. Paola Graziano] (https://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/Tales_Of_A_Dead_Fish/Hitmans_Lovesong/?utm_source=rss&utm_medium=rss) by [The Freak Fandango Orchestra] (http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss) / [CC BY-SA 3.0] (https://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss) ![image] (https://analytics.boundlessnotions.com/piwik.php?idsite=1&rec=1&url=https%3A%2F%2Fwww.pythonpodcast.com%2Fbaseten-full-stack-ml-app-episode-385%2F&action_name=Build+A+Full+Stack+ML+Powered+App+In+An+Afternoon+With+Baseten+-+Episode+385&urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss) ... Read more

21 Nov 2022

45 MINS

45:22

21 Nov 2022


#385

Skip Straight To The Fun Part Of Your Project With PyScaffold

Summary ------- Starting a new project is always exciting and full of possibility, until you have to set up all of the repetitive boilerplate. Fortunately there are useful project templates that eliminate that drudgery. PyScaffold goes above and beyond simple template repositories, and gives you a toolkit for different application types that are packed with best practices to make your life easier. In this episode Florian Wilhelm shares the story behind PyScaffold, how the templates are designed to reduce friction when getting a new project off the ground, and how you can extend it to suit your needs. Stop wasting time with boring boilerplate and get straight to the fun part with PyScaffold! Announcements ------------- ---Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great! ---When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With their managed Kubernetes platform it’s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. And now you can launch a managed MySQL, Postgres, or Mongo database cluster in minutes to keep your critical data safe with automated backups and failover. Go to [pythonpodcast.com/linode] (https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss) and get a $100 credit to try out a Kubernetes cluster of your own. And don’t forget to thank them for their continued support of this show! ---Your host as usual is Tobias Macey and today I’m interviewing Florian Wilhelm about PyScaffold, a Python project template generator with batteries included Interview --------- ---Introductions ---How did you get introduced to Python? ---Can you describe what PyScaffold is and the story behind it? ------What is the main goal of the project? ---There are a huge number of templates and starter projects available (both in Python and other languages). What are the aspects of PyScaffold that might encourage someone to adopt it? ---What are the different types/categories of applications that you are focused on supporting with the scaffolding? ------For each category, what is your selection process for which dependencies to include? ---How do you approach the work of keeping the various components up to date with community "best practices"? ---Can you describe how PyScaffold is implemented? ------How have the design and goals of the project changed since you first started it? ---What is the user experience for someone bootstrapping a project with PyScaffold? ------How can you adapt an existing project into the structure of a pyscaffold template? ------Are there any facilities for updating a project started with PyScaffold to include patches/changes in the source template? ---What are the most interesting, innovative, or unexpected ways that you have seen PyScaffold used? ---What are the most interesting, unexpected, or challenging lessons that you have learned while working on PyScaffold? ---When is PyScaffold the wrong choice? ---What do you have planned for the future of PyScaffold? Keep In Touch ------------- --- [Website] (https://florianwilhelm.info/?utm_source=rss&utm_medium=rss) --- [LinkedIn] (https://www.linkedin.com/in/florian-wilhelm-621ba834/?utm_source=rss&utm_medium=rss) --- [FlorianWilhelm] (https://github.com/FlorianWilhelm?utm_source=rss&utm_medium=rss) on GitHub --- [@florianwilhelm] (https://twitter.com/florianwilhelm?utm_source=rss&utm_medium=rss) on Twitter Picks ----- ---Tobias ------ [Daredevil] (https://www.imdb.com/title/tt3322312/?utm_source=rss&utm_medium=rss) TV series ---Florian ------ [The Peripheral] (https://www.imdb.com/title/tt8291284/?ref_=nv_sr_srsg_0&utm_source=rss&utm_medium=rss) Closing Announcements --------------------- ---Thank you for listening! Don’t forget to check out our other shows. The [Data Engineering Podcast] (https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss) covers the latest on modern data management. The [Machine Learning Podcast] (https://www.themachinelearningpodcast.com?utm_source=rss&utm_medium=rss) helps you go from idea to production with machine learning. ---Visit the [site] (https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss) to subscribe to the show, sign up for the mailing list, and read the show notes. ---If you’ve learned something or tried out a project from the show then tell us about it! Email [hosts@podcastinit.com] (mailto:hosts@podcastinit.com) ) with your story. ---To help other people find the show please leave a review on [iTunes] (https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&uo=6&at=&ct=&utm_source=rss&utm_medium=rss) and tell your friends and co-workers Links ----- --- [PyScaffold] (https://pyscaffold.org/en/stable/?utm_source=rss&utm_medium=rss) --- [Innovex] (https://www.inovex.de/?utm_source=rss&utm_medium=rss) --- [SAP] (https://www.sap.com/index.html?utm_source=rss&utm_medium=rss) --- [Cookiecutter] (https://cookiecutter.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss) --- [Pytest] (https://docs.pytest.org/en/stable/?utm_source=rss&utm_medium=rss) ------ [Podcast Episode] (https://www.pythonpodcast.com/episode-16-holger-krekel-on-py-test/?utm_source=rss&utm_medium=rss) --- [Sphinx] (https://www.sphinx-doc.org/en/master/?utm_source=rss&utm_medium=rss) --- [pre-commit] (https://pre-commit.com/?utm_source=rss&utm_medium=rss) ------ [Podcast Episode] (https://www.pythonpodcast.com/pre-commit-with-anthony-sottile-episode-178/?utm_source=rss&utm_medium=rss) --- [Black] (https://black.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss) --- [Flake8] (https://flake8.pycqa.org/en/latest/?utm_source=rss&utm_medium=rss) ------ [Podcast Episode] (https://www.pythonpodcast.com/flake8-static-analysis-episode-309/?utm_source=rss&utm_medium=rss) --- [Poetry] (https://python-poetry.org/?utm_source=rss&utm_medium=rss) --- [Setuptools] (https://github.com/pypa/setuptools?utm_source=rss&utm_medium=rss) --- [mkdocs] (https://www.mkdocs.org/?utm_source=rss&utm_medium=rss) --- [ReStructured Text] (https://www.writethedocs.org/guide/writing/reStructuredText/?utm_source=rss&utm_medium=rss) --- [Markdown] (https://en.wikipedia.org/wiki/Markdown?utm_source=rss&utm_medium=rss) --- [Setuptools-SCM] (https://github.com/pypa/setuptools_scm/?utm_source=rss&utm_medium=rss) --- [Hatch] (https://hatch.pypa.io/latest/?utm_source=rss&utm_medium=rss) --- [Flit] (https://flit.pypa.io/en/latest/?utm_source=rss&utm_medium=rss) --- [Versioneer] (https://github.com/python-versioneer/python-versioneer?utm_source=rss&utm_medium=rss) --- [Gource] (https://gource.io/?utm_source=rss&utm_medium=rss) git visualization --- [MyPy Compiler] (https://mypyc.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss) --- [Rust Cargo] (https://doc.rust-lang.org/cargo/?utm_source=rss&utm_medium=rss) The intro and outro music is from Requiem for a Fish [The Freak Fandango Orchestra] (http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss) / [CC BY-SA] (http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss) ![image] (https://analytics.boundlessnotions.com/piwik.php?idsite=1&rec=1&url=https%3A%2F%2Fwww.pythonpodcast.com%2Fpyscaffold-project-template-boilerplate-episode-384%2F&action_name=Skip+Straight+To+The+Fun+Part+Of+Your+Project+With+PyScaffold+-+Episode+384&urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss) ... Read more

07 Nov 2022

57 MINS

57:46

07 Nov 2022


#384

Add Configuration Best Practices To Your Application In An Afternoon With Dynaconf

Summary ------- Application configuration is a deceptively complex problem. Everyone who is building a project that gets used more than once will end up needing to add configuration to control aspects of behavior or manage connections to other systems and services. At first glance it seems simple, but can quickly become unwieldy. Bruno Rocha created Dynaconf in an effort to provide a simple interface with powerful capabilities for managing settings across environments with a set of strong opinions. In this episode he shares the story behind the project, how its design allows for adapting to various applications, and how you can start using it today for your own projects. Announcements ------------- ---Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great! ---When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With their managed Kubernetes platform it’s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. And now you can launch a managed MySQL, Postgres, or Mongo database cluster in minutes to keep your critical data safe with automated backups and failover. Go to [pythonpodcast.com/linode] (https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss) and get a $100 credit to try out a Kubernetes cluster of your own. And don’t forget to thank them for their continued support of this show! ---Your host as usual is Tobias Macey and today I’m interviewing Bruno Rocha about Dynaconf, a powerful and flexible framework for managing your application’s configuration settings Interview --------- ---Introductions ---How did you get introduced to Python? ---Can you describe what Dynaconf is and the story behind it? ---What are your main goals for Dynaconf? ------What kinds of projects (e.g. web, devops, ML, etc.) are you focused on supporting with Dynaconf? ---Settings management is a deceptively complex and detailed aspect of software engineering, with a lot of conflicting opinions about the "right way". What are the design philosophies that you lean on for Dynaconf? ---Many engineers end up building their own frameworks for managing settings as their use cases and environments get increasingly complicated. What are some of the ways that those efforts can go wrong or become unmaintainable? ---Can you describe how Dynaconf is implemented? ------How have the design and goals of the project evolved since you first started it? ---What is the workflow for getting started with Dynaconf on a new project? ------How does the usage scale with the complexity of the host project? ---What are some strategies that you recommend for integrating Dynaconf into an existing project that already has complex requirements for settings across multiple environments? ---Secrets management is one of the most frequently under- or over-engineered aspects of application configuration. What are some of the ways that you have worked to strike a balance of making the "right way" easy? ---What are some of the more advanced or under-utilized capabilities of Dynaconf? ---What are the most interesting, innovative, or unexpected ways that you have seen Dynaconf used? ---What are the most interesting, unexpected, or challenging lessons that you have learned while working on Dynaconf? ---When is Dynaconf the wrong choice? ---What do you have planned for the future of Dynaconf? Keep In Touch ------------- --- [rochacbruno] (https://github.com/rochacbruno?utm_source=rss&utm_medium=rss) on GitHub --- [@rochacbruno] (https://twitter.com/rochacbruno?utm_source=rss&utm_medium=rss) on Twitter --- [Website] (https://beacons.ai/rochacbruno?utm_source=rss&utm_medium=rss) --- [LinkedIn] (https://www.linkedin.com/in/rochacbruno/?utm_source=rss&utm_medium=rss) Picks ----- ---Tobias ------ [SOPS] (https://github.com/mozilla/sops?utm_source=rss&utm_medium=rss) ---Bruno ------ [Severance] (https://tv.apple.com/us/show/severance/umc.cmc.1srk2goyh2q2zdxcx605w8vtx?utm_source=rss&utm_medium=rss) tv series ------Learn [Rust] (https://www.rust-lang.org/?utm_source=rss&utm_medium=rss) Closing Announcements --------------------- ---Thank you for listening! Don’t forget to check out our other shows. The [Data Engineering Podcast] (https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss) covers the latest on modern data management. The [Machine Learning Podcast] (https://www.themachinelearningpodcast.com?utm_source=rss&utm_medium=rss) helps you go from idea to production with machine learning. ---Visit the [site] (https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss) to subscribe to the show, sign up for the mailing list, and read the show notes. ---If you’ve learned something or tried out a project from the show then tell us about it! Email [hosts@podcastinit.com] (mailto:hosts@podcastinit.com) ) with your story. ---To help other people find the show please leave a review on [iTunes] (https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&uo=6&at=&ct=&utm_source=rss&utm_medium=rss) and tell your friends and co-workers Links ----- --- [Dynaconf] (https://www.dynaconf.com/?utm_source=rss&utm_medium=rss) --- [Dynaconf GitHub Org] (https://github.com/dynaconf/?utm_source=rss&utm_medium=rss) --- [Ansible] (https://www.ansible.com/?utm_source=rss&utm_medium=rss) --- [Bash] (https://en.wikipedia.org/wiki/Bash_(Unix_shell)?utm_source=rss&utm_medium=rss) --- [Perl] (https://www.perl.org/?utm_source=rss&utm_medium=rss) --- [12 Factor Applications] (https://12factor.net/?utm_source=rss&utm_medium=rss) --- [TOML] (https://toml.io/en/?utm_source=rss&utm_medium=rss) --- [Hashicorp Vault] (https://www.vaultproject.io/?utm_source=rss&utm_medium=rss) --- [Pydantic] (https://pydantic-docs.helpmanual.io/?utm_source=rss&utm_medium=rss) --- [Airflow] (https://airflow.apache.org/?utm_source=rss&utm_medium=rss) --- [Hydroconf] (https://crates.io/crates/hydroconf?utm_source=rss&utm_medium=rss) The intro and outro music is from Requiem for a Fish [The Freak Fandango Orchestra] (http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss) / [CC BY-SA] (http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss) ![image] (https://analytics.boundlessnotions.com/piwik.php?idsite=1&rec=1&url=https%3A%2F%2Fwww.pythonpodcast.com%2Fdynaconf-application-configuration-management-episode-383%2F&action_name=Add+Configuration+Best+Practices+To+Your+Application+In+An+Afternoon+With+Dynaconf+-+Episode+383&urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss) ... Read more

30 Oct 2022

1 HR 03 MINS

1:03:59

30 Oct 2022


#383

Take A Tour Of The Hidden Language Of Hardware And How It Powers Your Code

Summary ------- Software is eating the world, but that code has to have hardware to execute the instructions. Most people, and many software engineers, don’t have a proper understanding of how that hardware functions. Charles Petzold wrote the book "Code: The Hidden Language of Computer Hardware and Software" to make this a less opaque subject. In this episode he discusses what motivated him to revise that work in the second edition and the additional details that he packed in to explore the functioning of the CPU. Announcements ------------- ---Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great! ---When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With their managed Kubernetes platform it’s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. And now you can launch a managed MySQL, Postgres, or Mongo database cluster in minutes to keep your critical data safe with automated backups and failover. Go to [pythonpodcast.com/linode] (https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss) and get a $100 credit to try out a Kubernetes cluster of your own. And don’t forget to thank them for their continued support of this show! ---Your host as usual is Tobias Macey and today I’m interviewing Charles Petzold about his work on the second edition of Code: The Hidden Language of Computer Hardware and Software Interview --------- ---Introductions ---How did you get introduced to Python? ---Can you start by describing the focus and goal of "Code" and the story behind it? ------Who is the target audience for the book? ---The sequencing of the topics parallels the curriculum of a computer engineering course of study. Why do you think that it is useful/important for a general audience to understand the electrical engineering principles that underly modern computers? ---What was your process for determining how to segment the information that you wanted to address in the book to balance the pacing of the reader with the density of the information? ---Technical books are notoriously challenging to write due to the constantly changing subject matter. What are some of the ways that the first edition of "Code" was becoming outdated? ------What are the most notable changes in the foundational elements of computing that have happened in the time since the first edition was published? ---One of the concepts that I have found most helpful as a software engineer is that of "mechanical sympathy". What are some of the ways that a better understanding of computer hardware and electrical signal processing can influence and improve the way that an engineer writes code? ---What are some of the insights that you gained about your own use of computers and software while working on this book? ---What are the most interesting, unexpected, or challenging lessons that you have learned while writing "Code" and revising it for the second edition? ---Once the reader has finished with your book, what are some of the other references/resources that you recommend? Keep In Touch ------------- --- [Website] (http://charlespetzold.com/?utm_source=rss&utm_medium=rss) Picks ----- ---Tobias ------ [The Imitation Game] (https://www.imdb.com/title/tt2084970/?utm_source=rss&utm_medium=rss) movie ---Charles ------ [The Annotated Turing] (http://charlespetzold.com/books/?utm_source=rss&utm_medium=rss) book by Charles Petzold ------ [Confidence Man: The Making of Donald Trump and the Breaking of America] (https://www.penguinrandomhouse.com/books/668293/confidence-man-by-maggie-haberman/?utm_source=rss&utm_medium=rss) by Maggie Haberman Links ----- --- [Code: The Hidden Language of Computer Hardware and Software] (https://www.microsoftpressstore.com/store/code-the-hidden-language-of-computer-hardware-and-software-9780137909100?utm_source=rss&utm_medium=rss) --- [Fortran] (https://fortran-lang.org/en/?utm_source=rss&utm_medium=rss) --- [PL/I] (https://en.wikipedia.org/wiki/PL/I?utm_source=rss&utm_medium=rss) --- [BASIC] (https://en.wikipedia.org/wiki/BASIC?utm_source=rss&utm_medium=rss) --- [C#] (https://en.wikipedia.org/wiki/C_Sharp_(programming_language)?utm_source=rss&utm_medium=rss) --- [Z80] (https://en.wikipedia.org/wiki/Zilog_Z80?utm_source=rss&utm_medium=rss) --- [Intel 8080] (https://en.wikipedia.org/wiki/Intel_8080?utm_source=rss&utm_medium=rss) --- [PC Magazine] (https://www.pcmag.com/?utm_source=rss&utm_medium=rss) --- [Assembly Language] (https://en.wikipedia.org/wiki/Assembly_language?utm_source=rss&utm_medium=rss) --- [Logic Gates] (https://en.wikipedia.org/wiki/Logic_gate?utm_source=rss&utm_medium=rss) --- [C Language] (https://en.wikipedia.org/wiki/C_(programming_language)?utm_source=rss&utm_medium=rss) --- [ASCII == American Standard Code for Information Interchange] (https://en.wikipedia.org/wiki/ASCII?utm_source=rss&utm_medium=rss) --- [SkiaSharp] (https://github.com/mono/SkiaSharp?utm_source=rss&utm_medium=rss) --- [Algol] (https://en.wikipedia.org/wiki/Algol?utm_source=rss&utm_medium=rss) --- [Code first edition bibliography] (http://charlespetzold.com/code/CodeBibliography.html?utm_source=rss&utm_medium=rss) The intro and outro music is from Requiem for a Fish [The Freak Fandango Orchestra] (http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss) / [CC BY-SA] (http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss) ![image] (https://analytics.boundlessnotions.com/piwik.php?idsite=1&rec=1&url=https%3A%2F%2Fwww.pythonpodcast.com%2Fcode-hidden-language-second-edition-episode-382%2F&action_name=Take+A+Tour+Of+The+Hidden+Language+Of+Hardware+And+How+It+Powers+Your+Code+-+Episode+382&urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss) ... Read more

23 Oct 2022

00 MINS

00:00

23 Oct 2022


#382

Take Control Of Your Electrical Systems With The Open Source FlexMeasures Energy Management System

Summary ------- The generation, distribution, and consumption of energy is one of the most critical pieces of infrastructure for the modern world. With the rise of renewable energy there is an accompanying need for systems that can respond in real-time to the availability and demand for electricity. FlexMeasures is an open source energy management system that is designed to integrate a variety of inputs intelligently allocate energy resources to reduce waste in your home or grid. In this episode Nicolas Höning explains how the project is implemented, how it is being used in his startup Seita, and how you can try it out for your own energy needs. Announcements ------------- ---Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great! ---When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With their managed Kubernetes platform it’s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. And now you can launch a managed MySQL, Postgres, or Mongo database cluster in minutes to keep your critical data safe with automated backups and failover. Go to [pythonpodcast.com/linode] (https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss) and get a $100 credit to try out a Kubernetes cluster of your own. And don’t forget to thank them for their continued support of this show! ---Your host as usual is Tobias Macey and today I’m interviewing Nicolas Höning about FlexMeasures, an open source project designed to manage energy resources dynamically to improve efficiency Interview --------- ---Introductions ---How did you get introduced to Python? ---Can you describe what FlexMeasures is and the story behind it? ------What are the primary goals/objectives of the project? ------The energy sector is huge. Where can FlexMeasures be used? ---Energy systems are typically governed by a marketplace system. What are the benefits that FlexMeasures can provide for each side of that market? ------How do renewable sources of energy confuse/complicate the role that the different stakeholders represent? ------What are the different points of interaction that producers/consumers might have with the FlexMeasures platform? ---What are some examples of the types of decisions/recommendations that FlexMeasures might generate and how to they manifest in the energy systems? ------What are the types of information that FlexMeasures relies on for driving those decisions? ---Can you describe how FlexMeasures is implemented? ------How have the design and goals of the system changed/evolved since you started working on it? ---What are the interfaces that you provide for integrating with and extending the functionality of a FlexMeasures installation? ---What are the operating scales that FlexMeasures is designed for? ---What are the most interesting, innovative, or unexpected ways that you have seen FlexMeasures used? ---What are the most interesting, unexpected, or challenging lessons that you have learned while working on FlexMeasures? ---When is FlexMeasures the wrong choice? ---What do you have planned for the future of FlexMeasures? Keep In Touch ------------- --- [Website] (https://www.nicolashoening.de/?utm_source=rss&utm_medium=rss) --- [@nhoening] (https://twitter.com/nhoening?utm_source=rss&utm_medium=rss) on Twitter --- [LinkedIn] (https://www.linkedin.com/in/nhoening/?originalSubdomain=nl&utm_source=rss&utm_medium=rss) Picks ----- ---Tobias ------ [She-Hulk] (https://www.disneyplus.com/series/she-hulk-attorney-at-law/gPwaYusKqRQh?utm_source=rss&utm_medium=rss) ---Nicholas ------ [Kleo] (https://www.netflix.com/title/81216677?utm_source=rss&utm_medium=rss) on Netflix ------ [Altair] (https://altair-viz.github.io/?utm_source=rss&utm_medium=rss) Closing Announcements --------------------- ---Thank you for listening! Don’t forget to check out our other shows. The [Data Engineering Podcast] (https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss) covers the latest on modern data management. The [Machine Learning Podcast] (https://www.themachinelearningpodcast.com?utm_source=rss&utm_medium=rss) helps you go from idea to production with machine learning. ---Visit the [site] (https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss) to subscribe to the show, sign up for the mailing list, and read the show notes. ---If you’ve learned something or tried out a project from the show then tell us about it! Email [hosts@podcastinit.com] (mailto:hosts@podcastinit.com) ) with your story. ---To help other people find the show please leave a review on [iTunes] (https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&uo=6&at=&ct=&utm_source=rss&utm_medium=rss) and tell your friends and co-workers Links ----- ---FlexMeasures: ------ [Github] (https://github.com/flexMeasures?utm_source=rss&utm_medium=rss) ------ [Linux Energy Foundation] (https://www.lfenergy.org/projects/flexmeasures/?utm_source=rss&utm_medium=rss) ------ [Mailing List] (https://lists.lfenergy.org/g/flexmeasures/?utm_source=rss&utm_medium=rss) ------ [Twitter] (https://twitter.com/flexmeasures?utm_source=rss&utm_medium=rss) --- [EyeQuant] (https://www.eyequant.com/?utm_source=rss&utm_medium=rss) --- [Energy Management System] (https://en.wikipedia.org/wiki/Energy_management_system?utm_source=rss&utm_medium=rss) --- [OpenEMS] (https://openems.io/?utm_source=rss&utm_medium=rss) --- [ICT == Information and Communications Technology] (https://en.wikipedia.org/wiki/Information_and_communications_technology?utm_source=rss&utm_medium=rss) --- [HomeAssistant] (https://www.home-assistant.io/?utm_source=rss&utm_medium=rss) ------ [Podcast Episode] (https://www.pythonpodcast.com/episode-94-home-assistant-with-paulus-schoutsen/?utm_source=rss&utm_medium=rss) --- [FlexMeasures HomeAssistant Plugin] (https://github.com/SeitaBV/v2g-liberty?utm_source=rss&utm_medium=rss) --- [Universal Smart Energy Framework] (https://www.usef.energy/?utm_source=rss&utm_medium=rss) --- [PostgreSQL] (https://www.postgresql.org/?utm_source=rss&utm_medium=rss) ------ [Data Engineering Podcast Episode] (https://www.dataengineeringpodcast.com/postgresql-with-jonathan-katz-episode-42/?utm_source=rss&utm_medium=rss) --- [TimescaleDB] (https://www.timescale.com/?utm_source=rss&utm_medium=rss) ------ [Data Engineering Podcast Episode] (https://www.dataengineeringpodcast.com/timescaledb-round-2-episode-65/?utm_source=rss&utm_medium=rss) --- [OpenWeatherMap] (https://openweathermap.org/?utm_source=rss&utm_medium=rss) --- [Timely-Beliefs] (https://github.com/SeitaBV/timely-beliefs/?utm_source=rss&utm_medium=rss) library --- [Flask] (https://flask.palletsprojects.com/en/latest/?utm_source=rss&utm_medium=rss) --- [Click] (https://click.palletsprojects.com/en/latest/?utm_source=rss&utm_medium=rss) --- [Pyomo] (http://www.pyomo.org/?utm_source=rss&utm_medium=rss) --- [scikit-learn] (https://scikit-learn.org/?utm_source=rss&utm_medium=rss) --- [sktime] (https://sktime.org/?utm_source=rss&utm_medium=rss) --- [LF Energy] (https://www.lfenergy.org/?utm_source=rss&utm_medium=rss) --- [Flake8] (https://flake8.pycqa.org/en/latest/?utm_source=rss&utm_medium=rss) --- [MyPy] (http://mypy-lang.org/?utm_source=rss&utm_medium=rss) ------ [Podcast Episode] (https://www.pythonpodcast.com/episode-65-mypy-with-david-fisher-and-greg-price/?utm_source=rss&utm_medium=rss) --- [Black] (https://black.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss) --- [Arima Model] (https://en.wikipedia.org/wiki/Autoregressive_integrated_moving_average?utm_source=rss&utm_medium=rss) --- [Random Forest] (https://en.wikipedia.org/wiki/Random_forest?utm_source=rss&utm_medium=rss) The intro and outro music is from Requiem for a Fish [The Freak Fandango Orchestra] (http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss) / [CC BY-SA] (http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss) ![image] (https://analytics.boundlessnotions.com/piwik.php?idsite=1&rec=1&url=https%3A%2F%2Fwww.pythonpodcast.com%2Fflexmeasures-energy-management-system-episode-381%2F&action_name=Take+Control+Of+Your+Electrical+Systems+With+The+Open+Source+FlexMeasures+Energy+Management+System+-+Episode+381&urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss) ... Read more

16 Oct 2022

49 MINS

49:16

16 Oct 2022


#381

How And Why To Build Effective Teams As An Engineering Leader

Summary ------- Your ability to build and maintain a software project is tempered by the strength of the team that you are working with. If you are in a position of leadership, then you are responsible for the growth and maintenance of that team. In this episode Jigar Desai, currently the SVP of engineering at Sisu Data, shares his experience as an engineering leader over the past several years and the useful insights he has gained into how to build effective engineering teams. Announcements ------------- ---Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great! ---When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With their managed Kubernetes platform it’s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. And now you can launch a managed MySQL, Postgres, or Mongo database cluster in minutes to keep your critical data safe with automated backups and failover. Go to [pythonpodcast.com/linode] (https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss) and get a $100 credit to try out a Kubernetes cluster of your own. And don’t forget to thank them for their continued support of this show! ---The biggest challenge with modern data systems is understanding what data you have, where it is located, and who is using it. Select Star’s data discovery platform solves that out of the box, with a fully automated catalog that includes lineage from where the data originated, all the way to which dashboards rely on it and who is viewing them every day. Just connect it to your dbt, Snowflake, Tableau, Looker, or whatever you’re using and Select Star will set everything up in just a few hours. Go to [pythonpodcast.com/selectstar] (https://www.pythonpodcast.com/selectstar?utm_source=rss&utm_medium=rss) today to double the length of your free trial and get a swag package when you convert to a paid plan. ---Your host as usual is Tobias Macey and today I’m interviewing Jigar Desai about building effective engineering teams Interview --------- ---Introductions ---How did you get introduced to Python? ---What have you found to be the central challenges involved in building an effective engineering team? ------What are the measures that you use to determine what "effective" means for a given team? ---how to establish mutual trust in an engineering team ---challenges introduced at different levels of team size/organizational complexity ---establishing and managing career ladders ---You have mostly worked in heavily tech-focused companies. How do industry verticals impact the ways that you think about formation and structure of engineering teams? ------What are some of the different roles that you might focus on hiring/team compositions in industries that aren’t purely software? (e.g. fintech, logistics, etc.) ---notable evolutions in engineering practices/paradigm shifts in the industry ------What are some of the predictions that you have about how the future of engineering will look? ------What impact do you think low-code/no-code solutions will have on the types of projects that code-first developers will be tasked with? ---What are the most interesting, innovative, or unexpected ways that you have seen organizational leaders address the work of building and scaling engineering capacity? ---What are the most interesting, unexpected, or challenging lessons that you have learned while working in engineering leadership? ---What are the most informative mistakes that you would like to share? ---What are some resources and reference material that you recommend for anyone responsible for the success of their engineering teams? Keep In Touch ------------- --- [LinkedIn] (https://www.linkedin.com/in/jigardesai/?utm_source=rss&utm_medium=rss) Picks ----- ---Tobias ------ [Bullet Train] (https://www.imdb.com/title/tt12593682/?utm_source=rss&utm_medium=rss) movie ---Jigar ------ [Top Gun Maverick] (https://www.imdb.com/title/tt1745960/?ref_=nv_sr_srsg_0&utm_source=rss&utm_medium=rss) movie Closing Announcements --------------------- ---Thank you for listening! Don’t forget to check out our other shows. The [Data Engineering Podcast] (https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss) covers the latest on modern data management. The [Machine Learning Podcast] (https://www.themachinelearningpodcast.com?utm_source=rss&utm_medium=rss) helps you go from idea to production with machine learning. ---Visit the [site] (https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss) to subscribe to the show, sign up for the mailing list, and read the show notes. ---If you’ve learned something or tried out a project from the show then tell us about it! Email [hosts@podcastinit.com] (mailto:hosts@podcastinit.com) ) with your story. ---To help other people find the show please leave a review on [iTunes] (https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&uo=6&at=&ct=&utm_source=rss&utm_medium=rss) and tell your friends and co-workers Links ----- --- [Sisu Data] (https://sisudata.com/?utm_source=rss&utm_medium=rss) --- [OpenStack] (https://www.openstack.org/?utm_source=rss&utm_medium=rss) --- [Java] (https://en.wikipedia.org/wiki/Java_%28programming_language%29?utm_source=rss&utm_medium=rss) The intro and outro music is from Requiem for a Fish [The Freak Fandango Orchestra] (http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss) / [CC BY-SA] (http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss) ![image] (https://analytics.boundlessnotions.com/piwik.php?idsite=1&rec=1&url=https%3A%2F%2Fwww.pythonpodcast.com%2Feffective-engineering-teams-jigar-desai-episode-380%2F&action_name=How+And+Why+To+Build+Effective+Teams+As+An+Engineering+Leader+-+Episode+380&urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss) ... Read more

10 Oct 2022

1 HR 04 MINS

1:04:50

10 Oct 2022


#380

Complete Your Hardware "Weekend Projects" In An Actual Weekend With Belay

Summary ------- Working on hardware projects often has significant friction involved when compared to pure software. Brian Pugh enjoys tinkering with microcontrollers, but his "weekend projects" often took longer than a weekend to complete, so he created Belay. In this episode he explains how Belay simplifies the interactions involved in developing for MicroPython boards and how you can use it to speed up your own experimentation. Announcements ------------- ---Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great! ---When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With their managed Kubernetes platform it’s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. And now you can launch a managed MySQL, Postgres, or Mongo database cluster in minutes to keep your critical data safe with automated backups and failover. Go to [pythonpodcast.com/linode] (https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss) and get a $100 credit to try out a Kubernetes cluster of your own. And don’t forget to thank them for their continued support of this show! ---The biggest challenge with modern data systems is understanding what data you have, where it is located, and who is using it. Select Star’s data discovery platform solves that out of the box, with a fully automated catalog that includes lineage from where the data originated, all the way to which dashboards rely on it and who is viewing them every day. Just connect it to your dbt, Snowflake, Tableau, Looker, or whatever you’re using and Select Star will set everything up in just a few hours. Go to [pythonpodcast.com/selectstar] (https://www.pythonpodcast.com/selectstar?utm_source=rss&utm_medium=rss) today to double the length of your free trial and get a swag package when you convert to a paid plan. ---Your host as usual is Tobias Macey and today I’m interviewing Brian Pugh about Belay, a python library that enables the rapid development of projects that interact with hardware via a micropython-compatible board. Interview --------- ---Introductions ---How did you get introduced to Python? ---Can you describe what Belay is and the story behind it? ---Who are the target users for Belay? ---What are some of the points of friction involved in developing for hardware projects? ------What are some of the features of Belay that make that a smoother process? ---What are some of the ways that simplifying the develop/debug cycles can improve the overall experience of developing for hardware platforms? ------What are some of the inherent limitations of constrained hardware that Belay is unable to paper over? ---Can you describe how Belay is implemented? ---What does the workflow look like when using Belay as compared to using MicroPython directly? ---What are some of the ways that you are using Belay in your own projects? ---What are the most interesting, innovative, or unexpected ways that you have seen Belay used? ---What are the most interesting, unexpected, or challenging lessons that you have learned while working on Belay? ---When is Belay the wrong choice? ---What do you have planned for the future of Belay? Keep In Touch ------------- --- [BrianPugh] (https://github.com/BrianPugh?utm_source=rss&utm_medium=rss) on GitHub --- [LinkedIn] (https://www.linkedin.com/in/briannpugh/?utm_source=rss&utm_medium=rss) Picks ----- ---Tobias ------ [Gunnar Computer Glasses] (https://gunnar.com/?utm_source=rss&utm_medium=rss) Closing Announcements --------------------- ---Thank you for listening! Don’t forget to check out our other shows. The [Data Engineering Podcast] (https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss) covers the latest on modern data management. The [Machine Learning Podcast] (https://www.themachinelearningpodcast.com?utm_source=rss&utm_medium=rss) helps you go from idea to production with machine learning. ---Visit the [site] (https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss) to subscribe to the show, sign up for the mailing list, and read the show notes. ---If you’ve learned something or tried out a project from the show then tell us about it! Email [hosts@podcastinit.com] (mailto:hosts@podcastinit.com) ) with your story. ---To help other people find the show please leave a review on [iTunes] (https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&uo=6&at=&ct=&utm_source=rss&utm_medium=rss) and tell your friends and co-workers Links ----- --- [Belay] (https://github.com/brianpugh/belay?utm_source=rss&utm_medium=rss) --- [Geomagical] (https://www.geomagical.com/?utm_source=rss&utm_medium=rss) --- [PIC Microcontroller] (https://en.wikipedia.org/wiki/PIC_microcontrollers?utm_source=rss&utm_medium=rss) --- [AVR Microcontroller] (https://en.wikipedia.org/wiki/AVR_microcontrollers?utm_source=rss&utm_medium=rss) --- [Matlab] (https://www.mathworks.com/products/matlab.html?utm_source=rss&utm_medium=rss) --- [MicroPython] (https://micropython.org/?utm_source=rss&utm_medium=rss) ------ [Podcast Episode] (https://www.pythonpodcast.com/episode-15-damien-george-talks-to-us-about-micropython/?utm_source=rss&utm_medium=rss) --- [CircuitPython] (https://circuitpython.org/?utm_source=rss&utm_medium=rss) ------ [Podcast Episode] (https://www.pythonpodcast.com/circuitpython-hardware-hacking-episode-212/?utm_source=rss&utm_medium=rss) --- [Celery] (https://docs.celeryq.dev/en/stable/?utm_source=rss&utm_medium=rss) --- [Potentiometer] (https://en.wikipedia.org/wiki/Potentiometer?utm_source=rss&utm_medium=rss) --- [Raspberry Pi] (https://www.raspberrypi.com/?utm_source=rss&utm_medium=rss) --- [Raspberry Pi Pico] (https://www.raspberrypi.com/products/raspberry-pi-pico/?utm_source=rss&utm_medium=rss) --- [ADC Converter] (https://en.wikipedia.org/wiki/Analog-to-digital_converter?utm_source=rss&utm_medium=rss) --- [Thonny] (https://thonny.org/?utm_source=rss&utm_medium=rss) ------ [Podcast Episode] (https://www.pythonpodcast.com/thonny-with-aivar-annamaa-episode-153/?utm_source=rss&utm_medium=rss) --- [Adafruit] (https://www.adafruit.com/?utm_source=rss&utm_medium=rss) --- [Pyboard] (https://store.micropython.org/category/pyboards?utm_source=rss&utm_medium=rss) --- [Python Inspect Module] (https://docs.python.org/3/library/inspect.html?utm_source=rss&utm_medium=rss) --- [Python Tokenize] (https://docs.python.org/3/library/tokenize.html?utm_source=rss&utm_medium=rss) --- [Magnetometer Project] (https://github.com/BrianPugh/magnetometer?utm_source=rss&utm_medium=rss) --- [Lidar] (https://en.wikipedia.org/wiki/Lidar?utm_source=rss&utm_medium=rss) The intro and outro music is from Requiem for a Fish [The Freak Fandango Orchestra] (http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss) / [CC BY-SA] (http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss) ![image] (https://analytics.boundlessnotions.com/piwik.php?idsite=1&rec=1&url=https%3A%2F%2Fwww.pythonpodcast.com%2Fbelay-micropython-hardware-helper-episode-379%2F&action_name=Complete+Your+Hardware+%22Weekend+Projects%22+In+An+Actual+Weekend+With+Belay+-+Episode+379&urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss) ... Read more

03 Oct 2022

48 MINS

48:29

03 Oct 2022


#379

Catching Up With Pyre, A Fast Type Checker For Python

Summary ------- Static typing versus dynamic typing is one of the oldest debates in software development. In recent years a number of dynamic languages have worked toward a middle ground by adding support for type hints. Python’s type annotations have given rise to an ecosystem of tools that use that type information to validate the correctness of programs and help identify potential bugs. At Instagram they created the Pyre project with a focus on speed to allow for scaling to huge Python projects. In this episode Shannon Zhu discusses how it is implemented, how to use it in your development process, and how it compares to other type checkers in the Python ecosystem. Announcements ------------- ---Hello and welcome to Podcast.__init__, the podcast about Python’s role in data and science. ---When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With their managed Kubernetes platform it’s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. And now you can launch a managed MySQL, Postgres, or Mongo database cluster in minutes to keep your critical data safe with automated backups and failover. Go to [pythonpodcast.com/linode] (https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss) and get a $100 credit to try out a Kubernetes cluster of your own. And don’t forget to thank them for their continued support of this show! ---Your host as usual is Tobias Macey and today I’m interviewing Shannon Zhu about Pyre, a type checker for Python 3 built from the ground up to support gradual typing and deliver responsive incremental checks Interview --------- ---Introductions ---How did you get introduced to Python? ---Can you describe what Pyre is and the story behind it? ---There have been a number of tools created to support various aspects of typing for Python. How would you describe the various goals that they support and how Pyre fits in that ecosystem? ---What are the core goals and notable features of Pyre? ---Can you describe how Pyre is implemented? ------How have the design and goals of the project changed/evolved since you started working on it? ---What are the different ways that Pyre is used in the development workflow for a team or individual? ---What are some of the challenges/roadblocks that people run into when adopting type definitions in their Python projects? ---How has the evolution of type annotations and overall support for them affected your work on Pyre? ---As someone who is working closely with type systems, what are the strongest aspects of Python’s implementation and opportunities for improvement? ---What are the most interesting, innovative, or unexpected ways that you have seen Pyre used? ---What are the most interesting, unexpected, or challenging lessons that you have learned while working on Pyre? ---When is Pyre the wrong choice? ---What do you have planned for the future of Pyre? Keep In Touch ------------- --- [shannonzhu] (https://github.com/shannonzhu?utm_source=rss&utm_medium=rss) on GitHub Picks ----- ---Tobias ------ [Lord Of The Rings: The Rings of Power] (https://www.amazon.com/dp/B09QHCPD34/ref=dvm_us_or_cs_SH_all_22LTUM_s1_i0_TSTO-PV_Motion/?_encoding=UTF8&pd_rd_w=clIu2&content-id=amzn1.sym.5a6065ca-20a9-43e0-bf13-e291e9c0d7ff&pf_rd_p=5a6065ca-20a9-43e0-bf13-e291e9c0d7ff&pf_rd_r=JRZGJHWYK1W8HKNBGEK0&pd_rd_wg=OX0ys&pd_rd_r=62039a1a-bb02-4239-9251-db1d461b1e75&ref_=pd_gw_unk&utm_source=rss&utm_medium=rss) on Amazon Video ---Shannon ------ [King’s Dilemma] (https://horribleguild.com/product/the-kings-dilemma/?utm_source=rss&utm_medium=rss) board game Closing Announcements --------------------- ---Thank you for listening! Don’t forget to check out our other shows. The [Data Engineering Podcast] (https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss) covers the latest on modern data management. The [Machine Learning Podcast] (https://www.themachinelearningpodcast.com?utm_source=rss&utm_medium=rss) helps you go from idea to production with machine learning. ---Visit the [site] (https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss) to subscribe to the show, sign up for the mailing list, and read the show notes. ---If you’ve learned something or tried out a project from the show then tell us about it! Email [hosts@podcastinit.com] (mailto:hosts@podcastinit.com) ) with your story. ---To help other people find the show please leave a review on [iTunes] (https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&uo=6&at=&ct=&utm_source=rss&utm_medium=rss) and tell your friends and co-workers Links ----- --- [PYre] (https://pyre-check.org/?utm_source=rss&utm_medium=rss) --- [MyPy] (http://mypy-lang.org/?utm_source=rss&utm_medium=rss) ------ [Podcast Episode] (https://www.pythonpodcast.com/episode-65-mypy-with-david-fisher-and-greg-price/?utm_source=rss&utm_medium=rss) --- [PyRight] (https://github.com/microsoft/pyright?utm_source=rss&utm_medium=rss) --- [PyType] (https://github.com/google/pytype?utm_source=rss&utm_medium=rss) --- [MonkeyType] (https://github.com/Instagram/MonkeyType?utm_source=rss&utm_medium=rss) ------ [Podcast Episode] (https://www.pythonpodcast.com/monkeytype-with-carl-meyer-and-matt-page-episode-146/?utm_source=rss&utm_medium=rss) --- [Java] (https://en.wikipedia.org/wiki/Java_(programming_language)?utm_source=rss&utm_medium=rss) --- [C] (https://en.wikipedia.org/wiki/C_(programming_language)?utm_source=rss&utm_medium=rss) --- [PEP 484] (https://peps.python.org/pep-0484/?utm_source=rss&utm_medium=rss) --- [Flow] (https://peps.python.org/pep-0484/?utm_source=rss&utm_medium=rss) --- [Hack] (https://hacklang.org/?utm_source=rss&utm_medium=rss) --- [Continuous Integration] (https://en.wikipedia.org/wiki/Continuous_integration?utm_source=rss&utm_medium=rss) --- [OCaml] (https://ocaml.org/?utm_source=rss&utm_medium=rss) --- [PEP 675] (https://peps.python.org/pep-0675/?utm_source=rss&utm_medium=rss) – Arbitrary literal strings --- [Gradual Typing] (https://en.wikipedia.org/wiki/Gradual_typing?utm_source=rss&utm_medium=rss) --- [AST == Abstract Syntax Tree] (https://en.wikipedia.org/wiki/Abstract_syntax_tree?utm_source=rss&utm_medium=rss) --- [Language Server Protocol] (https://microsoft.github.io/language-server-protocol/?utm_source=rss&utm_medium=rss) --- [Tensor] (https://en.wikipedia.org/wiki/Tensor?utm_source=rss&utm_medium=rss) --- [Type Arithmetic] (https://wiki.haskell.org/Type_arithmetic?utm_source=rss&utm_medium=rss) --- [PyCon: Securing Code With The Python Type System] (https://www.youtube.com/watch?v=nRt_xk2MGYU&utm_source=rss&utm_medium=rss) --- [PyCon: Type Checked Python In The Real World] (https://www.youtube.com/watch?v=pMgmKJyWKn8&utm_source=rss&utm_medium=rss) --- [PyCon: Łukasz Lange 2022 Keynote] (https://www.youtube.com/watch?v=wbohVjhqg7c&list=PL2Uw4_HvXqvYeXy8ab7iRHjA-9HiYhRQl&index=2&utm_source=rss&utm_medium=rss) The intro and outro music is from Requiem for a Fish [The Freak Fandango Orchestra] (http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss) / [CC BY-SA] (http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss) ![image] (https://analytics.boundlessnotions.com/piwik.php?idsite=1&rec=1&url=https%3A%2F%2Fwww.pythonpodcast.com%2Fpyre-type-checker-episode-378%2F&action_name=Catching+Up+With+Pyre%2C+A+Fast+Type+Checker+For+Python+-+Episode+378&urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss) ... Read more

19 Sep 2022

51 MINS

51:45

19 Sep 2022


#378

Standardizing On Python For All Software Projects At Ascend.io

Summary ------- Every software project is subject to a series of decisions and tradeoffs. One of the first decisions to make is which programming language to use. For companies where their product is software, this is a decision that can have significant impact on their overall success. In this episode Sean Knapp discusses the languages that his team at Ascend use for building a service that powers complex and business critical data workflows. He also explains his motivation to standardize on Python for all layers of their system to improve developer productivity. Announcements ------------- ---Hello and welcome to Podcast.__init__, the podcast about Python’s role in data and science. ---When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With their managed Kubernetes platform it’s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. And now you can launch a managed MySQL, Postgres, or Mongo database cluster in minutes to keep your critical data safe with automated backups and failover. Go to [pythonpodcast.com/linode] (https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss) and get a $100 credit to try out a Kubernetes cluster of your own. And don’t forget to thank them for their continued support of this show! ---Your host as usual is Tobias Macey and today I’m interviewing Sean Knapp about his motivations and experiences standardizing on Python for development at Ascend Interview --------- ---Introductions ---How did you get introduced to Python? ---Can you describe what Ascend is and the story behind it? ---How many engineers work at Ascend? ------What are their different areas of focus? ---What are your policies for selecting which technologies (e.g. languages, frameworks, dev tooling, deployment, etc.) are supported at Ascend? ------What does it mean for a technology to be supported? ---You recently started standardizing on Python as the default language for development. How has Python been used up to now? ------What other languages are in common use at Ascend? ------What are some of the challenges/difficulties that motivated you to establish this policy? ---What are some of the tradeoffs that you have seen in the adoption of Python in place of your other adopted languages? ------How are you managing ongoing maintenance of projects/products that are not written in Python? ---What are some of the potential pitfalls/risks that you are guarding against in your investment in Python? ---What are the most interesting, innovative, or unexpected ways that you have seen Python used where it was previously a different technology? ---What are the most interesting, unexpected, or challenging lessons that you have learned while working on aligning all of your development on a single language? ---When is Python the wrong choice? ---What do you have planned for the future of engineering practices at Ascend? Keep In Touch ------------- --- [LinkedIn] (https://www.linkedin.com/in/seanknapp/?utm_source=rss&utm_medium=rss) --- [@seanknapp] (https://twitter.com/seanknapp?utm_source=rss&utm_medium=rss) on Twitter Picks ----- ---Tobias ------ [Delver Lens] (https://www.delverlab.com/?utm_source=rss&utm_medium=rss) app for scanning [Magic: The Gathering] (https://magic.wizards.com/en?utm_source=rss&utm_medium=rss) cards ---Sean ------ [Typer] (https://typer.tiangolo.com/?utm_source=rss&utm_medium=rss) ------ [DuckDB] (https://duckdb.org/?utm_source=rss&utm_medium=rss) ------ [Amp It Up] (https://amzn.to/3qAacCe?utm_source=rss&utm_medium=rss) book (affiliate link) Closing Announcements --------------------- ---Thank you for listening! Don’t forget to check out our other shows. The [Data Engineering Podcast] (https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss) covers the latest on modern data management. The [Machine Learning Podcast] (https://www.themachinelearningpodcast.com?utm_source=rss&utm_medium=rss) helps you go from idea to production with machine learning. ---Visit the [site] (https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss) to subscribe to the show, sign up for the mailing list, and read the show notes. ---If you’ve learned something or tried out a project from the show then tell us about it! Email [hosts@podcastinit.com] (mailto:hosts@podcastinit.com) ) with your story. ---To help other people find the show please leave a review on [iTunes] (https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&uo=6&at=&ct=&utm_source=rss&utm_medium=rss) and tell your friends and co-workers Links ----- --- [Ascend] (https://www.ascend.io/?utm_source=rss&utm_medium=rss) ------ [Data Engineering Podcast Episode] (https://www.dataengineeringpodcast.com/ascend-data-automation-episode-320/?utm_source=rss&utm_medium=rss) --- [Perl] (https://www.perl.org/?utm_source=rss&utm_medium=rss) --- [Google Sawzall] (https://en.wikipedia.org/wiki/Sawzall_(programming_language)?utm_source=rss&utm_medium=rss) --- [Technical Debt] (https://en.wikipedia.org/wiki/Technical_debt?utm_source=rss&utm_medium=rss) --- [Ruby] (https://www.ruby-lang.org/en/?utm_source=rss&utm_medium=rss) --- [gRPC] (https://grpc.io/about/?utm_source=rss&utm_medium=rss) --- [Go Language] (https://golang.org/?utm_source=rss&utm_medium=rss) --- [Java] (https://en.wikipedia.org/wiki/Java_(programming_language)?utm_source=rss&utm_medium=rss) --- [PySpark] (https://spark.apache.org/docs/latest/api/python/?utm_source=rss&utm_medium=rss) --- [Apache Arrow] (https://arrow.apache.org/?utm_source=rss&utm_medium=rss) --- [Thrift] (https://thrift.apache.org/?utm_source=rss&utm_medium=rss) --- [SQL] (https://en.wikipedia.org/wiki/SQL?utm_source=rss&utm_medium=rss) --- [Scala] (https://www.scala-lang.org/?utm_source=rss&utm_medium=rss) --- [Snowflake] (https://www.snowflake.com/en/?utm_source=rss&utm_medium=rss) runtime for Python [Snowpark] (https://docs.snowflake.com/en/developer-guide/snowpark/index.html?utm_source=rss&utm_medium=rss) --- [Typer] (https://typer.tiangolo.com/?utm_source=rss&utm_medium=rss) CLI framework --- [Pydantic] (https://pydantic-docs.helpmanual.io/?utm_source=rss&utm_medium=rss) ------ [Podcast Episode] (https://www.pythonpodcast.com/pydantic-data-validation-episode-263/?utm_source=rss&utm_medium=rss) --- [Pulumi] (https://www.pulumi.com/?utm_source=rss&utm_medium=rss) ------ [Podcast Episode] (https://www.pythonpodcast.com/pulumi-infrastructure-as-code-episode-261/?utm_source=rss&utm_medium=rss) --- [PyInfra] (https://pyinfra.com/?utm_source=rss&utm_medium=rss) ------ [Podcast Episode] (https://www.pythonpodcast.com/pyinfra-configuration-management-episode-270/?utm_source=rss&utm_medium=rss) --- [Packer] (https://www.packer.io/?utm_source=rss&utm_medium=rss) --- [Plot.ly Dash] (https://plotly.com/dash/?utm_source=rss&utm_medium=rss) --- [DuckDB] (https://duckdb.org/?utm_source=rss&utm_medium=rss) The intro and outro music is from Requiem for a Fish [The Freak Fandango Orchestra] (http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss) / [CC BY-SA] (http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss) ![image] (https://analytics.boundlessnotions.com/piwik.php?idsite=1&rec=1&url=https%3A%2F%2Fwww.pythonpodcast.com%2Fascend-python-standardization-episode-377%2F&action_name=Standardizing+On+Python+For+All+Software+Projects+At+Ascend.io+-+Episode+377&urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss) ... Read more

13 Sep 2022

50 MINS

50:25

13 Sep 2022


#377

Exploring The Process And Practice Of Building Better Software Through Code Reviews

Summary ------- Writing code is only one piece of creating good software. Code reviews are an important step in the process of building applications that are maintainable and sustainable. In this episode On Freund shares his thoughts on the myriad purposes that code reviews serve, as well as exploring some of the patterns and anti-patterns that grow up around a seemingly simple process. Announcements ------------- ---Hello and welcome to Podcast.__init__, the podcast about Python’s role in data and science. ---When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With their managed Kubernetes platform it’s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. And now you can launch a managed MySQL, Postgres, or Mongo database cluster in minutes to keep your critical data safe with automated backups and failover. Go to [pythonpodcast.com/linode] (https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss) and get a $100 credit to try out a Kubernetes cluster of your own. And don’t forget to thank them for their continued support of this show! ---Your host as usual is Tobias Macey and today I’m interviewing On Freund about the intricacies and importance of code reviews Interview --------- ---Introductions ---How did you get introduced to Python? ---Can you start by giving us your description of what a code review is? ------What is the purpose of the code review? ---At face value a code review appears to be a simple task. What are some of the subtleties that become evident with time and experience? ---What are some of the ways that code reviews can go wrong? ---What are some common anti-patterns that get applied to code reviews? ---What are the elements of code review that are useful to automate? ------What are some of the risks/bad habits that can result from overdoing automated checks/fixes or over-reliance on those tools in code reviews? ---identifying who can/should do a review for a piece of code ---how to use code reviews as a teaching tool for new/junior engineers ---how to use code reviews for avoiding siloed experience/promoting cross-training ---PR templates for capturing relevant context ---What are the most interesting, innovative, or unexpected ways that you have seen code reviews used? ---What are the most interesting, unexpected, or challenging lessons that you have learned while leading and supporting engineering teams? ---What are some resources that you recommend for anyone who wants to learn more about code review strategies and how to use them to scale their teams? Keep In Touch ------------- --- [LinkedIn] (https://www.linkedin.com/in/onfreund/?utm_source=rss&utm_medium=rss) --- [@onfreund] (https://twitter.com/onfreund?lang=en&utm_source=rss&utm_medium=rss) on Twitter Picks ----- ---Tobias ------ [The Girl Who Drank The Moon] (https://www.goodreads.com/book/show/28110852-the-girl-who-drank-the-moon?utm_source=rss&utm_medium=rss) ---On ------ [Better Call Saul] (https://www.imdb.com/title/tt3032476/?utm_source=rss&utm_medium=rss) Closing Announcements --------------------- ---Thank you for listening! Don’t forget to check out our other shows. The [Data Engineering Podcast] (https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss) covers the latest on modern data management. The [Machine Learning Podcast] (https://www.themachinelearningpodcast.com?utm_source=rss&utm_medium=rss) helps you go from idea to production with machine learning. ---Visit the [site] (https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss) to subscribe to the show, sign up for the mailing list, and read the show notes. ---If you’ve learned something or tried out a project from the show then tell us about it! Email [hosts@podcastinit.com] (mailto:hosts@podcastinit.com) ) with your story. ---To help other people find the show please leave a review on [iTunes] (https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&uo=6&at=&ct=&utm_source=rss&utm_medium=rss) and tell your friends and co-workers Links ----- --- [Wilco] (https://www.trywilco.com/?utm_source=rss&utm_medium=rss) --- [Code Review] (https://en.wikipedia.org/wiki/Code_review?utm_source=rss&utm_medium=rss) --- [Home Assistant] (https://www.home-assistant.io/?utm_source=rss&utm_medium=rss) ------ [Podcast Episode] (https://www.pythonpodcast.com/episode-94-home-assistant-with-paulus-schoutsen/?utm_source=rss&utm_medium=rss) --- [Trunk-based Development] (https://trunkbaseddevelopment.com/?utm_source=rss&utm_medium=rss) --- [Git Flow] (https://trunkbaseddevelopment.com/?utm_source=rss&utm_medium=rss) --- [Pair Programming] (https://nvie.com/posts/a-successful-git-branching-model/?utm_source=rss&utm_medium=rss) --- [Feature Flags] (https://martinfowler.com/articles/feature-toggles.html?utm_source=rss&utm_medium=rss) ------ [Podcast Episode] (https://www.pythonpodcast.com/feature-flags-episode-239/?utm_source=rss&utm_medium=rss) --- [KPI == Key Performance Indicator] (https://en.wikipedia.org/wiki/Performance_indicator?utm_source=rss&utm_medium=rss) --- [MIT Open Learning Engineering Handbook] (https://mitodl.github.io/handbook/?utm_source=rss&utm_medium=rss) --- [PEP Repository] (https://github.com/python/peps?utm_source=rss&utm_medium=rss) The intro and outro music is from Requiem for a Fish [The Freak Fandango Orchestra] (http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss) / [CC BY-SA] (http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss) ![image] (https://analytics.boundlessnotions.com/piwik.php?idsite=1&rec=1&url=https%3A%2F%2Fwww.pythonpodcast.com%2Fcode-review-for-better-software-episode-376%2F&action_name=Exploring+The+Process+And+Practice+Of+Building+Better+Software+Through+Code+Reviews+-+Episode+376&urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss) ... Read more

05 Sep 2022

57 MINS

57:23

05 Sep 2022


#376

Ship With Confidence By Automating Quality Assurance

Summary ------- Quality assurance in the software industry has become a shared responsibility in most organizations. Given the rapid pace of development and delivery it can be challenging to ensure that your application is still working the way it’s supposed to with each release. In this episode Jonathon Wright discusses the role of quality assurance in modern software teams and how automation can help. Announcements ------------- ---Hello and welcome to Podcast.__init__, the podcast about Python’s role in data and science. ---When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With their managed Kubernetes platform it’s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. And now you can launch a managed MySQL, Postgres, or Mongo database cluster in minutes to keep your critical data safe with automated backups and failover. Go to [pythonpodcast.com/linode] (https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss) and get a $100 credit to try out a Kubernetes cluster of your own. And don’t forget to thank them for their continued support of this show! ---Your host as usual is Tobias Macey and today I’m interviewing Jonathon Wright about the role of automation in your testing and QA strategies Interview --------- ---Introductions ---How did you get introduced to Python? ---Can you share your relationship with software testing/QA and automation? ---What are the main categories of how companies and software teams address testing and validation of their applications? ------What are some of the notable tradeoffs/challenges among those approaches? ---With the increased adoption of agile practices and the "shift left" mentality of DevOps, who is responsible for software quality? ------What are some of the cases where a discrete QA role or team becomes necessary? (or is it always necessary?) ---With testing and validation being a shared responsibility, competing with other priorities, what role does automation play? ------What are some of the ways that automation manifests in software quality and testing? ------How is automation distinct from software tests and CI/CD? ---For teams who are investing in automation for their applications, what are the questions they should be asking to identify what solutions to adopt? (what are the decision points in the build vs. buy equation?) ---At what stage(s) of the software lifecycle does automation live? ---What is the process for identifying which capabilities and interactions to target during the initial application of automation for QA and validation? ---One of the perennial challenges with any software testing, particularly for anything in the UI, is that it is a constantly moving target. What are some of the patterns and techniques, both from a developer and tooling perspective, that increase the robustness of automated validation? ---What are the most interesting, innovative, or unexpected ways that you have seen automation used for QA? ---What are the most interesting, unexpected, or challenging lessons that you have learned while working on QA and automation? ---When is automation the wrong choice? ---What are some of the resources that you recommend for anyone who wants to learn more about this topic? Keep In Touch ------------- --- [LinkedIn] (https://www.linkedin.com/in/automation/?originalSubdomain=uk&utm_source=rss&utm_medium=rss) --- [@Jonathon_Wright] (https://twitter.com/Jonathon_Wright?utm_source=rss&utm_medium=rss) on Twitter --- [Website] (https://www.jonathon-wright.com/?utm_source=rss&utm_medium=rss) Picks ----- ---Tobias ------The Sandman [Netflix series] (https://www.netflix.com/title/81150303?utm_source=rss&utm_medium=rss) and [Graphic Novels] (https://www.neilgaiman.com/works/Comics/?utm_source=rss&utm_medium=rss) by [Neil Gaimain] (https://www.neilgaiman.com/About_Neil?utm_source=rss&utm_medium=rss) ---Jonathon ------ [House of the Dragon] (https://www.hbo.com/house-of-the-dragon?utm_source=rss&utm_medium=rss) HBO series ------ [Mystic Quest] (https://www.imdb.com/title/tt8879940/?utm_source=rss&utm_medium=rss) TV series ------ [It’s Always Sunny in Philadelphia] (https://www.imdb.com/title/tt0472954/?utm_source=rss&utm_medium=rss) Links ----- --- [Haskell] (https://www.haskell.org/?utm_source=rss&utm_medium=rss) --- [Idris] (https://www.idris-lang.org/?utm_source=rss&utm_medium=rss) --- [Esperanto] (https://en.wikipedia.org/wiki/Esperanto?utm_source=rss&utm_medium=rss) --- [Klingon] (https://en.wikipedia.org/wiki/Klingon_language?utm_source=rss&utm_medium=rss) --- [Planguage] (https://www.gilb.com/competitive-engineering?utm_source=rss&utm_medium=rss) --- [Lisp Language] (https://en.wikipedia.org/wiki/Lisp_(programming_language)?utm_source=rss&utm_medium=rss) --- [TDD == Test Driven Development] (https://en.wikipedia.org/wiki/Test-driven_development?utm_source=rss&utm_medium=rss) --- [BDD == Behavior Driven Development] (https://en.wikipedia.org/wiki/Behavior-driven_development?utm_source=rss&utm_medium=rss) --- [Gherkin Format] (https://cucumber.io/docs/gherkin/reference/?utm_source=rss&utm_medium=rss) --- [Integration Testing] (https://en.wikipedia.org/wiki/Integration_testing?utm_source=rss&utm_medium=rss) --- [Chaos Engineering] (https://principlesofchaos.org/?utm_source=rss&utm_medium=rss) --- [Gremlin] (https://www.gremlin.com/?utm_source=rss&utm_medium=rss) --- [Chaos Toolkit] (https://chaostoolkit.org/?utm_source=rss&utm_medium=rss) ------ [Podcast Episode] (https://www.pythonpodcast.com/chaos-toolkit-chaos-engineering-episode-199/?utm_source=rss&utm_medium=rss) --- [Requirements Engineering] (https://en.wikipedia.org/wiki/Requirements_engineering?utm_source=rss&utm_medium=rss) --- [Keysight] (https://www.keysight.com?utm_source=rss&utm_medium=rss) --- [QA Lead Podcast] (https://theqalead.com/podcasts/?utm_source=rss&utm_medium=rss) --- [Cognitive Learning TED Talk] (https://www.youtube.com/watch?v=_hnxJEqq_6k&utm_source=rss&utm_medium=rss) --- [OpenTelemetry] (https://opentelemetry.io/?utm_source=rss&utm_medium=rss) ------ [Podcast Episode] (https://www.pythonpodcast.com/opentelemetry-observability-episode-268/?utm_source=rss&utm_medium=rss) --- [Quality Engineering] (https://en.wikipedia.org/wiki/Quality_engineering?utm_source=rss&utm_medium=rss) --- [Selenium] (https://www.selenium.dev/?utm_source=rss&utm_medium=rss) --- [Swagger] (https://swagger.io/?utm_source=rss&utm_medium=rss) --- [XPath] (https://developer.mozilla.org/en-US/docs/Web/XPath?utm_source=rss&utm_medium=rss) --- [Regular Expression] (https://en.wikipedia.org/wiki/Regular_expression?utm_source=rss&utm_medium=rss) --- [Test Guild] (https://testguild.com/?utm_source=rss&utm_medium=rss) The intro and outro music is from Requiem for a Fish [The Freak Fandango Orchestra] (http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss) / [CC BY-SA] (http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss) ![image] (https://analytics.boundlessnotions.com/piwik.php?idsite=1&rec=1&url=https%3A%2F%2Fwww.pythonpodcast.com%2Fkeysight-quality-assurance-automation-episode-375%2F&action_name=Ship+With+Confidence+By+Automating+Quality+Assurance+-+Episode+375&urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss) ... Read more

28 Aug 2022

1 HR 09 MINS

1:09:04

28 Aug 2022


#375

Remove Roadblocks And Let Your Developers Ship Faster With Self-Serve Infrastructure

Summary ------- The goal of every software team is to get their code into production without breaking anything. This requires establishing a repeatable process that doesn’t introduce unnecessary roadblocks and friction. In this episode Ronak Rahman discusses the challenges that development teams encounter when trying to build and maintain velocity in their work, the role that access to infrastructure plays in that process, and how to build automation and guardrails for everyone to take part in the delivery process. Announcements ------------- ---Hello and welcome to Podcast.__init__, the podcast about Python’s role in data and science. ---When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With their managed Kubernetes platform it’s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. And now you can launch a managed MySQL, Postgres, or Mongo database cluster in minutes to keep your critical data safe with automated backups and failover. Go to [pythonpodcast.com/linode] (https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss) and get a $100 credit to try out a Kubernetes cluster of your own. And don’t forget to thank them for their continued support of this show! ---Your host as usual is Tobias Macey and today I’m interviewing Ronak Rahman about how automating the path to production helps to build and maintain development velocity Interview --------- ---Introductions ---How did you get introduced to Python? ---Can you describe what Quali is and the story behind it? ---What are the problems that you are trying to solve for software teams? ------How does Quali help to address those challenges? ---What are the bad habits that engineers fall into when they experience friction with getting their code into test and production environments? ------How do those habits contribute to negative feedback loops? ---What are signs that developers and managers need to watch for that signal the need for investment in developer experience improvements on the path to production? ---Can you describe what you have built at Quali and how it is implemented? ------How have the design and goals shifted/evolved from when you first started working on it? ---What are the positive and negative impacts that you have seen from the evolving set of options for application deployments? (e.g. K8s, containers, VMs, PaaS, FaaS, etc.) ---Can you describe how Quali fits into the workflow of software teams? ---Once a team has established patterns for deploying their software, what are some of the disruptions to their flow that they should guard against? ---What are the most interesting, innovative, or unexpected ways that you have seen Quali used? ---What are the most interesting, unexpected, or challenging lessons that you have learned while working on Quali? ---When is Quali the wrong choice? ---What do you have planned for the future of Quali? Keep In Touch ------------- --- [@OfRonak] (https://twitter.com/ofronak?utm_source=rss&utm_medium=rss) on Twitter Picks ----- ---Tobias ------ [The Terminal List] (https://www.imdb.com/title/tt11743610/?utm_source=rss&utm_medium=rss) on Amazon ---Ronak ------ [Midnight Gospel] (https://www.netflix.com/title/80987903?utm_source=rss&utm_medium=rss) on Amazon Closing Announcements --------------------- ---Thank you for listening! Don’t forget to check out our other shows. The [Data Engineering Podcast] (https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss) covers the latest on modern data management. The [Machine Learning Podcast] (https://www.themachinelearningpodcast.com?utm_source=rss&utm_medium=rss) helps you go from idea to production with machine learning. ---Visit the [site] (https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss) to subscribe to the show, sign up for the mailing list, and read the show notes. ---If you’ve learned something or tried out a project from the show then tell us about it! Email [hosts@podcastinit.com] (mailto:hosts@podcastinit.com) ) with your story. ---To help other people find the show please leave a review on [iTunes] (https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&uo=6&at=&ct=&utm_source=rss&utm_medium=rss) and tell your friends and co-workers Links ----- --- [Quali] (https://www.quali.com/?utm_source=rss&utm_medium=rss) ------ [Torque] (https://www.qtorque.io/?utm_source=rss&utm_medium=rss) ------ [Visual Studio Plugin] (https://marketplace.visualstudio.com/items?itemName=Quali-Torque.torque-language-extension&utm_source=rss&utm_medium=rss) --- [Subversion] (https://subversion.apache.org/?utm_source=rss&utm_medium=rss) --- [IaC == Infrastructure as Code] (https://en.wikipedia.org/wiki/Infrastructure_as_code?utm_source=rss&utm_medium=rss) --- [DevOps] (https://en.wikipedia.org/wiki/DevOps?utm_source=rss&utm_medium=rss) --- [Terraform] (https://www.terraform.io/?utm_source=rss&utm_medium=rss) --- [Pulumi] (https://www.pulumi.com/?utm_source=rss&utm_medium=rss) ------ [Podcast Episode] (https://www.pythonpodcast.com/pulumi-infrastructure-as-code-episode-261/?utm_source=rss&utm_medium=rss) --- [Cloudformation] (https://aws.amazon.com/cloudformation/?utm_source=rss&utm_medium=rss) --- [Flask] (https://flask.palletsprojects.com/en/latest/?utm_source=rss&utm_medium=rss) The intro and outro music is from Requiem for a Fish [The Freak Fandango Orchestra] (http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss) / [CC BY-SA] (http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss) ![image] (https://analytics.boundlessnotions.com/piwik.php?idsite=1&rec=1&url=https%3A%2F%2Fwww.pythonpodcast.com%2Fquali-self-serve-infrastructure-episode-374%2F&action_name=Remove+Roadblocks+And+Let+Your+Developers+Ship+Faster+With+Self-Serve+Infrastructure+-+Episode+374&urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss) ... Read more

14 Aug 2022

1 HR 01 MINS

1:01:48

14 Aug 2022


#374

The Benefits Of Python And Django For Going From Zero To MVP At Speed

Summary ------- Every startup begins with an idea, but that won’t get you very far without testing the feasibility of that idea. A common practice is to build a Minimum Viable Product (MVP) that addresses the problem that you are trying to solve and working with early customers as they engage with that MVP. In this episode Tony Pavlovych shares his thoughts on Python’s strengths when building and launching that MVP and some of the potential pitfalls that businesses can run into on that path. Announcements ------------- ---Hello and welcome to Podcast.__init__, the podcast about Python’s role in data and science. ---When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With their managed Kubernetes platform it’s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. And now you can launch a managed MySQL, Postgres, or Mongo database cluster in minutes to keep your critical data safe with automated backups and failover. Go to [pythonpodcast.com/linode] (https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss) and get a $100 credit to try out a Kubernetes cluster of your own. And don’t forget to thank them for their continued support of this show! ---Your host as usual is Tobias Macey and today I’m interviewing Tony Pavlovych about Python’s strengths for startups and the steps to building an MVP (minimum viable product) Interview --------- ---Introductions ---How did you get introduced to Python? ---Can you describe what PLANEKS is and the story behind it? ---One of the services that you offer is building an MVP. What are the goals and outcomes associated with an MVP? ------What is the process for identifying the product focus and feature scope? ---What are some of the common misconceptions about building and launching MVPs that you have dealt with in your work with customers? ------What are the common pitfalls that companies encounter when building and validating an MVP? ---Can you describe the set of tools and frameworks (e.g. Django, Poetry, cookiecutter, etc.) that you have invested in to reduce the overhead of starting and maintaining velocity on multiple projects? ------What are the configurations that are most critical to keep constant across projects to maintain familiarity and sanity for your developers? (e.g. linting rules, build toolchains, etc.) ---What are the architectural patterns that you have found most useful to make MVPs flexible for adaptation and extension? ---Once the MVP is built and launched, what are the next steps to validate the product and determine priorities? ---What benefits do you get from choosing Python as your language for building an MVP/launching a startup? ------What are the challenges/risks involved in that choice? ---What are the most interesting, unexpected, or challenging lessons that you have learned while working on MVPs for your clients at PLANEKS? ---When is an MVP the wrong choice? ---What are the developments in the Python and broader software ecosystem that you are most interested in for the work you are doing for your team and clients? Keep In Touch ------------- --- [LinkedIn] (https://www.linkedin.com/in/tonypavlovych/?originalSubdomain=ua&utm_source=rss&utm_medium=rss) Picks ----- ---Tobias ------ [datamodel-code-generator] (https://github.com/koxudaxi/datamodel-code-generator?utm_source=rss&utm_medium=rss) ---Tony ------ [Screw It, Let’s Do It] (https://amzn.to/3cMuXXy?utm_source=rss&utm_medium=rss) by Richard Branson (affiliate link) Closing Announcements --------------------- ---Thank you for listening! Don’t forget to check out our other shows. The [Data Engineering Podcast] (https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss) covers the latest on modern data management. The [Machine Learning Podcast] (https://www.themachinelearningpodcast.com?utm_source=rss&utm_medium=rss) helps you go from idea to production with machine learning. ---Visit the [site] (https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss) to subscribe to the show, sign up for the mailing list, and read the show notes. ---If you’ve learned something or tried out a project from the show then tell us about it! Email [hosts@podcastinit.com] (mailto:hosts@podcastinit.com) ) with your story. ---To help other people find the show please leave a review on [iTunes] (https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&uo=6&at=&ct=&utm_source=rss&utm_medium=rss) and tell your friends and co-workers Links ----- --- [PLANEKS] (https://www.planeks.net/?utm_source=rss&utm_medium=rss) --- [Minimum Viable Product] (https://en.wikipedia.org/wiki/Minimum_viable_product?utm_source=rss&utm_medium=rss) --- [Django] (https://www.djangoproject.com/?utm_source=rss&utm_medium=rss) --- [Cookiecutter] (https://cookiecutter.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss) --- [Django Boilerplate] (https://github.com/rg3915/django-boilerplate?utm_source=rss&utm_medium=rss) --- [OCR == Optical Character Recognition] (https://en.wikipedia.org/wiki/Optical_character_recognition?utm_source=rss&utm_medium=rss) --- [Tesseract] (https://github.com/madmaze/pytesseract?utm_source=rss&utm_medium=rss) OCR framework The intro and outro music is from Requiem for a Fish [The Freak Fandango Orchestra] (http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss) / [CC BY-SA] (http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss) ![image] (https://analytics.boundlessnotions.com/piwik.php?idsite=1&rec=1&url=https%3A%2F%2Fwww.pythonpodcast.com%2Fplaneks-python-mvp-development-episode-373%2F&action_name=The+Benefits+Of+Python+And+Django+For+Going+From+Zero+To+MVP+At+Speed+-+Episode+373&urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss) ... Read more

31 Jul 2022

47 MINS

47:06

31 Jul 2022


#373

Powering The Next Generation Of Application Architectures With Web Assembly And The Fermyon Platform

Summary ------- Application architectures have been in a constant state of evolution as new infrastructure capabilities are introduced. Virtualization, cloud, containers, mobile, and now web assembly have each introduced new options for how to build and deploy software. Recognizing the transformative potential of web assembly, Matt Butcher and his team at Fermyon are investing in tooling and services to improve the developer experience. In this episode he explains the opportunity that web assembly offers to all language communities, what they are building to power lightweight server-side microservices, and how Python developers can get started building and contributing to this nascent ecosystem. Announcements ------------- ---Hello and welcome to Podcast.__init__, the podcast about Python’s role in data and science. ---When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With their managed Kubernetes platform it’s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. And now you can launch a managed MySQL, Postgres, or Mongo database cluster in minutes to keep your critical data safe with automated backups and failover. Go to [pythonpodcast.com/linode] (https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss) and get a $100 credit to try out a Kubernetes cluster of your own. And don’t forget to thank them for their continued support of this show! ---Need to automate your Python code in the cloud? Want to avoid the hassle of setting up and maintaining infrastructure? Shipyard is the premier orchestration platform built to help you quickly launch, monitor, and share python workflows in a matter of minutes with 0 changes to your code. Shipyard provides powerful features like webhooks, error-handling, monitoring, automatic containerization, syncing with Github, and more. Plus, it comes with over 70 open-source, low-code templates to help you quickly build solutions with the tools you already use. Go to [dataengineeringpodcast.com/shipyard] (https://www.dataengineeringpodcast.com/shipyard?utm_source=rss&utm_medium=rss) to get started automating with a free developer plan today! ---Your host as usual is Tobias Macey and today I’m interviewing Matt Butcher about Fermyon and the impact of WebAssembly on software architecture and deployment across language boundaries Interview --------- ---Introductions ---How did you get introduced to Python? ---For anyone who isn’t familiar with WebAssembly can you give your elevator pitch for why it matters? ---What is the current state of language support for Python in the WASM ecosystem? ---Can you describe what Fermyon is and the story behind it? ---What are your goals with Fermyon and what are the products that you are building to support those goals? ---There has been a steady progression of technologies aimed at better ways to build, deploy, and manage software (e.g. virtualization, cloud, containers, etc.). What are the problems with the previous options and how does WASM address them? ---What are some examples of the types of applications/services that work well in a WASM environment? ---Can you describe how you have architected the Fermyon platform? ------How did you approach the design of the interfaces and tooling to support developer ergonomics? ------How have the design and goals of the platform changed or evolved since you started working on it? ---Can you describe what a typical workflow is for an application team that is using Spin/Fermyon to build and deploy a service? ---What are some of the architectural patterns that WASM/Fermyon encourage? ---What are some of the limitations that WASM imposes on services using it as a runtime? (e.g. system access, threading/multiprocessing, library support, C extensions, etc.) ---What are the new and emerging topics and capabilities in the WASM ecosystem that you are keeping track of? ---With Spin as the core building block of your platform, how are you approaching governance and sustainability of the open source project? ------What are your guiding principles for when a capability belongs in the OSS vs. commercial offerings? ---What are the most interesting, innovative, or unexpected ways that you have seen Fermyon used? ---What are the most interesting, unexpected, or challenging lessons that you have learned while working on Fermyon? ---When is Fermyon the wrong choice? ---What do you have planned for the future of Fermyon? Keep In Touch ------------- --- [LinkedIn] (https://www.linkedin.com/in/mattbutcher/?utm_source=rss&utm_medium=rss) --- [@technosophos] (https://twitter.com/technosophos?utm_source=rss&utm_medium=rss) on Twitter --- [technosophos] (https://github.com/technosophos?utm_source=rss&utm_medium=rss) on GitHub Picks ----- ---Tobias ------ [Thor: Love & Thunder] (https://www.marvel.com/movies/thor-love-and-thunder?utm_source=rss&utm_medium=rss) movie ---Matt ------ [Remembrance of Earth’s Past] (https://www.goodreads.com/book/show/34569357-remembrance-of-earth-s-past?utm_source=rss&utm_medium=rss) trilogy ("Three Body Problem" is the first) by Cixin Liu Closing Announcements --------------------- ---Thank you for listening! Don’t forget to check out our other shows. The [Data Engineering Podcast] (https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss) covers the latest on modern data management. The [Machine Learning Podcast] (https://www.themachinelearningpodcast.com?utm_source=rss&utm_medium=rss) helps you go from idea to production with machine learning. ---Visit the [site] (https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss) to subscribe to the show, sign up for the mailing list, and read the show notes. ---If you’ve learned something or tried out a project from the show then tell us about it! Email [hosts@podcastinit.com] (mailto:hosts@podcastinit.com) ) with your story. ---To help other people find the show please leave a review on [iTunes] (https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&uo=6&at=&ct=&utm_source=rss&utm_medium=rss) and tell your friends and co-workers Links ----- --- [Fermyon] (https://fermyon.com?utm_source=rss&utm_medium=rss) ---Our [Python entry] (https://www.fermyon.com/wasm-languages/python?utm_source=rss&utm_medium=rss) for the [Wasm Language Matrix] (https://www.fermyon.com/wasm-languages/webassembly-language-support?utm_source=rss&utm_medium=rss) --- [SingleStore’s WASI-Python] (https://github.com/singlestore-labs/python-wasi?utm_source=rss&utm_medium=rss) ---Great notes about [Wasm support in CPyton] (https://pythondev.readthedocs.io/wasm.html?utm_source=rss&utm_medium=rss) --- [Pyodide] (https://pyodide.org/en/stable/?utm_source=rss&utm_medium=rss) for Python in the Browser --- [SlashDot] (https://slashdot.org/?utm_source=rss&utm_medium=rss) --- [Web Assembly (WASM)] (https://webassembly.org/?utm_source=rss&utm_medium=rss) --- [Rust] (https://www.rust-lang.org/?utm_source=rss&utm_medium=rss) --- [AssemblyScript] (https://www.assemblyscript.org/?utm_source=rss&utm_medium=rss) --- [Grain] (https://grain-lang.org/?utm_source=rss&utm_medium=rss) WASM language --- [SingleStore] (https://www.singlestore.com/?utm_source=rss&utm_medium=rss) ------ [Data Engineering Podcast Episode] (https://www.dataengineeringpodcast.com/a-multipurpose-database-for-transactions-and-analytics-to-simplify-your-data-architecture-with-singlestore/?utm_source=rss&utm_medium=rss) --- [WASI] (https://wasi.dev/?utm_source=rss&utm_medium=rss) --- [PyO3] (https://github.com/PyO3/pyo3?utm_source=rss&utm_medium=rss) --- [PyOxidizer] (https://pyoxidizer.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss) --- [RustPython] (https://rustpython.github.io/?utm_source=rss&utm_medium=rss) --- [Drupal] (https://www.drupal.org/?utm_source=rss&utm_medium=rss) --- [OpenStack] (https://www.openstack.org/?utm_source=rss&utm_medium=rss) --- [Deis] (https://deislabs.io/?utm_source=rss&utm_medium=rss) --- [Helm] (https://helm.sh/?utm_source=rss&utm_medium=rss) --- [RedPanda] (https://redpanda.com/?utm_source=rss&utm_medium=rss) ------ [Data Engineering Podcast Episode] (https://www.dataengineeringpodcast.com/vectorized-red-panda-streaming-data-episode-152/?utm_source=rss&utm_medium=rss) --- [Envoy Proxy] (https://www.envoyproxy.io/?utm_source=rss&utm_medium=rss) --- [Fastly] (https://www.fastly.com/?utm_source=rss&utm_medium=rss) --- [Functions as a Service] (https://en.wikipedia.org/wiki/Function_as_a_service?utm_source=rss&utm_medium=rss) --- [CloudEvents] (https://cloudevents.io/?utm_source=rss&utm_medium=rss) --- [Finicky Whiskers] (https://www.finickywhiskers.com/index.html?utm_source=rss&utm_medium=rss) --- [Fermyon Spin] (https://github.com/fermyon/spin?utm_source=rss&utm_medium=rss) --- [Nomad] (https://www.nomadproject.io/?utm_source=rss&utm_medium=rss) --- [Tree Shaking] (https://en.wikipedia.org/wiki/Tree_shaking?utm_source=rss&utm_medium=rss) --- [Zappa] (https://github.com/zappa/Zappa?utm_source=rss&utm_medium=rss) --- [Chalice] (https://github.com/aws/chalice?utm_source=rss&utm_medium=rss) --- [OpenFaaS] (https://www.openfaas.com/?utm_source=rss&utm_medium=rss) --- [CNCF] (https://www.cncf.io/?utm_source=rss&utm_medium=rss) --- [Bytecode Alliance] (https://bytecodealliance.org/?utm_source=rss&utm_medium=rss) --- [Finicky Whiskers Minecraft] (https://www.fermyon.com/blog/hashiconf-eu-spin-nomad-2022?utm_source=rss&utm_medium=rss) --- [Kotlin] (https://kotlinlang.org/?utm_source=rss&utm_medium=rss) The intro and outro music is from Requiem for a Fish [The Freak Fandango Orchestra] (http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss) / [CC BY-SA] (http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss) ![image] (https://analytics.boundlessnotions.com/piwik.php?idsite=1&rec=1&url=https%3A%2F%2Fwww.pythonpodcast.com%2Ffermyon-web-assembly-application-architecture-episode-372%2F&action_name=Powering+The+Next+Generation+Of+Application+Architectures+With+Web+Assembly+And+The+Fermyon+Platform+-+Episode+372&urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss) ... Read more

25 Jul 2022

1 HR 10 MINS

1:10:39

25 Jul 2022


#372

Gain A Deeper Understanding Of What Your Code Is Doing And Where It Spends Its Time With VizTracer

Summary ------- As your code scales beyond a trivial level of complexity and sophistication it becomes difficult or impossible to know everything that it is doing. The flow of logic and data through your software and which parts are taking the most time are impossible to understand without help from your tools. VizTracer is the tool that you will turn to when you need to know all of the execution paths that are being exercised and which of those paths are the most expensive. In this episode Tian Gao explains why he created VizTracer and how you can use it to gain a deeper familiarity with the code that you are responsible for maintaining. Announcements ------------- ---Hello and welcome to Podcast.__init__, the podcast about Python’s role in data and science. ---When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With their managed Kubernetes platform it’s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. And now you can launch a managed MySQL, Postgres, or Mongo database cluster in minutes to keep your critical data safe with automated backups and failover. Go to [pythonpodcast.com/linode] (https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss) and get a $100 credit to try out a Kubernetes cluster of your own. And don’t forget to thank them for their continued support of this show! ---Need to automate your Python code in the cloud? Want to avoid the hassle of setting up and maintaining infrastructure? Shipyard is the premier orchestration platform built to help you quickly launch, monitor, and share python workflows in a matter of minutes with 0 changes to your code. Shipyard provides powerful features like webhooks, error-handling, monitoring, automatic containerization, syncing with Github, and more. Plus, it comes with over 70 open-source, low-code templates to help you quickly build solutions with the tools you already use. Go to [dataengineeringpodcast.com/shipyard] (https://www.dataengineeringpodcast.com/shipyard?utm_source=rss&utm_medium=rss) to get started automating with a free developer plan today! ---Your host as usual is Tobias Macey and today I’m interviewing Tian Gao about VizTracer, a low-overhead logging/debugging/profiling tool that can trace and visualize your python code execution Interview --------- ---Introductions ---How did you get introduced to Python? ---Can you describe what VizTracer is and the story behind it? ---What are the main goals that you are focused on with VizTracer? ---What are some examples of the types of bugs that profiling can help diagnose? ------How does profiling work together with other debugging approaches? (e.g. logging, breakpoint debugging, etc.) ---There are a number of profiling utilities for Python. What feature or combination of features were missing that motivated you to create VizTracer? ---Can you describe how VizTracer is implemented? ------How have the design and goals changed since you started working on it? ------There are a number of styles of profiling, what was your process for deciding which approach to use? ---What are the most complex engineering tasks involved in building a profiling utility? ---Can you describe the process of using VizTracer to identify and debug errors and performance issues in a project? ---What are the options for using VizTracer in a production environment? ---What are the interfaces and extension points that you have built in to allow developers to customize VizTracer? ---What are some of the ways that you have used VizTracer while working on VizTracer? ---What are the most interesting, innovative, or unexpected ways that you have seen VizTracer used? ---What are the most interesting, unexpected, or challenging lessons that you have learned while working on VizTracer? ---When is VizTracer the wrong choice? ---What do you have planned for the future of VizTracer? Keep In Touch ------------- --- [gaogaotiantian] (https://github.com/gaogaotiantian?utm_source=rss&utm_medium=rss) on GitHub --- [LinkedIn] (https://www.linkedin.com/in/tian-gao-34bb6326/?utm_source=rss&utm_medium=rss) Picks ----- ---Tobias ------ [Travelers] (https://www.imdb.com/title/tt5651844/?utm_source=rss&utm_medium=rss) show on Netflix ---Tian ------ [objprint] (https://github.com/gaogaotiantian/objprint?utm_source=rss&utm_medium=rss) ------ [Lincoln Lawyer] (https://www.netflix.com/title/81303831?utm_source=rss&utm_medium=rss) ------ [bilibili] (https://space.bilibili.com/245645656/?utm_source=rss&utm_medium=rss) – Tian’s coding sessions in Chinese Closing Announcements --------------------- ---Thank you for listening! Don’t forget to check out our other shows. The [Data Engineering Podcast] (https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss) covers the latest on modern data management. The [Machine Learning Podcast] (https://www.themachinelearningpodcast.com?utm_source=rss&utm_medium=rss) helps you go from idea to production with machine learning. ---Visit the [site] (https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss) to subscribe to the show, sign up for the mailing list, and read the show notes. ---If you’ve learned something or tried out a project from the show then tell us about it! Email [hosts@podcastinit.com] (mailto:hosts@podcastinit.com) ) with your story. ---To help other people find the show please leave a review on [iTunes] (https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&uo=6&at=&ct=&utm_source=rss&utm_medium=rss) and tell your friends and co-workers Links ----- --- [Viztracer] (https://viztracer.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss) --- [Python cProfile] (https://docs.python.org/3/library/profile.html#module-cProfile?utm_source=rss&utm_medium=rss) --- [Sampling Profiler] (https://en.wikipedia.org/wiki/Profiling_(computer_programming)#Statistical_profilers?utm_source=rss&utm_medium=rss) --- [Perfetto] (https://perfetto.dev/?utm_source=rss&utm_medium=rss) --- [Coverage.py] (https://coverage.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss) ------ [Podcast Episode] (https://www.pythonpodcast.com/coverage-py-with-ned-batchelder-episode-121/?utm_source=rss&utm_medium=rss) --- [Python setxprofile hook] (https://docs.python.org/3/library/sys.html#sys.setprofile?utm_source=rss&utm_medium=rss) --- [Circular Buffer] (https://en.wikipedia.org/wiki/Circular_buffer?utm_source=rss&utm_medium=rss) --- [Catapult Trace Viewer] (https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+/refs/heads/master/tracing/docs/getting-started.md?utm_source=rss&utm_medium=rss) --- [py-spy] (https://github.com/benfred/py-spy?utm_source=rss&utm_medium=rss) --- [psutil] (https://github.com/giampaolo/psutil?utm_source=rss&utm_medium=rss) --- [gdb] (https://www.sourceware.org/gdb/?utm_source=rss&utm_medium=rss) --- [Flame graph] (https://www.brendangregg.com/flamegraphs.html?utm_source=rss&utm_medium=rss) The intro and outro music is from Requiem for a Fish [The Freak Fandango Orchestra] (http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss) / [CC BY-SA] (http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss) ![image] (https://analytics.boundlessnotions.com/piwik.php?idsite=1&rec=1&url=https%3A%2F%2Fwww.pythonpodcast.com%2Fviztracer-visual-python-profiling-episode-371%2F&action_name=Gain+A+Deeper+Understanding+Of+What+Your+Code+Is+Doing+And+Where+It+Spends+Its+Time+With+VizTracer+-+Episode+371&urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss) ... Read more

17 Jul 2022

48 MINS

48:33

17 Jul 2022


#371

Stream Processing In Real Time And At Scale In Pure Python With Bytewax

Summary ------- Analysis of streaming data in real time has long been the domain of big data frameworks, predominantly written in Java. In order to take advantage of those capabilities from Python requires using client libraries that suffer from impedance mis-matches that make the work harder than necessary. Bytewax is a new open source platform for writing stream processing applications in pure Python that don’t have to be translated into foreign idioms. In this episode Bytewax founder Zander Matheson explains how the system works and how to get started with it today. Announcements ------------- ---Hello and welcome to Podcast.__init__, the podcast about Python’s role in data and science. ---When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With their managed Kubernetes platform it’s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. And now you can launch a managed MySQL, Postgres, or Mongo database cluster in minutes to keep your critical data safe with automated backups and failover. Go to [pythonpodcast.com/linode] (https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss) and get a $100 credit to try out a Kubernetes cluster of your own. And don’t forget to thank them for their continued support of this show! ---The biggest challenge with modern data systems is understanding what data you have, where it is located, and who is using it. Select Star’s data discovery platform solves that out of the box, with a fully automated catalog that includes lineage from where the data originated, all the way to which dashboards rely on it and who is viewing them every day. Just connect it to your dbt, Snowflake, Tableau, Looker, or whatever you’re using and Select Star will set everything up in just a few hours. Go to [pythonpodcast.com/selectstar] (https://www.pythonpodcast.com/selectstar?utm_source=rss&utm_medium=rss) today to double the length of your free trial and get a swag package when you convert to a paid plan. ---Need to automate your Python code in the cloud? Want to avoid the hassle of setting up and maintaining infrastructure? Shipyard is the premier orchestration platform built to help you quickly launch, monitor, and share python workflows in a matter of minutes with 0 changes to your code. Shipyard provides powerful features like webhooks, error-handling, monitoring, automatic containerization, syncing with Github, and more. Plus, it comes with over 70 open-source, low-code templates to help you quickly build solutions with the tools you already use. Go to [dataengineeringpodcast.com/shipyard] (https://www.dataengineeringpodcast.com/shipyard?utm_source=rss&utm_medium=rss) to get started automating with a free developer plan today! ---Your host as usual is Tobias Macey and today I’m interviewing Zander Matheson about Bytewax, an open source Python framework for building highly scalable dataflows to process ANY data stream. Interview --------- ---Introductions ---How did you get introduced to Python? ---Can you describe what Bytewax is and the story behind it? ---Who are the target users for Bytewax? ---What is the problem that you are trying to solve with Bytewax? ---What are the alternative systems/architectures that you might replace with Bytewax? ---Can you describe how Bytewax is implemented? ------What are the benefits of Timely Dataflow as a core building block for a system like Bytewax? ------How have the design and goals of the project changed/evolved since you first started working on it? ---What are the axes available for scaling Bytewax execution? ---How have you approached the design of the Bytewax API to make it accessible to a broader audience? ---Can you describe what is involved in building a project with Bytewax? ------What are some of the stream processing concepts that engineers are likely to run up against as they are experimenting and designing their code? ---What is your motivation for providing the core technology of your business as an open source engine? ------How are you approaching the balance of project governance and sustainability with opportunities for commercialization? ---What are the most interesting, innovative, or unexpected ways that you have seen Bytewax used? ---What are the most interesting, unexpected, or challenging lessons that you have learned while working on Bytewax? ---When is Bytewax the wrong choice? ---What do you have planned for the future of Bytewax? Keep In Touch ------------- --- [Slack] (https://join.slack.com/t/bytewaxcommunity/shared_invite/zt-vkos2f6r-_SeT9pF2~n9ArOaeI3ND2w?utm_source=rss&utm_medium=rss) --- [Twitter] (https://twitter.com/MathesonZander?utm_source=rss&utm_medium=rss) --- [LinkedIn] (https://www.linkedin.com/in/alexandermatheson/?utm_source=rss&utm_medium=rss) Picks ----- ---Tobias ------ [Alta Racks] (https://www.altaracks.com/?utm_source=rss&utm_medium=rss) ---Zander ------ [Atherton Bikes] (https://www.athertonbikes.com/?utm_source=rss&utm_medium=rss) Links ----- --- [Bytewax] (https://www.bytewax.io/?utm_source=rss&utm_medium=rss) ------ [GitHub] (https://github.com/bytewax/bytewax?utm_source=rss&utm_medium=rss) --- [Flink] (https://flink.apache.org/?utm_source=rss&utm_medium=rss) ------ [Data Engineering Podcast Episode] (https://www.dataengineeringpodcast.com/apache-flink-with-fabian-hueske-episode-57/?utm_source=rss&utm_medium=rss) --- [Spark Streaming] (https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html?utm_source=rss&utm_medium=rss) --- [Kafka Connect] (https://docs.confluent.io/platform/current/connect/index.html?utm_source=rss&utm_medium=rss) --- [Faust] (https://faust.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss) ------ [Podcast Episode] (https://www.pythonpodcast.com/fast-stream-processing-in-python-using-faust-with-ask-solem-episode-176/?utm_source=rss&utm_medium=rss) --- [Ray] (https://ray.readthedocs.io/?utm_source=rss&utm_medium=rss) ------ [Podcast Episode] (https://www.pythonpodcast.com/ray-distributed-computing-episode-258/?utm_source=rss&utm_medium=rss) --- [Dask] (https://dask.org/?utm_source=rss&utm_medium=rss) ------ [Data Engineering Podcast Episode] (https://www.dataengineeringpodcast.com/episode-2-dask-with-matthew-rocklin/?utm_source=rss&utm_medium=rss) --- [Timely Dataflow] (https://github.com/TimelyDataflow/timely-dataflow?utm_source=rss&utm_medium=rss) --- [PyO3] (https://github.com/PyO3/pyo3?utm_source=rss&utm_medium=rss) --- [Materialize] (https://materialize.com/?utm_source=rss&utm_medium=rss) ------ [Data Engineering Podcast Episode] (https://www.dataengineeringpodcast.com/materialize-streaming-analytics-episode-112/?utm_source=rss&utm_medium=rss) --- [HyperLogLog] (https://en.wikipedia.org/wiki/HyperLogLog?utm_source=rss&utm_medium=rss) --- [Python River Library] (https://riverml.xyz/0.11.1/?utm_source=rss&utm_medium=rss) --- [Shannon Entropy Calculation] (https://www.omnicalculator.com/statistics/shannon-entropy#how-to-calculate-entropy-entropy-formula?utm_source=rss&utm_medium=rss) --- [The blog post using incremental shannon entropy] (https://www.bytewax.io/blog/cyberthreats/?utm_source=rss&utm_medium=rss) --- [NATS] (https://nats.io/?utm_source=rss&utm_medium=rss) --- [waxctl] (https://github.com/bytewax/bytewax/blob/main/docs/articles/deployment/waxctl.md?utm_source=rss&utm_medium=rss) --- [Prometheus] (https://prometheus.io/?utm_source=rss&utm_medium=rss) --- [Grafana] (https://grafana.com/?utm_source=rss&utm_medium=rss) --- [Streamz] (https://github.com/python-streamz/streamz?utm_source=rss&utm_medium=rss) The intro and outro music is from Requiem for a Fish [The Freak Fandango Orchestra] (http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss) / [CC BY-SA] (http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss) ![image] (https://analytics.boundlessnotions.com/piwik.php?idsite=1&rec=1&url=https%3A%2F%2Fwww.pythonpodcast.com%2Fbytewax-python-stream-processing-episode-370%2F&action_name=Stream+Processing+In+Real+Time+And+At+Scale+In+Pure+Python+With+Bytewax+-+Episode+370&urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss) ... Read more

10 Jul 2022

42 MINS

42:32

10 Jul 2022


#370

Tetra: A Full Stack Web Framework That Doesn't Make You Write Everything Twice

Summary ------- Building a fully functional web application has been growing in complexity along with the growing popularity of javascript UI frameworks such as React, Vue, Angular, etc. Users have grown to expect interactive experiences with dynamic page updates, which leads to duplicated business logic and complex API contracts between the server-side application and the Javascript front-end. To reduce the friction involved in writing and maintaining a full application Sam Willis created Tetra, a framework built on top of Django that embeds the Javascript logic into the Python context where it is used. In this episode he explains his design goals for the project, how it has helped him build applications more rapidly, and how you can start using it to build your own projects today. Announcements ------------- ---Hello and welcome to Podcast.__init__, the podcast about Python’s role in data and science. ---When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With their managed Kubernetes platform it’s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. And now you can launch a managed MySQL, Postgres, or Mongo database cluster in minutes to keep your critical data safe with automated backups and failover. Go to [pythonpodcast.com/linode] (https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss) and get a $100 credit to try out a Kubernetes cluster of your own. And don’t forget to thank them for their continued support of this show! ---So now your modern data stack is set up. How is everyone going to find the data they need, and understand it? Select Star is a data discovery platform that automatically analyzes & documents your data. For every table in Select Star, you can find out where the data originated, which dashboards are built on top of it, who’s using it in the company, and how they’re using it, all the way down to the SQL queries. Best of all, it’s simple to set up, and easy for both engineering and operations teams to use. With Select Star’s data catalog, a single source of truth for your data is built in minutes, even across thousands of datasets. Try it out for free and double the length of your free trial today at [pythonpodcast.com/selectstar] (https://www.pythonpodcast.com/selectstar?utm_source=rss&utm_medium=rss) . You’ll also get a swag package when you continue on a paid plan. ---Need to automate your Python code in the cloud? Want to avoid the hassle of setting up and maintaining infrastructure? Shipyard is the premier orchestration platform built to help you quickly launch, monitor, and share python workflows in a matter of minutes with 0 changes to your code. Shipyard provides powerful features like webhooks, error-handling, monitoring, automatic containerization, syncing with Github, and more. Plus, it comes with over 70 open-source, low-code templates to help you quickly build solutions with the tools you already use. Go to [dataengineeringpodcast.com/shipyard] (https://www.dataengineeringpodcast.com/shipyard?utm_source=rss&utm_medium=rss) to get started automating with a free developer plan today! ---Your host as usual is Tobias Macey and today I’m interviewing Sam Willis about Tetra, a full stack component framework for your Django applications Interview --------- ---Introductions ---How did you get introduced to Python? ---Can you describe what Tetra is and the story behind it? ---What are the problems that you are aiming to solve with this project? ------What are some of the other ways that you have addressed those problems? ------What are the shortcomings that you encountered with those solutions? ---What was missing in the existing landscape of full-stack application development patterns that prompted you to build a new meta-framework? ---What are some of the sources of inspiration (positive and negative) that you looked to while deciding on the component selection and implementation strategy? ---Can you describe how Tetra is implemented? ------What are the core principles that you are relying on to drive your design of APIs and developer experience? ---What is the process for building a full component in Tetra? ---What are some of the application design challenges that are introduced by Combining the javascript and Django logic and attributes? (e.g. reusing JS logic/CSS styles across components) ---A perennial challenge with combining the syntax across multiple languages in a single file is editor support. How are you thinking about that with Tetra’s implementation? ---What is your grand vision for Tetra and how are you working to make it sustainable? ---What are the most interesting, innovative, or unexpected ways that you have seen Tetra used? ---What are the most interesting, unexpected, or challenging lessons that you have learned while working on Tetra? ---When is Tetra the wrong choice? ---What do you have planned for the future of Tetra? Keep In Touch ------------- --- [@samwillis] (https://mobile.twitter.com/samwillis?utm_source=rss&utm_medium=rss) on Twitter --- [Website] (http://samwillis.co.uk/?utm_source=rss&utm_medium=rss) --- [LinkedIn] (https://www.linkedin.com/in/samwillis?utm_source=rss&utm_medium=rss) --- [samwillis] (https://github.com/samwillis?utm_source=rss&utm_medium=rss) on GitHub Picks ----- ---Tobias ------ [The Machine Learning Podcast] (https://www.themachinelearningpodcast.com/?utm_source=rss&utm_medium=rss) ---Sam ------ [Slow Horses] (https://en.wikipedia.org/wiki/Slow_Horses?utm_source=rss&utm_medium=rss) TV Show Closing Announcements --------------------- ---Thank you for listening! Don’t forget to check out our other shows. The [Data Engineering Podcast] (https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss) covers the latest on modern data management. The [Machine Learning Podcast] (https://www.themachinelearningpodcast.com?utm_source=rss&utm_medium=rss) helps you go from idea to production with machine learning. ---Visit the [site] (https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss) to subscribe to the show, sign up for the mailing list, and read the show notes. ---If you’ve learned something or tried out a project from the show then tell us about it! Email [hosts@podcastinit.com] (mailto:hosts@podcastinit.com) ) with your story. ---To help other people find the show please leave a review on [iTunes] (https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&uo=6&at=&ct=&utm_source=rss&utm_medium=rss) and tell your friends and co-workers Links ----- --- [Tetra Framework] (https://www.tetraframework.com/?utm_source=rss&utm_medium=rss) --- [Django] (https://www.djangoproject.com/?utm_source=rss&utm_medium=rss) --- [PHP] (https://www.php.net/?utm_source=rss&utm_medium=rss) --- [ASP] (https://dotnet.microsoft.com/en-us/apps/aspnet?utm_source=rss&utm_medium=rss) --- [Alpine.js] (https://alpinejs.dev/?utm_source=rss&utm_medium=rss) --- [HTMX] (https://htmx.org/?utm_source=rss&utm_medium=rss) --- [Ruby] (https://www.ruby-lang.org/en/?utm_source=rss&utm_medium=rss) --- [Ruby on Rails] (https://www.ruby-lang.org/en/?utm_source=rss&utm_medium=rss) --- [Flutterbox] (https://www.flutterbox.com/?utm_source=rss&utm_medium=rss) --- [Vue.js] (https://vuejs.org/?utm_source=rss&utm_medium=rss) --- [Laravel Livewire] (https://laravel-livewire.com/?utm_source=rss&utm_medium=rss) --- [Python Import Hooks] (https://docs.python.org/3/reference/import.html#import-hooks?utm_source=rss&utm_medium=rss) --- [python-inline-source] (https://github.com/samwillis/python-inline-source?utm_source=rss&utm_medium=rss) --- [Tailwind CSS] (https://tailwindcss.com/?utm_source=rss&utm_medium=rss) --- [PostCSS] (https://postcss.org/?utm_source=rss&utm_medium=rss) --- [Pickle] (https://docs.python.org/3/library/pickle.html?utm_source=rss&utm_medium=rss) --- [Fernet] (https://github.com/fernet/spec/?utm_source=rss&utm_medium=rss) --- [esbuild] (https://esbuild.github.io/?utm_source=rss&utm_medium=rss) --- [Webpack] (https://webpack.js.org/?utm_source=rss&utm_medium=rss) --- [Rich] (https://rich.readthedocs.io/en/stable/introduction.html?utm_source=rss&utm_medium=rss) The intro and outro music is from Requiem for a Fish [The Freak Fandango Orchestra] (http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss) / [CC BY-SA] (http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss) ![image] (https://analytics.boundlessnotions.com/piwik.php?idsite=1&rec=1&url=https%3A%2F%2Fwww.pythonpodcast.com%2Ftetra-full-stack-component-web-framework-episode-369%2F&action_name=Tetra%3A+A+Full+Stack+Web+Framework+That+Doesn%27t+Make+You+Write+Everything+Twice+-+Episode+369&urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss) ... Read more

03 Jul 2022

53 MINS

53:06

03 Jul 2022


#369

Design Real-World Objects In Python With CadQuery

Summary ------- Virtually everything that you interact with on a daily basis and many other things that make modern life possible were designed and modeled in software called CAD or Computer-Aided Design. These programs are advanced suites with graphical editing environments tailored to domain experts in areas such as mechanical engineering, electrical engineering, architecture, etc. While the UI-driven workflow is more accessible, it isn’t scalable which opens the door to code-driven workflows. In this episode Jeremy Wright discusses the design, uses, and benefits of the CadQuery framework for building 3D CAD models entirely in Python. Announcements ------------- ---Hello and welcome to Podcast.__init__, the podcast about Python’s role in data and science. ---When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With their managed Kubernetes platform it’s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. And now you can launch a managed MySQL, Postgres, or Mongo database cluster in minutes to keep your critical data safe with automated backups and failover. Go to [pythonpodcast.com/linode] (https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss) and get a $100 credit to try out a Kubernetes cluster of your own. And don’t forget to thank them for their continued support of this show! ---So now your modern data stack is set up. How is everyone going to find the data they need, and understand it? Select Star is a data discovery platform that automatically analyzes & documents your data. For every table in Select Star, you can find out where the data originated, which dashboards are built on top of it, who’s using it in the company, and how they’re using it, all the way down to the SQL queries. Best of all, it’s simple to set up, and easy for both engineering and operations teams to use. With Select Star’s data catalog, a single source of truth for your data is built in minutes, even across thousands of datasets. Try it out for free and double the length of your free trial today at [pythonpodcast.com/selectstar] (https://www.pythonpodcast.com/selectstar?utm_source=rss&utm_medium=rss) . You’ll also get a swag package when you continue on a paid plan. ---Need to automate your Python code in the cloud? Want to avoid the hassle of setting up and maintaining infrastructure? Shipyard is the premier orchestration platform built to help you quickly launch, monitor, and share python workflows in a matter of minutes with 0 changes to your code. Shipyard provides powerful features like webhooks, error-handling, monitoring, automatic containerization, syncing with Github, and more. Plus, it comes with over 70 open-source, low-code templates to help you quickly build solutions with the tools you already use. Go to [dataengineeringpodcast.com/shipyard] (https://www.dataengineeringpodcast.com/shipyard?utm_source=rss&utm_medium=rss) to get started automating with a free developer plan today! ---Your host as usual is Tobias Macey and today I’m interviewing Jeremy Wright about CadQuery, an easy-to-use Python module for building parametric 3D CAD models Interview --------- ---Introductions ---How did you get introduced to Python? ---Can you start by explaining what CAD is and some of the real-world applications of it? ---Can you describe what CadQuery is and the story behind it? ------How did you get involved with it and what keeps you motivated? ------What are the different methods that are in common use for building CAD models? ------Are there approaches that are more common for models used in different industries? ---What was missing in other projects for programmatically generating CAD models that motivated you to build CadQuery? ---Can you describe how the CadQuery library is implemented? ------How have the design and goals of the project changed or evolved since you started working on it? ------How would you characterize the rate of change/evolution in the CAD ecosystem, and how has that factored into your work on CadQuery? ---How did you approach the process of API design? ------How do you balance accessibility for non-professionals with domain-related nomenclature? ---Can you describe some example workflows for going from idea to finished product with CadQuery? ---How are you using CadQuery in your own work? ---What are the most interesting, innovative, or unexpected ways that you have seen CadQuery used? ---What are the most interesting, unexpected, or challenging lessons that you have learned while working on CadQuery? ---When is CadQuery the wrong choice? ---What do you have planned for the future of CadQuery? Keep In Touch ------------- --- [Discord] (https://discord.gg/Bj9AQPsCfx?utm_source=rss&utm_medium=rss) --- [Twitter] (https://twitter.com/wrightjmf?utm_source=rss&utm_medium=rss) --- [GitHub] (https://github.com/jmwright?utm_source=rss&utm_medium=rss) --- [GitLab] (https://gitlab.com/jmwright?utm_source=rss&utm_medium=rss) Picks ----- ---Tobias ------ [Doctor Strange: In The Multiverse of Madness] (https://www.imdb.com/title/tt9419884/?utm_source=rss&utm_medium=rss) ---Jeremy ------ [Star Trek: Strange New Worlds] (https://en.wikipedia.org/wiki/Star_Trek:_Strange_New_Worlds?utm_source=rss&utm_medium=rss) Closing Announcements --------------------- ---Thank you for listening! Don’t forget to check out our other shows. The [Data Engineering Podcast] (https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss) covers the latest on modern data management. The [Machine Learning Podcast] (https://www.themachinelearningpodcast.com?utm_source=rss&utm_medium=rss) helps you go from idea to production with machine learning. ---Visit the [site] (https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss) to subscribe to the show, sign up for the mailing list, and read the show notes. ---If you’ve learned something or tried out a project from the show then tell us about it! Email [hosts@podcastinit.com] (mailto:hosts@podcastinit.com) ) with your story. ---To help other people find the show please leave a review on [iTunes] (https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&uo=6&at=&ct=&utm_source=rss&utm_medium=rss) and tell your friends and co-workers Links ----- --- [CadQuery] (https://cadquery.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss) --- [CAD == Computer Assisted Design] (https://en.wikipedia.org/wiki/Computer-aided_design?utm_source=rss&utm_medium=rss) --- [3D Printer] (https://en.wikipedia.org/wiki/3D_printing?utm_source=rss&utm_medium=rss) --- [Jeremy’s CNC Router] (https://en.wikipedia.org/wiki/CNC_router?utm_source=rss&utm_medium=rss) --- [jQuery] (https://jquery.com/?utm_source=rss&utm_medium=rss) --- [Blender] (https://www.blender.org/?utm_source=rss&utm_medium=rss) --- [Fusion 360] (https://www.autodesk.com/products/fusion-360/personal?utm_source=rss&utm_medium=rss) --- [Open Cascade (OCCT)] (https://dev.opencascade.org/?utm_source=rss&utm_medium=rss) --- [Fluent API] (https://en.wikipedia.org/wiki/Fluent_interface?utm_source=rss&utm_medium=rss) --- [FreeCAD] (https://www.freecadweb.org/?utm_source=rss&utm_medium=rss) --- [KiCAD] (https://www.kicad.org/?utm_source=rss&utm_medium=rss) --- [Semblage] (https://github.com/7BIndustries/Semblage?utm_source=rss&utm_medium=rss) --- [cq-editor] (https://github.com/CadQuery/CQ-editor?utm_source=rss&utm_medium=rss) --- [jupyter-cadquery] (https://github.com/bernhard-42/jupyter-cadquery?utm_source=rss&utm_medium=rss) --- [cq-kit] (https://github.com/michaelgale/cq-kit?utm_source=rss&utm_medium=rss) --- [FX Bricks] (https://fxbricks.com/?utm_source=rss&utm_medium=rss) --- [Voxels] (https://en.wikipedia.org/wiki/Voxel?utm_source=rss&utm_medium=rss) --- [cq_warehouse] (https://github.com/gumyr/cq_warehouse?utm_source=rss&utm_medium=rss) The intro and outro music is from Requiem for a Fish [The Freak Fandango Orchestra] (http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss) / [CC BY-SA] (http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss) ![image] (https://analytics.boundlessnotions.com/piwik.php?idsite=1&rec=1&url=https%3A%2F%2Fwww.pythonpodcast.com%2Fcadquery-python-programmatic-cad-episode-368%2F&action_name=Design+Real-World+Objects+In+Python+With+CadQuery+-+Episode+368&urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss) ... Read more

27 Jun 2022

45 MINS

45:04

27 Jun 2022


#368

Intelligent Dependency Resolution For Optimal Compatibility And Security With Project Thoth

Summary ------- Building any software project is going to require relying on dependencies that you and your team didn’t write or maintain, and many of those will have dependencies of their own. This has led to a wide variety of potential and actual issues ranging from developer ergonomics to application security. In order to provide a higher degree of confidence in the optimal combinations of direct and transitive dependencies a team at Red Hat started Project Thoth. In this episode Fridolín Pokorný explains how the Thoth resolver uses multiple signals to find the best combination of dependency versions to ensure compatibility and avoid known security issues. Announcements ------------- ---Hello and welcome to Podcast.__init__, the podcast about Python’s role in data and science. ---When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With their managed Kubernetes platform it’s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. And now you can launch a managed MySQL, Postgres, or Mongo database cluster in minutes to keep your critical data safe with automated backups and failover. Go to [pythonpodcast.com/linode] (https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss) and get a $100 credit to try out a Kubernetes cluster of your own. And don’t forget to thank them for their continued support of this show! ---Need to automate your Python code in the cloud? Want to avoid the hassle of setting up and maintaining infrastructure? Shipyard is the premier orchestration platform built to help you quickly launch, monitor, and share python workflows in a matter of minutes with 0 changes to your code. Shipyard provides powerful features like webhooks, error-handling, monitoring, automatic containerization, syncing with Github, and more. Plus, it comes with over 70 open-source, low-code templates to help you quickly build solutions with the tools you already use. Go to [dataengineeringpodcast.com/shipyard] (https://www.dataengineeringpodcast.com/shipyard?utm_source=rss&utm_medium=rss) to get started automating with a free developer plan today! ---Your host as usual is Tobias Macey and today I’m interviewing Fridolín Pokorný about Project Thoth, a resolver service that computes the optimal combination of versions for your dependencies Interview --------- ---Introductions ---How did you get introduced to Python? ---Can you describe what Project Thoth is and the story behind it? ---What are some examples of the types of problems that can be introduced by mismanaged dependency versions? ---The Python ecosystem has seen a number of dependency management tools introduced recently. What are the capabilities that Thoth offers that make it stand out? ------How does it compare to e.g. pip, Poetry, pip-tools, etc.? ------How do those other tools approach resolution of dependencies? ---Can you describe how Thoth is implemented? ------How have the scope and design of the project evolved since it was started? ---What are the sources of information that it relies on for generating the possible solution space? ------What are the algorithms that it relies on for finding an optimal combination of packages? ---Can you describe how Thoth fits into the workflow of a developer while selecting a set of dependencies and keeping them up to date over the life of a project? ---What are the opportunities for expanding Thoth’s application to other language ecosystems? ---What are the interfaces available for extending or integrating with Thoth? ---What are the most interesting, innovative, or unexpected ways that you have seen Thoth used? ---What are the most interesting, unexpected, or challenging lessons that you have learned while working on Thoth? ---When is Thoth the wrong choice? ---What do you have planned for the future of Thoth? Keep In Touch ------------- --- [LinkedIn] (https://www.linkedin.com/in/fridex/?utm_source=rss&utm_medium=rss) --- [Website] (http://fridex.github.io/?utm_source=rss&utm_medium=rss) Picks ----- ---Tobias ------ [Brass Against] (https://brassagainst.com/?utm_source=rss&utm_medium=rss) ---Fridolin ------ [micropipenv] (https://github.com/thoth-station/micropipenv?utm_source=rss&utm_medium=rss) Links ----- --- [Redhat] (https://www.redhat.com/en?utm_source=rss&utm_medium=rss) ------ [Emerging Technologies Group] (https://next.redhat.com/?utm_source=rss&utm_medium=rss) --- [Project Thoth] (https://thoth-station.ninja/?utm_source=rss&utm_medium=rss) --- [Thamos CLI] (https://github.com/thoth-station/thamos?utm_source=rss&utm_medium=rss) --- [PyPA Advisory Database] (https://github.com/pypa/advisory-database?utm_source=rss&utm_medium=rss) --- [Project2Vec] (https://developers.redhat.com/articles/2021/10/06/find-and-compare-python-libraries-project2vec?utm_source=rss&utm_medium=rss) --- [Thoth Prescriptions] (https://github.com/thoth-station/prescriptions?utm_source=rss&utm_medium=rss) --- [Thoth: Egyptian God] (https://en.wikipedia.org/wiki/Thoth?utm_source=rss&utm_medium=rss) The intro and outro music is from Requiem for a Fish [The Freak Fandango Orchestra] (http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss) / [CC BY-SA] (http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss) ![image] (https://analytics.boundlessnotions.com/piwik.php?idsite=1&rec=1&url=https%3A%2F%2Fwww.pythonpodcast.com%2Fthoth-dependency-resolution-episode-367%2F&action_name=Intelligent+Dependency+Resolution+For+Optimal+Compatibility+And+Security+With+Project+Thoth+-+Episode+367&urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss) ... Read more

15 Jun 2022

31 MINS

31:31

15 Jun 2022


#367

Take A Deep Dive On How Code Completion Works And How To Customize It

Summary ------- Most developers have encountered code completion systems and rely on them as part of their daily work. They allow you to stay in the flow of programming, but have you ever stopped to think about how they work? In this episode Meredydd Luff takes us behind the scenes to dig into the mechanics of code completion engines and how you can customize them to fit your particular use case. Announcements ------------- ---Hello and welcome to Podcast.__init__, the podcast about Python’s role in data and science. ---When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it’s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to [pythonpodcast.com/linode] (https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss) and get a $100 credit to try out a Kubernetes cluster of your own. And don’t forget to thank them for their continued support of this show! ---Your host as usual is Tobias Macey and today I’m interviewing Meredydd Luff about how code completion works and what it takes to build your own Interview --------- ---Introductions ---How did you get introduced to Python? ---Most programmers are familiar with the idea of code completion, but can you just give the elevator pitch to get us all on the same page? ---You gave a presentation recently at PyCon about how to build a code completion system. What was your approach to identifying what fundamental concepts needed to be addressed and how to fit that lesson into the available time? ---In the presentation you mentioned that you had built a more full-featured completion engine into Anvil. Can you describe what possessed you to build your own code completion tool? ------What are the core components required to build a completion engine? ------What are the benefits that can be realized by customizing the completion engine for a given language or task? ---Can you describe the feature set and implementation details of the full-fledged completion engine that is available in Anvil? ---Beyond the toy example, there are a number of considerations to address if you want to make the completion engine "production grade". Can you talk through some of the obvious edge cases and how to solve for them? (e.g. handling parsing of incomplete code) ---What are the inputs that you use to build up the list of candidate tokens for completion? ---Once you have a functioning baseline for offering completions, what are some of the signals that you hook into for ranking suggestions? ---In your presentation you leaned on the machinery available in the Python standard library. What are some of the ways that you might think about generalizing across languages vs. coupling to a given language? ---What design/architectural advice do you have for compartmentalizing logic in a full-featured completion engine? ---What are some of the complexities that become a factor when you are trying to scale across an entire code base? ---Beyond just being able to parse and process a body of code, there is also the question of integrating with the development environment. What are some of the challenges that get introduced when trying to access the appropriate set(s) of files and code through the editor interface(s)? ---What are the most interesting, innovative, or unexpected ways that you have seen code completion applied to developer experience? ---What are the most interesting, unexpected, or challenging lessons that you have learned while working on code completion for Anvil? ---When is code completion more effort than it’s worth? ---What do you have planned for the future of the Anvil code completion functionality? Keep In Touch ------------- --- [LinkedIn] (https://www.linkedin.com/in/meredydd/?utm_source=rss&utm_medium=rss) --- [meredydd] (https://github.com/meredydd?utm_source=rss&utm_medium=rss) on GitHub --- [@meredydd] (https://twitter.com/meredydd?lang=en&utm_source=rss&utm_medium=rss) on Twitter Picks ----- ---Tobias ------ ["Weird Al" Yankovic] (https://www.weirdal.com/?utm_source=rss&utm_medium=rss) ---Meredydd ------ [TimescaleDB] (https://www.timescale.com/?utm_source=rss&utm_medium=rss) --------- [Data Engineering Podcast Episode] (https://www.dataengineeringpodcast.com/timescaledb-round-2-episode-65/?utm_source=rss&utm_medium=rss) ------ [Promscale] (https://www.timescale.com/promscale?utm_source=rss&utm_medium=rss) Closing Announcements --------------------- ---Thank you for listening! Don’t forget to check out our other show, the [Data Engineering Podcast] (https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss) for the latest on modern data management. ---Visit the [site] (https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss) to subscribe to the show, sign up for the mailing list, and read the show notes. ---If you’ve learned something or tried out a project from the show then tell us about it! Email [hosts@podcastinit.com] (mailto:hosts@podcastinit.com) ) with your story. ---To help other people find the show please leave a review on [iTunes] (https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&uo=6&at=&ct=&utm_source=rss&utm_medium=rss) and tell your friends and co-workers Links ----- --- [PyCon presentation about building a completion engine] (https://www.youtube.com/watch?v=aRO7DkJrA_c&utm_source=rss&utm_medium=rss) --- [Anvil] (https://anvil.works/?utm_source=rss&utm_medium=rss) ------ [Podcast Episode] (https://www.pythonpodcast.com/anvil-web-application-development-episode-215/?utm_source=rss&utm_medium=rss) --- [Nano] (https://www.nano-editor.org/?utm_source=rss&utm_medium=rss) --- [Language Server Protocol] (https://microsoft.github.io/language-server-protocol/?utm_source=rss&utm_medium=rss) --- [Jedi] (https://jedi.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss) ------ [Podcast Episode] (https://www.pythonpodcast.com/episode-113-jedi-code-completion-with-david-halter/?utm_source=rss&utm_medium=rss) --- [Skulpt] (https://skulpt.org/?utm_source=rss&utm_medium=rss) --- [Parser] (https://en.wikipedia.org/wiki/Parsing?utm_source=rss&utm_medium=rss) --- [Abstract Syntax Tree] (https://en.wikipedia.org/wiki/Abstract_syntax_tree?utm_source=rss&utm_medium=rss) --- [OpenAPI] (https://www.openapis.org/?utm_source=rss&utm_medium=rss) --- [GitHub Copilot] (https://copilot.github.com/?utm_source=rss&utm_medium=rss) --- [Halting Problem] (https://en.wikipedia.org/wiki/Halting_problem?utm_source=rss&utm_medium=rss) --- [Parser Generator] (https://ocw.mit.edu/ans7870/6/6.005/s16/classes/18-parser-generators/?utm_source=rss&utm_medium=rss) --- [Python Language Grammar Definition] (https://docs.python.org/3/reference/grammar.html?utm_source=rss&utm_medium=rss) --- [Lezer Parser Generator] (https://lezer.codemirror.net/?utm_source=rss&utm_medium=rss) --- [Tree-sitter] (https://github.com/tree-sitter/tree-sitter?utm_source=rss&utm_medium=rss) --- [PyScript] (https://pyscript.net/?utm_source=rss&utm_medium=rss) --- [Grafana Tempo Tracing Service] (https://grafana.com/oss/tempo/?utm_source=rss&utm_medium=rss) The intro and outro music is from Requiem for a Fish [The Freak Fandango Orchestra] (http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss) / [CC BY-SA] (http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss) ![image] (https://analytics.boundlessnotions.com/piwik.php?idsite=1&rec=1&url=https%3A%2F%2Fwww.pythonpodcast.com%2Fcode-completion-deep-dive-episode-366%2F&action_name=Take+A+Deep+Dive+On+How+Code+Completion+Works+And+How+To+Customize+It+-+Episode+366&urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss) ... Read more

30 May 2022

1 HR 00 MINS

1:00:11

30 May 2022


#366

Hunting Black Swans With Bees: Catching Up With The Inimitable Russell Keith-Magee

Summary ------- Russell Keith-Magee is an accomplished engineer and a fixture of the Python community. His work on the Beeware suite of projects is one of the most ambitious undertakings in the ecosystem and unfailingly forward-looking. With his recent transition to working for Anaconda he is now able to dedicate his full focus to the effort. In this episode he reflects on the journey that he has taken so far, how Beeware is helping to address some of the threats to Python’s long term viability, and how he envisions its future in light of the recent release of PyScript, an in-browser runtime for Python. Announcements ------------- ---Hello and welcome to Podcast.__init__, the podcast about Python’s role in data and science. ---When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it’s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to [pythonpodcast.com/linode] (https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss) and get a $100 credit to try out a Kubernetes cluster of your own. And don’t forget to thank them for their continued support of this show! ---Your host as usual is Tobias Macey and today I’m interviewing Russell Keith-Magee about the latest status of the Beeware project, the state of Python’s black swans, and how the PyScript project ties into his ambitions for world domination Interview --------- ---Introductions ---How did you get introduced to Python? ---For anyone who hasn’t been graced with the BeeWare vision, can you give the elevator pitch of what it is and why it matters? ---At PyCon US 2019 you presented a keynote about the various potential threats to the Python language community and its future viability. With the clarity of 3 years hindsight, how has the landscape shifted? ---What is PyScript and how does it fit into the venn diagram of BeeWare’s objectives and the portents of black swan events (and what is your involvement with it)? ------How does it differ from the dozens of other "Python in the browser" and "Python transpiled to Javascript" projects that have sprouted over the years? ---Now that you have been granted the opportunity to dedicate your full attention to BeeWare and build a team to support it, what new potential does that unlock? ---What are the current areas of focus/challenges that you are spending your time on for the BeeWare project? ---What are some of the efforts in the BeeWare suite that proved to be dead-ends? ---What are the most interesting, innovative, or unexpected ways that you have seen the BeeWare suite/PyScript used? ---What are the most interesting, unexpected, or challenging lessons that you have learned while working on BeeWare? ---When is BeeWare the wrong choice? ---What do you have planned for the future of BeeWare/PyScript/Python/world domination? Keep In Touch ------------- --- [LinkedIn] (https://www.linkedin.com/in/freakboy3742/?utm_source=rss&utm_medium=rss) --- [Website] (https://cecinestpasun.com/?utm_source=rss&utm_medium=rss) --- [@freakboy3742] (https://twitter.com/freakboy3742?utm_source=rss&utm_medium=rss) on Twitter Picks ----- ---Tobias ------ [Joby Gorillapod] (https://joby.com/us-en/gorillapod/?utm_source=rss&utm_medium=rss) ---Russell ------ [PyScript] (https://pyscript.net/?utm_source=rss&utm_medium=rss) ------ [The Great] (https://www.imdb.com/title/tt2235759/?utm_source=rss&utm_medium=rss) TV Show Links ----- --- [Black Swans Episode] (https://www.pythonpodcast.com/python-potential-black-swans-episode-221/?utm_source=rss&utm_medium=rss) --- [BeeWare Episode] (https://www.pythonpodcast.com/episode-64-beeware-with-russell-keith-magee/?utm_source=rss&utm_medium=rss) --- [BeeWare] (https://beeware.org/?utm_source=rss&utm_medium=rss) --- [Django] (https://www.djangoproject.com/?utm_source=rss&utm_medium=rss) --- [Cordova] (https://cordova.apache.org/?utm_source=rss&utm_medium=rss) --- [Black Swan] (https://en.wikipedia.org/wiki/Black_swan_theory?utm_source=rss&utm_medium=rss) --- [Apple II] (https://en.wikipedia.org/wiki/Apple_II?utm_source=rss&utm_medium=rss) --- [Altair] (https://en.wikipedia.org/wiki/Altair_8800?utm_source=rss&utm_medium=rss) --- [Briefcase] (https://beeware.org/project/projects/tools/briefcase/?utm_source=rss&utm_medium=rss) --- [Web Assembly (WASM)] (https://webassembly.org/?utm_source=rss&utm_medium=rss) --- [Gary Bernhardt] (https://www.destroyallsoftware.com/screencasts?utm_source=rss&utm_medium=rss) --- [PyScript] (https://pyscript.net/?utm_source=rss&utm_medium=rss) --- [Pyodide] (https://pyodide.org/en/latest/?utm_source=rss&utm_medium=rss) --- [Toga] (https://beeware.org/project/projects/libraries/toga/?utm_source=rss&utm_medium=rss) --- [Kotlin] (https://kotlinlang.org/?utm_source=rss&utm_medium=rss) --- [Swift] (https://www.swift.org/?utm_source=rss&utm_medium=rss) --- [Gaffer Tape] (https://en.wikipedia.org/wiki/Gaffer_tape?utm_source=rss&utm_medium=rss) --- [Repl.it] (https://replit.com/?utm_source=rss&utm_medium=rss) --- [Brython] (https://www.brython.info/?utm_source=rss&utm_medium=rss) --- [Transcrypt] (https://www.transcrypt.org/?utm_source=rss&utm_medium=rss) --- [Python Anywhere] (https://www.pythonanywhere.com/?utm_source=rss&utm_medium=rss) --- [Batavia] (https://beeware.org/it_IT/project/projects/attic/batavia/?utm_source=rss&utm_medium=rss) --- [Anaconda] (https://www.anaconda.com/?utm_source=rss&utm_medium=rss) --- [Conda] (https://docs.conda.io/en/latest/?utm_source=rss&utm_medium=rss) --- [Voc] (https://github.com/beeware/voc?utm_source=rss&utm_medium=rss) --- [Maestral] (https://maestral.app/?utm_source=rss&utm_medium=rss) --- [Eddington GUI] (https://eddington-gui.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss) The intro and outro music is from Requiem for a Fish [The Freak Fandango Orchestra] (http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss) / [CC BY-SA] (http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss) ![image] (https://analytics.boundlessnotions.com/piwik.php?idsite=1&rec=1&url=https%3A%2F%2Fwww.pythonpodcast.com%2Fbeeware-revisited-episode-365%2F&action_name=Hunting+Black+Swans+With+Bees%3A+Catching+Up+With+The+Inimitable+Russell+Keith-Magee+-+Episode+365&urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss) ... Read more

24 May 2022

56 MINS

56:11

24 May 2022


#365

Take Control Of Your Digital Photos By Running Your Own Smart Library Manager With LibrePhotos

Summary ------- Digital cameras and the widespread availability of smartphones has allowed us all to generate massive libraries of personal photographs. Unfortunately, now we are all left to our own devices of how to manage them. While cloud services such as iPhotos and Google Photos are convenient, they aren’t always affordable and they put your pictures under the control of large companies with their own agendas. LibrePhotos is an open source and self-hosted alternative to these services that puts you in control of your digital memories. In this episode the maintainer of LibrePhotos, Niaz Faridani-Rad, explains how he got involved with the project, the capabilities that it offers for managing your image library, and how to get your own instance set up to take back control of your pictures. Announcements ------------- ---Hello and welcome to Podcast.__init__, the podcast about Python’s role in data and science. ---When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it’s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to [pythonpodcast.com/linode] (https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss) and get a $100 credit to try out a Kubernetes cluster of your own. And don’t forget to thank them for their continued support of this show! ---This episode is sponsored by Mergify. It’s an amazing tool to make you and your team way more productive with GitHub. Mergify is all about leveling up your pull requests with useful features that eliminate busy work. Automatic merges allow you define the conditions for acceptance and Mergify will take care of merging the pull request as soon as it’s ready. Automatic updates take care of merging your pull requests serially on top of each other, so there is no way to introduce a regression. With a merge queue you can merge your urgent pull request first, organize your Prs as you wish and Mergify will merge them in that order. Mergify’s backports feature will even copy the pull request into another branch once the pull request has been merged, shipping your bug fixes on multiple branches automatically. By saving time you and your team can focus on projects that matter. Mergify is coordinated with any CI and fully integrated into GitHub. They have a Startup Program that offers a 12 months credit to leverage Mergify (up to $21,000 of value). Start saving time; visit [pythonpodcast.com/mergify] (https://www.pythonpodcast.com/mergify?utm_source=rss&utm_medium=rss) today to sign up for a demo and get started! Or just click the link in the show notes. ---Your host as usual is Tobias Macey and today I’m interviewing Niaz Faridani-Rad about LibrePhotos, an open source, self-hosted application for managing your personal photo collection Interview --------- ---Introductions ---How did you get introduced to Python? ---Can you describe what LibrePhotos is and the story behind it? ---What are the core objectives of the project? ------What kind of users are you focused on? ---What are some of the major features of LibrePhotos? ---There are a number of open source and commercial options for different photo oriented use cases. What are the main capabilities that influence someone’s decision to use one over the other? ---Many people’s baseline expectations will be around services such as Google Photos or iPhotos. What are some of the challenges that you face in trying to provide a comparable experience? ------One of the features that users rely on with these services is backup/disaster recovery of their photo library. What is the recommended approach for users of LibrePhotos? ---Can you describe how LibrePhotos is architected? ------How have the design and goals evolved since you first started working on it? ---How have recent advances in machine learning algorithms and related tooling improved the availability and quality of advanced features in LibrePhotos? ------How much improvement of accuracy in face/object recognition do you see as users invest in cataloging and organizing their collections? ------Is there a minimum quantity of images/iindividual people that are necessary to start using the ML powered features? ---What kinds of storage locations are supported? ---What are the interfaces available for extending/enhancing/integrating with LibrePhotos? ---What are the most interesting, innovative, or unexpected ways that you have seen LibrePhotos used? ---What are the most interesting, unexpected, or challenging lessons that you have learned while working on LibrePhotos? ---When is LibrePhotos the wrong choice? ---What do you have planned for the future of LibrePhotos? Keep In Touch ------------- --- [derneuere] (https://github.com/derneuere?utm_source=rss&utm_medium=rss) on GitHub --- [@der_neuere] (https://twitter.com/der_neuere?utm_source=rss&utm_medium=rss) on Twitter --- [Website] (https://niaz.omg.lol/?utm_source=rss&utm_medium=rss) --- [LinkedIn] (https://www.linkedin.com/in/niaz-faridani-rad-b1959676/?originalSubdomain=de&utm_source=rss&utm_medium=rss) Picks ----- ---Tobias ------ [Uncharted] (https://www.imdb.com/title/tt1464335/?utm_source=rss&utm_medium=rss) movie ---Niaz ------ [Steam Deck] (https://store.steampowered.com/steamdeck?utm_source=rss&utm_medium=rss) Closing Announcements --------------------- ---Thank you for listening! Don’t forget to check out our other show, the [Data Engineering Podcast] (https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss) for the latest on modern data management. ---Visit the [site] (https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss) to subscribe to the show, sign up for the mailing list, and read the show notes. ---If you’ve learned something or tried out a project from the show then tell us about it! Email [hosts@podcastinit.com] (mailto:hosts@podcastinit.com) ) with your story. ---To help other people find the show please leave a review on [iTunes] (https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&uo=6&at=&ct=&utm_source=rss&utm_medium=rss) and tell your friends and co-workers Links ----- --- [LibrePhotos] (https://github.com/LibrePhotos/librephotos/?utm_source=rss&utm_medium=rss) --- [Self-hosted Sub-Reddit] (https://www.reddit.com/r/selfhosted?utm_source=rss&utm_medium=rss) --- [OwnPhotos] (https://github.com/hooram/ownphotos?utm_source=rss&utm_medium=rss) --- [Google Photos] (https://photos.google.com/?utm_source=rss&utm_medium=rss) --- [Google Takeout] (https://en.wikipedia.org/wiki/Google_Takeout?utm_source=rss&utm_medium=rss) --- [Digikam] (https://www.digikam.org/?utm_source=rss&utm_medium=rss) --- [x265] (https://en.wikipedia.org/wiki/X265?utm_source=rss&utm_medium=rss) --- [HEIC Files] (https://www.adobe.com/creativecloud/file-types/image/raster/heic-file.html?utm_source=rss&utm_medium=rss) --- [RAW Image Format] (https://en.wikipedia.org/wiki/Raw_image_format?utm_source=rss&utm_medium=rss) --- [ImageMagick] (https://imagemagick.org/index.php?utm_source=rss&utm_medium=rss) --- [Panorama Photograph] (https://en.wikipedia.org/wiki/Panoramic_photography?utm_source=rss&utm_medium=rss) --- [Lytro] (https://en.wikipedia.org/wiki/Lytro?utm_source=rss&utm_medium=rss) light field cameras --- [rq] (https://python-rq.org/?utm_source=rss&utm_medium=rss) asynchronous task library --- [Typescript] (https://www.typescriptlang.org/?utm_source=rss&utm_medium=rss) --- [Redux Toolkit] (https://redux-toolkit.js.org/?utm_source=rss&utm_medium=rss) --- [MobileNet v3] (https://keras.io/api/applications/mobilenet/?utm_source=rss&utm_medium=rss) --- [DLib] (http://dlib.net/?utm_source=rss&utm_medium=rss) --- [ARM Processor] (https://www.arm.com/?utm_source=rss&utm_medium=rss) --- [Docker Compose] (https://docs.docker.com/compose/?utm_source=rss&utm_medium=rss) --- [LibrePhotos Comparison Page] (https://docs.librephotos.com/2/features/?utm_source=rss&utm_medium=rss) The intro and outro music is from Requiem for a Fish [The Freak Fandango Orchestra] (http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss) / [CC BY-SA] (http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss) ![image] (https://analytics.boundlessnotions.com/piwik.php?idsite=1&rec=1&url=https%3A%2F%2Fwww.pythonpodcast.com%2Flibrephotos-digital-photo-management-episode-364%2F&action_name=Take+Control+Of+Your+Digital+Photos+By+Running+Your+Own+Smart+Library+Manager+With+LibrePhotos+-+Episode+364&urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss) ... Read more

16 May 2022

45 MINS

45:14

16 May 2022


#364

Making Investment Data Easy To Access And Analyze With The OpenBB Terminal

Summary ------- Investing effectively is largely a game of information access and analysis. This can involve a substantial amount of research and time spent on finding, validating, and acquiring different information sources. In order to reduce the barrier to entry and provide a powerful framework for amateur and professional investors alike Didier Rodrigues Lopes created the OpenBB Terminal. In this episode he explains how a pandemic project that started as an experiment has led to him founding a new company and dedicating his time to growing and improving the project and its community. Announcements ------------- ---Hello and welcome to Podcast.__init__, the podcast about Python’s role in data and science. ---When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it’s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to [pythonpodcast.com/linode] (https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss) and get a $100 credit to try out a Kubernetes cluster of your own. And don’t forget to thank them for their continued support of this show! ---Your host as usual is Tobias Macey and today I’m interviewing Didier Rodrigues Lopes about the OpenBB Terminal, a modern Python-based integrated environment for investment research Interview --------- ---Introductions ---How did you get introduced to Python? ---Can you describe what OpenBB is and the story behind it? ------What is the problem that you are trying to address by creating the OpenBB project and providing it as open source? ---What are some of the use cases where someone might need to use this project? ---The elephant in the room for financial data research is the Bloomberg Terminal. What are the other tools or services available for that purpose? ------What are the differentiating features of the OpenBB Terminal? ---Can you describe how the OpenBB Terminal is implemented? ------How have the design and goals/scope of the project changed since you started working on it? ---Can you describe a typical workflow for someone who is using the OpenBB Terminal? ------How have you approached the user experience design, and what are you optimizing for? ------What kinds of utilities do you offer beyond raw data access? ---What are some examples of data sources that you rely on? ------What is involved in integrating a new data source? ---What are the extension points and integration capabilities for expanding the functionality of the tool? ---What are the most interesting, innovative, or unexpected ways that you have seen OpenBB Terminal used? ---What are the most interesting, unexpected, or challenging lessons that you have learned while working on OpenBB Terminal? ---When is OpenBB Terminal the wrong choice? ---What do you have planned for the future of OpenBB Terminal? Keep In Touch ------------- --- [DidierRLopes] (https://github.com/DidierRLopes?utm_source=rss&utm_medium=rss) on GitHub --- [LinkedIn] (https://www.linkedin.com/in/didier-lopes/?utm_source=rss&utm_medium=rss) --- [@didier_lopes] (https://twitter.com/didier_lopes?utm_source=rss&utm_medium=rss) on Twitter Picks ----- ---Tobias ------ [Vikings: Valhalla] (https://www.netflix.com/title/81149450?utm_source=rss&utm_medium=rss) show on Netflix Closing Announcements --------------------- ---Thank you for listening! Don’t forget to check out our other show, the [Data Engineering Podcast] (https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss) for the latest on modern data management. ---Visit the [site] (https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss) to subscribe to the show, sign up for the mailing list, and read the show notes. ---If you’ve learned something or tried out a project from the show then tell us about it! Email [hosts@podcastinit.com] (mailto:hosts@podcastinit.com) ) with your story. ---To help other people find the show please leave a review on [iTunes] (https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&uo=6&at=&ct=&utm_source=rss&utm_medium=rss) and tell your friends and co-workers Links ----- --- [OpenBB] (https://openbb-finance.github.io/OpenBBTerminal/?utm_source=rss&utm_medium=rss) --- [Matlab] (https://www.mathworks.com/products/matlab.html?utm_source=rss&utm_medium=rss) --- [Papermill] (https://papermill.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss) --- [Bloomberg Terminal] (https://www.bloomberg.com/professional/solution/bloomberg-terminal/?utm_source=rss&utm_medium=rss) --- [Robinhood] (https://robinhood.com/us/en/?utm_source=rss&utm_medium=rss) --- [Coinbase] (https://www.coinbase.com/?utm_source=rss&utm_medium=rss) The intro and outro music is from Requiem for a Fish [The Freak Fandango Orchestra] (http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss) / [CC BY-SA] (http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss) ![image] (https://analytics.boundlessnotions.com/piwik.php?idsite=1&rec=1&url=https%3A%2F%2Fwww.pythonpodcast.com%2Fopenbb-terminal-investment-data-framework-episode-363%2F&action_name=Making+Investment+Data+Easy+To+Access+And+Analyze+With+The+OpenBB+Terminal+-+Episode+363&urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss) ... Read more

10 May 2022

47 MINS

47:13

10 May 2022


#363

Accelerate Your Machine Learning Experimentation With Automatic Checkpoints Using FLOR

Summary ------- The experimentation phase of building a machine learning model requires a lot of trial and error. One of the limiting factors of how many experiments you can try is the length of time required to train the model which can be on the order of days or weeks. To reduce the time required to test different iterations Rolando Garcia Sanchez created FLOR which is a library that automatically checkpoints training epochs and instruments your code so that you can bypass early training cycles when you want to explore a different path in your algorithm. In this episode he explains how the tool works to speed up your experimentation phase and how to get started with it. Announcements ------------- ---Hello and welcome to Podcast.__init__, the podcast about Python’s role in data and science. ---When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it’s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to [pythonpodcast.com/linode] (https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss) and get a $100 credit to try out a Kubernetes cluster of your own. And don’t forget to thank them for their continued support of this show! ---Your host as usual is Tobias Macey and today I’m interviewing Rolando Garcia about FLOR, a suite of machine learning tools for hindsight logging that lets you speed up model experimentation by checkpointing training data Interview --------- ---Introductions ---How did you get introduced to Python? ---Can you describe what FLOR is and the story behind it? ---What is the core problem that you are trying to solve for with FLOR? ------What are the fundamental challenges in model training and experimentation that make it necessary? ------How do machine learning reasearchers and engineers address this problem in the absence of something like FLOR? ---Can you describe how FLOR is implemented? ------What were the core engineering problems that you had to solve for while building it? ---What is the workflow for integrating FLOR into your model development process? ---What information are you capturing in the log structures and epoch checkpoints? ------How does FLOR use that data to prime the model training to a given state when backtracking and trying a different approach? ---How does the presence of FLOR change the costs of ML experimentation and what is the long-range impact of that shift? ------Once a model has been trained and optimized, what is the long-term utility of FLOR? ---What are the opportunities for supporting e.g. Horovod for distributed training of large models or with large datasets? ---What does the maintenance process for research-oriented OSS projects look like? ---What are the most interesting, innovative, or unexpected ways that you have seen FLOR used? ---What are the most interesting, unexpected, or challenging lessons that you have learned while working on FLOR? ---When is FLOR the wrong choice? ---What do you have planned for the future of FLOR? Keep In Touch ------------- --- [rlnsanz] (https://github.com/rlnsanz?utm_source=rss&utm_medium=rss) on GitHub --- [@rogarcia_sanz] (https://twitter.com/rogarcia_sanz?utm_source=rss&utm_medium=rss) on Twitter Picks ----- ---Tobias ------ [The Batman] (https://www.thebatman.com/?utm_source=rss&utm_medium=rss) ---Rolando ------ [Severance] (https://tv.apple.com/us/show/severance/umc.cmc.1srk2goyh2q2zdxcx605w8vtx?utm_source=rss&utm_medium=rss) ------ [GitHub Codespaces] (https://github.com/features/codespaces?utm_source=rss&utm_medium=rss) Closing Announcements --------------------- ---Thank you for listening! Don’t forget to check out our other show, the [Data Engineering Podcast] (https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss) for the latest on modern data management. ---Visit the [site] (https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss) to subscribe to the show, sign up for the mailing list, and read the show notes. ---If you’ve learned something or tried out a project from the show then tell us about it! Email [hosts@podcastinit.com] (mailto:hosts@podcastinit.com) ) with your story. ---To help other people find the show please leave a review on [iTunes] (https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&uo=6&at=&ct=&utm_source=rss&utm_medium=rss) and tell your friends and co-workers Links ----- --- [FLOR] (https://github.com/ucbrise/flor/?utm_source=rss&utm_medium=rss) --- [UC Berkeley] (https://www.berkeley.edu/?utm_source=rss&utm_medium=rss) --- [Joe Hellerstein] (https://dsf.berkeley.edu/jmh/?utm_source=rss&utm_medium=rss) --- [MLOps] (https://ml-ops.org/?utm_source=rss&utm_medium=rss) ------ [Data Engineering Podcast Episode] (https://www.dataengineeringpodcast.com/mlops-for-data-engineers-episode-281/?utm_source=rss&utm_medium=rss) --- [RISE Lab] (https://rise.cs.berkeley.edu/?utm_source=rss&utm_medium=rss) --- [AMP Lab] (https://amplab.cs.berkeley.edu/?utm_source=rss&utm_medium=rss) --- [Clipper Model Serving] (https://github.com/ucbrise/clipper?utm_source=rss&utm_medium=rss) --- [Ground Data Context Service] (http://www.ground-context.org/?utm_source=rss&utm_medium=rss) --- [Context: The Missing Piece Of The Machine Learning Lifecycle] (https://rlnsanz.github.io/dat/Flor_CMI_18_CameraReady.pdf?utm_source=rss&utm_medium=rss) --- [Airflow] (https://airflow.apache.org/?utm_source=rss&utm_medium=rss) --- [Copy on write] (https://en.wikipedia.org/wiki/Copy-on-write?utm_source=rss&utm_medium=rss) --- [ASTor] (https://github.com/berkerpeksag/astor?utm_source=rss&utm_medium=rss) --- [Green Tree Snakes: Python AST Documentation] (https://greentreesnakes.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss) --- [MLFlow] (https://mlflow.org/?utm_source=rss&utm_medium=rss) --- [Amazon Sagemaker] (https://aws.amazon.com/sagemaker/?utm_source=rss&utm_medium=rss) --- [Cloudpickle] (https://github.com/cloudpipe/cloudpickle?utm_source=rss&utm_medium=rss) --- [Horovod] (https://horovod.ai/?utm_source=rss&utm_medium=rss) ------ [Podcast Episode] (https://www.pythonpodcast.com/ludwig-horovod-distributed-declarative-deep-learning-episode-341/?utm_source=rss&utm_medium=rss) --- [Ray Anyscale] (https://www.anyscale.com/?utm_source=rss&utm_medium=rss) --- [PyTorch] (https://pytorch.org/?utm_source=rss&utm_medium=rss) --- [Tensorflow] (https://www.tensorflow.org/?utm_source=rss&utm_medium=rss) The intro and outro music is from Requiem for a Fish [The Freak Fandango Orchestra] (http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss) / [CC BY-SA] (http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss) ![image] (https://analytics.boundlessnotions.com/piwik.php?idsite=1&rec=1&url=https%3A%2F%2Fwww.pythonpodcast.com%2Fflor-machine-learning-experiment-episode-362%2F&action_name=Accelerate+Your+Machine+Learning+Experimentation+With+Automatic+Checkpoints+Using+FLOR+-+Episode+362&urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss) ... Read more

02 May 2022

46 MINS

46:31

02 May 2022


#362

Automatically Enforce Software Structures With Powerful Code Modifications Powered By LibCST

Summary ------- Programmers love to automate tedious processes, including refactoring your code. In order to support the creation of code modifications for your Python projects Jimmy Lai created LibCST. It provides a richly typed and high level API for creating and manipulating concrete syntax trees of your source code. In this episode Jimmy Lai and Zsolt Dollenstein explain how it works, some of the linting and automatic code modification utilities that you can build with it and how to get started with using it to maintain your own Python projects. Announcements ------------- ---Hello and welcome to Podcast.__init__, the podcast about Python’s role in data and science. ---When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it’s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to [pythonpodcast.com/linode] (https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss) and get a $100 credit to try out a Kubernetes cluster of your own. And don’t forget to thank them for their continued support of this show! ---Your host as usual is Tobias Macey and today I’m interviewing Zsolt Dollenstein and Jimmy Lai about LibCST, a concrete syntax tree parser and serializer library for Python Interview --------- ---Introductions ---How did you get introduced to Python? ---Can you describe what LibCST is and the story behind it? ---How does a concrete syntax tree differ from an abstract syntax tree? ------What are some of the situations where the preservation of the exact structure is necessary? ---There are a few other libraries in Python for creating concrete syntax trees. What was missing in the available options that made it necessary to create LibCST? ---What are the use cases that LibCST is focused on supporting ---Can you describe how LibCST is implemented? ------How have the design and goals of the project changed or evolved since you started working on it? ---How might I use LibCST for something like restructuring a set of modules to move a function definition while maintaining proper imports? ------How do the capabilities of LibCST for codemodding compare to the Rope framework? ---What are some other workflows that someone might build with LibCST? ---What are some of the ways that LibCST is being used in your own work? ---What are the most interesting, innovative, or unexpected ways that you have seen LibCST used? ---What are the most interesting, unexpected, or challenging lessons that you have learned while working on LibCST? ---When is LibCST the wrong choice? ---What do you have planned for the future of LibCST? Keep In Touch ------------- ---Zsolt ------ [zsol] (https://github.com/zsol?utm_source=rss&utm_medium=rss) on GitHub ------ [LinkedIn] (https://www.linkedin.com/in/zsoltdollenstein/?originalSubdomain=uk&utm_source=rss&utm_medium=rss) ---Jimmy ------ [jimmylai] (https://github.com/jimmylai?utm_source=rss&utm_medium=rss) on GitHub ------ [LinkedIn] (https://www.linkedin.com/in/jimmylai1/?utm_source=rss&utm_medium=rss) Picks ----- ---Tobias ------ [Osprey Manta Backpack] (https://www.osprey.com/us/en/product/manta-24-MANTA24_550.html?utm_source=rss&utm_medium=rss) ---Zsolt ------ [Autotransform] (https://github.com/nathro/AutoTransform?utm_source=rss&utm_medium=rss) ------ [Glean] (https://glean.software/?utm_source=rss&utm_medium=rss) ---Jimmy ------Paying down technical debt Closing Announcements --------------------- ---Thank you for listening! Don’t forget to check out our other show, the [Data Engineering Podcast] (https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss) for the latest on modern data management. ---Visit the [site] (https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss) to subscribe to the show, sign up for the mailing list, and read the show notes. ---If you’ve learned something or tried out a project from the show then tell us about it! Email [hosts@podcastinit.com] (mailto:hosts@podcastinit.com) ) with your story. ---To help other people find the show please leave a review on [iTunes] (https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&uo=6&at=&ct=&utm_source=rss&utm_medium=rss) and tell your friends and co-workers Links ----- --- [LibCST] (https://github.com/Instagram/LibCST/?utm_source=rss&utm_medium=rss) --- [Carta] (https://carta.com/?utm_source=rss&utm_medium=rss) --- [lib2to3] (https://docs.python.org/3/library/2to3.html?utm_source=rss&utm_medium=rss) --- [Abstract Syntax Tree] (https://en.wikipedia.org/wiki/Abstract_syntax_tree?utm_source=rss&utm_medium=rss) --- [Concrete Syntax Tree] (https://en.wikipedia.org/wiki/Parse_tree?utm_source=rss&utm_medium=rss) --- [Pyre] (https://pyre-check.org/?utm_source=rss&utm_medium=rss) --- [Parso] (https://parso.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss) --- [Cython] (https://cython.org/?utm_source=rss&utm_medium=rss) ------ [Podcast Episode] (https://www.pythonpodcast.com/episode-45-cython-with-craig-citro-and-robert-bradshaw/?utm_source=rss&utm_medium=rss) --- [mypyc] (https://github.com/mypyc/mypyc?utm_source=rss&utm_medium=rss) --- [Rope] (https://github.com/python-rope/rope?utm_source=rss&utm_medium=rss) --- [Flake8] (https://flake8.pycqa.org/en/latest/?utm_source=rss&utm_medium=rss) ------ [Podcast Episode] (https://www.pythonpodcast.com/flake8-static-analysis-episode-309/?utm_source=rss&utm_medium=rss) --- [Pylint] (https://pylint.pycqa.org/en/latest/?utm_source=rss&utm_medium=rss) --- [ESLint] (https://eslint.org/?utm_source=rss&utm_medium=rss) --- [Fixit] (https://github.com/Instagram/fixit?utm_source=rss&utm_medium=rss) --- [MonkeyType] (https://github.com/Instagram/MonkeyType?utm_source=rss&utm_medium=rss) ------ [Podcast Episode] (https://www.pythonpodcast.com/monkeytype-with-carl-meyer-and-matt-page-episode-146/?utm_source=rss&utm_medium=rss) The intro and outro music is from Requiem for a Fish [The Freak Fandango Orchestra] (http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss) / [CC BY-SA] (http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss) ![image] (https://analytics.boundlessnotions.com/piwik.php?idsite=1&rec=1&url=https%3A%2F%2Fwww.pythonpodcast.com%2Flibcst-automated-code-modification-episode-361%2F&action_name=Automatically+Enforce+Software+Structures+With+Powerful+Code+Modifications+Powered+By+LibCST+-+Episode+361&urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss) ... Read more

25 Apr 2022

56 MINS

56:47

25 Apr 2022


#361

Cloud Native Networking For Developers With The Gloo Platform

Summary ======= Communication is a fundamental requirement for any program or application. As the friction involved in deploying code has gone down, the motivation for architecting your system as microservices goes up. This shifts the communication patterns in your software from function calls to network calls. In this episode Idit Levine explains how the Gloo platform that she and her team at Solo have created makes it easier for you to configure and monitor the network topologies for your microservice environments. She also discusses what developers need to know about networking in cloud native environments and how a combination of API gateways and service mesh technologies allow you to more rapidly iterate on your systems. Announcements ------------- ---Hello and welcome to Podcast.__init__, the podcast about Python’s role in data and science. ---When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it’s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to [pythonpodcast.com/linode] (https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss) and get a $100 credit to try out a Kubernetes cluster of your own. And don’t forget to thank them for their continued support of this show! ---Your host as usual is Tobias Macey and today I’m interviewing Idit Levine about what developers need to know about service-oriented networking and her work at Solo on the Gloo project Interview --------- ---Introductions ---How did you get introduced to Python? ---Can you describe what Solo is and the story behind it? ---How much should developers need to know about the ways that their applications and services are communicating? ---What is the current state of networking for applications across physical, cloud, and containerized environments? ---How do service mesh features influence the architectural decisions that software teams make while building their applications? ------What operational capabilities do they unlock? ---What are the aspects of application networking that are simplified or enhanced by service mesh platforms? ------In what ways has service mesh introduced new complexity to operating software systems? ---How can developers mirror the network topologies for production environments while working on new features? ---What are the most interesting, innovative, or unexpected ways that you have seen Gloo used? ---What are the most interesting, unexpected, or challenging lessons that you have learned while working on Gloo? ---When is Gloo the wrong choice? ---What do you have planned for the future of Gloo? Keep In Touch ------------- --- [LinkedIn] (https://www.linkedin.com/in/iditlevine/?utm_source=rss&utm_medium=rss) --- [@Idit_Levine] (https://twitter.com/Idit_Levine?utm_source=rss&utm_medium=rss) on Twitter Picks ----- ---Tobias ------ [Shadow and Bone] (https://www.netflix.com/title/80236319?utm_source=rss&utm_medium=rss) on Netflix ---Idit ------ [Elizabeth Holmes HBO Documentary] (https://www.hbo.com/movies/the-inventor?utm_source=rss&utm_medium=rss) Closing Announcements --------------------- ---Thank you for listening! Don’t forget to check out our other show, the [Data Engineering Podcast] (https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss) for the latest on modern data management. ---Visit the [site] (https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss) to subscribe to the show, sign up for the mailing list, and read the show notes. ---If you’ve learned something or tried out a project from the show then tell us about it! Email [hosts@podcastinit.com] (mailto:hosts@podcastinit.com) ) with your story. ---To help other people find the show please leave a review on [iTunes] (https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&uo=6&at=&ct=&utm_source=rss&utm_medium=rss) and tell your friends and co-workers Links ----- --- [Solo] (https://www.solo.io/?utm_source=rss&utm_medium=rss) --- [Computational Biology] (https://en.wikipedia.org/wiki/Computational_biology?utm_source=rss&utm_medium=rss) --- [Microservices] (https://microservices.io/?utm_source=rss&utm_medium=rss) --- [Kubernetes] (https://kubernetes.io/?utm_source=rss&utm_medium=rss) --- [Service Mesh] (https://en.wikipedia.org/wiki/Service_mesh?utm_source=rss&utm_medium=rss) --- [Istio] (https://istio.io/?utm_source=rss&utm_medium=rss) --- [LinkerD] (https://linkerd.io/?utm_source=rss&utm_medium=rss) --- [Envoy Proxy] (https://www.envoyproxy.io/?utm_source=rss&utm_medium=rss) --- [API Gateway] (https://microservices.io/patterns/apigateway.html?utm_source=rss&utm_medium=rss) --- [CRD == Custom Resource Definition] (https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/?utm_source=rss&utm_medium=rss) --- [Gloo Edge] (https://www.solo.io/products/gloo-edge/?utm_source=rss&utm_medium=rss) --- [Bazel Build System] (https://bazel.build/?utm_source=rss&utm_medium=rss) --- [GraphQL] (https://graphql.org/?utm_source=rss&utm_medium=rss) --- [mTLS] (https://en.wikipedia.org/wiki/Mutual_authentication?utm_source=rss&utm_medium=rss) --- [GitOps] (https://www.gitops.tech/?utm_source=rss&utm_medium=rss) --- [Dagger] (https://dagger.io/?utm_source=rss&utm_medium=rss) --- [WASM == Web Assembly] (https://webassembly.org/?utm_source=rss&utm_medium=rss) --- [Kubernetes Gateway API] (https://gateway-api.sigs.k8s.io/?utm_source=rss&utm_medium=rss) --- [Consul Connect] (https://www.consul.io/docs/connect?utm_source=rss&utm_medium=rss) --- [eBPF] (https://ebpf.io/?utm_source=rss&utm_medium=rss) The intro and outro music is from Requiem for a Fish [The Freak Fandango Orchestra] (http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss) / [CC BY-SA] (http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss) ![image] (https://analytics.boundlessnotions.com/piwik.php?idsite=1&rec=1&url=https%3A%2F%2Fwww.pythonpodcast.com%2Fsolo-gloo-cloud-native-networking-episode-360%2F&action_name=Cloud+Native+Networking+For+Developers+With+The+Gloo+Platform+-+Episode+360&urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss) ... Read more

19 Apr 2022

50 MINS

50:33

19 Apr 2022