Python Packaging, Ruff Tips, and Modern Tech Trends

·36m 04s
Shared point

Packaging Tools and Best Practices

Apple Crate: Native Installers

Apple Crate is a project that simplifies the creation of native macOS installers for command-line tools. It automates several tedious steps by allowing developers to package Python CLI applications into familiar installer formats. Key features include:
• Using Jinja2 templates for dynamic file generation.
• Integration with standard configuration files like pyproject.toml or appcrate.toml.
• Streamlined distribution for users who aren't familiar with CLI environment setups.

Packaging Strategies

Ned Batchelder shared a practical, minimalist approach to project structure. The discussion emphasized:
• Using an src/ directory layout for consistency.
• Proper use of standard files like .gitignore, pyproject.toml, and READMEs.
• The importance of checking PyPI for name collisions before starting a project.
• Useful inclusions like Makefiles for automation and adding editorconfig for cross-editor consistency.

Ruff: The Powerful Python Linter

The episode highlights the documentation site docs.astral.sh, which provides a comprehensive, wiki-style explanation for every Ruff lint rule. This is a fantastic resource because:
• It explains not just the rule, but the why behind it.
• It offers clear "bad" vs. "good" code examples.
• It serves as a pedagogical tool for intermediate developers to understand best practices and performance bottlenecks like unused imports.

Additional Tech Highlights

Personal Management & Security

Flat.app: A task management tool featuring an intuitive Kanban-style layout for tracking projects.
Terms of Service Didn't Read (TOSDR): A community-driven project that reviews and grades the Terms of Service of major web services, helping users understand what they are actually agreeing to.
Mozilla Monitor Plus: A service that helps detect and remove personal information from data broker websites.

Learning & Productivity

"I write to remember... I write to refine my thinking."

The hosts discuss the benefits of technical writing as a means of mastering concepts and connecting with the community. Furthermore, they covered PyCharm and PyTest best practices, noting that version 3.12.2 of Python has been released, which includes significant stability and security fixes.

Topics

Chapters

6 chapters
Python Bytes
AI chat — answers grounded in episodes