repowiserepowise
Sign in
langchain-ai/langchain
OverviewDocsArchitectureKnowledge GraphFilesCode HealthRefactoring

People & History

CommitsContributorsDecisions
ChatPro
Stats
repowiserepowise
ExplorePricingDocs
Sign inIndex repoIndex your repo free
repowiselangchain-ai/langchain
LA
LA

langchain-ai / langchain

pythonmaster0727992320.5K linessynced 4h ago

Code health

6.3out of 10Fair

This codebase scores 6.3 out of 10 on defect risk, which we rate fair. It also scores maintainability 7.4 and static performance risk 10.0 out of 10. The three are scored separately and never blended into one number. The files you change most are the weak spot: 115 of 2,730 files are git hotspots, and they average 3.5.

Full health report →
Documentation2,052pages0 with model-written prose, 2,052 built from the indexScore validation19/209.47× baselineOf the 20 lowest-health files, 19 were bug-fixed in the last 6 months — 9.47× the 10% baselineDead code23exportsUnused exports that nothing in the graph reaches
Lines of code
320.5K
Files
2,730
Symbols
19,035
Modules
24
Languages
9

Recent activity

All commits →

Commits

No commits indexed yet.

Decisions

  • Add an earlier PyPI dependency validation guard for release PRsactive · 4h ago
  • avoid eager pydantic.v1 import in @deprecatedproposed · 4h ago
  • Remove shielded decorator and early-exit for non-end event handlersproposed · 4h ago
  • Unify mypy version and configuration across the monorepoproposed · 4h ago
  • Use asyncio.get_running_loop() in async contextsproposed · 4h ago
  • Make BaseCallbackManager.remove_handler robust to constructor-only handlersproposed · 4h ago

Needs attention

63 open
  • high severity. Stale decisionAdd an earlier PyPI dependency validation guard for release PRsActive decision drifting from the code it governs
  • medium severity. Proposedavoid eager `pydantic.v1` import in `@deprecated`Auto-proposed decision awaiting review
  • medium severity. ProposedRemove shielded decorator and early-exit for non-end event handlersAuto-proposed decision awaiting review
  • medium severity. ProposedUnify mypy version and configuration across the monorepoAuto-proposed decision awaiting review
  • medium severity. ProposedUse asyncio.get_running_loop() in async contextsAuto-proposed decision awaiting review

Where the risk concentrates

All 115 hotspots →

Ranked by prior bug fixes and change frequency, mined from full git history rather than from the code alone.

FileChurnPrior fixesMaintainersCommits 90d
_profiles.pylibs/partners/openrouter/langchain_openrouter/data100.0th1355
chat_models.pylibs/partners/anthropic/langchain_anthropic99.9th18bug magnet3915
test_chat_models.pylibs/partners/anthropic/tests/unit_tests99.9th19bug magnet2622
base.pylibs/partners/openai/langchain_openai/chat_models99.8th25bug magnet7419
test_base.pylibs/partners/openai/tests/unit_tests/chat_models99.8th20bug magnet3319

Composition

Open the graph →
python 93%yaml 2%json 2%markdown 1%toml 1%Other 2%

Explore this codebase

  • Docs2,052 pages across 24 modules→
  • ChatAsk this codebase a question and get an answer with its sources→
  • Files2,730 files with per-file docs, health and history→
  • ArchitectureDependency graph, layers, and 6 entry points→
  • Code healthPer-file scores, 5,373 open findings, coverage and refactoring targets→
  • Knowledge graphEntities, communities, and the paths between them→
  • Change couplingFiles that keep changing together, mined from commit history→
  • CommitsChange-risk ranked history with agent provenance→
  • ContributorsBus factor, per-file maintainers, and the human/agent split→
  • StatsSize class, origin, lifetime churn, rhythm and records→
  • CostsWhat indexing this snapshot cost, by model and by run→