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

Top 120 - 240

more-itertools ✓ psycopg2-binary ✓ exceptiongroup ✓ pynacl ✓ isodate ✓ networkx ✓ decorator ✓ coverage ✓ wcwidth ✓ huggingface-hub ✓ msgpack ✓ cloudpickle ✓ hatchling ✓ azure-core ✓ flask ✓ scikit-learn ✓ msal ✓ distro ✓ openai ✓ joblib ✓ ruamel-yaml ✓ python-multipart ✓ bcrypt ✓ pexpect ✓ gitpython ✓ ptyprocess ✓ async-timeout ✓ google-cloud-core ✓ tabulate ✓ dnspython ✓ poetry-core ✓ pydantic-settings ✓ snowflake-connector-python ✓ asn1crypto ✗ opentelemetry-exporter-otlp-proto-http ✓ threadpoolctl ✓ opentelemetry-instrumentation ✓ redis ✓ opentelemetry-exporter-otlp-proto-common ✓ itsdangerous ✓ matplotlib ✓ keyring ✓ deprecated ✗ prompt-toolkit ✓ fonttools ✓ typer ✓ ruff ✓ smmap ✓ opentelemetry-exporter-otlp-proto-grpc ✓ gitdb ✓ alembic ✓ paramiko ✓ jiter ✓ blinker ✓ google-resumable-media ✓ google-crc32c ✓ google-genai ✓ azure-identity ✓ zstandard ✓ tzlocal ✓ annotated-doc ✓ chardet ✓ jaraco-classes ✓ secretstorage ✓ kiwisolver ✓ rapidfuzz ✓ build ✓ jeepney ✓ types-requests ✓ dill ✓ pytest-asyncio ✓ pyproject-hooks ✓ backoff ✓ pytest-cov ✓ fastjsonschema ✗ google-cloud-bigquery ✓ kubernetes ✓ orjson ✓ prometheus-client ✓ yandexcloud ✓ docker ✓ google-api-python-client ✓ cycler ✓ msal-extensions ✓ defusedxml ✗ nodeenv ✓ setuptools-scm ✓ azure-storage-blob ✓ editables ✓ jaraco-functools ✓ jaraco-context ✓ contourpy ✓ google-auth-oauthlib ✓ marshmallow ✓ sqlparse ✓ uritemplate ✓ transformers ✓ httplib2 ✓ mako ✓ opentelemetry-instrumentation-requests ✓ google-auth-httplib2 ✓ pre-commit ✓ tokenizers ✓ sympy ✓ identify ✓ tornado ✓ babel ✓ ipython ✓ xmltodict ✓ cfgv ✓ jsonpointer ✓ py4j ✓ opentelemetry-util-http ✓ typedload ✓ uv ✓ mpmath ✗ importlib-resources ✓ traitlets ✓ langsmith ✓ hf-xet ✓

Top 240 - 360

mypy ✓ jedi ✓ aiofiles ✓ parso ✓ watchfiles ✓ toml ✗ cython ✓ executing ✓ nest-asyncio ✗ matplotlib-inline ✓ gunicorn ✓ uvloop ✓ asttokens ✓ ply ✓ mcp ✓ opentelemetry-exporter-otlp ✓ python-json-logger ✓ docstring-parser ✓ langchain-core ✓ black ✓ cachecontrol ✓ sentry-sdk ✓ webencodings ✗ tiktoken ✓ asgiref ✓ markdown ✓ stack-data ✗ watchdog ✓ pure-eval ✓ dbt-core ✓ grpc-google-iam-v1 ✓ pkginfo ✓ email-validator ✓ awswrangler ✓ ruamel-yaml-clib ✓ httptools ✓ httpx-sse ✓ typing-inspect ✗ sse-starlette ✓ dbt-adapters ✓ dulwich ✓ aioitertools ✓ debugpy ✓ pymysql ✓ durationpy ✓ termcolor ✓ pyzmq ✓ jsonpatch ✓ databricks-sdk ✓ google-cloud-aiplatform ✓ multiprocess ✓ execnet ✓ isort ✓ msrest ✓ pycryptodome ✓ poetry ✓ pytest-xdist ✓ botocore-stubs ✓ jsonpath-ng ✓ dbt-common ✓ gcsfs ✓ notebook ✓ torch ✓ h2 ✓ types-awscrt ✓ pymongo ✓ datasets ✓ hyperframe ✓ hpack ✓ boto3-stubs ✓ types-s3transfer ✓ google-cloud-secret-manager ✓ poetry-plugin-export ✓ mccabe ✓ cleo ✓ installer ✓ crashtest ✓ arrow ✓ requests-file ✓ xxhash ✓ pytest-mock ✓ lz4 ✓ slack-sdk ✓ rfc3339-validator ✗ datadog ✓ deepdiff ✓ jupyter-core ✓ azure-common ✗ invoke ✓ dataclasses-json ✓ pendulum ✓ pysocks ✗ textual ✓ smart-open ✓ ipykernel ✓ jupyter-client ✓ tinycss2 ✓ shapely ✓ py ✗ argcomplete ✓ pycodestyle ✓ scramp ✓ pygithub ✓ comm ✓ litellm ✓ wsproto ✓ mistune ✓ typer-slim ✓ simplejson ✗ narwhals ✓ future ✗ xlsxwriter ✓ humanfriendly ✗ semver ✓ lark ✓ loguru ✗ mypy-boto3-s3 ✓ text-unidecode ✗ typeguard ✓ safetensors ✓

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.