Python Updates: Packaging, Data Science, and Governance
Introduction to Python Packaging & Tools
The episode kicks off with an update to the podcast format, introducing chapters for better navigation, and continues by highlighting Wiley, a project by Anthony Shaw that uses PyProject.toml for modern Python packaging.
• Wiley serves as an excellent example of utilizing modern standards instead of traditional setup scripts.
• The importance of adhering to open source best practices, such as clear contributing guides, is emphasized for project maintainers.
Data Science and New Developments in VS Code
The hosts discuss the latest advances in VS Code, specifically its new, unique approach to Jupyter-like support within the editor.
• VS Code creates a notebook-like experience by using special syntax in standard Python files, allowing users to execute code in cells while keeping the source code as a traditional script.
• The update also brings improved support for virtual environments, making the editor increasingly competitive for data science workflows.
API Evolution and Software Maintenance
Drawing from an article by A. Jesse Giroux Davis, the hosts explore the challenges of managing and evolving public APIs.
"Imagine you're a creator deity."
• The discussion highlights that evolving an API requires caution, minimizing features, and handling breaking changes gently.
• They touch upon the concept of provisional features as a way to test functionality while allowing for future deprecation if necessary.
GUI Frameworks and C++ Bindings
The GUI discussion revisits PySimpleGUI and its recent integration with Qt to provide more modern-looking applications.
• The project Shiboken is highlighted as a powerful tool for creating Python bindings for C/C++ libraries, which powers Qt for Python.
• Developers can use Shiboken to automate creating interfaces between Python and C++ code, streamlining the process of wrapping legacy or complex libraries.
Python Governance and Future News
Following the transition in Python's leadership structure, the hosts discuss the ongoing debate regarding the future governance model of the language.
• Several potential models are being explored, ranging from a technical leadership trio to more consensus-driven systems.
• The community is actively encouraged to review competing governance proposals, such as PEP 8000.