Source: https://seerepo.com/compare/ray-project/ray/vs/stanfordnlp/dspy
Markdown source: https://seerepo.com/compare/ray-project/ray/vs/stanfordnlp/dspy.md
Description: ray and dspy share 4 technologies: diskcache, anyio, Pydantic, and jsonschema. Both are written in Python.

# ray vs dspy

ray and dspy share 4 technologies: diskcache, anyio, Pydantic, and jsonschema. Both are written in Python.

- [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.
- [stanfordnlp/dspy](https://seerepo.com/r/stanfordnlp/dspy): DSPy: The framework for programming—not prompting—language models

## What they share and what sets them apart

- In common: diskcache, anyio, Pydantic, jsonschema
- Only in ray: FastAPI, aimrecords, aimrocks, amqp, array-record, arro3-core, async-lru, azure-common, azure-datalake-store, azure-storage-blob, confluent-kafka, delta-kernel-rust-sharing-wrapper, expiringdict, feather-format, gitdb, google-cloud-core, h5py, huey, kombu, partd, pickleshare, py-partiql-parser, pylance, pymongo, s3torchconnectorclient, s3transfer, taskiq, tensorboard-data-server, zict, pyarrow, mcap, aioboto3, MongoDB, Redis, adlfs, pyiceberg, smart-open, pymysql, clickhouse-connect, daft, deltalake, gcsfs, lance-namespace, obstore, Celery, delta-sharing, fastavro, hudi, pyzmq, s3fs, s3torchconnector, taskiq-redis, webdataset, Google, Hugging Face, Google Cloud Storage, Kafka, Databricks, adagio, asgiref, Flask, flask-cors, graphene, graphql-core, graphql-relay, jupyter-core, jupyterlab-server, pygame, pymars, werkzeug, Ray, starlette, AIOHTTP, pyspark, Lightning, raydp, tornado, uvicorn, React, react-router-dom, accessible-pygments, alabaster, cycler, fonttools, jupyterlab-pygments, pydata-sphinx-theme, soupsieve, sphinx-design, tinycss2, aim-ui, alive-progress, bokeh, contourpy, glfw, halo, jupyter-server-terminals, jupyterlab-widgets, matplotlib-inline, Plotly, prompt-toolkit, pyglet, pyopengl, spinners, Textual, widgetsnbextension, xyzservices, Gradio, ipywidgets, matplotlib, Rich, pydot, alembic, peewee, sqlglot, SQLAlchemy, adal, argon2-cffi, argon2-cffi-bindings, azure-identity, flask-basicauth, gcs-oauth2-boto-plugin, google-auth-oauthlib, google-oauth, google-reauth, id, itsdangerous, joserfc, jwcrypto, keyring, msal, msal-extensions, oauth2client, oauthlib, pyjwt, pyu2f, requests-oauthlib, cryptography, google-auth-httplib2, albucore, autograd, ax-platform, bayesian-optimization, bitsandbytes, botorch, cma, cmdstanpy, crcmod, cupy-cuda100, cupy-cuda12x, cupy-cuda13x, einops, fairscale, gpytorch, gradio-client, gym, jaxlib, labmaze, LangChain, lightning-utilities, linear-operator, llvmlite, lm-eval, minigrid, ml-dtypes, mlflow-skinny, moocore, mosaicml, nltk, ONNX, onnx-ir, onnxruntime, onnxscript, openai-whisper, opt-einsum, optax, orbax-checkpoint, peft, prophet, pymoo, pyro-ppl, pytorch-ranger, rouge-score, sacrebleu, safetensors, scikit-image, sentencepiece, skops, stanio, statsforecast, tensorflow-estimator, tf-keras, tiktoken, timm, tokenizers, torch-geometric, torchtext, triton, gymnasium, torch, transformers, TensorFlow, jax, torchvision, xgboost, lightgbm, scikit-learn, MLflow, tensorflow-metadata, accelerate, datasets, pytorch-lightning, comet-ml, dm-env, evaluate, flax, Keras, torchmetrics, aim, albumentations, ale-py, configspace, deepspeed, diffusers, dm-control, hpbandster, hyperopt, nevergrad, open-spiel, Optuna, pettingzoo, supersuit, tensordict, tensorflow-datasets, tensorflow-probability, torchaudio, bleach, defusedxml, et-xmlfile, imageio, imageio-ffmpeg, imagesize, jsonlines, linkify-it-py, lxml, mako, markdown, markdown-it-py, markupsafe, mdit-py-plugins, mdurl, mistune, moviepy, myst-parser, nbconvert, nh3, openpyxl, pandocfilters, readme-renderer, ruamel-yaml, ruamel-yaml-clib, strictyaml, tinyscaler, webencodings, xlrd, xmltodict, pillow, docutils, jinja2, beautifulsoup4, av, decord, jupytext, nbformat, torchcodec, annotated-types, fastjsonschema, fqdn, jsonschema-path, jsonschema-specifications, openapi-spec-validator, pathvalidate, pydantic-core, referencing, rfc3339-validator, rfc3986, rfc3986-validator, validators, openapi-schema-validator, aiobotocore, applicationinsights, aws-sam-translator, aws-xray-sdk, azure-cli-core, azure-cli-telemetry, azure-core, azure-mgmt-compute, azure-mgmt-core, azure-mgmt-network, azure-mgmt-resource, azure-mgmt-resource-deployments, boto, cloud-tpu-diagnostics, colorlog, execnet, Gunicorn, log-symbols, ml-goodput-measurement, msrestazure, opencensus-context, opentelemetry-api, opentelemetry-instrumentation, opentelemetry-instrumentation-asgi, opentelemetry-semantic-conventions, opentelemetry-util-http, python-json-logger, supervisor, psutil, boto3, botocore, prometheus-client, OpenTelemetry, kubernetes, opentelemetry-exporter-prometheus, docker, opentelemetry-exporter-otlp-proto-grpc, opentelemetry-instrumentation-fastapi, ray-haproxy, typeface-roboto, MUI, usehooks-ts, lowlight, react-window, react-icons, @mui/icons-material, js-yaml
- Only in dspy: gepa

## Side by side

| | ray | dspy |
|---|---|---|
| Size | 1,551,053 lines written, 2,797 code files | 132,756 lines written, 267 code files |
| Who writes it | 3.7% of its commits signed by AI. With Claude Code, Gemini CLI, GitHub Copilot, Cursor, and Codex | 5.1% of its commits signed by AI. With Amp, Claude Code, Factory, GitHub Copilot, and Devin |
| Activity | Last push November 10, 2026, 32,424 commits, 44,251 stars | Last push November 6, 2026, 4,029 commits, 38,961 stars |
| Tests | 2,192 test files. 9.5% of its code files have a test that imports them | 164 test files. 49.4% 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, ray or dspy?

ray, with 1,551,053 lines written; dspy has 132,756.

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

### Which has more GitHub stars, ray or dspy?

ray, with 44,251 stars; dspy has 38,961.

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

### Which has more tests, ray or dspy?

ray, with 2,192 test files; dspy has 164.

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

### Which was updated more recently, ray or dspy?

ray: its last push was on November 10, 2026, and dspy's on November 6, 2026.

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

### Which has more commits signed by AI, ray or dspy?

dspy: an AI signed 5.1% of its commits, with Amp, Claude Code, Factory, GitHub Copilot, and Devin; in ray, 3.7%.

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

## Sources

- ray-project/ray: Read on November 10, 2026, at commit c99c603 (https://github.com/ray-project/ray/tree/c99c603464ced6037dad09c46c06e916ec42d1d1)
- stanfordnlp/dspy: Read on November 6, 2026, at commit c400596 (https://github.com/stanfordnlp/dspy/tree/c4005960089acaf5b3b0c358fd5cf19b2152d68c)

## 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.
