Source: https://seerepo.com/compare/plotly/plotly.py/vs/ray-project/ray
Markdown source: https://seerepo.com/compare/plotly/plotly.py/vs/ray-project/ray.md
Description: plotly.py and ray share 7 technologies: pyarrow, Plotly, scikit-learn, scikit-image, jinja2, nbconvert, and psutil. Both are written in Python.

# plotly.py vs ray

plotly.py and ray share 7 technologies: pyarrow, Plotly, scikit-learn, scikit-image, jinja2, nbconvert, and psutil. Both are written in Python.

- [plotly/plotly.py](https://seerepo.com/r/plotly/plotly.py): The interactive graphing library for Python :sparkles:
- [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: pyarrow, Plotly, scikit-learn, scikit-image, jinja2, nbconvert, psutil
- Only in plotly.py: umap-learn, jupytext, recommonmark, @lumino/widgets
- Only in ray: FastAPI, amqp, async-lru, azure-common, azure-datalake-store, azure-storage-blob, confluent-kafka, diskcache, expiringdict, gitdb, google-cloud-core, h5py, kombu, pickleshare, pylance, pymongo, 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, starlette, AIOHTTP, Lightning, anyio, tornado, uvicorn, React, react-router-dom, alabaster, cycler, fonttools, jupyterlab-pygments, pydata-sphinx-theme, soupsieve, sphinx-design, tinycss2, contourpy, glfw, jupyter-server-terminals, jupyterlab-widgets, matplotlib-inline, prompt-toolkit, pyopengl, Textual, widgetsnbextension, xyzservices, Gradio, ipywidgets, matplotlib, Rich, pydot, alembic, peewee, sqlglot, SQLAlchemy, argon2-cffi, argon2-cffi-bindings, azure-identity, flask-basicauth, google-auth-oauthlib, itsdangerous, joserfc, jwcrypto, keyring, msal, msal-extensions, oauth2client, oauthlib, pyjwt, requests-oauthlib, cryptography, google-auth-httplib2, albucore, bitsandbytes, cmdstanpy, crcmod, cupy-cuda12x, cupy-cuda13x, einops, fairscale, gradio-client, gym, LangChain, llvmlite, lm-eval, ml-dtypes, MLflow, nltk, ONNX, onnxruntime, onnxscript, openai-whisper, opt-einsum, orbax-checkpoint, peft, prophet, rouge-score, sacrebleu, safetensors, sentencepiece, skops, tf-keras, tiktoken, timm, tokenizers, torchtext, triton, gymnasium, torch, transformers, TensorFlow, jax, torchvision, xgboost, lightgbm, 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, lxml, mako, markdown, markdown-it-py, markupsafe, mdurl, mistune, moviepy, nh3, openpyxl, pandocfilters, ruamel-yaml, webencodings, xlrd, xmltodict, pillow, docutils, beautifulsoup4, av, nbformat, torchcodec, annotated-types, fastjsonschema, fqdn, jsonschema-specifications, pathvalidate, pydantic-core, referencing, rfc3339-validator, rfc3986, rfc3986-validator, validators, Pydantic, jsonschema, 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

| | plotly.py | ray |
|---|---|---|
| Size | 534,516 lines written, 1,522 code files | 1,531,664 lines written, 2,777 code files |
| Who writes it | 0.5% of its commits signed by AI. With Claude Code, Codex, and GitHub Copilot | 3.6% of its commits signed by AI. With Claude Code, Gemini CLI, GitHub Copilot, Cursor, and Codex |
| Activity | Last push November 3, 2026, 7,140 commits, 18,878 stars | Last push November 6, 2026, 32,373 commits, 44,213 stars |
| Tests | 155 test files. 1.2% 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, plotly.py or ray?

ray, with 1,531,664 lines written; plotly.py has 534,516.

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

### Which has more GitHub stars, plotly.py or ray?

ray, with 44,213 stars; plotly.py has 18,878.

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

### Which has more tests, plotly.py or ray?

ray, with 2,168 test files; plotly.py has 155.

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

### Which was updated more recently, plotly.py or ray?

ray: its last push was on November 6, 2026, and plotly.py's on November 3, 2026.

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

### Which has more commits signed by AI, plotly.py or ray?

ray: an AI signed 3.6% of its commits, with Claude Code, Gemini CLI, GitHub Copilot, Cursor, and Codex; in plotly.py, 0.5%.

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

## Sources

- plotly/plotly.py: Read on November 6, 2026, at commit bcc6863 (https://github.com/plotly/plotly.py/tree/bcc6863fa487f73d45484313ccd11037ccb7b3f5)
- 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.
