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

Top 120 - 240

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

Top 240 - 360

httplib2 ✓ pytest-xdist ✓ parso ✓ identify ✓ marshmallow ✓ opentelemetry-util-http ✓ sqlparse ✓ jedi ✓ opensearch-py ✓ opentelemetry-instrumentation-requests ✓ executing ✓ execnet ✓ transformers ✓ cloudpickle ✓ pre-commit ✓ cfgv ✓ tornado ✓ authlib ✓ msal-extensions ✓ cython ✓ matplotlib-inline ✓ google-cloud-secret-manager ✓ asttokens ✓ babel ✓ jsonpointer ✓ xxhash ✓ gunicorn ✓ h2 ✓ azure-storage-blob ✓ grpc-google-iam-v1 ✓ aiofiles ✓ hyperframe ✓ hpack ✓ requests-aws4auth ✓ pure-eval ✓ stack-data ✗ google-cloud-batch ✓ pytest-json-ctrf ✓ durationpy ✓ pyee ✓ xmltodict ✓ asgiref ✓ weaviate-client ✓ markdown ✓ py4j ✓ black ✓ playwright ✓ sentry-sdk ✓ databricks-sdk ✓ webencodings ✗ importlib-resources ✓ nest-asyncio ✗ google-analytics-admin ✓ langchain-core ✓ termcolor ✓ events ✗ vcs-versioning ✓ anthropic ✓ datasets ✓ dbt-core ✓ python-json-logger ✓ debugpy ✓ cachecontrol ✓ gcsfs ✓ google-cloud-compute ✓ watchdog ✓ google-cloud-kms ✓ ujson ✓ jsonpatch ✓ typing-inspect ✗ pymongo ✓ dbt-adapters ✓ pyzmq ✓ librt ✓ ydb ✓ jsonschema-path ✓ pandas-stubs ✓ aioitertools ✓ pytest-mock ✓ google-cloud-dlp ✓ databricks-sql-connector ✓ opensearch-protobufs ✓ pymysql ✓ isort ✓ pycryptodome ✓ tinycss2 ✓ grpcio-health-checking ✓ pathable ✓ flatbuffers ✓ google-cloud-speech ✓ deepdiff ✓ lz4 ✓ slack-sdk ✓ mccabe ✓ dulwich ✓ awswrangler ✓ pyperclip ✗ pkginfo ✓ msrest ✓ jsonpath-ng ✓ dacite ✓ jupyter-core ✓ dataclasses-json ✓ google-cloud-pubsub ✓ dbt-common ✓ sphinx ✓ jsonref ✓ rich-toolkit ✓ narwhals ✓ torch ✓ pymupdf ✓ google-cloud-monitoring ✓ smart-open ✓ langsmith ✓ opentelemetry-exporter-prometheus ✓ jupyter-client ✓ ipykernel ✓ pygithub ✓ loguru ✗ beartype ✓

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.