Skip to content

Comments

Fix #4550: Update tokenizers dependency to >=0.21 to fix broken sdist#4551

Open
devin-ai-integration[bot] wants to merge 2 commits intomainfrom
devin/1771621914-fix-tokenizers-version
Open

Fix #4550: Update tokenizers dependency to >=0.21 to fix broken sdist#4551
devin-ai-integration[bot] wants to merge 2 commits intomainfrom
devin/1771621914-fix-tokenizers-version

Conversation

@devin-ai-integration
Copy link
Contributor

@devin-ai-integration devin-ai-integration bot commented Feb 20, 2026

Fix #4550: Update tokenizers dependency to >=0.21 to fix broken sdist

Summary

tokenizers==0.20.3 has a broken pyproject.toml (missing project.version field), causing installation failures when uv needs to build from source (sdist). This changes the constraint from ~=0.20.3 (locked to 0.20.x) to >=0.21,<1, which resolves to tokenizers==0.22.2 in the lock file.

tokenizers is not directly imported anywhere in the crewai source — it's a transitive dependency (used by chromadb and others).

Added 4 regression tests to guard against re-introducing the broken version range.

Review & Testing Checklist for Human

  • Verify the uv.lock regeneration didn't introduce unintended dependency bumps. The lock file was fully regenerated (not surgically patched), so many packages beyond tokenizers changed versions (e.g., a2a-sdk 0.3.22→0.3.24, numpy resolution splits by Python version). Skim the lock diff for anything concerning — the diff is very large.
  • Evaluate whether >=0.21,<1 is too broad a range. The old constraint was very tight (~=0.20.3). A narrower range like ~=0.22.0 might be more appropriate for this project's pinning style. Consider whether chromadb or other transitive consumers of tokenizers have compatibility concerns with future tokenizers releases.
  • Run the full test suite to confirm the lock file changes don't break anything beyond what CI covers. CI passed on all four Python versions (3.10–3.13), but integration-level issues from transitive version bumps may not surface in unit tests.

Notes

#4550)

tokenizers 0.20.x has a broken pyproject.toml (missing project.version),
which causes installation failures when building from source (sdist),
particularly on Windows with uv. Update the constraint from ~=0.20.3
to >=0.21,<1 to avoid the broken versions.

Add regression tests to ensure the constraint stays correct.

Co-Authored-By: João <joao@crewai.com>
@devin-ai-integration
Copy link
Contributor Author

Prompt hidden (unlisted session)

@devin-ai-integration
Copy link
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

Co-Authored-By: João <joao@crewai.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.9.3 cannot be installed because tokenizers 0.20.3

0 participants