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

Top 120 - 240

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

Top 240 - 360

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

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.