Python Developer Tools: Databases, CAD & Productivity

·46m 14s
Shared point

Overview of Tools and Practices

This episode of Python Bytes features a guest appearance by Gina Häußge, creator of OctoPrint, who shares insights into her decade-long journey as an open-source maintainer and her transition from Java to Python.

Database Management with Beanie

Michael discusses Beanie, an asynchronous ORM for MongoDB.
• He highlights Beanieta, a new bridge that allows Beanie to work with the disk-based Mongita database.
• This enables a setup similar to SQLite for MongoDB, which is ideal for demos, testing, and simple applications without a full database server.

Research Best Practices

Brian explores The Good Research Code Handbook, a valuable resource for scientists and students who code.
• The book emphasizes Git usage, virtual environments, unit testing, and documentation.
• A key takeaway is the distinction between short-term memory (comments, immediate reminders) and long-term memory (documentation, test suites) in software projects.

Parametric 3D Modeling

Gina introduces CadQuery, a Python library for building parametric 3D CAD models.
• Based on the same kernel as FreeCAD, it allows users to programmatically design complex 3D objects.
• Ideal for 3D printing and CNC applications, it supports exporting files as STL or STEP formats and works easily with Jupyter.

Automation and Productivity

Textinator: A Python-based macOS menu bar app that uses PyObjC to automatically detect text within screenshots using system-level neural engines.
Concurrency Handling: An exploration of managing concurrency in databases without complex application-side locks, encouraging reliance on database-level constraints instead.
Tatsu: A tool for generating parsers from EBNF grammars, simplifying structured text parsing in legacy or custom systems.

Insights and Fun

"If you're not paying for it, then you're not the customer, you're the product."

Michael shares his trial of the Kagi search engine, a privacy-focused, ad-free, paid service, while Gina talks about using Python to automate power monitoring for Raspberry Pi clusters.

Topics

Chapters

9 chapters
Python Bytes
AI chat — answers grounded in episodes