Python 3.10 Readiness

Python 3.10 support graph for the 360 most popular Python packages!

What is this about?

Python 3.10 is a version of Python that is past its End Of Life. This site shows Python 3.10 support for the 360 most downloaded packages on PyPI:

  1. 83 green packages (23.1%) have dropped support for Python 3.10;
  2. 277 uncolored packages (76.9%) still support Python 3.10.

Package 'x' is uncolored. What can I do?

There can be many reasons a package is still supporting Python 3.10:

  • If you are package maintainer, it's time to start dropping support (if you haven't already). Here is an in-depth guide to Dropping support for older Python versions. If you are not able to give the time needed, please seek for help from the community.

  • If you are user of the package, send a friendly note to the package maintainer. Or fork it, and send a pull request to help move the project towards dropping Python 3.10 support.

How do you identify Python 3.10 support?

We look for the Programming Language :: Python :: 3.10 classifier on the latest release of the project, via PyPI's JSON API.

Top 120

boto3 ✗ packaging ✗ typing-extensions ✗ idna ✗ urllib3 ✗ certifi ✗ charset-normalizer ✗ requests ✗ cryptography ✗ cffi ✗ pygments ✗ pyyaml ✗ python-dateutil ✗ six ✓ pycparser ✗ pydantic ✗ setuptools ✓ pluggy ✗ click ✓ pydantic-core ✗ numpy ✓ anyio ✗ botocore ✗ iniconfig ✗ pytest ✗ annotated-types ✗ h11 ✗ typing-inspection ✗ attrs ✗ markupsafe ✓ httpx ✗ httpcore ✗ s3transfer ✗ aiobotocore ✗ python-dotenv ✗ pyjwt ✗ protobuf ✗ fsspec ✗ platformdirs ✗ pandas ✓ jinja2 ✓ opentelemetry-api ✗ starlette ✗ pillow ✗ uvicorn ✗ rpds-py ✓ pathspec ✗ filelock ✗ jsonschema ✗ jmespath ✗ referencing ✗ rich ✗ multidict ✗ markdown-it-py ✗ jsonschema-specifications ✗ tomlkit ✗ aiohttp ✗ yarl ✗ propcache ✗ mdurl ✗ websockets ✓ annotated-doc ✗ fastapi ✗ googleapis-common-protos ✗ tzdata ✓ tqdm ✗ pytz ✗ frozenlist ✗ aiohappyeyeballs ✗ aiosignal ✓ pyasn1 ✗ sniffio ✓ pip ✗ pydantic-settings ✗ wrapt ✗ trove-classifiers ✓ python-multipart ✗ google-auth ✗ pyarrow ✓ zipp ✓ tenacity ✗ importlib-metadata ✓ lxml ✗ sqlalchemy ✓ greenlet ✗ hatchling ✗ pyasn1-modules ✗ ruff ✗ wheel ✗ jiter ✗ pyparsing ✗ regex ✗ grpcio-status ✗ s3fs ✗ watchfiles ✗ grpcio ✗ openai ✗ google-api-core ✗ psutil ✓ openpyxl ✗ scipy ✓ et-xmlfile ✗ opentelemetry-semantic-conventions ✗ soupsieve ✗ distro ✗ opentelemetry-sdk ✗ beautifulsoup4 ✓ coverage ✗ truststore ✗ shellingham ✗ httpcore2 ✗ httpx2 ✗ typer ✗ mypy-extensions ✗ sse-starlette ✗ proto-plus ✗ uvloop ✗ mcp ✗ huggingface-hub ✗ colorama ✗

Top 120 - 240

wcwidth ✗ requests-oauthlib ✗ httptools ✓ editables ✗ pytest-asyncio ✗ opentelemetry-proto ✗ tomli ✓ cachetools ✗ dnspython ✓ docstring-parser ✗ oauthlib ✗ virtualenv ✗ exceptiongroup ✓ more-itertools ✗ sortedcontainers ✓ opentelemetry-exporter-otlp-proto-common ✗ werkzeug ✓ defusedxml ✓ distlib ✗ pytest-cov ✗ hf-xet ✗ networkx ✓ psycopg2-binary ✗ redis ✗ msgpack ✓ requests-toolbelt ✗ opentelemetry-exporter-otlp-proto-http ✗ fonttools ✓ mako ✗ orjson ✗ alembic ✗ tiktoken ✓ prompt-toolkit ✗ itsdangerous ✓ rsa ✗ scikit-learn ✓ tokenizers ✗ cloudpickle ✗ email-validator ✗ threadpoolctl ✗ isodate ✗ mypy ✗ pyopenssl ✗ nodeenv ✗ anthropic ✗ python-discovery ✗ httpx-sse ✗ h2 ✗ hpack ✗ websocket-client ✗ google-cloud-core ✗ hyperframe ✗ psycopg ✗ tabulate ✗ matplotlib ✓ langchain ✗ azure-core ✗ flask ✓ tzlocal ✗ pynacl ✗ zstandard ✗ joblib ✗ pytest-xdist ✗ execnet ✗ google-cloud-bigquery ✗ psycopg-binary ✗ google-cloud-storage ✗ ruamel-yaml ✗ blinker ✓ keyring ✓ kiwisolver ✗ msal ✗ bcrypt ✗ chardet ✗ opentelemetry-instrumentation ✗ jaraco-classes ✓ dill ✗ jaraco-functools ✓ jeepney ✓ langchain-core ✗ google-crc32c ✗ secretstorage ✗ librt ✗ gitpython ✗ jaraco-context ✓ identify ✓ cycler ✗ google-resumable-media ✗ google-genai ✗ prometheus-client ✗ contourpy ✓ pypdf ✗ pre-commit ✓ cfgv ✓ xxhash ✗ decorator ✗ grpcio-tools ✓ smmap ✗ asn1crypto ✗ docutils ✗ sentry-sdk ✗ uv ✗ webencodings ✗ deprecated ✓ backoff ✗ docker ✗ jsonpointer ✗ toml ✓ google-api-python-client ✗ uritemplate ✓ sympy ✗ asgiref ✗ gitdb ✗ mpmath ✗ google-auth-httplib2 ✗ xlsxwriter ✗ azure-identity ✗ traitlets ✓ aiofiles ✗ ptyprocess ✓

Top 240 - 360

asyncpg ✗ httplib2 ✓ rapidfuzz ✓ fastjsonschema ✗ narwhals ✗ pexpect ✓ opentelemetry-util-http ✗ authlib ✗ google-auth-oauthlib ✗ opentelemetry-exporter-otlp-proto-grpc ✗ msal-extensions ✗ black ✗ async-timeout ✓ playwright ✗ joserfc ✗ sqlparse ✗ pytest-json-ctrf ✓ jsonpatch ✗ pyee ✓ transformers ✗ babel ✗ python-docx ✗ executing ✗ snowflake-connector-python ✗ tinycss2 ✗ tornado ✗ gunicorn ✗ grpc-google-iam-v1 ✗ paramiko ✗ structlog ✗ markdown ✓ pyproject-hooks ✓ xmltodict ✗ azure-storage-blob ✗ parso ✗ ipython ✓ jedi ✗ asttokens ✗ litellm ✓ pyzmq ✓ typedload ✗ pytest-timeout ✗ pymupdf ✓ aioitertools ✓ ast-serialize ✗ matplotlib-inline ✗ flatbuffers ✓ mcp-types ✗ cachecontrol ✗ nbformat ✗ python-pptx ✗ pure-eval ✗ python-json-logger ✗ google-cloud-aiplatform ✗ griffelib ✓ build ✗ brotli ✓ isort ✗ databricks-sdk ✗ watchdog ✗ stack-data ✗ onnxruntime ✓ awswrangler ✗ awscli ✗ multiprocess ✗ safetensors ✗ jupyter-core ✓ marshmallow ✗ pytest-mock ✗ types-pyyaml ✓ langsmith ✓ croniter ✗ nest-asyncio ✗ pytokens ✗ beartype ✓ lz4 ✗ debugpy ✗ tomli-w ✓ kubernetes ✗ sqlglot ✓ jsonref ✓ slack-sdk ✗ poetry-core ✗ jupyter-client ✓ setuptools-scm ✗ cyclopts ✓ pypdfium2 ✓ opentelemetry-instrumentation-fastapi ✗ pyperclip ✗ lark ✓ pymysql ✓ fastuuid ✗ opentelemetry-instrumentation-asgi ✗ mdit-py-plugins ✗ uuid-utils ✗ types-requests ✓ pathable ✗ jsonschema-path ✗ cython ✗ termcolor ✗ linkify-it-py ✗ pycryptodome ✗ rich-rst ✗ vcs-versioning ✗ argon2-cffi-bindings ✗ mistune ✗ python-slugify ✗ bleach ✗ datasets ✗ text-unidecode ✓ xlrd ✓ cbor2 ✗ py-key-value-aio ✗ opentelemetry-instrumentation-requests ✗ argon2-cffi ✗ semver ✗ loguru ✗ reportlab ✗ py4j ✗ toolz ✗

Thanks

This is derivative work from py3readiness.org, a site that previously tracked general compatibility with Python 3, which in turn was a derivative of pythonwheels.com, a site that tracks which Python distributions ship the wheel distribution.