Python 3.8 Readiness

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

What is this about?

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

  1. 285 green packages (79.2%) have dropped support for Python 3.8;
  2. 75 uncolored packages (20.8%) still support Python 3.8.

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

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

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

How do you identify Python 3.8 support?

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

Top 120

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

Top 120 - 240

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

Top 240 - 360

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

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.