Python Packaging, Python 3.12, and Conference Talk Tips
Python Application Development and Packaging
Introducing MakeApp
Discussed as a compelling tool for streamlining the creation, testing, and deployment of Python projects.
• Acts as a scaffolding tool similar to cookiecutter but with fewer, more focused project templates.
• Automatically integrates Git repository initialization and checks for name availability on PyPI.
• Offers a unified command-line interface to handle versioning, changelog updates, and package publishing.
• Includes advanced features like shell autocomplete and tailored templates for PyTest plugins, Django, and Click-based applications.
Updates on Python Development
The Road to Python 3.12
Currently in the Alpha 7 phase, the release cycle continues towards the final version expected in October.
• Featuring significantly improved and more actionable error messages, such as "Did you forget to import?" or "Did you mean..." suggestions.
• Discussion on PEP 684, introducing per-interpreter GIL. This aims to facilitate greater parallelism by providing isolated state for interpreters within the same process.
Security and Maintenance in 3.11.3
An important point release that addresses critical security vulnerabilities.
• Includes crucial OpenSSL updates for Windows and macOS to mitigate high-severity CVEs.
• Resolves memory corruption and segfault issues related to garbage collection and large directory handling.
"There's enough stuff in here that I'm like, you know what? This thing's getting an update."
Best Practices for Presenting
Delivering a Great Conference Talk
Insights on preparing for events like PyCon based on community advice and personal experience.
• Rehearsing: Mandatory practice standing up and out loud; avoid practicing merely in your head.
• Live Demos: Use with caution. They are high-risk but high-reward for demonstrating technical concepts.
• Fallback Strategy: Always have a finished, static version or "scripted" demo (e.g., Demo Magic) ready if the live environment fails.
• Audience Engagement: Pause to let humor land and learn to manage the pacing of your slides relative to your timer.
Community and News
• Django 4.2 released as an LTS (Long-Term Support) version.
• New course alert: CDN optimization for web applications.