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

Top 120 - 240

more-itertools ✓ jiter ✓ openpyxl ✓ tomlkit ✓ et-xmlfile ✓ ptyprocess ✓ opentelemetry-proto ✓ grpcio-tools ✓ pexpect ✓ huggingface-hub ✓ werkzeug ✓ wcwidth ✓ google-cloud-storage ✓ multiprocess ✓ editables ✓ mcp ✓ gitpython ✓ networkx ✓ decorator ✓ textual ✓ mypy-extensions ✓ docker ✓ fonttools ✓ msgpack ✓ langchain ✓ matplotlib ✓ opentelemetry-exporter-otlp-proto-http ✓ smmap ✓ sse-starlette ✓ python-discovery ✓ pyopenssl ✓ coverage ✓ dnspython ✓ redis ✓ psycopg2-binary ✓ kiwisolver ✓ tabulate ✓ prompt-toolkit ✓ sortedcontainers ✗ scikit-learn ✓ gitdb ✓ async-timeout ✓ pynacl ✓ contourpy ✓ docstring-parser ✓ google-genai ✓ flask ✓ google-cloud-core ✓ opentelemetry-exporter-otlp-proto-common ✓ itsdangerous ✓ dill ✓ ruff ✓ joblib ✓ opentelemetry-exporter-otlp-proto-grpc ✓ cycler ✓ hf-xet ✓ isodate ✓ kubernetes ✓ keyring ✓ opentelemetry-instrumentation ✓ threadpoolctl ✓ httpx-sse ✓ bcrypt ✓ google-crc32c ✓ chardet ✓ google-resumable-media ✓ blinker ✓ orjson ✓ jaraco-classes ✓ uvloop ✓ azure-identity ✓ secretstorage ✓ jeepney ✓ ipython ✓ azure-core ✓ pydantic-ai-slim ✓ tzlocal ✓ pytest-cov ✓ alembic ✓ zstandard ✓ msal ✓ defusedxml ✗ nodeenv ✓ jaraco-context ✓ pytest-asyncio ✓ toml ✗ jaraco-functools ✓ tokenizers ✓ deprecated ✗ httptools ✓ snowflake-connector-python ✓ xxhash ✓ setuptools-scm ✓ ruamel-yaml ✓ traitlets ✓ parso ✓ tiktoken ✓ email-validator ✓ jedi ✓ executing ✓ prometheus-client ✓ identify ✓ pre-commit ✓ durationpy ✓ matplotlib-inline ✓ sympy ✓ asttokens ✓ google-cloud-bigquery ✓ mako ✓ cfgv ✓ google-api-python-client ✓ uv ✓ transformers ✓ rapidfuzz ✓ google-cloud-aiplatform ✓ pure-eval ✓ stack-data ✗ types-requests ✓ mpmath ✓ tree-sitter ✓

Top 240 - 360

asn1crypto ✗ pytest-json-ctrf ✓ google-auth-oauthlib ✓ uritemplate ✓ h2 ✓ hyperframe ✓ paramiko ✓ pyproject-hooks ✓ hpack ✓ google-auth-httplib2 ✓ fastjsonschema ✗ mypy ✓ jsonpointer ✓ datasets ✓ cloudpickle ✓ poetry-core ✓ build ✓ sqlparse ✓ opentelemetry-exporter-otlp ✓ grpc-google-iam-v1 ✓ backoff ✓ httplib2 ✓ tornado ✓ aiofiles ✓ babel ✓ vcs-versioning ✓ opentelemetry-instrumentation-requests ✓ opentelemetry-util-http ✓ marshmallow ✓ termcolor ✓ markdown ✓ msal-extensions ✓ google-cloud-secret-manager ✓ pytest-xdist ✓ cython ✓ anthropic ✓ execnet ✓ asgiref ✓ webencodings ✗ nest-asyncio ✗ azure-storage-blob ✓ gunicorn ✓ py4j ✓ weaviate-client ✓ sentry-sdk ✓ authlib ✓ xmltodict ✓ tree-sitter-languages ✓ google-cloud-batch ✓ python-json-logger ✓ debugpy ✓ databricks-sdk ✓ black ✓ pyzmq ✓ databricks-sql-connector ✓ awswrangler ✓ importlib-resources ✓ dbt-core ✓ langchain-core ✓ cachecontrol ✓ jsonpatch ✓ google-analytics-admin ✓ ydb ✓ pyee ✓ gcsfs ✓ google-cloud-compute ✓ google-cloud-kms ✓ pymongo ✓ watchdog ✓ librt ✓ typing-inspect ✗ joserfc ✓ tinycss2 ✓ jupyter-core ✓ pytest-mock ✓ safetensors ✓ playwright ✓ aioitertools ✓ cyclopts ✓ lz4 ✓ dbt-adapters ✓ dulwich ✓ ipykernel ✓ narwhals ✓ jupyter-client ✓ google-cloud-pubsub ✓ jsonschema-path ✓ torch ✓ cbor2 ✓ google-cloud-dlp ✓ rfc3339-validator ✗ pymysql ✓ flatbuffers ✓ pycryptodome ✓ types-pyyaml ✓ google-cloud-speech ✓ comm ✓ slack-sdk ✓ rich-rst ✓ pkginfo ✓ isort ✓ shapely ✓ arrow ✓ pandas-stubs ✓ msrest ✓ pathable ✓ xlsxwriter ✓ langsmith ✓ ipython-pygments-lexers ✓ deepdiff ✓ dataclasses-json ✓ invoke ✓ dbt-common ✓ google-cloud-resource-manager ✓ pydantic-graph ✓ lark ✓ loguru ✗ google-cloud-texttospeech ✓ mistune ✓ pymupdf ✓

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.