--- id: pyquery version: "2.1.0" license: BSD license_treatment: permissive maintenance: active --- # pyquery — A jquery-like library for python License: permissive · Maintenance: active · Downloads: 2.0M/mo ## What it is and what it does pyquery is a Python wrapper around lxml that mimics jQuery's API for querying and manipulating XML and HTML documents. Instead of writing XPath or raw lxml code, you write familiar jQuery-style selectors and method chains to find elements, extract text, modify attributes, and transform DOM structures. It's particularly useful for web scraping and HTML parsing tasks where you want the convenience of jQuery syntax without leaving Python. The library loads documents from strings, files, URLs, or existing lxml trees, then lets you traverse and modify them using pseudo-classes like :first, :last, :even, :odd, and :has(). Recent versions (2.0+) introduced breaking changes around URL auto-fetching and cssselect compatibility, so existing code may need updates when upgrading. Use it for: - Web scraping: extract data from HTML pages using CSS selectors instead of XPath expressions - HTML template manipulation: modify or generate HTML documents programmatically before serving - XML document transformation: query and rewrite XML files with a simpler API than raw lxml - Form data extraction: serialize form elements according to spec using built-in methods - DOM testing: verify HTML structure and content in automated tests with jQuery-like assertions ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. pyquery lets you query and manipulate XML and HTML documents using a jQuery-like API, built on lxml for fast parsing and transformation. Yes. pyquery is actively maintained, has no known vulnerabilities, installs with low friction, and offers genuine convenience for HTML/XML work if you're comfortable with jQuery syntax. The permissive BSD license poses no barrier. Check release notes for breaking changes if upgrading from versions before 2.0. ## Install pip install pyquery uv add pyquery poetry add pyquery ## Installing pyquery Before you install: Low friction install with just two runtime dependencies (lxml and cssselect). Actively maintained as of 2026-07-27 with recent releases and 2380 repository stars. License in practice: BSD permissive license allows use in most commercial and open-source projects without significant restrictions. Quickstart: pip install pyquery from pyquery import PyQuery as pq d = pq('

Hello world!

') print(d('#hello').text()) Verify before relying: - Whether cssselect 1.4.x pinning (mentioned in 2.0.2 release notes) remains a hard requirement or has been relaxed in 2.1.0 - Specific Python version support floor for 2.1.0 (classifiers list 3.11, 3.12, 3.13 but minimum is unspecified) ## Package facts - License: BSD (permissive) - Python support: unspecified - Install friction: low - Maintenance: active - Downloads: 2.0M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags jquery-like html parsing python, xml document querying, css selector html manipulation, web scraping with jquery syntax, lxml wrapper jquery api, html dom traversal python, web-scraping, html-parsing, dom-manipulation [View on SkillFed](https://skillfed.io/packages/pyquery) · [View on PyPI](https://pypi.org/project/pyquery/)