From 169fafddab7c1bb8d10a91bc62a9e60f71d5be7d Mon Sep 17 00:00:00 2001 From: Vinta Chen Date: Sun, 27 Sep 2026 14:32:20 +0800 Subject: [PATCH 01/21] docs: fix wrong, outdated, and broken README entry descriptions funasr: dropped stale 170x realtime and 50+ languages claims easyocr: language count was stale at 40+, verified 80+ apiflask: said Marshmallow-only, missing its Pydantic support urllib3: "A HTTP" grammar and awkward phrasing django.db.models: linked to /en/dev/ instead of /en/stable/ pymysql: grammar slip "compatible to mysql-python", a phrase upstream dropped zvec: unsourced "SQLite of vector databases" superlative elasticsearch: linked to a redirected elastic.co/products/elasticsearch URL matplotlib: called "2D" only, ignoring its animated/interactive support geodjango: linked to /en/dev/ instead of /en/stable/ scipy: retired "ecosystem" tagline mypy: "compile time" is wrong, Python has no compile-time type checking tox: missing trailing period schemathesis: described as OpenAPI/Swagger only, misses GraphQL schema support polyfactory: grammar slip "support to classes" mimesis: grammar slip "is a Python library that help you" pdoc: outdated "Epydoc replacement" framing pyinfra: grammar slip "A versatile CLI tools and python libraries" typer: wrongly claimed to be built on Pydantic copier: "projects templates" grammar slip pygobject: said GTK+3 only, it now supports GTK 4 dearpygui: grammar slip and missing period PySide6: claimed to be "same as PyQt6", it's not fully API-compatible markupsafe: grammar slip in description python-docx: outdated "Word 2007/2008" framing mistune: grammar slip "Fastest and full featured pure Python parsers" pillow: PIL link 404s wand: MagickWand link went through two redirects to a stub page vidgear: unverifiable "Most Powerful" superlative tinytag: format list stale, missing supported formats panda3d: said "developed by Disney", no longer Disney-only micropython: vague description, missing microcontroller target dateparser: language count was vague "dozens", verified 200+ locales warehouse: outdated "Next generation" tagline Nuitka: wrongly claimed to support all Python versions cx-Freeze: grammar slip "It is a Python tool that converts" dynaconf: wrongly claimed a FastAPI plugin pip-audit: wrong database name uv-audit: wrongly claimed malware scanning pyenv-win: wrongly credited pyenv instead of rbenv-win as its fork origin Co-Authored-By: Claude --- README.md | 80 +++++++++++++++++++++++++++---------------------------- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/README.md b/README.md index 6c44226370..05f2d0c42e 100644 --- a/README.md +++ b/README.md @@ -173,7 +173,7 @@ _Libraries for building AI applications, LLM integrations, and autonomous agents - [axolotl](https://github.com/axolotl-ai-cloud/axolotl) - A framework for fine-tuning and post-training large language models. - Speech - [openai-whisper](https://github.com/openai/whisper) - A general-purpose automatic speech recognition model trained on 680k hours of multilingual and multitask supervised data. - - [funasr](https://github.com/modelscope/FunASR) - Industrial-grade speech recognition toolkit with 170x realtime speed, 50+ languages, speaker diarization, and emotion detection. + - [funasr](https://github.com/modelscope/FunASR) - Industrial-grade speech recognition toolkit with speaker diarization and emotion detection. - [vibevoice](https://github.com/microsoft/VibeVoice) - A family of open-source voice AI models from Microsoft for text-to-speech and long-form speech recognition. - [gTTS](https://github.com/pndurette/gTTS) - Python library and CLI tool for converting text to speech using Google Translate TTS. - [kittentts](https://github.com/KittenML/KittenTTS) - Lightweight ONNX text-to-speech library with small CPU-friendly models. @@ -232,7 +232,7 @@ _Libraries for Computer Vision._ - [fiftyone](https://github.com/voxel51/fiftyone) - The open-source tool for building high-quality datasets and computer vision models. - OCR - [pytesseract](https://github.com/madmaze/pytesseract) - A wrapper for [Google Tesseract OCR](https://github.com/tesseract-ocr). - - [easyocr](https://github.com/JaidedAI/EasyOCR) - Ready-to-use OCR with 40+ languages supported. + - [easyocr](https://github.com/JaidedAI/EasyOCR) - Ready-to-use OCR with 80+ languages supported. ### Recommender Systems @@ -274,7 +274,7 @@ _Libraries for building RESTful, GraphQL, and RPC APIs._ - [strawberry-django](https://github.com/strawberry-graphql/strawberry-django) - Strawberry GraphQL integration with Django. - [django-modern-rest](https://github.com/wemake-services/django-modern-rest) - Modern REST with speed, types, async, `msgspec`, `pydantic` and other goodies! - Flask - - [apiflask](https://github.com/apiflask/apiflask) - A lightweight Python web API framework based on Flask and Marshmallow. + - [apiflask](https://github.com/apiflask/apiflask) - A lightweight Python web API framework based on Flask, supporting marshmallow schemas and Pydantic models. - Framework Agnostic - [fastapi](https://github.com/fastapi/fastapi) - A modern, fast, web framework for building APIs with standard Python type hints. - [connexion](https://github.com/spec-first/connexion) - A spec-first framework that automatically handles requests based on your OpenAPI specification. @@ -370,7 +370,7 @@ _Libraries for working with HTTP._ - [requests](https://github.com/psf/requests) - HTTP Requests for Humans. - [httpx](https://github.com/encode/httpx) - A next generation HTTP client for Python. - [aiohttp](https://github.com/aio-libs/aiohttp) - Asynchronous HTTP client/server framework for asyncio and Python. - - [urllib3](https://github.com/urllib3/urllib3) - A HTTP library with thread-safe connection pooling, file post support, sanity friendly. + - [urllib3](https://github.com/urllib3/urllib3) - An HTTP library with thread-safe connection pooling, file post, and more. - [httpx2](https://github.com/pydantic/httpx2) - HTTP/1.1 and HTTP/2 client with sync and async APIs, maintained by Pydantic ([httpx](https://github.com/encode/httpx) fork). - URL Manipulation - [yarl](https://github.com/aio-libs/yarl) - Yet another URL library. @@ -405,7 +405,7 @@ _Libraries that implement Object-Relational Mapping or data mapping techniques._ - Relational Databases - [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) - The Python SQL Toolkit and Object Relational Mapper. - [awesome-sqlalchemy](https://github.com/dahlia/awesome-sqlalchemy) - - [django.db.models](https://github.com/django/django) - (part of Django) The Django [ORM](https://docs.djangoproject.com/en/dev/topics/db/models/). + - [django.db.models](https://github.com/django/django) - (part of Django) The Django [ORM](https://docs.djangoproject.com/en/stable/topics/db/models/). - [peewee](https://github.com/coleifer/peewee) - A small, expressive ORM. - [sqlmodel](https://github.com/fastapi/sqlmodel) - SQLModel is based on Python type annotations, and powered by Pydantic and SQLAlchemy. - NoSQL Databases @@ -418,7 +418,7 @@ _Libraries that implement Object-Relational Mapping or data mapping techniques._ _Libraries for connecting and operating databases._ - MySQL - [awesome-mysql](https://github.com/shlomi-noach/awesome-mysql) - - [pymysql](https://github.com/PyMySQL/PyMySQL) - A pure Python MySQL driver compatible to mysql-python. + - [pymysql](https://github.com/PyMySQL/PyMySQL) - A pure-Python MySQL and MariaDB client library, based on PEP 249. - [mysqlclient](https://github.com/PyMySQL/mysqlclient) - MySQL connector with Python 3 support ([mysql-python](https://sourceforge.net/projects/mysql-python/) fork). - PostgreSQL - [awesome-postgres](https://github.com/dhamaniasad/awesome-postgres) - [psycopg](https://github.com/psycopg/psycopg) - The most popular PostgreSQL adapter for Python. @@ -449,7 +449,7 @@ _In-process databases usable directly from Python._ - Vector - [chromadb](https://github.com/chroma-core/chroma) - An open-source embedding database for building AI applications with embeddings and semantic search. - [lancedb](https://github.com/lancedb/lancedb) - A developer-friendly embedded retrieval database for multimodal AI. - - [zvec](https://github.com/alibaba/zvec) - An embedded vector database for on-device RAG and edge AI, the SQLite of vector databases. + - [zvec](https://github.com/alibaba/zvec) - A lightweight, in-process vector database that embeds directly into applications. - [pixeltable](https://github.com/pixeltable/pixeltable) - Declarative multimodal AI data engine for tables, computed columns, and embedding search. - Key-Value & Document - [tinydb](https://github.com/msiemens/tinydb) - A tiny, document-oriented database. @@ -468,7 +468,7 @@ _Libraries for caching data._ _Libraries and software for indexing and performing search queries on data._ -- [elasticsearch](https://github.com/elastic/elasticsearch-py) - The official low-level Python client for [Elasticsearch](https://www.elastic.co/products/elasticsearch). +- [elasticsearch](https://github.com/elastic/elasticsearch-py) - The official low-level Python client for [Elasticsearch](https://www.elastic.co/elasticsearch). - [opensearch-py](https://github.com/opensearch-project/opensearch-py) - The official low-level Python client for [OpenSearch](https://opensearch.org/). - [meilisearch](https://github.com/meilisearch/meilisearch-python) - The official Python client for the [Meilisearch](https://www.meilisearch.com/) search engine. - [django-haystack](https://github.com/django-haystack/django-haystack) - Modular search for Django. @@ -519,7 +519,7 @@ _Libraries for validating data. Used for forms in many cases._ _Libraries for visualizing data. Also see [awesome-javascript](https://github.com/sorrycc/awesome-javascript#data-visualization)._ - Plotting - - [matplotlib](https://github.com/matplotlib/matplotlib) - A Python 2D plotting library. + - [matplotlib](https://github.com/matplotlib/matplotlib) - A comprehensive library for creating static, animated, and interactive visualizations. - [plotly](https://github.com/plotly/plotly.py) - Interactive graphing library for Python. - [seaborn](https://github.com/mwaskom/seaborn) - Statistical data visualization using Matplotlib. - [altair](https://github.com/vega/altair) - Declarative statistical visualization library for Python. @@ -539,7 +539,7 @@ _Libraries for geocoding addresses and working with latitudes and longitudes._ - [geopandas](https://github.com/geopandas/geopandas) - Python tools for geographic data (GeoSeries/GeoDataFrame) built on pandas. - [geopy](https://github.com/geopy/geopy) - Python Geocoding Toolbox. - [geojson](https://github.com/jazzband/geojson) - Python bindings and utilities for GeoJSON. -- [geodjango](https://github.com/django/django) - (part of Django) A world-class [geographic web framework](https://docs.djangoproject.com/en/dev/ref/contrib/gis/). +- [geodjango](https://github.com/django/django) - (part of Django) A world-class [geographic web framework](https://docs.djangoproject.com/en/stable/ref/contrib/gis/). ### Science @@ -547,7 +547,7 @@ _Libraries for scientific computing. Also see [Python-for-Scientists](https://gi - Core - [numpy](https://github.com/numpy/numpy) - A fundamental package for scientific computing with Python. - - [scipy](https://github.com/scipy/scipy) - A Python-based ecosystem of open-source software for mathematics, science, and engineering. + - [scipy](https://github.com/scipy/scipy) - Fundamental algorithms for scientific computing in Python. - [numba](https://github.com/numba/numba) - Python JIT compiler to LLVM aimed at scientific Python. - Symbolic Mathematics - [sympy](https://github.com/sympy/sympy) - A Python library for symbolic mathematics. @@ -629,7 +629,7 @@ _Tools of static analysis, linters and code quality checkers. Also see [awesome- - Refactoring - [rope](https://github.com/python-rope/rope) - Rope is a python refactoring library. - Type Checkers - [awesome-python-typing](https://github.com/typeddjango/awesome-python-typing) - - [mypy](https://github.com/python/mypy) - Check variable types during compile time. + - [mypy](https://github.com/python/mypy) - A static type checker for Python. - [ty](https://github.com/astral-sh/ty) - An extremely fast Python type checker and language server. - [pyright](https://github.com/microsoft/pyright) - Full-featured static type checker for Python from Microsoft, the engine behind Pylance. - [pyrefly](https://github.com/facebook/pyrefly) - A fast type checker and language server for Python. @@ -646,7 +646,7 @@ _Libraries for testing codebases and generating test data. Also see [awesome-pyt - [hypothesis](https://github.com/HypothesisWorks/hypothesis) - Hypothesis is an advanced Quickcheck style property based testing library. - [robotframework](https://github.com/robotframework/robotframework) - A generic test automation framework. - Test Runners - - [tox](https://github.com/tox-dev/tox) - Auto builds and tests distributions in multiple Python versions + - [tox](https://github.com/tox-dev/tox) - Auto builds and tests distributions in multiple Python versions. - [nox](https://github.com/wntrblm/nox) - Flexible test automation for Python. - Browser Automation - [playwright-python](https://github.com/microsoft/playwright-python) - Python version of the Playwright testing and automation library. @@ -655,7 +655,7 @@ _Libraries for testing codebases and generating test data. Also see [awesome-pyt - Load Testing - [locust](https://github.com/locustio/locust) - Scalable user load testing tool written in Python. - API Testing - - [schemathesis](https://github.com/schemathesis/schemathesis) - A tool for automatic property-based testing of web applications built with Open API / Swagger specifications. + - [schemathesis](https://github.com/schemathesis/schemathesis) - A tool for automatic property-based testing of web APIs from OpenAPI or GraphQL schemas. - Mock - [mock](https://docs.python.org/3/library/unittest.mock.html) - (Python standard library) A mocking and patching library. - [responses](https://github.com/getsentry/responses) - A utility library for mocking out the requests Python library. @@ -664,12 +664,12 @@ _Libraries for testing codebases and generating test data. Also see [awesome-pyt - [respx](https://github.com/lundberg/respx) - Mock HTTPX with awesome request patterns and response side effects. - Object Factories - [factory_boy](https://github.com/FactoryBoy/factory_boy) - A test fixtures replacement for Python. - - [polyfactory](https://github.com/litestar-org/polyfactory) - mock data generation library with support to classes (continuation of `pydantic-factories`) + - [polyfactory](https://github.com/litestar-org/polyfactory) - A mock data generation library based on type hints (continuation of `pydantic-factories`). - Code Coverage - [coverage](https://github.com/coveragepy/coveragepy) - Code coverage measurement. - Fake Data - [faker](https://github.com/joke2k/faker) - A Python package that generates fake data. - - [mimesis](https://github.com/lk-geimfari/mimesis) - is a Python library that help you generate fake data. + - [mimesis](https://github.com/lk-geimfari/mimesis) - A Python library for generating fake but realistic data in multiple languages and locales. ### Debugging Tools @@ -706,7 +706,7 @@ _Libraries for generating project documentation._ - [awesome-sphinxdoc](https://github.com/ygzgxyz/awesome-sphinxdoc) - [mkdocs-material](https://github.com/squidfunk/mkdocs-material) - A documentation framework and Material Design theme built on MkDocs. - [diagrams](https://github.com/mingrammer/diagrams) - Diagram as Code. -- [pdoc](https://github.com/mitmproxy/pdoc) - Epydoc replacement to auto generate API documentation for Python libraries. +- [pdoc](https://github.com/mitmproxy/pdoc) - Auto-generates API documentation for Python projects. - [zensical](https://github.com/zensical/zensical) - A modern static site generator for technical documentation. **DevOps** @@ -723,7 +723,7 @@ _Software and libraries for DevOps._ - Configuration Management - [ansible](https://github.com/ansible/ansible) - A radically simple IT automation platform. - [cloud-init](https://github.com/canonical/cloud-init) - A multi-distribution package that handles early initialization of a cloud instance. - - [pyinfra](https://github.com/pyinfra-dev/pyinfra) - A versatile CLI tools and python libraries to automate infrastructure. + - [pyinfra](https://github.com/pyinfra-dev/pyinfra) - Turns Python code into shell commands and runs them on your servers. - [salt](https://github.com/saltstack/salt) - Infrastructure automation and management system. - Deployment - [fabric](https://github.com/fabric/fabric) - A simple, Pythonic tool for remote execution and deployment. @@ -803,7 +803,7 @@ _Libraries for building command-line applications._ - CLI Development - [argparse](https://docs.python.org/3/library/argparse.html) - (Python standard library) Command-line option and argument parsing. - [click](https://github.com/pallets/click/) - A package for creating beautiful command line interfaces in a composable way. - - [typer](https://github.com/fastapi/typer) - Modern CLI framework that uses Python type hints. Built on Click and Pydantic. + - [typer](https://github.com/fastapi/typer) - Modern CLI framework that uses Python type hints. Built on Click. - [prompt_toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) - A library for building powerful interactive command lines. - [fire](https://github.com/google/python-fire) - A library for creating command line interfaces from absolutely any Python object. - Terminal Rendering @@ -831,7 +831,7 @@ _Useful CLI-based tools._ - [httpie](https://github.com/httpie/cli) - A command line HTTP client, a user-friendly cURL replacement. - Project Scaffolding - [cookiecutter](https://github.com/cookiecutter/cookiecutter) - A command-line utility that creates projects from cookiecutters (project templates). - - [copier](https://github.com/copier-org/copier) - A library and command-line utility for rendering projects templates. + - [copier](https://github.com/copier-org/copier) - A library and command-line utility for rendering project templates. - Shells - [xonsh](https://github.com/xonsh/xonsh/) - A Python-powered shell. Full-featured and cross-platform. - Terminal Workflow @@ -842,13 +842,13 @@ _Useful CLI-based tools._ _Libraries for working with graphical user interface applications._ - Desktop - - [pygobject](https://github.com/GNOME/pygobject) - Python Bindings for GLib/GObject/GIO/GTK+ (GTK+3). + - [pygobject](https://github.com/GNOME/pygobject) - Python Bindings for GLib/GObject/GIO/GTK. - [wxPython](https://github.com/wxWidgets/Phoenix) - A blending of the wxWidgets C++ class library with the Python. - [kivy](https://github.com/kivy/kivy) - A library for creating NUI applications, running on Windows, Linux, Mac OS X, Android and iOS. - - [dearpygui](https://github.com/hoffstadt/DearPyGui) - A Simple GPU accelerated Python GUI framework + - [dearpygui](https://github.com/hoffstadt/DearPyGui) - A simple GPU-accelerated Python GUI framework. - [toga](https://github.com/beeware/toga) - A Python native, OS native GUI toolkit. - Qt - - [PySide6](https://github.com/pyside/pyside-setup) - Qt for Python offers the official Python bindings for [Qt](https://www.qt.io/), same as PyQt6 but it's the official binding with different licensing. + - [PySide6](https://github.com/pyside/pyside-setup) - Qt for Python offers the official Python bindings for [Qt](https://www.qt.io/), largely API-compatible with PyQt6 but with different licensing. - [PyQt6](https://www.riverbankcomputing.com/static/Docs/PyQt6/) - Python bindings for the [Qt](https://www.qt.io/) cross-platform application and UI framework. - Tkinter - [tkinter](https://docs.python.org/3/library/tkinter.html) - (Python standard library) The standard Python interface to the Tcl/Tk GUI toolkit. @@ -898,7 +898,7 @@ _Libraries for working with HTML and XML._ - [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/doc/) - Providing Pythonic idioms for iterating, searching, and modifying HTML or XML. - [lxml](https://github.com/lxml/lxml) - A very fast, easy-to-use and versatile library for handling HTML and XML. - [xmltodict](https://github.com/martinblech/xmltodict) - Working with XML feel like you are working with JSON. -- [markupsafe](https://github.com/pallets/markupsafe) - Implements a XML/HTML/XHTML Markup safe string for Python. +- [markupsafe](https://github.com/pallets/markupsafe) - Safely adds untrusted strings to HTML/XML markup. - [justhtml](https://github.com/EmilStenstrom/justhtml/) - A pure Python HTML5 parser that just works. ### File Format Processing @@ -915,7 +915,7 @@ _Libraries for parsing and manipulating specific text formats._ - [openpyxl](https://openpyxl.readthedocs.io/en/stable/) - A library for reading and writing Excel 2010 xlsx/xlsm/xltx/xltm files. - [xlsxwriter](https://github.com/jmcnamara/XlsxWriter) - A Python module for creating Excel .xlsx files. - Word - - [python-docx](https://github.com/python-openxml/python-docx) - Reads, queries and modifies Microsoft Word 2007/2008 docx files. + - [python-docx](https://github.com/python-openxml/python-docx) - Creates, reads, and updates Microsoft Word (.docx) files. - PowerPoint - [python-pptx](https://github.com/scanny/python-pptx) - Python library for creating and updating PowerPoint (.pptx) files. - PDF @@ -927,7 +927,7 @@ _Libraries for parsing and manipulating specific text formats._ - Markdown - [markdown-it-py](https://github.com/executablebooks/markdown-it-py) - Markdown parser with 100% CommonMark support, extensions, and syntax plugins. - [markdown](https://github.com/Python-Markdown/markdown) - A Python implementation of John Gruber’s Markdown. - - [mistune](https://github.com/lepture/mistune) - Fastest and full featured pure Python parsers of Markdown. + - [mistune](https://github.com/lepture/mistune) - A fast yet powerful Python Markdown parser with renderers and plugins. - Data Formats - [tomllib](https://docs.python.org/3/library/tomllib.html) - (Python standard library) Parse TOML files. - [pyyaml](https://github.com/yaml/pyyaml) - YAML implementations for Python. @@ -952,10 +952,10 @@ _Libraries for manipulating images._ - [qrcode](https://github.com/lincolnloop/python-qrcode) - A pure Python QR Code generator. - [python-barcode](https://github.com/WhyNotHugo/python-barcode) - Create barcodes in Python with no extra dependencies. - General - - [pillow](https://github.com/python-pillow/Pillow) - Pillow is the friendly [PIL](https://www.pythonware.com/products/pil/) fork. + - [pillow](https://github.com/python-pillow/Pillow) - Pillow is the friendly [PIL](https://pillow.readthedocs.io/en/stable/about.html) fork. - [scikit-image](https://github.com/scikit-image/scikit-image) - A Python library for (scientific) image processing. - [rembg](https://github.com/danielgatis/rembg) - A tool to remove image backgrounds. - - [wand](https://github.com/emcconville/wand) - Python bindings for [MagickWand](https://www.imagemagick.org/script/magick-wand.php), C API for ImageMagick. + - [wand](https://github.com/emcconville/wand) - Python bindings for [MagickWand](https://imagemagick.org/magick-wand/), C API for ImageMagick. - [pyvips](https://github.com/libvips/pyvips) - A fast image processing library with low memory needs. - Image Serving - [thumbor](https://github.com/thumbor/thumbor) - A smart imaging service. It enables on-demand crop, re-sizing and flipping of images. @@ -969,10 +969,10 @@ _Libraries for manipulating audio, video, and their metadata._ - [librosa](https://github.com/librosa/librosa) - Python library for audio and music analysis. - Video - [moviepy](https://github.com/Zulko/moviepy) - A module for script-based movie editing with many formats, including animated GIFs. - - [vidgear](https://github.com/abhiTronix/vidgear) - Most Powerful multi-threaded Video Processing framework. + - [vidgear](https://github.com/abhiTronix/vidgear) - A high-performance, cross-platform, multi-threaded video processing framework. - Metadata - [mutagen](https://github.com/quodlibet/mutagen) - A Python module to handle audio metadata. - - [tinytag](https://github.com/tinytag/tinytag) - A library for reading music meta data of MP3, OGG, FLAC and Wave files. + - [tinytag](https://github.com/tinytag/tinytag) - A library for reading audio file metadata of MP3, MP4, WAV, OGG, FLAC, WMA, and AIFF files. - [beets](https://github.com/beetbox/beets) - A music library manager and [MusicBrainz](https://musicbrainz.org/) tagger. ### Game Development @@ -980,7 +980,7 @@ _Libraries for manipulating audio, video, and their metadata._ _Awesome game development libraries._ - 3D Engines - - [panda3d](https://github.com/panda3d/panda3d) - 3D game engine developed by Disney. + - [panda3d](https://github.com/panda3d/panda3d) - 3D game engine developed jointly by Disney and contributors from around the world. - Game Frameworks - [pygame](https://github.com/pygame/pygame) - Pygame is a set of Python modules designed for writing games. - [pyglet](https://github.com/pyglet/pyglet) - A cross-platform windowing and multimedia library for Python. @@ -996,7 +996,7 @@ _Awesome game development libraries._ _Implementations of Python._ - [cpython](https://github.com/python/cpython) - Default, most widely used implementation of the Python programming language written in C. -- [micropython](https://github.com/micropython/micropython) - A lean and efficient Python programming language implementation. +- [micropython](https://github.com/micropython/micropython) - A lean and efficient Python implementation for microcontrollers and constrained systems. - [pypy](https://github.com/pypy/pypy) - A very fast and compliant implementation of the Python language. - [Cython](https://github.com/cython/cython) - Optimizing Static Compiler for Python. - [pyodide](https://github.com/pyodide/pyodide) - Python distribution for the browser and Node.js based on WebAssembly. @@ -1042,7 +1042,7 @@ _Libraries for working with dates and times._ - [zoneinfo](https://docs.python.org/3/library/zoneinfo.html) - (Python standard library) IANA time zone support. Brings the [tz database](https://en.wikipedia.org/wiki/Tz_database) into Python. - [python-dateutil](https://github.com/dateutil/dateutil) - Extensions to the standard Python [datetime](https://docs.python.org/3/library/datetime.html) module. -- [dateparser](https://github.com/scrapinghub/dateparser) - A Python parser for human-readable dates in dozens of languages. +- [dateparser](https://github.com/scrapinghub/dateparser) - A Python parser for human-readable dates in over 200 language locales. - [pendulum](https://github.com/python-pendulum/pendulum) - Python datetimes made easy. - [whenever](https://github.com/ariebovenberg/whenever) - A modern datetime library, type-safe and DST-safe, backed by Rust. @@ -1078,7 +1078,7 @@ _Local PyPI repository server and proxies._ - [bandersnatch](https://github.com/pypa/bandersnatch/) - PyPI mirroring tool provided by Python Packaging Authority (PyPA). - [devpi](https://github.com/devpi/devpi) - PyPI server and packaging/testing/release tool. -- [warehouse](https://github.com/pypi/warehouse) - Next generation Python Package Repository (PyPI). +- [warehouse](https://github.com/pypi/warehouse) - The software that powers PyPI. ### Distribution @@ -1086,9 +1086,9 @@ _Libraries to create packaged executables for release distribution._ - Executables - [pyinstaller](https://github.com/pyinstaller/pyinstaller) - Converts Python programs into stand-alone executables (cross-platform). - - [Nuitka](https://github.com/Nuitka/Nuitka) - Compiles Python programs into high-performance standalone executables (cross-platform, supports all Python versions). + - [Nuitka](https://github.com/Nuitka/Nuitka) - Compiles Python programs into high-performance standalone executables (cross-platform). - [shiv](https://github.com/linkedin/shiv) - A command line utility for building fully self-contained zipapps (PEP 441), but with all their dependencies included. - - [cx-Freeze](https://github.com/marcelotduarte/cx_Freeze) - It is a Python tool that converts Python scripts into standalone executables and installers for Windows, macOS, and Linux. + - [cx-Freeze](https://github.com/marcelotduarte/cx_Freeze) - Converts Python scripts into standalone executables and installers for Windows, macOS, and Linux. - Obfuscation - [pyarmor](https://github.com/dashingsoft/pyarmor) - A tool used to obfuscate python scripts, bind obfuscated scripts to fixed machine or expire obfuscated scripts. @@ -1100,7 +1100,7 @@ _Libraries for storing and parsing configuration options._ - [python-dotenv](https://github.com/theskumar/python-dotenv) - Reads key-value pairs from a `.env` file and sets them as environment variables. - [pydantic-settings](https://github.com/pydantic/pydantic-settings) - Settings management using Pydantic models with validation, loading from environment variables and secrets files. - [hydra-core](https://github.com/facebookresearch/hydra) - Hydra is a framework for elegantly configuring complex applications. -- [dynaconf](https://github.com/dynaconf/dynaconf) - Dynaconf is a configuration manager with plugins for Django, Flask and FastAPI. +- [dynaconf](https://github.com/dynaconf/dynaconf) - Dynaconf is a configuration manager with plugins for Django and Flask. **Security** @@ -1126,8 +1126,8 @@ _Frameworks and tools for penetration testing._ _Tools for auditing dependencies against known vulnerabilities._ -- [pip-audit](https://github.com/pypa/pip-audit) - Audits Python environments and dependency trees for known vulnerabilities, using the PyPI Advisory Database and OSV. -- [uv-audit](https://github.com/astral-sh/uv) - (part of uv) uv's [dependency vulnerability and malware scanning](https://docs.astral.sh/uv/reference/cli/#uv-audit) backed by OSV. +- [pip-audit](https://github.com/pypa/pip-audit) - Audits Python environments and dependency trees for known vulnerabilities, using the Python Packaging Advisory Database or OSV. +- [uv-audit](https://github.com/astral-sh/uv) - (part of uv) uv's [dependency vulnerability scanning](https://docs.astral.sh/uv/reference/cli/#uv-audit) backed by OSV. ### Web Security @@ -1151,7 +1151,7 @@ _Python programming on Microsoft Windows._ - [pythonnet](https://github.com/pythonnet/pythonnet) - Python Integration with the .NET Common Language Runtime (CLR). - [pywin32](https://github.com/mhammond/pywin32) - Python Extensions for Windows. -- [pyenv-win](https://github.com/pyenv-win/pyenv-win) - A Python version manager for Windows ([pyenv](https://github.com/pyenv/pyenv) fork). +- [pyenv-win](https://github.com/pyenv-win/pyenv-win) - A Python version manager for Windows ([rbenv-win](https://github.com/nak1114/rbenv-win) fork). - [winpython](https://github.com/winpython/winpython) - Portable development environment for Windows 10/11. ### Miscellaneous From 2756fba0ef78c9e4c3467c0d1e76898dcc2cfb0f Mon Sep 17 00:00:00 2001 From: Vinta Chen Date: Sun, 27 Sep 2026 14:38:06 +0800 Subject: [PATCH 02/21] docs: name Ultralytics' license by family in computer-vision intro The intro named Ultralytics' license with its version, AGPL-3.0, against the rule that intros name a license by family only. Co-Authored-By: Claude --- website/data/category_intros/computer-vision.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/data/category_intros/computer-vision.md b/website/data/category_intros/computer-vision.md index 26e1e35b05..67ab8e2dc1 100644 --- a/website/data/category_intros/computer-vision.md +++ b/website/data/category_intros/computer-vision.md @@ -11,7 +11,7 @@ How to choose: OpenCV comes as [four pip packages that share the `cv2` namespace](https://github.com/opencv/opencv-python), so install only one: opencv-python for the main modules, or opencv-contrib-python to add the extra modules. If you never call `cv2.imshow` or you build your GUI with another toolkit, install the headless variant of either one, which also makes Docker images smaller. -Ultralytics YOLO covers the [whole life of a model](https://docs.ultralytics.com/modes/): train, validate, predict, export, and track, from Python or the `yolo` command. Its docs recommend [starting training from a pretrained model](https://docs.ultralytics.com/modes/train/). To deploy, [export it](https://docs.ultralytics.com/modes/export/) to ONNX, TensorRT, CoreML, or another format. The code and the models you train with it are [AGPL-3.0](https://www.ultralytics.com/license), so unless you open-source your whole project, you need an Enterprise License. +Ultralytics YOLO covers the [whole life of a model](https://docs.ultralytics.com/modes/): train, validate, predict, export, and track, from Python or the `yolo` command. Its docs recommend [starting training from a pretrained model](https://docs.ultralytics.com/modes/train/). To deploy, [export it](https://docs.ultralytics.com/modes/export/) to ONNX, TensorRT, CoreML, or another format. The code and the models you train with it are [AGPL](https://www.ultralytics.com/license), so unless you open-source your whole project, you need an Enterprise License. Kornia is a [differentiable computer vision library like OpenCV, with strong GPU support](https://kornia.readthedocs.io/en/latest/get-started/introduction.html). Every operator works on PyTorch tensors and supports autograd, so vision ops can run on the GPU and sit inside your training loop. From 7a841f2e681305f96b9e6d96f0d8f4af789bcf3f Mon Sep 17 00:00:00 2001 From: Vinta Chen Date: Sun, 27 Sep 2026 14:38:10 +0800 Subject: [PATCH 03/21] docs: fix duplicate rembg link in image-processing intro The rembg paragraph linked the same GitHub URL twice; the model-license link now points at the README's models section, where that claim is stated. Co-Authored-By: Claude --- website/data/category_intros/image-processing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/data/category_intros/image-processing.md b/website/data/category_intros/image-processing.md index 0a7bbcdb77..32fa4ce9ac 100644 --- a/website/data/category_intros/image-processing.md +++ b/website/data/category_intros/image-processing.md @@ -19,7 +19,7 @@ pyvips builds a pipeline of operations and runs it only when you write the resul Wand is a [ctypes-based ImageMagick binding](https://docs.wand-py.org/en/latest/), so install ImageMagick's MagickWand library first. Its objects are resources like open files: [use them in a `with` block](https://docs.wand-py.org/en/latest/guide/resource.html) so they get closed. Wand's docs say to [never use Wand directly in an HTTP service](https://docs.wand-py.org/en/latest/guide/security.html) or on any public server. Hand the images to a background worker through a queue, and limit ImageMagick's resources and formats in its `policy.xml`. -rembg runs as a [CLI, a Python library, an HTTP server, or a Docker container](https://github.com/danielgatis/rembg). In code, create a session once with `new_session()` and pass it to each `remove()` call, since `remove` otherwise [starts a new session every call](https://github.com/danielgatis/rembg/blob/main/USAGE.md). The model weights [carry their own licenses](https://github.com/danielgatis/rembg), separate from rembg's MIT license, so check the one you use before you ship it in a commercial product. +rembg runs as a [CLI, a Python library, an HTTP server, or a Docker container](https://github.com/danielgatis/rembg). In code, create a session once with `new_session()` and pass it to each `remove()` call, since `remove` otherwise [starts a new session every call](https://github.com/danielgatis/rembg/blob/main/USAGE.md). The model weights [carry their own licenses](https://github.com/danielgatis/rembg#models), separate from rembg's MIT license, so check the one you use before you ship it in a commercial product. thumbor is an HTTP server: you [set the size and crop in the image URL](https://github.com/thumbor/thumbor), and it [detects faces and important features](https://thumbor.readthedocs.io/en/latest/) to crop around them. Set a `SECURITY_KEY` so [every URL is signed](https://thumbor.readthedocs.io/en/latest/security.html) and nobody can tamper with it, and build those URLs in Python with [libthumbor](https://thumbor.readthedocs.io/en/latest/libraries.html). In production, [turn off `ALLOW_UNSAFE_URL`](https://thumbor.readthedocs.io/en/latest/configuration.html) and run [more than one instance](https://thumbor.readthedocs.io/en/latest/hosting.html) behind a load balancer. From 5c4607dd0f1619905b2e9f2f0deffa77ccc25fa0 Mon Sep 17 00:00:00 2001 From: Vinta Chen Date: Sun, 27 Sep 2026 14:46:47 +0800 Subject: [PATCH 04/21] refactor: reformat clickpy query string with ruff format ruff format --check flagged this file for the multi-line f-string concatenation. Co-Authored-By: Claude --- website/fetch_pypi_downloads_via_clickpy.py | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/website/fetch_pypi_downloads_via_clickpy.py b/website/fetch_pypi_downloads_via_clickpy.py index a708a6c660..0cbc89d38d 100644 --- a/website/fetch_pypi_downloads_via_clickpy.py +++ b/website/fetch_pypi_downloads_via_clickpy.py @@ -84,12 +84,7 @@ def collect_names(readme_text: str) -> list[str]: def fetch_clickpy(names: list[str]) -> dict[str, int]: in_list = ", ".join(f"'{name}'" for name in names) - query = ( - "SELECT project, sum(count) AS downloads " - "FROM pypi.pypi_downloads_per_day " - f"WHERE project IN ({in_list}) AND date >= today() - 30 " - "GROUP BY project FORMAT JSON" - ) + query = f"SELECT project, sum(count) AS downloads FROM pypi.pypi_downloads_per_day WHERE project IN ({in_list}) AND date >= today() - 30 GROUP BY project FORMAT JSON" resp = httpx.post(CLICKPY_URL, content=query, timeout=60) resp.raise_for_status() return {row["project"]: int(row["downloads"]) for row in resp.json()["data"]} From f0ebe92155f17c0359fa29c238dfd3f528afa767 Mon Sep 17 00:00:00 2001 From: Vinta Chen Date: Sun, 27 Sep 2026 14:47:00 +0800 Subject: [PATCH 05/21] fix: order category page JSON-LD ItemList to match rendered rows Category pages' JSON-LD ItemList listed entries in download order while the table renders them in README (editorial) order, so structured-data positions didn't match the visible rows. Co-Authored-By: Claude --- website/build.py | 3 ++- website/tests/test_build.py | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/website/build.py b/website/build.py index 27b9adc064..0f2993408b 100644 --- a/website/build.py +++ b/website/build.py @@ -755,8 +755,9 @@ def render_category( if parent_category: breadcrumbs.append((parent_category["name"], category_public_url(parent_category))) breadcrumbs.append((category["name"], category_url)) + page_entries = [entry for group in entry_groups for entry in group["entries"]] if entry_groups else entries category_json_ld = json.dumps( - build_category_json_ld(category_title.removesuffix(" - Awesome Python"), category_url, category_description, entries, breadcrumbs), + build_category_json_ld(category_title.removesuffix(" - Awesome Python"), category_url, category_description, page_entries, breadcrumbs), ensure_ascii=False, ).replace("' + start = category_html.index(marker) + len(marker) + data = json.loads(category_html[start : category_html.index("", start)]) + collection = next(node for node in data["@graph"] if node["@type"] == "CollectionPage") + items = collection["mainEntity"]["itemListElement"] + assert [(item["position"], item["name"]) for item in items] == [(1, "zeta"), (2, "alpha")] + def test_group_page_falls_back_to_default_description_in_json_ld(self, tmp_path): readme = textwrap.dedent("""\ # T From 0abd19a99c6c4378fcf9a297668a16d699590a9d Mon Sep 17 00:00:00 2001 From: Vinta Chen Date: Sun, 27 Sep 2026 14:47:06 +0800 Subject: [PATCH 06/21] fix: number rows in sorted order after a column sort applyFilters walked the static load-order NodeList, so after sorting by a column header, row numbers kept each row's original load-order position instead of counting 1..n down the sorted table. Co-Authored-By: Claude --- website/static/main.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/website/static/main.js b/website/static/main.js index 93eac7110f..5314aca986 100644 --- a/website/static/main.js +++ b/website/static/main.js @@ -145,7 +145,9 @@ function applyFilters() { collapseAll(); - rows.forEach(function (row) { + // Number rows in their sorted DOM order, not the load order `rows` keeps + const orderedRows = tbody ? tbody.querySelectorAll("tr.row") : rows; + orderedRows.forEach(function (row) { let show = true; if (query) { From ec818ebcf8dcb9b18b9e6101ccef6bc5caa53cb3 Mon Sep 17 00:00:00 2001 From: Vinta Chen Date: Sun, 27 Sep 2026 14:47:10 +0800 Subject: [PATCH 07/21] fix: drop redundant aria-hidden on homepage description rows Homepage description rows carried aria-hidden="true" on top of hidden, unlike category pages (fixed in 528f9ed); the hidden attribute alone already keeps them from assistive tech while hidden. Co-Authored-By: Claude --- website/templates/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/templates/index.html b/website/templates/index.html index e4d95d10f2..4cb99d4c5a 100644 --- a/website/templates/index.html +++ b/website/templates/index.html @@ -241,7 +241,7 @@

Results

→ {% if entry.description %} - +
{{ entry.description | safe }}
From 1ed83b7f3d22c7d916f132cc322533aa9019b33d Mon Sep 17 00:00:00 2001 From: Vinta Chen Date: Sun, 27 Sep 2026 14:50:45 +0800 Subject: [PATCH 08/21] docs: fix 19 entry descriptions that drifted from upstream langchain used an old composability tagline; transformers named only NLP/vision/audio though it now covers text, vision, audio, video, and multimodal; pgmpy left out its causal reasoning scope; uvicorn listed uvloop/httptools though both are optional extras; django-oauth-toolkit's "goodies" undersold an OAuth 2.0 authorization server; django-unfold used marketing copy instead of a description; pyparsing didn't match its repo's PEG parser description; pdfminer.six didn't say what it does; pyyaml's "implementations" was vague; whenever didn't reflect its Rust-or-pure-Python support; itsdangerous used an outdated upstream tagline; winpython's "Windows 10/11" will go stale; mssql-python's "low memory usage" claim has no upstream source; diskcache repeated the project's own speed benchmark instead of describing it; hishel left out its server-side support; jupyter used IPython's tagline instead of its own; ray used an old tagline; wxPython's sentence was garbled; kivy referenced outdated "NUI" and "Mac OS X" terms. Co-Authored-By: Claude --- README.md | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 05f2d0c42e..de89ab9346 100644 --- a/README.md +++ b/README.md @@ -139,7 +139,7 @@ _Libraries for building AI applications, LLM integrations, and autonomous agents - [sentry-skills](https://github.com/getsentry/skills) - Python-focused engineering skills for code review, debugging, and backend workflows. - [trailofbits-skills](https://github.com/trailofbits/skills) - Python-friendly security skills for auditing, testing, and safer backend development. - Orchestration - - [langchain](https://github.com/langchain-ai/langchain) - Building applications with LLMs through composability. + - [langchain](https://github.com/langchain-ai/langchain) - A framework for building agents and LLM-powered applications. - [langgraph](https://github.com/langchain-ai/langgraph) - Low-level orchestration framework for building stateful, long-running LLM agents. - [crewai](https://github.com/crewAIInc/crewAI) - A framework for orchestrating role-playing autonomous AI agents for collaborative task solving. - [pydantic-ai](https://github.com/pydantic/pydantic-ai) - A Python agent framework for building generative AI applications with structured schemas. @@ -158,7 +158,7 @@ _Libraries for building AI applications, LLM integrations, and autonomous agents - [openviking](https://github.com/volcengine/OpenViking) - A context database for AI agents that unifies memory, resources, and skills. - [semantica](https://github.com/semantica-agi/semantica) - A graph-native context and knowledge layer for AI agents with reasoning, provenance, and governance. - Pre-trained Models - - [transformers](https://github.com/huggingface/transformers) - A framework that lets you easily use pre-trained transformer models for NLP, vision, and audio tasks. + - [transformers](https://github.com/huggingface/transformers) - The model-definition framework for pretrained models in text, computer vision, audio, video, and multimodal tasks, for inference and training. - LLM Inference and Serving - [sglang](https://github.com/sgl-project/sglang) - A high-performance serving framework for large language models and multimodal models. - [vllm](https://github.com/vllm-project/vllm) - A high-throughput and memory-efficient inference and serving engine for LLMs. @@ -198,7 +198,7 @@ _Libraries for Machine Learning. Also see [awesome-machine-learning](https://git - General - [scikit-learn](https://github.com/scikit-learn/scikit-learn) - The most popular Python library for Machine Learning with extensive documentation and community support. - - [pgmpy](https://github.com/pgmpy/pgmpy) - A Python library for probabilistic graphical models and Bayesian networks. + - [pgmpy](https://github.com/pgmpy/pgmpy) - A Python library for causal and probabilistic reasoning with graphical models. - [feature-engine](https://github.com/feature-engine/feature_engine) - sklearn compatible API with the widest toolset for feature engineering and selection. - Gradient Boosting - [xgboost](https://github.com/dmlc/xgboost) - A scalable, portable, and distributed gradient boosting library. @@ -287,7 +287,7 @@ _Libraries for building RESTful, GraphQL, and RPC APIs._ _ASGI and WSGI compatible web servers._ - ASGI - - [uvicorn](https://github.com/Kludex/uvicorn) - A lightning-fast ASGI server implementation, using uvloop and httptools. + - [uvicorn](https://github.com/Kludex/uvicorn) - A lightning-fast ASGI server implementation. - [granian](https://github.com/emmett-framework/granian) - A Rust HTTP server for Python applications built on top of Hyper and Tokio, supporting WSGI/ASGI/RSGI. - [hypercorn](https://github.com/pgjones/hypercorn) - An ASGI and WSGI Server based on Hyper libraries and inspired by Gunicorn. - WSGI @@ -325,7 +325,7 @@ _Libraries for implementing authentication schemes._ - [oauthlib](https://github.com/oauthlib/oauthlib) - A generic and thorough implementation of the OAuth request-signing logic. - [authlib](https://github.com/authlib/authlib) - A comprehensive library for building OAuth, OpenID Connect, and JWT/JWS/JWE/JWK/JWA. - [django-allauth](https://github.com/pennersr/django-allauth) - Authentication app for Django that "just works." - - [django-oauth-toolkit](https://github.com/django-oauth/django-oauth-toolkit) - OAuth 2 goodies for Django. + - [django-oauth-toolkit](https://github.com/django-oauth/django-oauth-toolkit) - An OAuth 2.0 authorization server for Django. - JWT - [pyjwt](https://github.com/jpadilla/pyjwt) - JSON Web Token implementation in Python. - Permissions @@ -337,7 +337,7 @@ _Libraries for implementing authentication schemes._ _Libraries for administrative interfaces._ - [flask-admin](https://github.com/pallets-eco/flask-admin) - Simple and extensible administrative interface framework for Flask. -- [django-unfold](https://github.com/unfoldadmin/django-unfold) - Elevate your Django admin with a stunning modern interface, powerful features, and seamless user experience. +- [django-unfold](https://github.com/unfoldadmin/django-unfold) - A modern Django admin theme for building dashboards, internal tools, and business applications. - [django-grappelli](https://github.com/sehmaschine/django-grappelli) - A jazzy skin for the Django Admin-Interface. ### CMS @@ -432,7 +432,7 @@ _Libraries for connecting and operating databases._ - Other Relational Databases - [pyodbc](https://github.com/mkleehammer/pyodbc) - An ODBC bridge for connecting to SQL Server and any other ODBC-accessible database. - [oracledb](https://github.com/oracle/python-oracledb) - The official Python driver for Oracle Database, successor to cx_Oracle. - - [mssql-python](https://github.com/microsoft/mssql-python) - Official Microsoft driver for SQL Server and Azure SQL, built on ODBC for high performance and low memory usage. + - [mssql-python](https://github.com/microsoft/mssql-python) - Official Microsoft driver for SQL Server and Azure SQL, built on ODBC for high performance. - NoSQL Databases - [redis](https://github.com/redis/redis-py) - The Python client for Redis. - [pymongo](https://github.com/mongodb/mongo-python-driver) - The official Python client for MongoDB. @@ -459,8 +459,8 @@ _In-process databases usable directly from Python._ _Libraries for caching data._ - [cachetools](https://github.com/tkem/cachetools) - Extensible memoizing collections and decorators. -- [diskcache](https://github.com/grantjenks/python-diskcache) - SQLite and file backed cache backend with faster lookups than memcached and redis. -- [hishel](https://github.com/karpetrosyan/hishel) - RFC 9111 compliant HTTP caching for httpx and requests, with sync and async support. +- [diskcache](https://github.com/grantjenks/python-diskcache) - SQLite and file backed cache backend, compatible with Django. +- [hishel](https://github.com/karpetrosyan/hishel) - RFC 9111 compliant HTTP caching for clients like httpx and requests and servers like FastAPI, with sync and async support. - [dogpile.cache](https://github.com/sqlalchemy/dogpile.cache) - dogpile.cache is a next generation replacement for Beaker made by the same authors. - [django-cacheops](https://github.com/Suor/django-cacheops) - A slick ORM cache with automatic granular event-driven invalidation. @@ -601,7 +601,7 @@ _Python implementation of data structures, algorithms and design patterns. Also _Interactive Python interpreters (REPL)._ - [ipython](https://github.com/ipython/ipython) - A powerful interactive Python shell, and the kernel behind Jupyter notebooks. -- [jupyter](https://github.com/jupyter/notebook) - A rich toolkit to help you make the most out of using Python interactively. +- [jupyter](https://github.com/jupyter/notebook) - A web-based notebook environment for interactive computing. - [awesome-jupyter](https://github.com/markusschanta/awesome-jupyter) - [marimo](https://github.com/marimo-team/marimo) - Transform data and train models, feels like a next-gen notebook, stored as Git-friendly Python. - [ptpython](https://github.com/prompt-toolkit/ptpython) - Advanced Python REPL built on top of the [python-prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit). @@ -742,7 +742,7 @@ _Software and libraries for DevOps._ _Frameworks and libraries for Distributed Computing._ -- [ray](https://github.com/ray-project/ray/) - A system for parallel and distributed Python that unifies the machine learning ecosystem. +- [ray](https://github.com/ray-project/ray/) - A unified framework for scaling AI and Python applications. - [pyspark](https://github.com/apache/spark) - [Apache Spark](https://spark.apache.org/) Python API. - [dask](https://github.com/dask/dask) - A flexible parallel computing library for analytic computing. - [joblib](https://github.com/joblib/joblib) - A set of tools to provide lightweight pipelining in Python. @@ -843,8 +843,8 @@ _Libraries for working with graphical user interface applications._ - Desktop - [pygobject](https://github.com/GNOME/pygobject) - Python Bindings for GLib/GObject/GIO/GTK. - - [wxPython](https://github.com/wxWidgets/Phoenix) - A blending of the wxWidgets C++ class library with the Python. - - [kivy](https://github.com/kivy/kivy) - A library for creating NUI applications, running on Windows, Linux, Mac OS X, Android and iOS. + - [wxPython](https://github.com/wxWidgets/Phoenix) - A cross-platform GUI toolkit that wraps the wxWidgets C++ library. + - [kivy](https://github.com/kivy/kivy) - An open-source framework for cross-platform GUI apps on desktop, mobile, and embedded platforms. - [dearpygui](https://github.com/hoffstadt/DearPyGui) - A simple GPU-accelerated Python GUI framework. - [toga](https://github.com/beeware/toga) - A Python native, OS native GUI toolkit. - Qt @@ -880,7 +880,7 @@ _Libraries for parsing and manipulating plain texts._ - [babel](https://github.com/python-babel/babel) - An internationalization library for Python. - Parser - [pygments](https://github.com/pygments/pygments) - A generic syntax highlighter. - - [pyparsing](https://github.com/pyparsing/pyparsing) - A general purpose framework for generating parsers. + - [pyparsing](https://github.com/pyparsing/pyparsing) - A Python library for creating PEG parsers. - [sqlparse](https://github.com/andialbrecht/sqlparse) - A non-validating SQL parser. - [phonenumbers](https://github.com/daviddrysdale/python-phonenumbers) - Parsing, formatting, storing and validating international phone numbers. - [parsy](https://github.com/python-parsy/parsy) - Easy, generic parser combinator library for creating parsers. @@ -921,7 +921,7 @@ _Libraries for parsing and manipulating specific text formats._ - PDF - [pypdf](https://github.com/py-pdf/pypdf) - A library capable of splitting, merging, cropping, and transforming PDF pages. - [reportlab](https://www.reportlab.com/opensource/) - Allowing Rapid creation of rich PDF documents. - - [pdfminer.six](https://github.com/pdfminer/pdfminer.six) - Pdfminer.six is a community maintained fork of the original PDFMiner. + - [pdfminer.six](https://github.com/pdfminer/pdfminer.six) - A community-maintained fork of PDFMiner for extracting information from PDF documents. - HTML-to-PDF - [weasyprint](https://github.com/Kozea/WeasyPrint) - A visual rendering engine for HTML and CSS that can export to PDF. - Markdown @@ -930,7 +930,7 @@ _Libraries for parsing and manipulating specific text formats._ - [mistune](https://github.com/lepture/mistune) - A fast yet powerful Python Markdown parser with renderers and plugins. - Data Formats - [tomllib](https://docs.python.org/3/library/tomllib.html) - (Python standard library) Parse TOML files. - - [pyyaml](https://github.com/yaml/pyyaml) - YAML implementations for Python. + - [pyyaml](https://github.com/yaml/pyyaml) - A full-featured YAML framework for Python. ### File Manipulation @@ -1044,7 +1044,7 @@ _Libraries for working with dates and times._ - [python-dateutil](https://github.com/dateutil/dateutil) - Extensions to the standard Python [datetime](https://docs.python.org/3/library/datetime.html) module. - [dateparser](https://github.com/scrapinghub/dateparser) - A Python parser for human-readable dates in over 200 language locales. - [pendulum](https://github.com/python-pendulum/pendulum) - Python datetimes made easy. -- [whenever](https://github.com/ariebovenberg/whenever) - A modern datetime library, type-safe and DST-safe, backed by Rust. +- [whenever](https://github.com/ariebovenberg/whenever) - A modern datetime library, type-safe and DST-safe, in Rust or pure Python. **Python Toolchain** @@ -1111,7 +1111,7 @@ _Libraries for cryptographic primitives and secure protocols._ - [cryptography](https://github.com/pyca/cryptography) - A package designed to expose cryptographic primitives and recipes to Python developers. - [pynacl](https://github.com/pyca/pynacl) - Python binding to the Networking and Cryptography (NaCl) library. - [paramiko](https://github.com/paramiko/paramiko) - The leading native Python SSHv2 protocol library. -- [itsdangerous](https://github.com/pallets/itsdangerous) - Various helpers to pass trusted data to untrusted environments. +- [itsdangerous](https://github.com/pallets/itsdangerous) - Safely pass trusted data to untrusted environments and back. ### Penetration Testing @@ -1152,7 +1152,7 @@ _Python programming on Microsoft Windows._ - [pythonnet](https://github.com/pythonnet/pythonnet) - Python Integration with the .NET Common Language Runtime (CLR). - [pywin32](https://github.com/mhammond/pywin32) - Python Extensions for Windows. - [pyenv-win](https://github.com/pyenv-win/pyenv-win) - A Python version manager for Windows ([rbenv-win](https://github.com/nak1114/rbenv-win) fork). -- [winpython](https://github.com/winpython/winpython) - Portable development environment for Windows 10/11. +- [winpython](https://github.com/winpython/winpython) - Portable Python distribution for Windows. ### Miscellaneous From edc3db37faa7480a5c7a7e6d00ecad5997d5106c Mon Sep 17 00:00:00 2001 From: Vinta Chen Date: Sun, 27 Sep 2026 14:50:54 +0800 Subject: [PATCH 09/21] docs: fix 6 section descriptions that misdescribed their sections Computer Vision's description said nothing; Template Engines claimed lexing; Email claimed parsing and mail server management though yagmail only sends; Build Tools said "compile software" though Invoke and doit are task runners; File Format Processing said "text formats" though it covers ELF, xlsx, docx, and PDF; Package Repositories left out mirrors like bandersnatch. These descriptions show on the category pages. Co-Authored-By: Claude --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index de89ab9346..42ae5ca083 100644 --- a/README.md +++ b/README.md @@ -223,7 +223,7 @@ _Libraries for working with human languages._ ### Computer Vision -_Libraries for Computer Vision._ +_Libraries for image and video analysis, object detection, and OCR._ - General - [opencv-python](https://github.com/opencv/opencv-python) - Open Source Computer Vision Library. @@ -305,7 +305,7 @@ _Libraries for working with WebSocket._ ### Template Engines -_Libraries and tools for templating and lexing._ +_Libraries for rendering text and HTML from templates._ - [jinja](https://github.com/pallets/jinja) - A modern and designer friendly templating language. - [mako](https://github.com/sqlalchemy/mako) - Hyperfast and lightweight templating for the Python platform. @@ -392,7 +392,7 @@ _Libraries to automate web scraping and extract web content._ ### Email -_Libraries for sending and parsing email, and mail server management._ +_Libraries for sending email._ - [yagmail](https://github.com/kootenpv/yagmail) - Yet another Gmail/SMTP client. @@ -692,7 +692,7 @@ _Libraries for debugging code._ ### Build Tools -_Compile software from source code. If you're looking for Python packaging/build tools, see [Package Management](#package-management)._ +_Task runners and software build tools. If you're looking for Python packaging/build tools, see [Package Management](#package-management)._ - [invoke](https://github.com/pyinvoke/invoke) - A tool for managing shell-oriented subprocesses and organizing executable Python code into CLI-invokable tasks. - [scons](https://github.com/SCons/scons) - A software construction tool. @@ -903,7 +903,7 @@ _Libraries for working with HTML and XML._ ### File Format Processing -_Libraries for parsing and manipulating specific text formats._ +_Libraries for parsing and manipulating specific file formats._ - General - [pyelftools](https://github.com/eliben/pyelftools) - Parsing and analyzing ELF files and DWARF debugging information. @@ -1074,7 +1074,7 @@ _Libraries for package and dependency management._ ### Package Repositories -_Local PyPI repository server and proxies._ +_Local PyPI repository servers, proxies, and mirrors._ - [bandersnatch](https://github.com/pypa/bandersnatch/) - PyPI mirroring tool provided by Python Packaging Authority (PyPA). - [devpi](https://github.com/devpi/devpi) - PyPI server and packaging/testing/release tool. From 2c0486a34a13d6c7129624e0f3c0d347845db92f Mon Sep 17 00:00:00 2001 From: Vinta Chen Date: Sun, 27 Sep 2026 14:52:10 +0800 Subject: [PATCH 10/21] docs: rewrite Data Validation category intro lead This lead followed the same appositive frame as the other category intro leads ("X, a/the Python Y library ..."), so it read as one template with the category swapped in; it now has its own sentence frame, keeping the same picks and facts. Co-Authored-By: Claude --- website/data/category_intros/data-validation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/data/category_intros/data-validation.md b/website/data/category_intros/data-validation.md index f5bd96ea05..c2e7b863de 100644 --- a/website/data/category_intros/data-validation.md +++ b/website/data/category_intros/data-validation.md @@ -1,4 +1,4 @@ -Validate API input and config with Pydantic, the Python data validation library built on type hints. Use Pandera for dataframes, jsonschema for JSON Schema. +Declare API input and config as type hints, and Pydantic validates them. Pandera brings Python data validation to dataframes, and jsonschema covers JSON Schema. How to choose: From 56aa4073d7b8caca77778348c62c58d3818afe33 Mon Sep 17 00:00:00 2001 From: Vinta Chen Date: Sun, 27 Sep 2026 14:52:14 +0800 Subject: [PATCH 11/21] docs: rewrite Date and Time category intro lead This lead followed the same appositive frame as the other category intro leads ("X, a/the Python Y library ..."), so it read as one template with the category swapped in; it now has its own sentence frame, keeping the same picks and facts. Co-Authored-By: Claude --- website/data/category_intros/date-and-time.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/data/category_intros/date-and-time.md b/website/data/category_intros/date-and-time.md index eeda6507eb..fcaf5a8c92 100644 --- a/website/data/category_intros/date-and-time.md +++ b/website/data/category_intros/date-and-time.md @@ -1,4 +1,4 @@ -Most code should handle time zones with zoneinfo and pick python-dateutil, the Python date library for parsing date strings and adding months. +Handle time zones with the built-in zoneinfo. Parsing date strings and adding months is where a Python date library earns its install: python-dateutil. How to choose: From f293ce35498398c4d45e903fab706ae5c847befd Mon Sep 17 00:00:00 2001 From: Vinta Chen Date: Sun, 27 Sep 2026 14:52:18 +0800 Subject: [PATCH 12/21] docs: rewrite Game Development category intro lead This lead followed the same appositive frame as the other category intro leads ("X, a/the Python Y library ..."), so it read as one template with the category swapped in; it now has its own sentence frame, keeping the same picks and facts. Co-Authored-By: Claude --- website/data/category_intros/game-development.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/data/category_intros/game-development.md b/website/data/category_intros/game-development.md index 60c4a8c28f..275c4f9b6a 100644 --- a/website/data/category_intros/game-development.md +++ b/website/data/category_intros/game-development.md @@ -1,4 +1,4 @@ -A 2D game needs a loop: write your own with pygame-ce, the Python game development library, or let Arcade run it. Panda3D does 3D, and Ren'Py visual novels. +pygame-ce leaves the 2D game loop to you, while Arcade runs it for you. For 3D, Panda3D covers Python game development, and Ren'Py builds visual novels. How to choose: From 86d857055bb7559cec7c93f4ce42ff810b82a0af Mon Sep 17 00:00:00 2001 From: Vinta Chen Date: Sun, 27 Sep 2026 14:52:26 +0800 Subject: [PATCH 13/21] docs: rewrite Web APIs category intro lead This lead followed the same appositive frame as the other category intro leads ("X, a/the Python Y library ..."), so it read as one template with the category swapped in; it now has its own sentence frame, keeping the same picks and facts. Co-Authored-By: Claude --- website/data/category_intros/web-apis.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/data/category_intros/web-apis.md b/website/data/category_intros/web-apis.md index 87bc81c7db..aee66d9767 100644 --- a/website/data/category_intros/web-apis.md +++ b/website/data/category_intros/web-apis.md @@ -1,4 +1,4 @@ -For a Django project, pick Django REST framework or Django Ninja. Outside Django, build on FastAPI, a Python API framework based on type hints. +Outside Django, declare each FastAPI endpoint with type hints. Django projects add a Python API framework on top instead: Django REST framework or Django Ninja. How to choose: From fc09dc706717029a911727c3b77a14b4660ae8f4 Mon Sep 17 00:00:00 2001 From: Vinta Chen Date: Sun, 27 Sep 2026 14:52:30 +0800 Subject: [PATCH 14/21] docs: rewrite Web Frameworks category intro lead This lead followed the same appositive frame as the other category intro leads ("X, a/the Python Y library ..."), so it read as one template with the category swapped in; it now has its own sentence frame, keeping the same picks and facts. Co-Authored-By: Claude --- website/data/category_intros/web-frameworks.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/data/category_intros/web-frameworks.md b/website/data/category_intros/web-frameworks.md index 653d607d4a..395deeea3d 100644 --- a/website/data/category_intros/web-frameworks.md +++ b/website/data/category_intros/web-frameworks.md @@ -1,4 +1,4 @@ -When you want an ORM, an admin, and auth built in, use Django. Flask, a smaller Python web framework, gives you a core you extend. +How much should a Python web framework build in? Django comes with an ORM, an admin, and auth; Flask gives you a small core to extend. How to choose: From 36880b3d8751dbddf6831aa7bee60fd6a4b75cc5 Mon Sep 17 00:00:00 2001 From: Vinta Chen Date: Sun, 27 Sep 2026 14:52:34 +0800 Subject: [PATCH 15/21] docs: rewrite Web Servers category intro lead This lead followed the same appositive frame as the other category intro leads ("X, a/the Python Y library ..."), so it read as one template with the category swapped in; it now has its own sentence frame, keeping the same picks and facts. Co-Authored-By: Claude --- website/data/category_intros/web-servers.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/data/category_intros/web-servers.md b/website/data/category_intros/web-servers.md index 68fa640033..e20b7a2542 100644 --- a/website/data/category_intros/web-servers.md +++ b/website/data/category_intros/web-servers.md @@ -1,4 +1,4 @@ -In production, Gunicorn serves WSGI apps like Django, and Uvicorn serves ASGI apps like FastAPI. Waitress, a pure-Python web server, runs WSGI apps on Windows. +In production, Gunicorn serves WSGI apps like Django, and Uvicorn ASGI apps like FastAPI. Need a Python web server on Windows? Waitress runs WSGI there. How to choose: From 540f462d4bcc9a7991a7795437488c6ae9e4e554 Mon Sep 17 00:00:00 2001 From: Vinta Chen Date: Sun, 27 Sep 2026 14:52:38 +0800 Subject: [PATCH 16/21] docs: rewrite WebSocket category intro lead This lead followed the same appositive frame as the other category intro leads ("X, a/the Python Y library ..."), so it read as one template with the category swapped in; it now has its own sentence frame, keeping the same picks and facts. Co-Authored-By: Claude --- website/data/category_intros/websocket.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/data/category_intros/websocket.md b/website/data/category_intros/websocket.md index 163e4eb7f1..ed95128ca4 100644 --- a/website/data/category_intros/websocket.md +++ b/website/data/category_intros/websocket.md @@ -1,4 +1,4 @@ -With Django, Channels is the pick; with Flask and Socket.IO clients, Flask-SocketIO. Standalone apps run on websockets, a Python WebSocket library. +Your Python WebSocket library follows your framework: Channels on Django, Flask-SocketIO on Flask with Socket.IO clients. websockets needs no framework. How to choose: From a04833275aab0af17c70d435d4d76d848abba458 Mon Sep 17 00:00:00 2001 From: Vinta Chen Date: Sun, 27 Sep 2026 14:52:42 +0800 Subject: [PATCH 17/21] docs: rewrite Template Engines category intro lead This lead followed the same appositive frame as the other category intro leads ("X, a/the Python Y library ..."), so it read as one template with the category swapped in; it now has its own sentence frame, keeping the same picks and facts. Co-Authored-By: Claude --- website/data/category_intros/template-engines.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/data/category_intros/template-engines.md b/website/data/category_intros/template-engines.md index b59f345dec..c2d9eedc91 100644 --- a/website/data/category_intros/template-engines.md +++ b/website/data/category_intros/template-engines.md @@ -1,4 +1,4 @@ -If your templates should hold no Python code, Jinja fits: a Python template engine whose sandbox also renders untrusted templates. Mako embeds plain Python. +Whether templates may hold Python code splits the Python template engines: Jinja keeps code out and sandboxes untrusted templates, Mako embeds plain Python. How to choose: From 9cdd11b62467e5ce1d60a85a5662f9a7834cdff9 Mon Sep 17 00:00:00 2001 From: Vinta Chen Date: Sun, 27 Sep 2026 14:52:46 +0800 Subject: [PATCH 18/21] docs: rewrite File Format Processing category intro lead This lead followed the same appositive frame as the other category intro leads ("X, a/the Python Y library ..."), so it read as one template with the category swapped in; it now has its own sentence frame, keeping the same picks and facts. Co-Authored-By: Claude --- website/data/category_intros/file-format-processing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/data/category_intros/file-format-processing.md b/website/data/category_intros/file-format-processing.md index 069f0bec99..57e0328cab 100644 --- a/website/data/category_intros/file-format-processing.md +++ b/website/data/category_intros/file-format-processing.md @@ -1,4 +1,4 @@ -PDF, Word, and Excel files open with pypdf, python-docx, and openpyxl, a Python file format library for each. MarkItDown turns all three into Markdown. +pypdf reads PDFs, python-docx Word files, and openpyxl Excel sheets: one Python file format library per format. MarkItDown turns any of them into Markdown. How to choose: From 6a038e3feff56872e0ba70b39417972469636556 Mon Sep 17 00:00:00 2001 From: Vinta Chen Date: Sun, 27 Sep 2026 15:06:32 +0800 Subject: [PATCH 19/21] docs: fix inaccurate entry descriptions across README 18 entry descriptions overstated, understated, or misattributed their projects, checked against upstream on 2026-09-27 and approved row by row. - django: "most popular" contradicted by the 2024 JetBrains/PSF survey, where FastAPI leads overall; now uses Django's own tagline. - joblib: described as pipelining; its docs say parallel computing and disk caching. - huey: called only "multi-threaded"; it also supports multi-process and greenlet workers. - numba: updated to its current NumPy-aware wording. - pytesseract: credited Google as Tesseract's developer, which ended in 2017. - pennylane: description was narrower than its quantum computing/QML/chemistry scope. - channels: didn't mention WebSocket support. - justhtml: left out that it sanitizes untrusted HTML by default. - akshare: left out its academic-research-only data terms. - timesfm: left out its non-commercial default weights. - pyvips: used libvips's own tagline instead of describing it as a binding. - ultralytics: dropped an unverifiable SOTA claim and added its tracking capability. - pandera: listed only 3 of its supported dataframe backends. - sentry-skills: claimed a Python focus and debugging scope; it's the Sentry team's own skill set. - trailofbits-skills: claimed to be Python-friendly, but only 2 of 85 skills are Python-specific. - mysqlclient: fork link pointed to SourceForge mysql-python instead of MySQLdb1, and it now notes MariaDB support. - charset-normalizer: called "the default" of requests, which prefers chardet when installed. - pynacl: described as binding NaCl directly; it binds libsodium, a NaCl fork. Co-Authored-By: Claude --- README.md | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 42ae5ca083..90393eed9e 100644 --- a/README.md +++ b/README.md @@ -136,8 +136,8 @@ _Libraries for building AI applications, LLM integrations, and autonomous agents - Agent Skills - [django-ai-plugins](https://github.com/vintasoftware/django-ai-plugins) - Django backend agent skills for Django, DRF, Celery, and Django-specific code review. - - [sentry-skills](https://github.com/getsentry/skills) - Python-focused engineering skills for code review, debugging, and backend workflows. - - [trailofbits-skills](https://github.com/trailofbits/skills) - Python-friendly security skills for auditing, testing, and safer backend development. + - [sentry-skills](https://github.com/getsentry/skills) - Agent skills the Sentry team uses for code review, pull requests, and Django reviews. + - [trailofbits-skills](https://github.com/trailofbits/skills) - Security skills for vulnerability detection, auditing, and testing. - Orchestration - [langchain](https://github.com/langchain-ai/langchain) - A framework for building agents and LLM-powered applications. - [langgraph](https://github.com/langchain-ai/langgraph) - Low-level orchestration framework for building stateful, long-running LLM agents. @@ -205,7 +205,7 @@ _Libraries for Machine Learning. Also see [awesome-machine-learning](https://git - [lightgbm](https://github.com/lightgbm-org/LightGBM) - A fast, distributed, high performance gradient boosting framework. - [catboost](https://github.com/catboost/catboost) - A fast, scalable, high performance gradient boosting on decision trees library. - Time Series Forecasting - - [timesfm](https://github.com/google-research/timesfm) - A pretrained foundation model from Google Research for time-series forecasting. + - [timesfm](https://github.com/google-research/timesfm) - A pretrained foundation model from Google Research for time-series forecasting, with non-commercial default weights. ### Natural Language Processing @@ -227,11 +227,11 @@ _Libraries for image and video analysis, object detection, and OCR._ - General - [opencv-python](https://github.com/opencv/opencv-python) - Open Source Computer Vision Library. - - [ultralytics](https://github.com/ultralytics/ultralytics) - Ultralytics YOLO for object detection, segmentation, pose estimation, and classification with state-of-the-art accuracy and speed. + - [ultralytics](https://github.com/ultralytics/ultralytics) - Ultralytics YOLO for object detection, segmentation, pose estimation, classification, and tracking. - [kornia](https://github.com/kornia/kornia/) - Open Source Differentiable Computer Vision Library for PyTorch. - [fiftyone](https://github.com/voxel51/fiftyone) - The open-source tool for building high-quality datasets and computer vision models. - OCR - - [pytesseract](https://github.com/madmaze/pytesseract) - A wrapper for [Google Tesseract OCR](https://github.com/tesseract-ocr). + - [pytesseract](https://github.com/madmaze/pytesseract) - A wrapper for the [Tesseract OCR](https://github.com/tesseract-ocr) engine. - [easyocr](https://github.com/JaidedAI/EasyOCR) - Ready-to-use OCR with 80+ languages supported. ### Recommender Systems @@ -251,7 +251,7 @@ _Traditional full stack web frameworks. Also see [Web APIs](#web-apis)._ - Synchronous - [flask](https://github.com/pallets/flask) - A microframework for Python. - [awesome-flask](https://github.com/humiaozuzu/awesome-flask) - - [django](https://github.com/django/django) - The most popular web framework in Python. + - [django](https://github.com/django/django) - A high-level web framework that encourages rapid development and clean, pragmatic design. - [awesome-django](https://github.com/wsvincent/awesome-django) - [bottle](https://github.com/bottlepy/bottle) - A fast and simple micro-framework distributed as a single file with no dependencies. - [pyramid](https://github.com/Pylons/pyramid) - A small, fast, down-to-earth, open source Python web framework. @@ -299,7 +299,7 @@ _ASGI and WSGI compatible web servers._ _Libraries for working with WebSocket._ - [websockets](https://github.com/python-websockets/websockets) - A library for building WebSocket servers and clients with a focus on correctness and simplicity. -- [channels](https://github.com/django/channels) - Developer-friendly asynchrony for Django. +- [channels](https://github.com/django/channels) - Brings WebSocket, long-poll HTTP, and other async support to Django. - [flask-socketio](https://github.com/miguelgrinberg/Flask-SocketIO) - Socket.IO integration for Flask applications. - [autobahn-python](https://github.com/crossbario/autobahn-python) - WebSocket & WAMP for Python on Twisted and [asyncio](https://docs.python.org/3/library/asyncio.html). @@ -419,7 +419,7 @@ _Libraries for connecting and operating databases._ - MySQL - [awesome-mysql](https://github.com/shlomi-noach/awesome-mysql) - [pymysql](https://github.com/PyMySQL/PyMySQL) - A pure-Python MySQL and MariaDB client library, based on PEP 249. - - [mysqlclient](https://github.com/PyMySQL/mysqlclient) - MySQL connector with Python 3 support ([mysql-python](https://sourceforge.net/projects/mysql-python/) fork). + - [mysqlclient](https://github.com/PyMySQL/mysqlclient) - MySQL and MariaDB connector ([MySQLdb1](https://github.com/farcepest/MySQLdb1) fork). - PostgreSQL - [awesome-postgres](https://github.com/dhamaniasad/awesome-postgres) - [psycopg](https://github.com/psycopg/psycopg) - The most popular PostgreSQL adapter for Python. - [asyncpg](https://github.com/MagicStack/asyncpg) - A fast PostgreSQL Database Client Library for Python/asyncio. @@ -502,7 +502,7 @@ _Libraries for data extraction, transformation, and loading pipelines across mul - [pathway](https://github.com/pathwaycom/pathway) - Python ETL framework for stream processing, real-time analytics, LLM pipelines, and RAG. - Financial Data - [yfinance](https://github.com/ranaroussi/yfinance) - Easy Pythonic way to download market and financial data from Yahoo Finance. - - [akshare](https://github.com/akfamily/akshare) - A financial data interface library, built for human beings! + - [akshare](https://github.com/akfamily/akshare) - A financial data interface library, with data provided for academic research only. - [edgartools](https://github.com/dgunning/edgartools) - Library for downloading structured data from SEC EDGAR filings and XBRL financial statements. - [openbb](https://github.com/OpenBB-finance/OpenBB) - A financial data platform for analysts, quants and AI agents. @@ -512,7 +512,7 @@ _Libraries for validating data. Used for forms in many cases._ - [pydantic](https://github.com/pydantic/pydantic) - Data validation using Python type hints. - [jsonschema](https://github.com/python-jsonschema/jsonschema) - An implementation of [JSON Schema](https://json-schema.org/) for Python. -- [pandera](https://github.com/unionai-oss/pandera) - A data validation library for dataframes, with support for pandas, polars, and Spark. +- [pandera](https://github.com/unionai-oss/pandera) - A data validation library for dataframes, with support for pandas, polars, PySpark, and more. ### Data Visualization @@ -548,7 +548,7 @@ _Libraries for scientific computing. Also see [Python-for-Scientists](https://gi - Core - [numpy](https://github.com/numpy/numpy) - A fundamental package for scientific computing with Python. - [scipy](https://github.com/scipy/scipy) - Fundamental algorithms for scientific computing in Python. - - [numba](https://github.com/numba/numba) - Python JIT compiler to LLVM aimed at scientific Python. + - [numba](https://github.com/numba/numba) - A NumPy-aware JIT compiler for Python, using LLVM. - Symbolic Mathematics - [sympy](https://github.com/sympy/sympy) - A Python library for symbolic mathematics. - Statistics @@ -578,7 +578,7 @@ _Libraries for quantum computing._ - [qiskit](https://github.com/Qiskit/qiskit) - An IBM-backed quantum SDK for building, simulating, and running circuits on real quantum hardware. - [qutip](https://github.com/qutip/qutip) - Quantum Toolbox in Python. -- [pennylane](https://github.com/PennyLaneAI/pennylane) - A hybrid quantum-classical machine learning library with automatic differentiation support. +- [pennylane](https://github.com/PennyLaneAI/pennylane) - A cross-platform library for quantum computing, quantum machine learning, and quantum chemistry. - [cirq](https://github.com/quantumlib/Cirq) - A Google-developed framework focused on hardware-aware quantum circuit design for NISQ devices. **Developer Tools** @@ -745,7 +745,7 @@ _Frameworks and libraries for Distributed Computing._ - [ray](https://github.com/ray-project/ray/) - A unified framework for scaling AI and Python applications. - [pyspark](https://github.com/apache/spark) - [Apache Spark](https://spark.apache.org/) Python API. - [dask](https://github.com/dask/dask) - A flexible parallel computing library for analytic computing. -- [joblib](https://github.com/joblib/joblib) - A set of tools to provide lightweight pipelining in Python. +- [joblib](https://github.com/joblib/joblib) - Parallel computing and disk-based caching for Python functions. - [mpi4py](https://github.com/mpi4py/mpi4py) - Python bindings for MPI. ### Task Queues @@ -755,7 +755,7 @@ _Libraries for working with task queues._ - [celery](https://github.com/celery/celery) - An asynchronous task queue/job queue based on distributed message passing. - [rq](https://github.com/rq/rq) - Simple job queues for Python. - [dramatiq](https://github.com/Bogdanp/dramatiq) - A fast and reliable background task processing library for Python 3. -- [huey](https://github.com/coleifer/huey) - Little multi-threaded task queue. +- [huey](https://github.com/coleifer/huey) - A little task queue with multi-process, multi-thread, or greenlet workers. - [taskiq](https://github.com/taskiq-python/taskiq) - Distributed task queue with native asyncio support and pluggable brokers. ### Messaging @@ -868,7 +868,7 @@ _Libraries for working with graphical user interface applications._ _Libraries for parsing and manipulating plain texts._ - Encoding and Unicode - - [charset-normalizer](https://github.com/jawah/charset_normalizer) - Universal character encoding detector, the default of the requests ecosystem. + - [charset-normalizer](https://github.com/jawah/charset_normalizer) - Universal character encoding detector, and a dependency of requests. - [chardet](https://github.com/chardet/chardet) - Python character encoding detector. - [ftfy](https://github.com/rspeer/python-ftfy) - Makes Unicode text less broken and more consistent automagically. - Fuzzy Matching @@ -899,7 +899,7 @@ _Libraries for working with HTML and XML._ - [lxml](https://github.com/lxml/lxml) - A very fast, easy-to-use and versatile library for handling HTML and XML. - [xmltodict](https://github.com/martinblech/xmltodict) - Working with XML feel like you are working with JSON. - [markupsafe](https://github.com/pallets/markupsafe) - Safely adds untrusted strings to HTML/XML markup. -- [justhtml](https://github.com/EmilStenstrom/justhtml/) - A pure Python HTML5 parser that just works. +- [justhtml](https://github.com/EmilStenstrom/justhtml/) - A pure Python HTML5 parser that sanitizes untrusted HTML by default. ### File Format Processing @@ -956,7 +956,7 @@ _Libraries for manipulating images._ - [scikit-image](https://github.com/scikit-image/scikit-image) - A Python library for (scientific) image processing. - [rembg](https://github.com/danielgatis/rembg) - A tool to remove image backgrounds. - [wand](https://github.com/emcconville/wand) - Python bindings for [MagickWand](https://imagemagick.org/magick-wand/), C API for ImageMagick. - - [pyvips](https://github.com/libvips/pyvips) - A fast image processing library with low memory needs. + - [pyvips](https://github.com/libvips/pyvips) - A binding for libvips, a fast image processing library with low memory needs. - Image Serving - [thumbor](https://github.com/thumbor/thumbor) - A smart imaging service. It enables on-demand crop, re-sizing and flipping of images. @@ -1109,7 +1109,7 @@ _Libraries for storing and parsing configuration options._ _Libraries for cryptographic primitives and secure protocols._ - [cryptography](https://github.com/pyca/cryptography) - A package designed to expose cryptographic primitives and recipes to Python developers. -- [pynacl](https://github.com/pyca/pynacl) - Python binding to the Networking and Cryptography (NaCl) library. +- [pynacl](https://github.com/pyca/pynacl) - Python binding to libsodium, a fork of the Networking and Cryptography (NaCl) library. - [paramiko](https://github.com/paramiko/paramiko) - The leading native Python SSHv2 protocol library. - [itsdangerous](https://github.com/pallets/itsdangerous) - Safely pass trusted data to untrusted environments and back. From a25bb7ac54a80155b5dea034e9160c6c8a79d6e6 Mon Sep 17 00:00:00 2001 From: Vinta Chen Date: Sun, 27 Sep 2026 15:10:37 +0800 Subject: [PATCH 20/21] docs: remove stale nested awesome lists for pyramid and fasthtml awesome-pyramid last pushed 2021-07-08 and awesome-fasthtml 2024-09-08, both stale (checked via GitHub API 2026-09-27). Co-Authored-By: Claude --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index 90393eed9e..80951eeb76 100644 --- a/README.md +++ b/README.md @@ -255,9 +255,7 @@ _Traditional full stack web frameworks. Also see [Web APIs](#web-apis)._ - [awesome-django](https://github.com/wsvincent/awesome-django) - [bottle](https://github.com/bottlepy/bottle) - A fast and simple micro-framework distributed as a single file with no dependencies. - [pyramid](https://github.com/Pylons/pyramid) - A small, fast, down-to-earth, open source Python web framework. - - [awesome-pyramid](https://github.com/uralbash/awesome-pyramid) - [fasthtml](https://github.com/AnswerDotAI/fasthtml) - The fastest way to create an HTML app. - - [awesome-fasthtml](https://github.com/amosgyamfi/awesome-fasthtml) - Asynchronous - [starlette](https://github.com/Kludex/starlette) - A lightweight ASGI framework and toolkit for building high-performance async services. - [tornado](https://github.com/tornadoweb/tornado) - A web framework and asynchronous networking library. From b6748825e6dd91b8ee8a260f131b0cc54645cc81 Mon Sep 17 00:00:00 2001 From: Vinta Chen Date: Sun, 27 Sep 2026 15:19:27 +0800 Subject: [PATCH 21/21] style: give inline code in intros a chip appearance Inline code in category intros and guides inherited the body font with no background, so identifiers like INSTALLED_APPS read as ordinary words. Co-Authored-By: Claude --- website/static/style.css | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/website/static/style.css b/website/static/style.css index 12ff6cdf34..4ada7574c4 100644 --- a/website/static/style.css +++ b/website/static/style.css @@ -535,7 +535,12 @@ kbd { .category-intro code, .guide-body code { + font-family: ui-monospace, "SFMono-Regular", "Menlo", monospace; font-size: 0.9em; + padding: 0.08rem 0.4rem; + border-radius: 0.4rem; + background: var(--hero-line); + color: var(--hero-text); } .jump-links {