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

Top 120 - 240

et-xmlfile ✓ sglang ✓ langchain ✓ werkzeug ✓ opentelemetry-proto ✓ distro ✓ google-cloud-storage ✓ networkx ✓ google-genai ✓ mypy-extensions ✓ coverage ✓ pyopenssl ✓ watchfiles ✓ dnspython ✓ msgpack ✓ mcp ✓ litellm ✓ opentelemetry-exporter-otlp-proto-http ✓ psycopg2-binary ✓ huggingface-hub ✓ wcwidth ✓ smmap ✓ pynacl ✓ jiter ✓ decorator ✓ fonttools ✓ pexpect ✓ ptyprocess ✓ textual ✓ gitpython ✓ sortedcontainers ✗ tabulate ✓ matplotlib ✓ flask ✓ redis ✓ scikit-learn ✓ python-discovery ✓ isodate ✓ keyring ✓ docker ✓ sse-starlette ✓ kiwisolver ✓ opentelemetry-exporter-otlp-proto-common ✓ async-timeout ✓ opentelemetry-exporter-otlp-proto-grpc ✓ gitdb ✓ joblib ✓ contourpy ✓ azure-identity ✓ jaraco-classes ✓ google-cloud-core ✓ bcrypt ✓ secretstorage ✓ jeepney ✓ itsdangerous ✓ ruff ✓ azure-core ✓ prompt-toolkit ✓ opentelemetry-instrumentation ✓ snowflake-connector-python ✓ threadpoolctl ✓ msal ✓ multiprocess ✓ jaraco-context ✓ alembic ✓ jaraco-functools ✓ zstandard ✓ pytest-cov ✓ editables ✓ google-resumable-media ✓ kubernetes ✓ chardet ✓ types-requests ✓ blinker ✓ docstring-parser ✓ google-crc32c ✓ orjson ✓ google-cloud-aiplatform ✓ deprecated ✗ cycler ✓ ruamel-yaml ✓ defusedxml ✗ hf-xet ✓ tzlocal ✓ dill ✓ uv ✓ email-validator ✓ poetry-core ✓ google-api-python-client ✓ uvloop ✓ pytest-asyncio ✓ rapidfuzz ✓ asn1crypto ✗ ipython ✓ httpx-sse ✓ sympy ✓ google-auth-oauthlib ✓ tokenizers ✓ mako ✓ prometheus-client ✓ backoff ✓ google-auth-httplib2 ✓ mpmath ✓ pyproject-hooks ✓ uritemplate ✓ paramiko ✓ google-cloud-bigquery ✓ tiktoken ✓ setuptools-scm ✓ httptools ✓ nodeenv ✓ toml ✗ marshmallow ✓ build ✓ httplib2 ✓ opentelemetry-exporter-otlp ✓ tree-sitter ✓ cloudpickle ✓ pydantic-ai-slim ✓ sqlparse ✓

Top 240 - 360

fastjsonschema ✗ transformers ✓ identify ✓ durationpy ✓ traitlets ✓ msal-extensions ✓ parso ✓ pre-commit ✓ databricks-sdk ✓ mypy ✓ cfgv ✓ jedi ✓ gunicorn ✓ opentelemetry-instrumentation-requests ✓ executing ✓ google-cloud-secret-manager ✓ opentelemetry-util-http ✓ jsonpointer ✓ grpc-google-iam-v1 ✓ xxhash ✓ asttokens ✓ azure-storage-blob ✓ babel ✓ aiofiles ✓ google-cloud-batch ✓ matplotlib-inline ✓ pytest-xdist ✓ h2 ✓ tornado ✓ cython ✓ hyperframe ✓ hpack ✓ termcolor ✓ pure-eval ✓ stack-data ✗ black ✓ execnet ✓ google-analytics-admin ✓ xmltodict ✓ langchain-core ✓ asgiref ✓ py4j ✓ importlib-resources ✓ weaviate-client ✓ authlib ✓ vcs-versioning ✓ markdown ✓ python-json-logger ✓ sentry-sdk ✓ webencodings ✗ nest-asyncio ✗ cachecontrol ✓ dbt-core ✓ anthropic ✓ typing-inspect ✗ datasets ✓ tree-sitter-languages ✓ grpcio-health-checking ✓ pymongo ✓ jsonpatch ✓ pandas-stubs ✓ dbt-adapters ✓ gcsfs ✓ watchdog ✓ aioitertools ✓ debugpy ✓ pymysql ✓ pydantic-graph ✓ awswrangler ✓ google-cloud-compute ✓ jsonschema-path ✓ databricks-sql-connector ✓ dulwich ✓ pytest-mock ✓ pyzmq ✓ google-cloud-kms ✓ jsonpath-ng ✓ dataclasses-json ✓ typedload ✓ torch ✓ pytest-json-ctrf ✓ pkginfo ✓ pycryptodome ✓ slack-sdk ✓ msrest ✓ lz4 ✓ isort ✓ dbt-common ✓ deepdiff ✓ flatbuffers ✓ pyperclip ✗ langsmith ✓ narwhals ✓ rich-toolkit ✓ google-cloud-monitoring ✓ google-cloud-speech ✓ google-cloud-dlp ✓ pygithub ✓ pymupdf ✓ pathable ✓ librt ✓ mccabe ✓ poetry ✓ tinycss2 ✓ notebook ✓ sphinx ✓ loguru ✗ ruamel-yaml-clib ✓ pendulum ✓ invoke ✓ rfc3339-validator ✗ google-cloud-tasks ✓ smart-open ✓ xlsxwriter ✓ semver ✓ google-cloud-vision ✓ google-cloud-bigtable ✓ structlog ✓ cattrs ✓ argcomplete ✓

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.