The AI agent frameworks that PyPI projects actually import

Published 14 November 2026 · Data as of 13 November 2026

Scripts and results for this post on GitHub

The AI agent frameworks PyPI projects importData as of 13 Nov 2026Projects that importit6,779 ✓LangChain (any langchainmodule)2,417LangGraphThe LangChainalternatives1,203Pydantic AI1,184CrewAIVendor agent SDKs,both new in 2025973Claude Agent SDK840OpenAI Agents SDK79.5% of the 14,659 projects that import the OpenAI or Anthropic SDK import no agentframework at all.Latest release of 354,763 PyPI projects, 13 Nov 2026. The tools' own packages are notcounted. Downloads: pypistats.org. py-code.org
The AI agent frameworks PyPIprojects importData as of 13 Nov 2026Projects that import it6,779 ✓LangChain (anylangchain module)2,417LangGraphThe LangChain alternatives1,203Pydantic AI1,184CrewAIVendor agent SDKs, both new in 2025973Claude Agent SDK840OpenAI Agents SDK79.5% of the 14,659 projects thatimport the OpenAI or Anthropic SDKimport no agent framework at all.Latest release of 354,763 PyPI projects,13 Nov 2026. The tools' own packages arenot counted. Downloads: pypistats.org.py-code.org

Rankings of AI agent frameworks usually compare features and GitHub stars. Of the seven top-ranking pages we read, two are LangChain's own. This post counts something else: how many published Python projects import each framework in their code. It covers 25 frameworks, from LangChain and LangGraph to CrewAI, Pydantic AI, LlamaIndex and the agent SDKs from Anthropic, OpenAI, Google and AWS.

py-code.org reads the code in the latest release of 354,763 PyPI projects and records every import. We counted the projects that import each framework. We left out the framework's own add-on packages, such as the many langchain-* integrations, so the count shows projects built on top of it.

The short answer

QuestionAnswerKey number
Which agent framework do the most projects import?LangChain, then LangGraph6,779 and 2,417 projects
Which LangChain alternatives come next?Pydantic AI, CrewAI and LlamaIndex, close together1,203, 1,184 and 1,111 projects
How do the model vendors' agent SDKs do?The Claude Agent SDK and the OpenAI Agents SDK are next, though both first appeared on PyPI in 2025973 and 840 projects
Do most LLM projects use a framework?No. Most call the OpenAI or Anthropic SDK directly11,655 of 14,659 (79.5%) import no framework

Verdict: LangChain is still the agent framework the most PyPI projects import, by a wide margin. But most projects that call an LLM import no framework at all, and among the alternatives, Pydantic AI, CrewAI and LlamaIndex are within 92 projects of each other.

AI agent frameworks ranked by the projects that import them

The table counts the projects whose code imports each framework. "Of the top 60,000" counts the ones among the 60,000 most downloaded projects on PyPI. The downloads column is the framework package's own downloads in the last month, from pypistats.org, and "First on PyPI" is the month the package name was first uploaded.

FrameworkProjectsOf the top 60,000Downloads, last monthFirst on PyPI
LangChain6,779721157M2022-10
LangGraph2,41728859M2024-01
Pydantic AI1,2032246.9M2024-05
CrewAI1,1841272.6M2023-11
LlamaIndex1,1111565.8M (llama-index-core)2023-02
Claude Agent SDK97315936M2025-09
OpenAI Agents SDK84012619M2025-03
Google ADK54610111M2025-03
Haystack379820.6M2023-11
DSPy310475.6M2024-04
Deep Agents309558.8M2025-07
Strands Agents2766438M2025-05
AutoGen (Microsoft)263320.4M2024-08
AG2 and classic AutoGen246280.2M2024-11
Agno210382.2M2024-12
smolagents170390.7M2024-12
Microsoft Agent Framework168340.2M2025-10
Semantic Kernel109200.3M2023-03
AgentScope5690.3M2024-02
Letta3640.01M2024-08
CAMEL2430.06M2023-12
Burr1010.02M2024-02
Griptape740.06M2023-04
Langroid510.02M2023-07
MetaGPT410.00M2023-07
AI agent frameworks imported by PyPIprojectsprojects that import itLangChain6,779LangGraph2,417Pydantic AI1,203CrewAI1,184LlamaIndex1,111Claude Agent SDK973OpenAI Agents SDK840Google ADK546Haystack379DSPy310Deep Agents309Strands Agents276AutoGen (Microsoft)263AG2 and classic AutoGen246
Projects whose code imports each AI agent framework, not counting the framework's own add-on packages, for the 14 frameworks with the most. Data as of 13 November 2026.

How to read the table: a project counts once per framework, however many files import it, and a project that imports three frameworks counts for each of them. LangChain counts any langchain_* module, including langchain_core and langchain_community. The OpenAI Agents SDK installs as openai-agents but imports as agents, a name many projects use for their own code, so our count includes only projects that import one of the SDK's public names, such as Runner or function_tool.

LangChain vs LangGraph: most LangGraph projects import LangChain too

6,779 projects import LangChain and 2,417 import LangGraph. The two overlap: 1,814 of the 2,417 projects that import LangGraph also import a LangChain module, and only 603 use LangGraph without it. LangGraph itself requires langchain-core, and since version 1.0, the langchain package requires langgraph (langchain on PyPI).

Deep Agents, LangChain's newer "agent harness", is built on the same stack and requires langchain (deepagents on PyPI). 309 projects import it, though it first appeared on PyPI in July 2025.

Key point: the LangChain alternatives are often used alongside LangChain rather than instead of it. 820 of the 1,111 projects that import LlamaIndex also import LangChain, and so do 846 of the 1,184 that import CrewAI.

LangChain alternatives: Pydantic AI, CrewAI and LlamaIndex

  • Pydantic AI (1,203 projects) is the agent framework from the Pydantic team. Its users trace with Pydantic Logfire more than with any other SDK; see which observability SDKs PyPI projects import.
  • CrewAI (1,184 projects) has the most add-on packages after LangChain: 160 crewai-* projects import it and are not in the count.
  • LlamaIndex (1,111 projects) is often compared with LangChain: "llamaindex vs langchain" and "langchain vs llamaindex" are searched about 1,100 times a month in the US, according to Semrush.

LlamaIndex vs LangChain

LangChain is imported by about 6 times as many projects as LlamaIndex: 6,779 against 1,111. Many projects use both: 820 import modules from each. Downloads show a bigger gap: langchain had 157 million downloads in the last month and llama-index-core, the package every LlamaIndex install includes, had 5.8 million.

The model vendors' agent SDKs: Claude Agent SDK, OpenAI Agents SDK, Google ADK and Strands

Four of the frameworks come from Anthropic, OpenAI, Google and AWS, and all four first appeared on PyPI in 2025. Microsoft Agent Framework, also new in 2025, is covered with AutoGen below.

  • Claude Agent SDK (973 projects, 36 million downloads in the last month). Anthropic renamed it from the Claude Code SDK, and the migration guide says to change imports from claude_code_sdk to claude_agent_sdk (Anthropic docs). We count both names.
  • OpenAI Agents SDK (840 projects, 19 million downloads). Installed as openai-agents, imported as agents (openai-agents on PyPI).
  • Google ADK (546 projects, 11 million downloads). Installed as google-adk, imported as google.adk.
  • Strands Agents from AWS (276 projects, 38 million downloads). Installed as strands-agents, imported as strands.

147 projects import both the Claude and the OpenAI agent SDKs, and 178 import the OpenAI Agents SDK together with LangGraph.

AutoGen, AG2, Semantic Kernel and Microsoft Agent Framework

AutoGen has split into two lines, and Microsoft now points AutoGen users to a third framework. The import counts are split between them:

  • Microsoft's AutoGen (autogen_agentchat, autogen_core, autogen_ext): 263 projects. Its repository is archived, and its README calls Microsoft Agent Framework "the enterprise‑ready successor to AutoGen" (microsoft/autogen).
  • AG2 and classic AutoGen (ag2, and the older autogen module): 246 projects. From version 1.0, the ag2 package "no longer ships the autogen import name" and is imported as ag2 (ag2ai/ag2).
  • Microsoft Agent Framework (agent_framework): 168 projects. Microsoft announced it in October 2025 and said it "unifies the enterprise-ready foundations of Semantic Kernel with the innovative orchestration of AutoGen" (Microsoft).
  • Semantic Kernel (semantic_kernel): 109 projects.

Together, the two AutoGen lines are imported by 449 projects, a lot fewer than CrewAI's 1,184. 164 projects import both CrewAI and Microsoft's AutoGen.

Haystack, DSPy, Agno, smolagents and the rest

Further down the table, each framework has a few hundred projects or fewer: Haystack (379), DSPy (310), Agno (210), smolagents (170), AgentScope (56), Letta (36) and CAMEL (24). Burr, Griptape, Langroid and MetaGPT each have 10 projects or fewer. MetaGPT has 4, although Semrush estimates that "metagpt" is searched as often as "google adk" in the US, about 8,100 times a month.

Why: a framework's search interest and downloads do not tell you how many projects build on it. Downloads include every install pulled in as a dependency, and searches include people reading about a framework without using it. The import count shows how many published projects call it in their code.

Most LLM code on PyPI uses no framework

14,659 projects import the OpenAI or the Anthropic SDK. 11,655 of them (79.5%) import none of the 25 agent frameworks: they call the model API directly. The OpenAI SDK alone is imported by 12,215 projects, more than LangChain, and the Anthropic SDK by 7,760.

The MCP SDK, which lets a program offer tools to an AI assistant through the Model Context Protocol, is imported by 20,056 projects, more than any framework. 11,921 of them (59.4%) have "MCP" or "Model Context Protocol" in their name or summary, which suggests most are MCP servers and clients rather than agents.

Tip: to see how projects like yours use a framework, search py-code.org for its module, for example langgraph, pydantic_ai or crewai. Each result links to the file and line.

How to check who uses a framework

  • On py-code.org, search for a module to see the most downloaded projects that import it: langchain_core, llama_index, claude_agent_sdk.
  • From a terminal: uvx py-code-org who-uses crewai lists the same projects.

You can count the importers yourself on the Hugging Face copy of the index, in your browser or with DuckDB. The query below counts every project that imports each plain module name. Like the table, it leaves out each framework's own add-on packages and the iflow-mcp* copies, so most of its counts match the table's. A few rows differ, such as LlamaIndex and the Claude Agent SDK, because the table also counts other names for them, such as claude_code_sdk.

In your browser, on Hugging Face

The dataset's SQL console runs DuckDB inside your browser, and you need no account. Open this query in the console. The first run can stop with "Table with name refs does not exist", because it starts before the table has loaded. Click Run Query again: the console then loads refs and runs the query. To type it yourself, open the dataset viewer, click SQL Console, click refs under Subsets and Splits to load it, and use refs as the table name:

SELECT module, count(DISTINCT project) AS projects
FROM (
  SELECT project,
         CASE WHEN starts_with(module, 'langchain') THEN 'langchain_*' ELSE module END AS module
  FROM refs
  WHERE starts_with(module, 'langchain')
     OR module IN ('langgraph', 'pydantic_ai', 'crewai', 'llama_index', 'claude_agent_sdk',
                   'strands', 'dspy', 'deepagents', 'agno', 'smolagents', 'openai', 'anthropic')
)
-- leave out each tool's own packages (langchain-*, crewai-*) and the iflow-mcp copies
WHERE NOT starts_with(lower(project), 'iflow-mcp')
  AND NOT starts_with(replace(replace(lower(project), '_', '-'), '.', '-') || '-',
                      replace(replace(module, '_*', ''), '_', '-') || '-')
GROUP BY module
ORDER BY projects DESC;

In our test the first run took about 4 minutes, most of it loading the 40 million rows of refs into the browser. Later queries took a few seconds. The console reads the latest build of the dataset, which is rebuilt weekly. It matched this post on 14 November 2026, and its counts will drift after the next rebuild.

With DuckDB, on the exact snapshot

DuckDB reads the same Parquet files from Hugging Face in place. The @9d81d70d… in each path pins the 13 November 2026 build, so this query always gives the same numbers:

SELECT module, count(DISTINCT project) AS projects
FROM (
  SELECT project,
         CASE WHEN starts_with(module, 'langchain') THEN 'langchain_*' ELSE module END AS module
  FROM 'hf://datasets/pypi-data/py-code@9d81d70d6519d77f4dee4811b3e3a5d88379c17d/refs.parquet'
  WHERE starts_with(module, 'langchain')
     OR module IN ('langgraph', 'pydantic_ai', 'crewai', 'llama_index', 'claude_agent_sdk',
                   'strands', 'dspy', 'deepagents', 'agno', 'smolagents', 'openai', 'anthropic')
)
-- leave out each tool's own packages (langchain-*, crewai-*) and the iflow-mcp copies
WHERE NOT starts_with(lower(project), 'iflow-mcp')
  AND NOT starts_with(replace(replace(lower(project), '_', '-'), '.', '-') || '-',
                      replace(replace(module, '_*', ''), '_', '-') || '-')
GROUP BY module
ORDER BY projects DESC;

It returned:

┌──────────────────┬──────────┐
│      module      │ projects │
│     varchar      │  int64   │
├──────────────────┼──────────┤
│ openai           │    12215 │
│ anthropic        │     7760 │
│ langchain_*      │     6779 │
│ langgraph        │     2417 │
│ pydantic_ai      │     1203 │
│ crewai           │     1184 │
│ llama_index      │     1135 │
│ claude_agent_sdk │      930 │
│ dspy             │      310 │
│ deepagents       │      309 │
│ strands          │      276 │
│ agno             │      210 │
│ smolagents       │      170 │
└──────────────────┴──────────┘
  13 rows           2 columns

The script behind every number in this post, with the exact rule for each framework, is in the pypi-data/blog repository with its results.

How the numbers were counted

  • Which projects. The index holds the latest release of 354,763 projects: every project released between 13 November 2025 and 13 November 2026, plus the 60,000 most downloaded projects even when their latest release is older. A project with no release since 13 November 2025 is only in the index if it is among the 60,000 most downloaded, so a framework whose users have stopped releasing is undercounted.
  • What counts as using a framework. A project counts when the code in its latest release imports the framework's module anywhere, including tests and examples.
  • Add-on packages left out. Projects whose names start with the framework's own name, such as langchain-*, llama-index-* or crewai-*, are not counted for that framework. We also dropped 2,144 iflow-mcp_* projects, which are copies of other people's MCP servers republished under one prefix. The new packages post uses the same rule but counts only projects released in the last year, so it gives LangChain 6,721 rather than 6,779.
  • Downloads and dates. Package downloads are for the last month, from pypistats.org, fetched on 14 November 2026. First-release dates are the first upload of the package name on PyPI. "Of the top 60,000" uses the index's own ranking, which comes from ClickHouse's public PyPI dataset.

Frequently asked questions

What is the most popular AI agent framework?

LangChain. 6,779 PyPI projects import a LangChain module and 2,417 import LangGraph. Next come Pydantic AI (1,203), CrewAI (1,184) and LlamaIndex (1,111).

What are the best LangChain alternatives?

By the number of PyPI projects that import them: Pydantic AI (1,203), CrewAI (1,184), LlamaIndex (1,111), the Claude Agent SDK (973) and the OpenAI Agents SDK (840). Many projects use them together with LangChain rather than instead of it.

LangChain vs LlamaIndex: which is used more?

LangChain. 6,779 projects import it against 1,111 for LlamaIndex, and 820 projects import both.

What is the difference between LangChain and LangGraph?

Both come from the company LangChain, and since version 1.0 the langchain package requires langgraph. 1,814 of the 2,417 projects that import LangGraph also import LangChain.

CrewAI vs AutoGen: which is used more?

CrewAI. 1,184 projects import it, against 263 for Microsoft's AutoGen and 246 for AG2 and the classic autogen module. Microsoft has archived AutoGen and names Microsoft Agent Framework as its successor.

Do I need an agent framework to build an LLM app?

Most PyPI projects that call an LLM do without one: 11,655 of the 14,659 projects that import the OpenAI or Anthropic SDK import none of the 25 frameworks counted here.

Sources