Python Packaging, Code Quality, and Web Frontend

·42m 00s
Shared point

The Future of Python Packaging

Transitioning to pyproject.toml

• The conversation centers on the shift from legacy files like setup.py, requirements.txt, and setup.cfg toward the pyproject.toml configuration file.
• Experts highlight that PEP 517 and PEP 518 standardize build systems, allowing tools like Poetry and Flit to thrive without executing arbitrary code during installation.
• > "This is very squarely the future of Python packaging."

Tools for Code Quality and Complexity

Measuring Codebases

• The discussion introduces Radon and PyLama as powerful utilities for calculating cyclomatic complexity and maintainability indices.
• These tools leverage the Abstract Syntax Tree (AST) to provide actionable insights into code structure.
• The panel explores the possibility of integrating automated complexity checks within pre-commit hooks to prevent overly complex code from entering the repository.

Python in Education and the Browser

Interactive Learning

• The panel identifies several tools to improve the onboarding experience for new Python programmers, including the Mu editor and REPL.it.
• The potential for running Python natively on the web via WebAssembly (WASM) and Pyodide is explored as a way to challenge JavaScript's monopoly on client-side development.

Formatting with Black

Black is championed as a game-changer for team consistency, eliminating arguments over style through its opinionated, uncompromising formatting approach.

Asynchronous Testing with Arsenic

• For projects requiring async/await functionality, the tool Arsenic serves as a modern alternative to Selenium, enabling efficient asynchronous web automation.

Topics

Chapters

6 chapters
Python Bytes
AI chat — answers grounded in episodes