Downloads in the 30 and 7 days to October 10, 2026. Refreshed weekly.
Package Information
No reported malware or high/critical advisories · Details
The current version has no OSV.dev malware reports and no critical or high-severity vulnerabilities.
Package Insights
((week_daily_avg - month_daily_avg) / month_daily_avg) * 100More insights and metrics
Downloads by OS
Python Versions
Top Countries
Weekly Downloads
GitHub Stars
Dependencies
- anthropic >=0.104.1
- cachetools >=5.0.0
- chardet >=7.4.3
- deepdiff >=9.1.0
- detect-secrets >=1.5.0
- jsonschema >=4.26.0
- mcp <3.0.0,>=1.12.3
- networkx >=3.4.2
- numpy >=2.2.6
- pathspec >=0.12.1
- psutil >=5.9.8
- pyyaml >=6.0
-
tomli
>=2.0.1
python_version < "3.11"
- tree-sitter >=0.26.0
- tree-sitter-bash >=0.23.0
- tree-sitter-c >=0.20.0
- tree-sitter-c-sharp >=0.23.1
- tree-sitter-cpp >=0.23.4
- tree-sitter-css >=0.23.0
- tree-sitter-go >=0.20.0
- tree-sitter-html >=0.23.0
- tree-sitter-java >=0.23.5
- tree-sitter-javascript >=0.23.1
- tree-sitter-json >=0.23.0
- tree-sitter-kotlin >=1.1.0
- tree-sitter-markdown >=0.3.1
- tree-sitter-php >=0.24.1
- tree-sitter-python >=0.23.6
- tree-sitter-ruby >=0.23.1
- tree-sitter-rust >=0.20.0
- tree-sitter-scala >=0.23.0
- tree-sitter-sql >=0.3.11
- tree-sitter-typescript >=0.23.2
- tree-sitter-yaml >=0.7.2
168 optional dependencies
-
anyio>=4.15.0[mcp]extra == "mcp"
-
anyio>=4.15.0[full]extra == "full"
-
anyio>=4.15.0[all]extra == "all"
-
anyio>=4.15.0[integration]extra == "integration"
-
black>=24.0.0[all]extra == "all"
-
black>=24.0.0[dev]extra == "dev"
-
black>=24.0.0[full]extra == "full"
-
httpx<1.0.0,>=0.27.0[mcp]extra == "mcp"
-
httpx<1.0.0,>=0.27.0[all]extra == "all"
-
httpx<1.0.0,>=0.27.0[full]extra == "full"
-
hypothesis>=6.0.0[dev]extra == "dev"
-
isort>=8.0.1[full]extra == "full"
-
isort>=8.0.1[dev]extra == "dev"
-
isort>=8.0.1[all]extra == "all"
-
ladybug<0.21.0,>=0.17.1[graph]extra == "graph"
-
mcp>=1.12.2[mcp]extra == "mcp"
-
mcp>=1.12.2[all]extra == "all"
-
mcp>=1.12.2[integration]extra == "integration"
-
mcp>=1.12.2[full]extra == "full"
-
memory-profiler>=0.61.0[integration]extra == "integration"
-
memory-profiler>=0.61.0[full]extra == "full"
-
memory-profiler>=0.61.0[dev]extra == "dev"
-
memory-profiler>=0.61.0[all]extra == "all"
-
mypy==2.3.1[full]extra == "full"
-
mypy==2.3.1[all]extra == "all"
-
mypy==2.3.1[dev]extra == "dev"
-
pre-commit>=3.0.0[dev]extra == "dev"
-
pre-commit>=3.0.0[all]extra == "all"
-
pre-commit>=3.0.0[full]extra == "full"
-
psutil>=5.9.8[integration]extra == "integration"
-
psutil<6,>=5.9.6[full]extra == "full"
-
psutil<6,>=5.9.6[dev]extra == "dev"
-
psutil<6,>=5.9.6[all]extra == "all"
-
pydantic>=2.13.4[all]extra == "all"
-
pydantic>=2.13.4[mcp]extra == "mcp"
-
pydantic>=2.13.4[full]extra == "full"
-
pydantic-settings>=2.2.1[mcp]extra == "mcp"
-
pydantic-settings>=2.2.1[full]extra == "full"
-
pydantic-settings>=2.2.1[all]extra == "all"
-
pytest>=8.4.1[integration]extra == "integration"
-
pytest>=8.4.1[all]extra == "all"
-
pytest>=8.4.1[dev]extra == "dev"
-
pytest>=8.4.1[full]extra == "full"
-
pytest>=8.4.1[test]extra == "test"
-
pytest-asyncio>=1.4.0[all]extra == "all"
-
pytest-asyncio>=1.4.0[test]extra == "test"
-
pytest-asyncio>=1.4.0[integration]extra == "integration"
-
pytest-asyncio>=1.4.0[full]extra == "full"
-
pytest-asyncio>=1.4.0[dev]extra == "dev"
-
pytest-benchmark>=4.0.0[integration]extra == "integration"
-
pytest-cov>=4.0.0[all]extra == "all"
-
pytest-cov>=4.0.0[test]extra == "test"
-
pytest-cov>=4.0.0[integration]extra == "integration"
-
pytest-cov>=4.0.0[full]extra == "full"
-
pytest-cov>=4.0.0[dev]extra == "dev"
-
pytest-mock>=3.14.1[full]extra == "full"
-
pytest-mock>=3.14.1[all]extra == "all"
-
pytest-mock>=3.14.1[dev]extra == "dev"
-
pytest-mock>=3.14.1[test]extra == "test"
-
pytest-mock>=3.14.1[integration]extra == "integration"
-
pytest-rerunfailures>=16.3[test]extra == "test"
-
pytest-rerunfailures>=16.3[dev]extra == "dev"
-
pytest-timeout>=2.4.0[all]extra == "all"
-
pytest-timeout>=2.4.0[full]extra == "full"
-
pytest-timeout>=2.4.0[integration]extra == "integration"
-
pytest-timeout>=2.4.0[test]extra == "test"
-
pytest-timeout>=2.4.0[dev]extra == "dev"
-
pytest-xdist>=3.8.0[all]extra == "all"
-
pytest-xdist>=3.8.0[dev]extra == "dev"
-
pytest-xdist>=3.8.0[full]extra == "full"
-
pytest-xdist>=3.8.0[integration]extra == "integration"
-
pytest-xdist>=3.8.0[test]extra == "test"
-
ruff>=0.5.0[all]extra == "all"
-
ruff>=0.5.0[full]extra == "full"
-
ruff>=0.5.0[dev]extra == "dev"
-
tree-sitter-bash<0.26.0,>=0.23.0[all-languages]extra == "all-languages"
-
tree-sitter-c<0.25.0,>=0.20.0[all]extra == "all"
-
tree-sitter-c<0.25.0,>=0.20.0[all-languages]extra == "all-languages"
-
tree-sitter-c<0.25.0,>=0.20.0[systems]extra == "systems"
-
tree-sitter-c<0.25.0,>=0.20.0[full]extra == "full"
-
tree-sitter-c<0.25.0,>=0.20.0[c]extra == "c"
-
tree-sitter-c-sharp>=0.23.1[test]extra == "test"
-
tree-sitter-c-sharp>=0.23.1[all-languages]extra == "all-languages"
-
tree-sitter-c-sharp>=0.23.1[csharp]extra == "csharp"
-
tree-sitter-cpp<0.25.0,>=0.23.4[all]extra == "all"
-
tree-sitter-cpp<0.25.0,>=0.23.4[all-languages]extra == "all-languages"
-
tree-sitter-cpp<0.25.0,>=0.23.4[cpp]extra == "cpp"
-
tree-sitter-cpp<0.25.0,>=0.23.4[full]extra == "full"
-
tree-sitter-cpp<0.25.0,>=0.23.4[systems]extra == "systems"
-
tree-sitter-cpp>=0.23.4[test]extra == "test"
-
tree-sitter-css<0.25.0,>=0.23.0[all-languages]extra == "all-languages"
-
tree-sitter-css<0.25.0,>=0.23.0[css]extra == "css"
-
tree-sitter-css<0.25.0,>=0.23.0[all]extra == "all"
-
tree-sitter-css<0.25.0,>=0.23.0[web]extra == "web"
-
tree-sitter-go<0.25.0,>=0.20.0[go]extra == "go"
-
tree-sitter-go<0.25.0,>=0.20.0[full]extra == "full"
-
tree-sitter-go<0.25.0,>=0.20.0[systems]extra == "systems"
-
tree-sitter-go<0.25.0,>=0.20.0[all-languages]extra == "all-languages"
-
tree-sitter-go<0.25.0,>=0.20.0[all]extra == "all"
-
tree-sitter-html<0.25.0,>=0.23.0[all-languages]extra == "all-languages"
-
tree-sitter-html<0.25.0,>=0.23.0[web]extra == "web"
-
tree-sitter-html<0.25.0,>=0.23.0[all]extra == "all"
-
tree-sitter-html<0.25.0,>=0.23.0[html]extra == "html"
-
tree-sitter-java>=0.23.5[test]extra == "test"
-
tree-sitter-java<0.25.0,>=0.23.5[all-languages]extra == "all-languages"
-
tree-sitter-java<0.25.0,>=0.23.5[full]extra == "full"
-
tree-sitter-java>=0.23.5[integration]extra == "integration"
-
tree-sitter-java<0.25.0,>=0.23.5[java]extra == "java"
-
tree-sitter-java<0.25.0,>=0.23.5[popular]extra == "popular"
-
tree-sitter-java<0.25.0,>=0.23.5[all]extra == "all"
-
tree-sitter-javascript<0.25.0,>=0.23.1[full]extra == "full"
-
tree-sitter-javascript>=0.23.1[integration]extra == "integration"
-
tree-sitter-javascript<0.25.0,>=0.23.1[javascript]extra == "javascript"
-
tree-sitter-javascript<0.25.0,>=0.23.1[popular]extra == "popular"
-
tree-sitter-javascript<0.25.0,>=0.23.1[web]extra == "web"
-
tree-sitter-javascript>=0.23.1[test]extra == "test"
-
tree-sitter-javascript<0.25.0,>=0.23.1[all]extra == "all"
-
tree-sitter-javascript<0.25.0,>=0.23.1[all-languages]extra == "all-languages"
-
tree-sitter-kotlin>=1.1.0[kotlin]extra == "kotlin"
-
tree-sitter-kotlin>=1.1.0[all-languages]extra == "all-languages"
-
tree-sitter-lua>=0.5.0[lua]extra == "lua"
-
tree-sitter-lua>=0.5.0[all-languages]extra == "all-languages"
-
tree-sitter-markdown>=0.3.1[integration]extra == "integration"
-
tree-sitter-markdown>=0.3.1[full]extra == "full"
-
tree-sitter-markdown>=0.3.1[all-languages]extra == "all-languages"
-
tree-sitter-markdown>=0.3.1[markdown]extra == "markdown"
-
tree-sitter-markdown>=0.3.1[all]extra == "all"
-
tree-sitter-php<0.25.0,>=0.23.0[all-languages]extra == "all-languages"
-
tree-sitter-php<0.25.0,>=0.23.0[test]extra == "test"
-
tree-sitter-php<0.25.0,>=0.23.0[web]extra == "web"
-
tree-sitter-php<0.25.0,>=0.23.0[php]extra == "php"
-
tree-sitter-python<0.25.0,>=0.23.0[python]extra == "python"
-
tree-sitter-python<0.25.0,>=0.23.0[all]extra == "all"
-
tree-sitter-python<0.25.0,>=0.23.0[all-languages]extra == "all-languages"
-
tree-sitter-python<0.25.0,>=0.23.0[full]extra == "full"
-
tree-sitter-python>=0.23.0[integration]extra == "integration"
-
tree-sitter-python<0.25.0,>=0.23.0[popular]extra == "popular"
-
tree-sitter-python>=0.23.0[test]extra == "test"
-
tree-sitter-ruby<0.25.0,>=0.23.0[all-languages]extra == "all-languages"
-
tree-sitter-ruby<0.25.0,>=0.23.0[test]extra == "test"
-
tree-sitter-ruby<0.25.0,>=0.23.0[web]extra == "web"
-
tree-sitter-ruby<0.25.0,>=0.23.0[ruby]extra == "ruby"
-
tree-sitter-rust<0.25.0,>=0.20.0[systems]extra == "systems"
-
tree-sitter-rust<0.25.0,>=0.20.0[all-languages]extra == "all-languages"
-
tree-sitter-rust<0.25.0,>=0.20.0[all]extra == "all"
-
tree-sitter-rust<0.25.0,>=0.20.0[full]extra == "full"
-
tree-sitter-rust<0.25.0,>=0.20.0[rust]extra == "rust"
-
tree-sitter-scala<0.27.0,>=0.23.0[all-languages]extra == "all-languages"
-
tree-sitter-sql<0.4.0,>=0.3.11[sql]extra == "sql"
-
tree-sitter-sql<0.4.0,>=0.3.11[test]extra == "test"
-
tree-sitter-sql<0.4.0,>=0.3.11[all]extra == "all"
-
tree-sitter-sql<0.4.0,>=0.3.11[all-languages]extra == "all-languages"
-
tree-sitter-swift>=0.7.2[swift]extra == "swift"
-
tree-sitter-swift>=0.7.2[all]extra == "all"
-
tree-sitter-swift>=0.7.2[all-languages]extra == "all-languages"
-
tree-sitter-swift>=0.7.2[full]extra == "full"
-
tree-sitter-typescript>=0.20.0[integration]extra == "integration"
-
tree-sitter-typescript<0.25.0,>=0.20.0[all]extra == "all"
-
tree-sitter-typescript<0.25.0,>=0.20.0[popular]extra == "popular"
-
tree-sitter-typescript<0.25.0,>=0.20.0[typescript]extra == "typescript"
-
tree-sitter-typescript<0.25.0,>=0.20.0[web]extra == "web"
-
tree-sitter-typescript<0.25.0,>=0.20.0[all-languages]extra == "all-languages"
-
tree-sitter-typescript<0.25.0,>=0.20.0[full]extra == "full"
-
tree-sitter-yaml>=0.7.2[all-languages]extra == "all-languages"
-
tree-sitter-yaml>=0.7.2[yaml]extra == "yaml"
-
types-psutil>=5.9.0[all]extra == "all"
-
types-psutil>=5.9.0[dev]extra == "dev"
-
types-psutil>=5.9.0[full]extra == "full"