Python 3.5 Readiness

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

What is this about?

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

  1. 345 green packages (95.8%) have dropped support for Python 3.5;
  2. 15 uncolored packages (4.2%) still support Python 3.5.

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

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

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

How do you identify Python 3.5 support?

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

Top 120 - 240

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

Top 240 - 360

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

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.