Skip to content

docs: document new features + bump to 1.5.0 (and fix extract on Python 3.9) - #125

Merged
vedaant00 merged 2 commits into
mainfrom
docs/readme-1.5.0-and-cli-fix
Aug 10, 2026
Merged

docs: document new features + bump to 1.5.0 (and fix extract on Python 3.9)#125
vedaant00 merged 2 commits into
mainfrom
docs/readme-1.5.0-and-cli-fix

Conversation

@vedaant00

Copy link
Copy Markdown
Collaborator

Documents the public features now on main and bumps the version to 1.5.0 (minor). Also fixes CI on Python 3.9 for the extract command.

README

Adds documentation for the three recent features:

Version

Bumped to 1.5.0 across pyproject.toml, src/pyscrappy/__init__.py, and server.json (both entries). Minor, since these are new backward-compatible public features.

Fix: extract on Python 3.9

extract was defined in mcp/agent.py, which imports the MCP stack (fastmcp, gated to Python >=3.10) at module load. extract has no MCP dependency, but importing it there pulled in MCP, so test collection and the command failed on 3.9 (CI red on the last PR).

Moved run_extract + the CLI entry point to a new MCP-free pyscrappy/cli.py (entry point is now pyscrappy.cli:main). The chat command still uses the MCP agent, now imported lazily only when chat runs, with a clear hint to install pyscrappy[mcp] if absent. mcp/agent.py keeps the full agent unchanged.

Verification

Full suite: 457 passed, 19 deselected. ruff check + ruff format clean. run_extract confirmed importable without loading MCP (the exact 3.9 breakage).

… 3.9

Documents the public features now on main and bumps the version (minor):
- Selector parser (#123): CSS/XPath, find_all, find_by_text, find_similar
- pyscrappy extract CLI (URL -> .md/.json/.txt/.html)
- ScraperConfig(impersonate=...) TLS fingerprint impersonation (#124)

README gains key-feature bullets, a Selector quick-start section, the
pyscrappy[stealth] extra, a command-line extract section, the impersonate
config option, and a stealth subsection under Proxies and blocked sites.
Version bumped to 1.5.0 across pyproject, __init__, and server.json.

Also fixes CI on Python 3.9: extract lived in mcp/agent.py, which imports
the MCP stack (fastmcp, 3.10+), so importing it broke 3.9. Moved
run_extract + the CLI entry to a new MCP-free pyscrappy/cli.py (entry
point pyscrappy.cli:main); chat still uses the agent, imported lazily.
@vedaant00
vedaant00 merged commit 6bcc809 into main Aug 10, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant