feat: merge latest changes from crewAI-tools main into packages/tools

- Merged upstream changes from crewAI-tools main branch
- Resolved conflicts due to monorepo structure (crewai_tools -> src/crewai_tools)
- Removed deprecated embedchain adapters
- Added new RAG loaders and crewai_rag_adapter
- Consolidated dependencies in pyproject.toml

Fixed critical linting issues:
- Added ClassVar annotations for mutable class attributes
- Added timeouts to requests calls (30s default)
- Fixed exception handling with proper 'from' clauses
- Added noqa comments for public API functions (backward compatibility)
- Updated ruff config to ignore expected patterns:
  - F401 in __init__ files (intentional re-exports)
  - S101 in test files (assertions are expected)
  - S607 for subprocess calls (uv/pip commands are safe)

Remaining issues are from upstream code and will be addressed in separate PRs.
This commit is contained in:
Greyson LaLonde
2025-09-19 00:08:27 -04:00
156 changed files with 4530 additions and 2718 deletions

View File

@@ -9,12 +9,18 @@ authors = [
requires-python = ">=3.10,<3.14"
dependencies = [
"crewai-core",
"click>=8.1.8",
"lancedb>=0.5.4",
"pytube>=15.0.0",
"requests>=2.31.0",
"docker>=7.1.0",
"tiktoken>=0.8.0",
"stagehand>=0.4.1",
"portalocker==2.7.0",
"beautifulsoup4>=4.13.4",
"pypdf>=5.9.0",
"python-docx>=1.2.0",
"youtube-transcript-api>=1.2.2",
]
[project.urls]
@@ -24,9 +30,6 @@ Documentation = "https://docs.crewai.com"
[project.optional-dependencies]
embedchain = [
"embedchain>=0.1.114",
]
scrapfly-sdk = [
"scrapfly-sdk>=0.8.19",
]
@@ -124,6 +127,12 @@ oxylabs = [
mongodb = [
"pymongo>=4.13"
]
mysql = [
"pymysql>=1.1.1"
]
postgresql = [
"psycopg2-binary>=2.9.10"
]
bedrock = [
"beautifulsoup4>=4.13.4",
"bedrock-agentcore>=0.1.0",
@@ -135,6 +144,9 @@ contextual = [
"nest-asyncio>=1.6.0",
]
[tool.hatch.metadata]
allow-direct-references = true
[tool.pytest.ini_options]
testpaths = ["tests"]
@@ -149,3 +161,12 @@ build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["src/crewai_tools"]
[dependency-groups]
dev = [
"pytest-asyncio>=0.25.2",
"pytest>=8.0.0",
"pytest-recording>=0.13.3",
"mypy>=1.18.1",
"ruff>=0.13.0",
]