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

Top 120 - 240

msgpack ✓ isodate ✓ google-cloud-storage ✓ shellingham ✓ pexpect ✓ ptyprocess ✓ opentelemetry-api ✓ pynacl ✓ proto-plus ✓ mypy-extensions ✓ snowflake-connector-python ✓ tenacity ✓ psycopg2-binary ✓ websocket-client ✓ coverage ✓ decorator ✓ opentelemetry-semantic-conventions ✓ python-multipart ✓ networkx ✓ sortedcontainers ✗ azure-core ✓ dnspython ✓ azure-identity ✓ msal ✓ openai ✓ wcwidth ✓ websockets ✓ async-timeout ✓ bcrypt ✓ gitpython ✓ google-cloud-core ✓ annotated-doc ✓ huggingface-hub ✓ keyring ✓ asn1crypto ✗ joblib ✓ matplotlib ✓ deprecated ✗ smmap ✓ gitdb ✓ tabulate ✓ hatchling ✓ google-cloud-bigquery ✓ google-resumable-media ✓ fonttools ✓ distro ✓ ruamel-yaml ✓ zstandard ✓ itsdangerous ✓ rapidfuzz ✓ poetry-core ✓ secretstorage ✓ jaraco-classes ✓ google-crc32c ✓ paramiko ✓ prompt-toolkit ✓ redis ✓ pydantic-settings ✓ cloudpickle ✓ transformers ✓ kiwisolver ✓ chardet ✓ jeepney ✓ google-api-python-client ✓ dill ✓ backoff ✓ typer ✓ langsmith ✓ fastjsonschema ✗ alembic ✓ blinker ✓ build ✓ setuptools-scm ✓ pyproject-hooks ✓ google-auth-oauthlib ✓ ruamel-yaml-clib ✓ jiter ✓ google-cloud-batch ✓ cycler ✓ ruff ✓ pyzmq ✓ google-cloud-secret-manager ✓ orjson ✓ tzlocal ✓ jaraco-functools ✓ defusedxml ✗ pytest-cov ✓ tokenizers ✓ msal-extensions ✓ uritemplate ✓ langchain ✓ google-auth-httplib2 ✓ grpcio-health-checking ✓ jaraco-context ✓ contourpy ✓ httplib2 ✓ marshmallow ✓ sqlparse ✓ xmltodict ✓ azure-storage-blob ✓ py4j ✓ prometheus-client ✓ google-analytics-admin ✓ types-requests ✓ docker ✓ ipython ✓ email-validator ✓ aliyun-python-sdk-core ✓ sympy ✓ importlib-resources ✓ black ✓ mako ✓ babel ✓ jsonpointer ✓ typedload ✓ traitlets ✓ uv ✓ jedi ✓ parso ✓ mpmath ✗

Top 240 - 360

cython ✓ uvloop ✓ kubernetes ✓ nest-asyncio ✗ tornado ✓ toml ✗ matplotlib-inline ✓ aiofiles ✓ opentelemetry-instrumentation ✓ hf-xet ✓ cachecontrol ✓ asttokens ✓ sentry-sdk ✓ sphinx ✓ grpc-google-iam-v1 ✓ mypy ✓ executing ✓ termcolor ✓ editables ✓ pytest-asyncio ✓ argcomplete ✓ awswrangler ✓ langchain-core ✓ snowflake-sqlalchemy ✓ torch ✓ pkginfo ✓ webencodings ✗ ply ✓ pymupdf ✓ markdown ✓ gunicorn ✓ pymongo ✓ watchfiles ✓ httptools ✓ shapely ✓ asgiref ✓ stack-data ✗ nodeenv ✓ pure-eval ✓ typing-inspect ✗ tiktoken ✓ pymysql ✓ docstring-parser ✓ pytest-xdist ✓ dbt-core ✓ aioitertools ✓ dbt-common ✓ execnet ✓ mcp ✓ python-json-logger ✓ dulwich ✓ isort ✓ mccabe ✓ poetry ✓ watchdog ✓ pre-commit ✓ multiprocess ✓ jsonpatch ✓ google-cloud-vision ✓ identify ✓ cfgv ✓ google-cloud-kms ✓ opentelemetry-util-http ✓ dbt-adapters ✓ pypandoc-binary ✓ google-cloud-compute ✓ httpx-sse ✓ msrest ✓ debugpy ✓ google-cloud-tasks ✓ google-cloud-monitoring ✓ google-cloud-dlp ✓ google-cloud-speech ✓ crashtest ✓ installer ✓ bashlex ✓ cleo ✓ pycodestyle ✓ pendulum ✓ google-cloud-workflows ✓ databricks-sdk ✓ rfc3339-validator ✗ google-cloud-language ✓ pycryptodome ✓ jsonpath-ng ✓ slack-sdk ✓ botocore-stubs ✓ datadog ✓ notebook ✓ backports-tarfile ✓ google-cloud-dataform ✓ swe-rex ✓ types-awscrt ✓ smart-open ✓ boto3-stubs ✓ google-cloud-videointelligence ✓ azure-common ✗ future ✗ types-s3transfer ✓ cattrs ✓ google-cloud-os-login ✓ pytest-mock ✓ dataclasses-json ✓ google-cloud-logging ✓ lz4 ✓ jupyter-core ✓ requests-file ✓ textual ✓ arrow ✓ ipykernel ✓ nvidia-nccl-cu12 ✗ pygithub ✓ databricks-sql-connector ✓ opentelemetry-instrumentation-requests ✓ google-cloud-redis ✓ semver ✓ scramp ✓ tinycss2 ✓ py ✗ google-cloud-memcache ✓

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.