Discover the thrilling resurgence of pypistats.org, which now features a CLI tool to check Python package download stats. Dive into the evolving Python landscape, focusing on trends in data science and the significance of using updated versions. Explore the functionalities of the wrapt module for decorators and monkey patching, ensuring code integrity. Get insights into performance tools like PySentry, while enjoying humorous takes on summer heat and a playful critique of JavaScript's reign in web development.
31:24
forum Ask episode
web_stories AI Snips
view_agenda Chapters
auto_awesome Transcript
info_circle Episode notes
volunteer_activism ADVICE
Check Package Popularity With pypistats CLI
Use pypistats or its CLI to inspect PyPI download trends and platform usage for your package.
Point the CLI at a project directory to auto-detect pyproject.toml or setup.cfg and get quick metrics.
insights INSIGHT
Python Community Is Largely Newcomers
The Python community is dominated by newcomers: 50% have under two years of professional coding experience.
This shifts expectations for tooling, docs, and tutorials toward beginner-friendly approaches.
insights INSIGHT
Data Science Now Half Of Python Use
Data science now represents roughly half of Python usage, reshaping common use cases and libraries in the ecosystem.
This trend likely reflects growth in machine learning and AI workloads within Python.
Get the Snipd Podcast app to discover more snips from this episode
Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 10am PT. Older video versions available there too.
Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it.
Brian #1: pypistats.org was down, is now back, and there’s a CLI
pypistats.org is a cool site to check the download stats for Python packages.
Thanks to @jezdez for suggesting the @ThePSF takes stewardship and connecting the right people, to @EWDurbin for migrating, and of course to Christopher Flynn for creating and running it for all these years!”
“The aim of the wrapt module is to provide a transparent object proxy for Python, which can be used as the basis for the construction of function wrappers and decorator functions.
An easy to use decorator factory is provided to make it simple to create your own decorators that will behave correctly in any situation they may be used.”
Why not just use functools.wraps()?
“The wrapt module focuses very much on correctness. It therefore goes way beyond existing mechanisms such as functools.wraps() to ensure that decorators preserve introspectability, signatures, type checking abilities etc. The decorators that can be constructed using this module will work in far more scenarios than typical decorators and provide more predictable and consistent behaviour.”
Scan your Python dependencies for known security vulnerabilities with Rust-powered scanner.
PySentry audits Python projects for known security vulnerabilities by analyzing dependency files (uv.lock, poetry.lock, Pipfile.lock, pyproject.toml, Pipfile, requirements.txt) and cross-referencing them against multiple vulnerability databases. It provides comprehensive reporting with support for various output formats and filtering options.
External Resolver Integration: Leverages uv and pip-tools for accurate requirements.txt constraint solving
Multiple Data Sources:
PyPA Advisory Database (default)
PyPI JSON API
OSV.dev (Open Source Vulnerabilities)
Flexible Output for different workflows: Human-readable, JSON, SARIF, and Markdown formats
Performance Focused:
Written in Rust for speed
Async/concurrent processing
Multi-tier intelligent caching (vulnerability data + resolved dependencies)
Comprehensive Filtering:
Severity levels (low, medium, high, critical)
Dependency scopes (main only vs all [optional, dev, prod, etc] dependencies)
Direct vs. transitive dependencies
Enterprise Ready: SARIF output for IDE/CI integration
I tried it on pythonbytes.fm and found only one issue, sadly can’t be fixed:
PYSENTRY SECURITY AUDIT
=======================
SUMMARY: 89 packages scanned • 1 vulnerable • 1 vulnerabilities found
SEVERITY: 1 LOW
UNFIXABLE: 1 vulnerabilities cannot be fixed
VULNERABILITIES
---------------
1. PYSEC-2022-43059 aiohttp v3.12.15 [LOW] [source: pypa-zip]
AIOHTTP 3.8.1 can report a "ValueError: Invalid IPv6 URL" outcome, which can lead to a Denial of Service (DoS). NOTE:...
Scan completed