{"package":"attune-ai","ecosystem":"pypi","latest_version":"6.5.3","description":"AI-powered developer workflows for Claude with cost optimization, multi-agent orchestration, and workflow automation.","license":"Apache-2.0","license_risk":"permissive","commercial_use_notes":"Permissive: commercial closed-source use OK; preserve the copyright notice.","homepage":"https://pypi.org/project/attune-ai/","repository":"https://github.com/Smart-AI-Memory/attune-ai","downloads_weekly":455,"health":{"score":68,"risk":"moderate","breakdown":{"maintenance":25,"popularity":3,"security":25,"maturity":15,"community":0},"deprecated":false,"max_score":100},"vulnerabilities":{"count":0,"critical":0,"high":0,"medium":0,"low":0,"details":[]},"versions":{"latest":"6.5.3","total_count":105,"recent":["5.3.1","5.3.2","5.4.0","5.5.0","5.6.0","5.7.0","5.8.0","5.8.1","5.9.0","5.10.1","5.10.2","6.0.0","6.1.0","6.2.0","6.3.0","6.4.0","6.4.1","6.5.0","6.5.1","6.5.3"]},"metadata":{"deprecated":false,"deprecated_message":null,"maintainers_count":0,"first_published":null,"last_published":"2026-05-01T11:43:43.825326Z","dependencies_count":140,"dependencies":["pydantic<3.0.0,>=2.4.0","typing-extensions<5.0.0,>=4.0.0","python-dotenv<2.0.0,>=1.0.0","structlog<26.0.0,>=24.0.0","defusedxml<1.0.0,>=0.7.0","rich<16.0.0,>=13.0.0","typer<1.0.0,>=0.9.0","pyyaml<7.0,>=6.0","anthropic<1.0.0,>=0.40.0","claude-agent-sdk<1.0.0,>=0.1.60","python-multipart>=0.0.26","cryptography>=46.0.7","langsmith<2.0.0,>=0.7.31","jinja2<4.0.0,>=3.1.0","attune-rag<0.2,>=0.1.5","attune-author<0.7,>=0.6.2; extra == \"author\"","redis<8.0.0,>=5.0.0; extra == \"memory\"","agent-memory-client>=0.14.0; extra == \"redis\"","redis<8.0.0,>=5.0.0; extra == \"redis\"","anthropic>=0.40.0; extra == \"anthropic\"","anthropic>=0.40.0; extra == \"llm\"","memdocs>=1.0.0; extra == \"memdocs\"","langchain<2.0.0,>=1.0.0; extra == \"agents\"","langchain-core<2.0.0,>=1.2.28; extra == \"agents\"","langchain-text-splitters<1.2.0,>=1.1.2; extra == \"agents\"","langgraph<2.0.0,>=1.0.0; extra == \"agents\"","langgraph-checkpoint<5.0.0,>=3.0.0; extra == \"agents\"","marshmallow<5.0.0,>=4.1.2; extra == \"agents\"","fastapi<1.0.0,>=0.109.1; extra == \"backend\"","uvicorn<1.0.0,>=0.20.0; extra == \"backend\"","starlette<2.0.0,>=0.40.0; extra == \"backend\"","bcrypt<6.0.0,>=4.0.0; extra == \"backend\"","PyJWT[crypto]<3.0.0,>=2.12.0; extra == \"backend\"","pygls<3.0.0,>=1.0.0; extra == \"lsp\"","lsprotocol<2026.0.0,>=2023.0.0; extra == \"lsp\"","colorama<1.0.0,>=0.4.6; extra == \"windows\"","opentelemetry-api<2.0.0,>=1.20.0; extra == \"otel\"","opentelemetry-sdk<2.0.0,>=1.20.0; extra == \"otel\"","opentelemetry-exporter-otlp-proto-grpc<2.0.0,>=1.20.0; extra == \"otel\"","mkdocs<2.0.0,>=1.5.0; extra == \"docs\"","mkdocs-material<10.0.0,>=9.4.0; extra == \"docs\"","mkdocstrings[python]<2.0.0,>=0.24.0; extra == \"docs\"","mkdocs-with-pdf<1.0.0,>=0.9.3; extra == \"docs\"","pymdown-extensions<11.0,>=10.0; extra == \"docs\"","pytest<10.0,>=9.0.3; extra == \"dev\"","pytest-asyncio<2.0,>=0.21; extra == \"dev\"","pytest-cov<8.0,>=4.0; extra == \"dev\"","pytest-mock<4.0,>=3.14.0; extra == \"dev\"","pytest-xdist<4.0,>=3.5.0; extra == \"dev\"","pytest-testmon<3.0,>=2.1.0; extra == \"dev\"","pytest-picked<1.0,>=0.5.0; extra == \"dev\"","black<27.0,>=24.3.0; extra == \"dev\"","mypy<2.0,>=1.0; extra == \"dev\"","types-PyYAML<7.0,>=6.0; extra == \"dev\"","ruff<1.0,>=0.1; extra == \"dev\"","coverage<8.0,>=7.0; extra == \"dev\"","bandit<2.0,>=1.7; extra == \"dev\"","pre-commit<5.0,>=3.0; extra == \"dev\"","httpx<1.0.0,>=0.27.0; extra == \"dev\"","fastapi<1.0.0,>=0.109.1; extra == \"dev\"","requests<3.0.0,>=2.28.0; extra == \"dev\"","attune-rag<0.2,>=0.1.5; extra == \"dev\"","anthropic>=0.40.0; extra == \"developer\"","memdocs>=1.0.0; extra == \"developer\"","langchain<2.0.0,>=1.0.0; extra == \"developer\"","langchain-core<2.0.0,>=1.2.28; extra == \"developer\"","langchain-text-splitters<1.2.0,>=1.1.2; extra == \"developer\"","langgraph<2.0.0,>=1.0.0; extra == \"developer\"","langgraph-checkpoint<5.0.0,>=3.0.0; extra == \"developer\"","marshmallow<5.0.0,>=4.1.2; extra == \"developer\"","python-docx<2.0.0,>=0.8.11; extra == \"developer\"","pyyaml<7.0,>=6.0; extra == \"developer\"","redis<8.0.0,>=5.0.0; extra == \"developer\"","anthropic>=0.40.0; extra == \"enterprise\"","memdocs>=1.0.0; extra == \"enterprise\"","langchain<2.0.0,>=1.0.0; extra == \"enterprise\"","langchain-core<2.0.0,>=1.2.28; extra == \"enterprise\"","langchain-text-splitters<1.2.0,>=1.1.2; extra == \"enterprise\"","langgraph<2.0.0,>=1.0.0; extra == \"enterprise\"","langgraph-checkpoint<5.0.0,>=3.0.0; extra == \"enterprise\"","marshmallow<5.0.0,>=4.1.2; extra == \"enterprise\"","python-docx<2.0.0,>=0.8.11; extra == \"enterprise\"","pyyaml<7.0,>=6.0; extra == \"enterprise\"","fastapi<1.0.0,>=0.109.1; extra == \"enterprise\"","uvicorn<1.0.0,>=0.20.0; extra == \"enterprise\"","starlette<2.0.0,>=0.40.0; extra == \"enterprise\"","bcrypt<6.0.0,>=4.0.0; extra == \"enterprise\"","PyJWT[crypto]>=2.12.0; extra == \"enterprise\"","opentelemetry-api<2.0.0,>=1.20.0; extra == \"enterprise\"","opentelemetry-sdk<2.0.0,>=1.20.0; extra == \"enterprise\"","opentelemetry-exporter-otlp-proto-grpc<2.0.0,>=1.20.0; extra == \"enterprise\"","anthropic>=0.40.0; extra == \"full\"","memdocs>=1.0.0; extra == \"full\"","langchain<2.0.0,>=1.0.0; extra == \"full\"","langchain-core<2.0.0,>=1.2.28; extra == \"full\"","langchain-text-splitters<1.2.0,>=1.1.2; extra == \"full\"","langgraph<2.0.0,>=1.0.0; extra == \"full\"","langgraph-checkpoint<5.0.0,>=3.0.0; extra == \"full\"","marshmallow<5.0.0,>=4.1.2; extra == \"full\"","python-docx<2.0.0,>=0.8.11; extra == \"full\"","pyyaml<7.0,>=6.0; extra == \"full\"","anthropic>=0.40.0; extra == \"all\"","memdocs>=1.0.0; extra == \"all\"","langchain<2.0.0,>=1.0.0; extra == \"all\"","langchain-core<2.0.0,>=1.2.28; extra == \"all\"","langchain-text-splitters<1.2.0,>=1.1.2; extra == \"all\"","langgraph<2.0.0,>=1.0.0; extra == \"all\"","langgraph-checkpoint<5.0.0,>=3.0.0; extra == \"all\"","marshmallow<5.0.0,>=4.1.2; extra == \"all\"","python-docx<2.0.0,>=0.8.11; extra == \"all\"","pyyaml<7.0,>=6.0; extra == \"all\"","fastapi<1.0.0,>=0.109.1; extra == \"all\"","uvicorn<1.0.0,>=0.20.0; extra == \"all\"","starlette<2.0.0,>=0.40.0; extra == \"all\"","bcrypt<6.0.0,>=4.0.0; extra == \"all\"","PyJWT[crypto]>=2.12.0; extra == \"all\"","pygls<3.0.0,>=1.0.0; extra == \"all\"","lsprotocol<2026.0.0,>=2023.0.0; extra == \"all\"","colorama<1.0.0,>=0.4.6; extra == \"all\"","opentelemetry-api<2.0.0,>=1.20.0; extra == \"all\"","opentelemetry-sdk<2.0.0,>=1.20.0; extra == \"all\"","opentelemetry-exporter-otlp-proto-grpc<2.0.0,>=1.20.0; extra == \"all\"","mkdocs<2.0.0,>=1.5.0; extra == \"all\"","mkdocs-material<10.0.0,>=9.4.0; extra == \"all\"","mkdocstrings[python]<2.0.0,>=0.24.0; extra == \"all\"","mkdocs-with-pdf<1.0.0,>=0.9.3; extra == \"all\"","pymdown-extensions<11.0,>=10.0; extra == \"all\"","pytest<10.0,>=9.0.3; extra == \"all\"","pytest-asyncio<2.0,>=0.21; extra == \"all\"","pytest-cov<8.0,>=4.0; extra == \"all\"","black<27.0,>=24.3.0; extra == \"all\"","mypy<2.0,>=1.0; extra == \"all\"","ruff<1.0,>=0.1; extra == \"all\"","coverage<8.0,>=7.0; extra == \"all\"","bandit<2.0,>=1.7; extra == \"all\"","pre-commit<5.0,>=3.0; extra == \"all\"","httpx<1.0.0,>=0.27.0; extra == \"all\"","urllib3<3.0.0,>=2.3.0; extra == \"all\"","aiohttp<4.0.0,>=3.10.0; extra == \"all\"","filelock<4.0.0,>=3.16.0; extra == \"all\""]},"github_stats":null,"bundle":null,"typescript":null,"known_issues":{"bugs_count":0,"bugs_severity":{},"status_breakdown":{},"link":null,"scope":"none"},"historical_compromise":null,"recommendation":{"action":"use_with_caution","issues":["Moderate health score (68/100) — verify manually"],"use_version":"6.5.3","version_hint":null,"summary":"attune-ai@6.5.3 low health (68/100) — consider alternatives"},"version_scoped":null,"requested_version":null,"_cache":"hit","_response_ms":0,"_powered_by":"depscope.dev — free package intelligence for AI agents","typosquat":{"is_suspected":false},"maintainer_trust":{"available":false},"malicious":{"is_malicious":false},"scorecard":{"available":false},"quality":{"available":false},"version_history_summary":{"total_versions":20,"first_release_age_days":null,"last_release_days_ago":1,"avg_days_between_releases":null,"release_velocity":"active"}}