Skip to content

fix: relax lxml constraint to support Python 3.14 (#1903)#1944

Open
hafezparast wants to merge 1 commit intounclecode:developfrom
hafezparast:fix/maysam-python314-lxml-1903
Open

fix: relax lxml constraint to support Python 3.14 (#1903)#1944
hafezparast wants to merge 1 commit intounclecode:developfrom
hafezparast:fix/maysam-python314-lxml-1903

Conversation

@hafezparast
Copy link
Copy Markdown
Contributor

Problem

lxml~=5.3 resolves to 5.4.x which has no pre-built wheels for Python 3.14 on Windows. pip falls back to a source build, which fails without libxml2 development headers — making crawl4ai uninstallable on Python 3.14.

Fix

  • Change lxml~=5.3lxml>=5.3 to allow lxml 6.x (which ships Python 3.14 wheels)
  • Add Programming Language :: Python :: 3.14 classifier

lxml 6.x is already API-compatible with crawl4ai — our venv runs 6.0.2 and the full regression suite (303 tests) passes unchanged.

Test plan

  • Full regression suite passes with lxml 6.0.2 (already our dev environment)
  • No code changes needed — pure dependency constraint relaxation

Fixes #1903

🤖 Generated with Claude Code

lxml~=5.3 blocked installation on Python 3.14 (Windows) because no
pre-built wheels exist for 5.x on 3.14 and the source build fails without
libxml2 headers. lxml 6.x ships Python 3.14 wheels and is already API-
compatible (our full regression suite runs on lxml 6.0.2 unchanged).

Change ~=5.3 to >=5.3 to allow 6.x, and add Python 3.14 classifier.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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