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. 346 green packages (96.1%) have dropped support for Python 3.5;
  2. 14 uncolored packages (3.9%) 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 ✓ typing-extensions ✓ packaging ✓ certifi ✓ idna ✓ urllib3 ✓ charset-normalizer ✓ requests ✓ cryptography ✓ cffi ✓ pluggy ✓ python-dateutil ✓ pycparser ✓ pyyaml ✓ pygments ✓ pydantic ✓ pydantic-core ✓ botocore ✓ numpy ✓ click ✓ anyio ✓ setuptools ✓ six ✓ annotated-types ✓ typing-inspection ✓ h11 ✓ pytest ✓ iniconfig ✓ attrs ✓ markupsafe ✓ httpx ✓ tzdata ✓ httpcore ✓ pyjwt ✓ protobuf ✓ jinja2 ✓ python-dotenv ✓ s3transfer ✓ pandas ✓ opentelemetry-api ✓ pillow ✓ starlette ✓ aiobotocore ✓ uvicorn ✓ platformdirs ✓ rpds-py ✓ jsonschema ✓ pathspec ✓ referencing ✓ filelock ✓ jsonschema-specifications ✓ pip ✓ tomlkit ✓ jmespath ✓ fsspec ✓ multidict ✓ markdown-it-py ✓ rich ✓ yarl ✓ aiohttp ✓ mdurl ✓ pytz ✗ propcache ✓ websockets ✓ annotated-doc ✓ fastapi ✓ frozenlist ✓ python-multipart ✓ googleapis-common-protos ✓ aiosignal ✓ sniffio ✓ aiohappyeyeballs ✓ pyasn1 ✓ tqdm ✓ pydantic-settings ✓ pyarrow ✓ lxml ✓ truststore ✓ wrapt ✓ httpx2 ✓ httpcore2 ✓ trove-classifiers ✓ google-auth ✓ jiter ✓ hatchling ✓ tenacity ✓ ruff ✓ pyasn1-modules ✓ sqlalchemy ✓ greenlet ✓ openai ✓ scipy ✓ pyparsing ✓ zipp ✓ psutil ✓ grpcio-status ✓ grpcio ✓ importlib-metadata ✓ regex ✓ watchfiles ✓ openpyxl ✓ et-xmlfile ✓ wheel ✓ opentelemetry-semantic-conventions ✓ google-api-core ✓ distro ✓ opentelemetry-sdk ✓ soupsieve ✓ sse-starlette ✓ mcp ✓ coverage ✓ beautifulsoup4 ✓ shellingham ✓ werkzeug ✓ huggingface-hub ✓ mypy-extensions ✓ typer ✓ uvloop ✓ editables ✓ docstring-parser ✓

Top 120 - 240

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

Top 240 - 360

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

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.