{"package":"ai-afterimage","ecosystem":"pypi","latest_version":"0.7.0","description":"Episodic memory for Claude Code - persistent memory of code written across sessions with churn tracking","license":"MIT","license_risk":"permissive","commercial_use_notes":"Permissive: commercial closed-source use OK; preserve the copyright notice.","homepage":"https://pypi.org/project/ai-afterimage/","repository":"https://github.com/DragonShadows1978/AI-AfterImage","downloads_weekly":40,"health":{"score":54,"risk":"high","breakdown":{"maintenance":20,"popularity":0,"security":25,"maturity":9,"community":0},"deprecated":false,"max_score":100},"vulnerabilities":{"count":0,"critical":0,"high":0,"medium":0,"low":0,"details":[]},"versions":{"latest":"0.7.0","total_count":11,"recent":["0.1.0","0.2.0","0.2.1","0.3.0","0.3.1","0.4.0","0.5.0","0.5.1","0.5.2","0.6.0","0.7.0"]},"metadata":{"deprecated":false,"deprecated_message":null,"maintainers_count":0,"first_published":null,"last_published":"2026-03-02T17:42:06.769248Z","dependencies_count":23,"dependencies":["pyyaml>=6.0","sentence-transformers>=2.2.0; extra == \"embeddings\"","torch>=2.0.0; extra == \"embeddings\"","asyncpg>=0.29.0; extra == \"postgresql\"","psycopg[binary]>=3.1.0; extra == \"postgresql\"","pgvector>=0.2.5; extra == \"postgresql\"","numpy>=1.24.0; extra == \"postgresql\"","nest-asyncio>=1.5.0; extra == \"postgresql\"","pytest>=7.0; extra == \"dev\"","pytest-cov>=4.0; extra == \"dev\"","pytest-asyncio>=0.21.0; extra == \"dev\"","black>=23.0; extra == \"dev\"","ruff>=0.1.0; extra == \"dev\"","mypy>=1.0; extra == \"dev\"","tree-sitter>=0.23.0; extra == \"ast\"","tree-sitter-python>=0.23.0; extra == \"ast\"","tree-sitter-javascript>=0.23.0; extra == \"ast\"","tree-sitter-typescript>=0.23.0; extra == \"ast\"","tree-sitter-rust>=0.23.0; extra == \"ast\"","tree-sitter-go>=0.23.0; extra == \"ast\"","tree-sitter-c>=0.23.0; extra == \"ast\"","tree-sitter-cpp>=0.23.0; extra == \"ast\"","ai-afterimage[ast,dev,embeddings,postgresql]; extra == \"all\""]},"github_stats":{"stars":22,"forks":3,"open_issues":0,"is_archived":false,"pushed_at":"2026-03-02T17:27:58Z","subscribers_count":2},"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 (54/100) — verify manually"],"use_version":"0.7.0","version_hint":null,"summary":"ai-afterimage@0.7.0 low health (54/100) — consider alternatives"},"version_scoped":null,"_meta":{"endpoint":"check","tier":"full","philosophy":"DepScope is free. Use the cheapest endpoint that answers your real question.","cheaper_alternatives":[{"endpoint":"/api/exists/pypi/ai-afterimage","tokens_estimated":12,"use_when":"you only need to know if the package exists (hallucination guard)"},{"endpoint":"/api/health/pypi/ai-afterimage","tokens_estimated":80,"use_when":"you only need a 0-100 score for go/no-go (>=70 = safe)"},{"endpoint":"/api/prompt/pypi/ai-afterimage","tokens_estimated":280,"use_when":"you want a plain-text LLM-friendly brief instead of JSON"},{"endpoint":"POST /api/check_bulk","tokens_estimated":60,"use_when":"you have 5+ packages to check; sends one round-trip instead of N"}],"docs":"https://depscope.dev/integrate","hint_bulk":"You've called /api/check 35 times in 60s. Save bandwidth + tokens with POST /api/check_bulk (1 round-trip for N pkgs)."},"requested_version":null,"_cache":"miss","_response_ms":979,"_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":11,"first_release_age_days":null,"last_release_days_ago":61,"avg_days_between_releases":null,"release_velocity":"active"}}