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 nearing its End Of Life. This site shows Python 3.10 support for the 360 most downloaded packages on PyPI:

  1. 64 green packages (17.8%) have dropped support for Python 3.10;
  2. 296 uncolored packages (82.2%) 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 ✗ urllib3 ✗ certifi ✗ setuptools ✓ typing-extensions ✗ requests ✗ botocore ✗ idna ✗ charset-normalizer ✗ aiobotocore ✗ python-dateutil ✗ cryptography ✗ six ✓ grpcio-status ✗ cffi ✗ pyyaml ✗ numpy ✓ pycparser ✗ s3transfer ✗ pydantic ✗ pluggy ✗ pygments ✗ click ✓ fsspec ✗ pandas ✓ protobuf ✗ s3fs ✗ pydantic-core ✗ attrs ✗ anyio ✗ pip ✗ h11 ✗ pytest ✗ markupsafe ✓ platformdirs ✗ annotated-types ✗ iniconfig ✗ wheel ✗ jinja2 ✓ jmespath ✗ pathspec ✗ filelock ✗ pytz ✗ httpx ✗ importlib-metadata ✓ httpcore ✗ typing-inspection ✗ python-dotenv ✗ rsa ✗ pyjwt ✗ zipp ✓ pyasn1 ✗ rich ✗ google-auth ✗ yarl ✗ aiohttp ✗ google-api-core ✗ jsonschema ✗ multidict ✗ scipy ✓ tzdata ✓ tqdm ✗ googleapis-common-protos ✗ markdown-it-py ✗ pillow ✗ colorama ✗ grpcio ✗ pyasn1-modules ✗ tomli ✓ mdurl ✗ virtualenv ✗ propcache ✗ frozenlist ✗ uvicorn ✗ trove-classifiers ✓ rpds-py ✗ requests-oauthlib ✗ referencing ✗ fastapi ✗ wrapt ✗ aiosignal ✓ jsonschema-specifications ✗ greenlet ✗ sqlalchemy ✗ starlette ✗ awscli ✗ pyarrow ✗ hatchling ✗ aiohappyeyeballs ✗ pyparsing ✗ oauthlib ✗ cachetools ✗ opentelemetry-sdk ✗ psutil ✓ opentelemetry-semantic-conventions ✗ opentelemetry-api ✗ tenacity ✗ google-genai ✗ regex ✗ annotated-doc ✗ grpcio-tools ✓ sniffio ✓ more-itertools ✗ exceptiongroup ✓ beautifulsoup4 ✓ lxml ✗ soupsieve ✗ shellingham ✗ docutils ✗ tomlkit ✗ openpyxl ✗ et-xmlfile ✗ opentelemetry-proto ✗ requests-toolbelt ✗ websockets ✗ langchain ✗ websocket-client ✗ flask ✓ distlib ✗

Top 120 - 240

msgpack ✓ proto-plus ✗ typer ✗ werkzeug ✓ pyopenssl ✗ pydantic-settings ✗ google-cloud-storage ✗ openai ✗ dnspython ✗ pynacl ✗ mypy-extensions ✗ coverage ✗ opentelemetry-exporter-otlp-proto-http ✗ psycopg2-binary ✗ google-cloud-aiplatform ✗ python-multipart ✗ scikit-learn ✓ opentelemetry-exporter-otlp-proto-grpc ✗ distro ✗ isodate ✗ networkx ✓ matplotlib ✗ keyring ✓ textual ✗ sortedcontainers ✓ fonttools ✗ opentelemetry-exporter-otlp-proto-common ✗ tabulate ✗ wcwidth ✗ decorator ✗ azure-identity ✗ jaraco-classes ✓ yandexcloud ✗ azure-core ✗ huggingface-hub ✗ secretstorage ✗ joblib ✗ jeepney ✓ bcrypt ✗ ruff ✗ redis ✗ msal ✗ editables ✗ kiwisolver ✗ gitpython ✗ jaraco-context ✓ watchfiles ✗ jiter ✗ jaraco-functools ✓ snowflake-connector-python ✗ threadpoolctl ✗ itsdangerous ✓ zstandard ✗ defusedxml ✓ pexpect ✓ types-requests ✓ ptyprocess ✓ google-cloud-core ✗ contourpy ✓ async-timeout ✓ ruamel-yaml ✗ poetry-core ✗ alembic ✗ email-validator ✗ rapidfuzz ✗ smmap ✗ deprecated ✗ gitdb ✗ pytest-cov ✗ python-discovery ✗ opentelemetry-instrumentation ✗ prompt-toolkit ✗ orjson ✗ google-crc32c ✓ kubernetes ✗ google-resumable-media ✗ google-api-python-client ✗ blinker ✓ tzlocal ✗ asn1crypto ✗ paramiko ✗ pytest-asyncio ✗ docker ✗ docstring-parser ✗ opentelemetry-exporter-otlp ✗ uv ✗ sentry-sdk ✗ sse-starlette ✗ chardet ✗ backoff ✗ sympy ✗ prometheus-client ✗ cycler ✗ google-auth-oauthlib ✗ pyproject-hooks ✓ mako ✗ uritemplate ✓ setuptools-scm ✗ google-cloud-bigquery ✗ mcp ✗ marshmallow ✗ dill ✗ build ✗ httplib2 ✓ google-auth-httplib2 ✗ fastjsonschema ✗ msal-extensions ✗ uvloop ✗ sqlparse ✗ azure-storage-blob ✗ google-cloud-secret-manager ✗ mpmath ✗ transformers ✗ google-cloud-batch ✗ hf-xet ✗ tokenizers ✗ gcsfs ✗ xmltodict ✗ babel ✗ mypy ✗

Top 240 - 360

jsonpointer ✗ google-analytics-admin ✗ ipython ✓ nodeenv ✗ aiofiles ✗ httpx-sse ✗ pydantic-ai-slim ✗ databricks-sdk ✗ authlib ✗ cloudpickle ✗ black ✗ httptools ✓ grpcio-health-checking ✗ tiktoken ✓ py4j ✗ asgiref ✗ tornado ✗ toml ✓ gunicorn ✗ opentelemetry-util-http ✗ importlib-resources ✓ parso ✗ traitlets ✓ pre-commit ✓ opentelemetry-instrumentation-requests ✗ executing ✗ cython ✗ durationpy ✓ jedi ✗ aliyun-python-sdk-core ✗ identify ✓ dbt-core ✗ langchain-core ✗ markdown ✗ pytest-xdist ✗ litellm ✗ asttokens ✗ isort ✗ pandas-stubs ✓ cfgv ✓ grpc-google-iam-v1 ✗ matplotlib-inline ✗ webencodings ✓ execnet ✗ python-json-logger ✗ nest-asyncio ✗ cachecontrol ✗ stack-data ✗ jsonschema-path ✗ pure-eval ✗ jsonpatch ✓ typing-inspect ✗ pymongo ✗ awswrangler ✗ cattrs ✗ pydantic-graph ✗ termcolor ✗ xxhash ✗ aioitertools ✓ opensearch-py ✗ h2 ✗ dbt-adapters ✗ pymysql ✓ hyperframe ✗ debugpy ✗ hpack ✗ watchdog ✗ typedload ✗ pkginfo ✗ pyperclip ✗ pytest-mock ✗ dulwich ✗ dataclasses-json ✗ jsonpath-ng ✗ msrest ✗ pathable ✗ dbt-common ✗ torch ✗ pyzmq ✗ slack-sdk ✗ requests-aws4auth ✗ rich-toolkit ✓ pycryptodome ✗ invoke ✗ tree-sitter ✓ google-cloud-monitoring ✗ google-cloud-speech ✗ lz4 ✗ databricks-sql-connector ✗ pygithub ✗ portalocker ✗ google-cloud-compute ✗ google-cloud-vision ✗ google-cloud-kms ✗ ruamel-yaml-clib ✗ semver ✗ google-cloud-tasks ✗ langsmith ✓ sphinx ✓ rfc3339-validator ✓ google-cloud-dlp ✗ poetry ✗ mccabe ✗ opentelemetry-exporter-prometheus ✗ deepdiff ✗ tinycss2 ✗ google-cloud-videointelligence ✗ google-cloud-workflows ✗ pendulum ✗ sqlalchemy-bigquery ✗ snowflake-sqlalchemy ✗ google-cloud-language ✗ anthropic ✗ google-cloud-bigtable ✗ multiprocess ✗ google-cloud-os-login ✗ google-cloud-dataform ✗ azure-common ✓ beartype ✓ arrow ✗

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.