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 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. 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 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 Twitter GitHub GitLab Picks Tobias Doctor Strange: In The Multiverse of Madness Jeremy Star Trek: Strange New Worlds Closing Announcements Thank you for listening! Don’t forget to check out our other shows. The Data Engineering Podcast covers the latest on modern data management. The Machine Learning Podcast helps you go from idea to production with machine learning. Visit the site 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) with your story. To help other people find the show please leave a review on iTunes and tell your friends and co-workers Links CadQuery CAD == Computer Assisted Design 3D Printer Jeremy’s CNC Router jQuery Blender Fusion 360 Open Cascade (OCCT) Fluent API FreeCAD KiCAD Semblage cq-editor jupyter-cadquery cq-kit FX Bricks Voxels cq_warehouse The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA