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

Top 120 - 240

pyopenssl ✓ distlib ✓ proto-plus ✓ flask ✓ websockets ✓ pydantic-settings ✓ opentelemetry-exporter-otlp-proto-http ✓ msgpack ✓ google-cloud-storage ✓ werkzeug ✓ openai ✓ mypy-extensions ✓ pynacl ✓ coverage ✓ dnspython ✓ psycopg2-binary ✓ textual ✓ isodate ✓ opentelemetry-exporter-otlp ✓ opentelemetry-exporter-otlp-proto-common ✓ decorator ✓ wcwidth ✓ sortedcontainers ✗ python-multipart ✓ networkx ✓ distro ✓ huggingface-hub ✓ scikit-learn ✓ azure-core ✓ keyring ✓ azure-identity ✓ poetry-core ✓ snowflake-connector-python ✓ matplotlib ✓ joblib ✓ fonttools ✓ gitpython ✓ msal ✓ google-cloud-aiplatform ✓ bcrypt ✓ jaraco-classes ✓ secretstorage ✓ jeepney ✓ redis ✓ pexpect ✓ opensearch-py ✓ ruff ✓ ptyprocess ✓ async-timeout ✓ kiwisolver ✓ google-cloud-core ✓ jaraco-context ✓ jiter ✓ ruamel-yaml ✓ types-requests ✓ jaraco-functools ✓ tabulate ✓ editables ✓ threadpoolctl ✓ itsdangerous ✓ defusedxml ✗ zstandard ✓ requests-aws4auth ✓ watchfiles ✓ alembic ✓ smmap ✓ asn1crypto ✗ gitdb ✓ contourpy ✓ prompt-toolkit ✓ deprecated ✗ rapidfuzz ✓ email-validator ✓ chardet ✓ google-crc32c ✓ google-resumable-media ✓ pytest-cov ✓ orjson ✓ opentelemetry-instrumentation ✓ tzlocal ✓ kubernetes ✓ paramiko ✓ blinker ✓ events ✗ setuptools-scm ✓ google-api-python-client ✓ docker ✓ dill ✓ gcsfs ✓ prometheus-client ✓ backoff ✓ google-cloud-bigquery ✓ pyproject-hooks ✓ pytest-asyncio ✓ fastjsonschema ✗ cycler ✓ build ✓ google-auth-oauthlib ✓ uritemplate ✓ mako ✓ marshmallow ✓ msal-extensions ✓ httplib2 ✓ google-auth-httplib2 ✓ docstring-parser ✓ azure-storage-blob ✓ uv ✓ opensearch-protobufs ✓ aliyun-python-sdk-core ✓ tokenizers ✓ opentelemetry-exporter-prometheus ✓ google-cloud-secret-manager ✓ sqlparse ✓ hf-xet ✓ babel ✓ google-cloud-batch ✓ sympy ✓ grpcio-health-checking ✓ transformers ✓ jsonpointer ✓

Top 240 - 360

aiofiles ✓ xmltodict ✓ google-analytics-admin ✓ uvloop ✓ ipython ✓ nodeenv ✓ py4j ✓ cloudpickle ✓ mypy ✓ isort ✓ mpmath ✓ black ✓ cython ✓ parso ✓ tornado ✓ opentelemetry-util-http ✓ traitlets ✓ mcp ✓ tiktoken ✓ pre-commit ✓ gunicorn ✓ importlib-resources ✓ jedi ✓ executing ✓ httptools ✓ opentelemetry-instrumentation-requests ✓ langchain-core ✓ asgiref ✓ toml ✗ identify ✓ durationpy ✓ dbt-core ✓ asttokens ✓ httpx-sse ✓ cattrs ✓ litellm ✓ cfgv ✓ sse-starlette ✓ matplotlib-inline ✓ authlib ✓ pandas-stubs ✓ portalocker ✓ nest-asyncio ✗ typer-slim ✓ markdown ✓ requests-file ✓ pytest-xdist ✓ grpc-google-iam-v1 ✓ sentry-sdk ✓ pymongo ✓ python-json-logger ✓ databricks-sdk ✓ stack-data ✗ execnet ✓ webencodings ✗ pure-eval ✓ cachecontrol ✓ jsonpatch ✓ xxhash ✓ typing-inspect ✗ awswrangler ✓ pymysql ✓ aioitertools ✓ typedload ✓ debugpy ✓ termcolor ✓ watchdog ✓ h2 ✓ dulwich ✓ pkginfo ✓ hyperframe ✓ hpack ✓ dbt-adapters ✓ jsonschema-path ✓ pywin32 ✓ msrest ✓ databricks-sql-connector ✓ ply ✓ pyzmq ✓ ray ✓ pytest-mock ✓ dataclasses-json ✓ snowflake-sqlalchemy ✓ ruamel-yaml-clib ✓ lz4 ✓ jsonpath-ng ✓ google-cloud-monitoring ✓ pycryptodome ✓ poetry ✓ rich-toolkit ✓ torch ✓ sphinx ✓ google-cloud-speech ✓ google-cloud-vision ✓ google-cloud-kms ✓ semver ✓ dbt-common ✓ langsmith ✓ google-cloud-compute ✓ pendulum ✓ slack-sdk ✓ multiprocess ✓ google-cloud-tasks ✓ smart-open ✓ mccabe ✓ invoke ✓ google-cloud-dlp ✓ argcomplete ✓ rfc3339-validator ✗ pygithub ✓ google-cloud-videointelligence ✓ google-cloud-language ✓ google-cloud-workflows ✓ azure-common ✗ datadog ✓ arrow ✓ notebook ✓ jupyter-core ✓ deepdiff ✓ google-cloud-os-login ✓

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.