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

Top 120 - 240

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

Top 240 - 360

tokenizers ✓ google-cloud-secret-manager ✓ ipython ✓ aiofiles ✓ google-cloud-batch ✓ opentelemetry-util-http ✓ httpx-sse ✓ black ✓ cloudpickle ✓ httptools ✓ opentelemetry-instrumentation-requests ✓ tornado ✓ asgiref ✓ toml ✗ tiktoken ✓ gunicorn ✓ databricks-sdk ✓ parso ✓ pre-commit ✓ traitlets ✓ gcsfs ✓ identify ✓ importlib-resources ✓ google-analytics-admin ✓ executing ✓ jedi ✓ litellm ✓ py4j ✓ isort ✓ durationpy ✓ authlib ✓ grpcio-health-checking ✓ markdown ✓ events ✗ cfgv ✓ cython ✓ asttokens ✓ langchain-core ✓ cachecontrol ✓ pytest-xdist ✓ webencodings ✗ matplotlib-inline ✓ python-json-logger ✓ execnet ✓ grpc-google-iam-v1 ✓ dbt-core ✓ nest-asyncio ✗ stack-data ✗ pure-eval ✓ typedload ✓ typing-inspect ✗ jsonpatch ✓ pandas-stubs ✓ xxhash ✓ cattrs ✓ pymongo ✓ termcolor ✓ aliyun-python-sdk-core ✓ watchdog ✓ aioitertools ✓ debugpy ✓ pkginfo ✓ h2 ✓ dulwich ✓ awswrangler ✓ hyperframe ✓ hpack ✓ jsonschema-path ✓ dbt-adapters ✓ pytest-mock ✓ pymysql ✓ opensearch-protobufs ✓ pydantic-ai-slim ✓ dataclasses-json ✓ pyzmq ✓ jsonpath-ng ✓ msrest ✓ poetry ✓ slack-sdk ✓ tree-sitter ✓ dbt-common ✓ torch ✓ ruamel-yaml-clib ✓ invoke ✓ pycryptodome ✓ mccabe ✓ pygithub ✓ lz4 ✓ rfc3339-validator ✗ deepdiff ✓ semver ✓ rich-toolkit ✓ pyperclip ✗ langsmith ✓ installer ✓ pathable ✓ cleo ✓ tinycss2 ✓ crashtest ✓ arrow ✓ databricks-sql-connector ✓ anthropic ✓ google-cloud-monitoring ✓ sphinx ✓ google-cloud-speech ✓ multiprocess ✓ smart-open ✓ pendulum ✓ google-cloud-compute ✓ future ✗ pycodestyle ✓ google-cloud-kms ✓ notebook ✓ jupyter-core ✓ google-cloud-vision ✓ librt ✓ argcomplete ✓ portalocker ✓ croniter ✗ azure-common ✗

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.