Python 3.9 Readiness

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

What is this about?

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

  1. 230 green packages (63.9%) have dropped support for Python 3.9;
  2. 130 uncolored packages (36.1%) still support Python 3.9.

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

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

  • 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.9 support.

How do you identify Python 3.9 support?

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

Top 120

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

Top 120 - 240

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

Top 240 - 360

psycopg-binary ✓ rapidfuzz ✓ asgiref ✓ opentelemetry-util-http ✓ narwhals ✓ traitlets ✓ msal-extensions ✗ google-auth-oauthlib ✓ librt ✗ webencodings ✓ black ✓ authlib ✓ sqlparse ✓ jsonpatch ✗ paramiko ✗ snowflake-connector-python ✓ fastjsonschema ✓ asyncpg ✗ babel ✗ executing ✗ opentelemetry-exporter-otlp-proto-grpc ✓ joserfc ✓ ipython ✓ gunicorn ✓ azure-storage-blob ✗ grpc-google-iam-v1 ✓ jedi ✓ parso ✗ playwright ✓ asttokens ✗ structlog ✓ awscli ✓ google-cloud-aiplatform ✓ transformers ✓ python-docx ✗ pyee ✓ matplotlib-inline ✗ xmltodict ✗ litellm ✓ tornado ✗ markdown ✓ pure-eval ✗ typedload ✓ stack-data ✗ awswrangler ✓ tinycss2 ✓ pytest-timeout ✗ aioitertools ✓ marshmallow ✓ databricks-sdk ✓ pymupdf ✓ pyproject-hooks ✓ xlsxwriter ✗ isort ✓ build ✓ python-json-logger ✓ watchdog ✗ opentelemetry-instrumentation-requests ✓ pytest-mock ✗ setuptools-scm ✗ mcp-types ✓ cachecontrol ✓ pyzmq ✓ langsmith ✓ griffelib ✓ flatbuffers ✓ brotli ✓ croniter ✗ cython ✗ datasets ✓ nest-asyncio ✗ psycopg2 ✓ ast-serialize ✗ poetry-core ✓ pymysql ✓ reportlab ✓ slack-sdk ✗ vcs-versioning ✗ debugpy ✗ cbor2 ✓ types-requests ✓ kubernetes ✓ termcolor ✓ lz4 ✗ uuid-utils ✓ mdit-py-plugins ✗ pyperclip ✗ fastuuid ✗ onnxruntime ✓ cyclopts ✓ jupyter-core ✓ linkify-it-py ✓ beartype ✓ nbformat ✓ sqlglot ✓ types-pyyaml ✓ jsonref ✓ py4j ✗ safetensors ✓ pytokens ✗ pycryptodome ✗ xlrd ✗ opentelemetry-instrumentation-fastapi ✓ pathable ✓ jsonschema-path ✓ opentelemetry-instrumentation-asgi ✓ text-unidecode ✓ jupyter-client ✓ python-slugify ✓ tomli-w ✓ types-protobuf ✓ importlib-resources ✓ requests-file ✓ grpclib ✓ types-toml ✓ semver ✓ wsproto ✓ typing-inspect ✗ mccabe ✗ loguru ✗

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.