Python Byte-Sized News: PyTest, Qt, MongoDB, and Packaging

·27m 31s
Shared point

PyTest 3.6.0 Updates

The Marker System Revamp

• The release of PyTest 3.6.0 introduces a significant overhaul to the marker system internally.
• While the API changes are mostly relevant to plugin developers (such as the deprecation of getMarker in favor of iterMarkers and getClosestMarker), it marks a push towards better maintenance.
• Added support for Python 3.7 breakpoint functionality and improved assertions for whitespace-only equality failures by escaping characters.

Python GUIs: The Future of Qt

Qt for Python

"It's really nice that the company that makes QT, the cross-platform GUI framework, is like really dedicating itself to Python."

• The transition from the fragmented landscape of PyQt and PySide is shifting toward Qt for Python, a unified effort supported by the Qt company.
• Efforts are focused on providing a smoother experience, including official wheels for easier pip install processes and a reliance on the existing Qt Designer.

MongoDB 4.0 and Data Persistence

The Shift to ACID

• The release of the 4.0 RC0 brings multi-document ACID transactions to MongoDB, blurring the lines between NoSQL and relational paradigms.
• The discussion highlighted the potential for rollback checkpoints during testing and the evolution of change streams for efficient, non-polling database updates.

Modern Python Packaging

Is PipEnv Ready for Production?

• A production review of PipEnv highlights its superiority over requirements.txt for application dependency management.
• Key benefits include integrated security auditing, environment reproducibility, and distinct dev-dependencies management.
• There is an ongoing challenge regarding its fit for library authors, as it is primarily designed for application-level pinning.

DevOps and Community Updates

Enhancing Workflow

• Best practices for GitHub and GitLab workflows including the use of issue templates, automated testing on pull requests, and the integration of pre-commit hooks (like black) to enforce styling.
Pandas announces plans to drop Python 2 support, following NumPy's lead and continuing the industry-wide transition to Python 3.

Topics

Chapters

6 chapters
Python Bytes
AI chat — answers grounded in episodes