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

Top 120 - 240

requests-oauthlib ✗ hf-xet ✓ editables ✓ dnspython ✓ mcp ✓ openpyxl ✓ distlib ✓ et-xmlfile ✓ oauthlib ✓ wcwidth ✓ python-discovery ✓ sse-starlette ✓ cachetools ✓ opentelemetry-exporter-otlp-proto-grpc ✓ more-itertools ✓ tiktoken ✓ coverage ✓ tokenizers ✓ ruff ✓ mypy-extensions ✓ pytest-asyncio ✓ tomlkit ✓ docstring-parser ✓ google-genai ✓ gitpython ✓ matplotlib ✓ fonttools ✓ uvloop ✓ rsa ✓ prompt-toolkit ✓ smmap ✓ requests-toolbelt ✗ pyopenssl ✓ networkx ✓ httptools ✓ msgpack ✓ redis ✓ sortedcontainers ✗ langchain ✓ contourpy ✓ dill ✓ email-validator ✓ werkzeug ✓ psycopg2-binary ✓ grpcio-tools ✓ gitdb ✓ chardet ✓ pytest-json-ctrf ✓ google-cloud-storage ✓ opentelemetry-instrumentation-requests ✓ kiwisolver ✓ defusedxml ✗ h2 ✓ pynacl ✓ azure-core ✓ azure-identity ✓ nodeenv ✓ scikit-learn ✓ docker ✓ tabulate ✓ isodate ✓ httpx-sse ✓ hpack ✓ orjson ✓ tzlocal ✓ decorator ✓ xxhash ✓ pytest-cov ✓ keyring ✓ alembic ✓ toml ✗ hyperframe ✓ mako ✓ pre-commit ✓ joblib ✓ mypy ✓ cycler ✓ identify ✓ opentelemetry-instrumentation-threading ✓ websocket-client ✓ itsdangerous ✓ opentelemetry-util-http ✓ jaraco-classes ✓ cfgv ✓ jaraco-functools ✓ jeepney ✓ msal ✓ secretstorage ✓ anthropic ✓ ptyprocess ✓ bcrypt ✓ ipython ✓ threadpoolctl ✓ docutils ✓ pexpect ✓ ruamel-yaml ✓ google-cloud-core ✓ transformers ✓ flask ✓ jaraco-context ✓ datasets ✓ opentelemetry-exporter-otlp ✓ async-timeout ✓ uv ✓ ydb ✓ blinker ✓ sentry-sdk ✓ google-api-python-client ✓ black ✓ google-resumable-media ✓ traitlets ✓ google-crc32c ✓ uritemplate ✓ google-auth-httplib2 ✓ awscli ✓ zstandard ✓ snowflake-connector-python ✓ google-cloud-bigquery ✓ rapidfuzz ✓ httplib2 ✓

Top 240 - 360

prometheus-client ✓ google-auth-oauthlib ✓ backoff ✓ deprecated ✗ sympy ✓ google-cloud-secret-manager ✓ mpmath ✓ pypdf ✓ librt ✓ msal-extensions ✓ executing ✓ asn1crypto ✗ narwhals ✓ langchain-core ✓ asttokens ✓ fastuuid ✓ jedi ✓ parso ✓ jsonpointer ✓ aiofiles ✓ cloudpickle ✓ paramiko ✓ matplotlib-inline ✓ authlib ✓ google-cloud-aiplatform ✓ pytest-xdist ✓ stack-data ✗ pure-eval ✓ google-cloud-batch ✓ isort ✓ joserfc ✓ pyproject-hooks ✓ execnet ✓ sqlparse ✓ fastjsonschema ✓ asgiref ✓ gunicorn ✓ poetry-core ✓ azure-storage-blob ✓ mdit-py-plugins ✓ gcsfs ✓ pydantic-ai-slim ✓ termcolor ✓ webencodings ✗ build ✓ google-cloud-kms ✓ google-analytics-admin ✓ linkify-it-py ✓ truststore ✓ databricks-sdk ✓ grpc-google-iam-v1 ✓ google-cloud-compute ✓ uc-micro-py ✓ jsonpatch ✓ psycopg ✓ cbor2 ✓ babel ✓ weaviate-client ✓ psycopg-binary ✓ cfn-lint ✓ markdown ✓ cython ✓ google-cloud-dlp ✓ xmltodict ✓ cachecontrol ✓ safetensors ✓ types-toml ✓ setuptools-scm ✓ google-cloud-speech ✓ asyncpg ✓ python-json-logger ✓ langsmith ✓ marshmallow ✓ google-cloud-texttospeech ✓ tree-sitter ✓ dbt-adapters ✓ python-docx ✓ google-cloud-pubsub ✓ pytokens ✓ watchdog ✓ grpclib ✓ types-certifi ✓ httpx2 ✓ tornado ✓ types-requests ✓ pydantic-graph ✓ vcs-versioning ✓ modal ✓ httpcore2 ✓ structlog ✓ synchronicity ✓ pymongo ✓ kubernetes ✓ tinycss2 ✓ pymupdf ✓ fastmcp ✓ lz4 ✓ flatbuffers ✓ aioitertools ✓ playwright ✓ pyperclip ✗ py4j ✓ xlsxwriter ✓ google-cloud-logging ✓ opentelemetry-exporter-prometheus ✓ griffelib ✓ fastcore ✓ fastapi-cli ✓ pymysql ✓ dbt-core ✓ beartype ✓ pyzmq ✓ pytest-mock ✓ cyclopts ✓ pyarrow-hotfix ✗ google-cloud-monitoring ✓ tomli-w ✓ croniter ✓ jsonschema-path ✓ pytest-timeout ✓

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.