Source: https://seerepo.com/compare/assafelovic/gpt-researcher/vs/ray-project/ray
Markdown source: https://seerepo.com/compare/assafelovic/gpt-researcher/vs/ray-project/ray.md
Description: gpt-researcher and ray share 30 technologies: FastAPI, anyio, starlette, AIOHTTP, uvicorn, React, fonttools, soupsieve, tinycss2, SQLAlchemy, cryptography, nltk, tokenizers, LangChain, tiktoken, jinja2, lxml, markupsafe, webencodings, beautifulsoup4, markdown, mistune, pillow, annotated-types, jsonschema, jsonschema-specifications, pydantic-core, referencing, Pydantic, and psutil. Both are written in Python.

# gpt-researcher vs ray

gpt-researcher and ray share 30 technologies: FastAPI, anyio, starlette, AIOHTTP, uvicorn, React, fonttools, soupsieve, tinycss2, SQLAlchemy, cryptography, nltk, tokenizers, LangChain, tiktoken, jinja2, lxml, markupsafe, webencodings, beautifulsoup4, markdown, mistune, pillow, annotated-types, jsonschema, jsonschema-specifications, pydantic-core, referencing, Pydantic, and psutil. Both are written in Python.

- [assafelovic/gpt-researcher](https://seerepo.com/r/assafelovic/gpt-researcher): An autonomous agent that conducts deep research on any data using any LLM providers
- [ray-project/ray](https://seerepo.com/r/ray-project/ray): Ray is an AI compute engine. Ray consists of a core distributed runtime and a set of AI Libraries for accelerating ML workloads.

## What they share and what sets them apart

- In common: FastAPI, anyio, starlette, AIOHTTP, uvicorn, React, fonttools, soupsieve, tinycss2, SQLAlchemy, cryptography, nltk, tokenizers, LangChain, tiktoken, jinja2, lxml, markupsafe, webencodings, beautifulsoup4, markdown, mistune, pillow, annotated-types, jsonschema, jsonschema-specifications, pydantic-core, referencing, Pydantic, psutil
- Only in gpt-researcher: Next.js, @next/third-parties, langdetect, LangGraph, langgraph-sdk, langsmith, litellm, MCP, Ollama, OpenAI, tavily-python, unstructured-client, langchain-community, langchain-openai, langchain-mcp-adapters, langchain-text-splitters, deepagents, langchain-ollama, langchain-classic, cssselect2, feedparser, filetype, html5lib, markdown2, olefile, pydyf, pymupdf, pypdf, python-magic, python-oxmsg, python-pptx, tinyhtml5, unstructured, python-docx, weasyprint, marshmallow, loguru, Tailwind CSS, react-hot-toast, Framer, react-dropzone, @langchain/langgraph-sdk, isomorphic-dompurify, remark, remark-gfm, remark-html, ag2, langchain-core
- Only in ray: amqp, async-lru, azure-common, azure-datalake-store, azure-storage-blob, confluent-kafka, diskcache, expiringdict, gitdb, google-cloud-core, h5py, kombu, pickleshare, pylance, pymongo, pyarrow, aioboto3, MongoDB, Redis, adlfs, smart-open, pyiceberg, pymysql, clickhouse-connect, deltalake, gcsfs, Celery, fastavro, pyzmq, s3fs, webdataset, Google, Hugging Face, Google Cloud Storage, Kafka, asgiref, Flask, flask-cors, graphene, graphql-core, graphql-relay, jupyter-core, jupyterlab-server, werkzeug, Ray, Lightning, tornado, react-router-dom, alabaster, cycler, jupyterlab-pygments, pydata-sphinx-theme, sphinx-design, contourpy, glfw, jupyter-server-terminals, jupyterlab-widgets, matplotlib-inline, Plotly, prompt-toolkit, pyopengl, Textual, widgetsnbextension, xyzservices, Gradio, ipywidgets, matplotlib, Rich, pydot, alembic, peewee, sqlglot, argon2-cffi, argon2-cffi-bindings, azure-identity, flask-basicauth, google-auth-oauthlib, itsdangerous, joserfc, jwcrypto, keyring, msal, msal-extensions, oauth2client, oauthlib, pyjwt, requests-oauthlib, google-auth-httplib2, albucore, bitsandbytes, cmdstanpy, crcmod, cupy-cuda12x, cupy-cuda13x, einops, fairscale, gradio-client, gym, llvmlite, lm-eval, ml-dtypes, MLflow, ONNX, onnxruntime, onnxscript, openai-whisper, opt-einsum, orbax-checkpoint, peft, prophet, rouge-score, sacrebleu, safetensors, scikit-image, sentencepiece, skops, tf-keras, timm, torchtext, triton, gymnasium, torch, transformers, TensorFlow, jax, torchvision, xgboost, lightgbm, scikit-learn, accelerate, datasets, pytorch-lightning, evaluate, flax, Keras, torchmetrics, albumentations, deepspeed, diffusers, hyperopt, Optuna, pettingzoo, tensordict, tensorflow-datasets, tensorflow-probability, torchaudio, bleach, defusedxml, et-xmlfile, imageio, imageio-ffmpeg, imagesize, jsonlines, linkify-it-py, mako, markdown-it-py, mdurl, moviepy, nbconvert, nh3, openpyxl, pandocfilters, ruamel-yaml, xlrd, xmltodict, docutils, av, nbformat, torchcodec, fastjsonschema, fqdn, pathvalidate, rfc3339-validator, rfc3986, rfc3986-validator, validators, openapi-schema-validator, aiobotocore, azure-mgmt-compute, azure-mgmt-resource, colorlog, Gunicorn, opentelemetry-api, opentelemetry-instrumentation, opentelemetry-semantic-conventions, python-json-logger, boto3, botocore, prometheus-client, OpenTelemetry, kubernetes, opentelemetry-exporter-prometheus, docker, opentelemetry-exporter-otlp-proto-grpc, opentelemetry-instrumentation-fastapi, typeface-roboto, MUI, usehooks-ts, lowlight, react-window, react-icons, @mui/icons-material, js-yaml

## Side by side

| | gpt-researcher | ray |
|---|---|---|
| Size | 51,624 lines written, 233 code files | 1,531,664 lines written, 2,777 code files |
| Who writes it | 3.2% of its commits signed by AI. With Claude Code, Cursor, GitHub Copilot, Jules, and Codex | 3.6% of its commits signed by AI. With Claude Code, Gemini CLI, GitHub Copilot, Cursor, and Codex |
| Activity | Last push October 10, 2026, 2,477 commits, 30,542 stars | Last push November 6, 2026, 32,373 commits, 44,213 stars |
| Tests | 149 test files. 36.5% of its code files have a test that imports them | 2,168 test files. 9.7% of its code files have a test that imports them |

- Size: Lines written by people and agents, without generated ones; code files, without tests.
- Who writes it: A commit counts as AI's when it carries its signature: a Co-Authored-By line, its author name or the merge of its branch.
- Activity: From GitHub and its history, on the day SeeRepo read it.
- Tests: The files that test the code, and the share of code files a test imports.

## Frequently asked questions

### Which is bigger, gpt-researcher or ray?

ray, with 1,531,664 lines written; gpt-researcher has 51,624.

The proof: [ray-project/ray's code at commit 77567c5](https://github.com/ray-project/ray/tree/77567c5c5790e9e91aa40a5af93004ef958c2ffc)

### Which has more GitHub stars, gpt-researcher or ray?

ray, with 44,213 stars; gpt-researcher has 30,542.

The proof: [ray-project/ray on GitHub](https://github.com/ray-project/ray)

### Which has more tests, gpt-researcher or ray?

ray, with 2,168 test files; gpt-researcher has 149.

The proof: [ray-project/ray's code at commit 77567c5](https://github.com/ray-project/ray/tree/77567c5c5790e9e91aa40a5af93004ef958c2ffc)

### Which was updated more recently, gpt-researcher or ray?

ray: its last push was on November 6, 2026, and gpt-researcher's on October 10, 2026.

The proof: [ray-project/ray's commits on GitHub](https://github.com/ray-project/ray/commits)

### Which has more commits signed by AI, gpt-researcher or ray?

ray: an AI signed 3.6% of its commits, with Claude Code, Gemini CLI, GitHub Copilot, Cursor, and Codex; in gpt-researcher, 3.2%.

The proof: [the commits each tool signed in ray-project/ray](https://seerepo.com/r/ray-project/ray/ai)

## Sources

- assafelovic/gpt-researcher: Read on November 7, 2026, at commit 3582a68 (https://github.com/assafelovic/gpt-researcher/tree/3582a6841fe7dc801e2a34e34ee408641aea9bce)
- ray-project/ray: Read on November 6, 2026, at commit 77567c5 (https://github.com/ray-project/ray/tree/77567c5c5790e9e91aa40a5af93004ef958c2ffc)

## What is your repo built with?

Any public repo, with no account: https://seerepo.com/r/owner/repo/built, with the owner and name it has on GitHub.
