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

Top 120 - 240

huggingface-hub ✓ dnspython ✓ oauthlib ✓ pytest-asyncio ✓ tomli ✓ opentelemetry-proto ✓ editables ✓ httptools ✓ cachetools ✓ uvloop ✓ docstring-parser ✓ virtualenv ✓ exceptiongroup ✓ more-itertools ✓ sortedcontainers ✗ opentelemetry-exporter-otlp-proto-common ✓ defusedxml ✗ redis ✓ psycopg2-binary ✓ pytest-cov ✓ distlib ✓ networkx ✓ werkzeug ✓ hf-xet ✓ msgpack ✓ requests-toolbelt ✗ fonttools ✓ opentelemetry-exporter-otlp-proto-http ✓ mako ✓ prompt-toolkit ✓ rsa ✓ scikit-learn ✓ orjson ✓ alembic ✓ langchain ✓ tiktoken ✓ threadpoolctl ✓ pyopenssl ✓ cloudpickle ✓ tokenizers ✓ isodate ✓ email-validator ✓ itsdangerous ✓ httpx-sse ✓ mypy ✓ grpcio-tools ✓ nodeenv ✓ anthropic ✓ websocket-client ✓ python-discovery ✓ pynacl ✓ matplotlib ✓ google-cloud-core ✓ joblib ✓ azure-core ✓ tzlocal ✓ tabulate ✓ msal ✓ chardet ✓ google-cloud-bigquery ✓ google-cloud-storage ✓ kiwisolver ✓ zstandard ✓ ruamel-yaml ✓ bcrypt ✓ keyring ✓ pytest-xdist ✓ execnet ✓ h2 ✓ langchain-core ✓ hpack ✓ psycopg ✓ jaraco-classes ✓ google-crc32c ✓ opentelemetry-instrumentation ✓ hyperframe ✓ flask ✓ jaraco-functools ✓ jeepney ✓ decorator ✓ secretstorage ✓ psycopg-binary ✓ google-genai ✓ uv ✓ jaraco-context ✓ gitpython ✓ cycler ✓ google-resumable-media ✓ dill ✓ asn1crypto ✗ identify ✓ contourpy ✓ docutils ✓ librt ✓ blinker ✓ backoff ✓ prometheus-client ✓ pre-commit ✓ pypdf ✓ cfgv ✓ smmap ✓ sentry-sdk ✓ uritemplate ✓ google-api-python-client ✓ docker ✓ deprecated ✓ sympy ✓ xxhash ✓ gitdb ✓ mpmath ✓ toml ✗ ptyprocess ✓ google-auth-httplib2 ✓ traitlets ✓ jsonpointer ✓ webencodings ✓ pexpect ✓ aiofiles ✓ pytest-json-ctrf ✓ httplib2 ✓

Top 240 - 360

asgiref ✓ google-auth-oauthlib ✓ opentelemetry-exporter-otlp-proto-grpc ✓ narwhals ✓ azure-identity ✓ rapidfuzz ✓ async-timeout ✓ fastjsonschema ✓ asyncpg ✓ msal-extensions ✓ authlib ✓ sqlparse ✓ opentelemetry-util-http ✓ executing ✓ black ✓ xlsxwriter ✓ playwright ✓ paramiko ✓ typedload ✓ snowflake-connector-python ✓ tornado ✓ babel ✓ transformers ✓ joserfc ✓ jsonpatch ✓ ipython ✓ parso ✓ python-docx ✓ jedi ✓ asttokens ✓ grpc-google-iam-v1 ✓ gunicorn ✓ tinycss2 ✓ pyee ✓ azure-storage-blob ✓ matplotlib-inline ✓ markdown ✓ structlog ✓ pure-eval ✓ pyzmq ✓ pyproject-hooks ✓ google-cloud-aiplatform ✓ xmltodict ✓ stack-data ✗ litellm ✓ python-json-logger ✓ awswrangler ✓ aioitertools ✓ isort ✓ pytest-timeout ✓ build ✓ mcp-types ✓ watchdog ✓ awscli ✓ brotli ✗ cachecontrol ✓ nbformat ✓ marshmallow ✓ databricks-sdk ✓ nest-asyncio ✗ ast-serialize ✓ pymupdf ✓ jupyter-core ✓ pytest-mock ✓ safetensors ✓ flatbuffers ✓ griffelib ✓ lz4 ✓ debugpy ✓ croniter ✓ setuptools-scm ✓ jupyter-client ✓ multiprocess ✓ types-pyyaml ✓ pymysql ✓ onnxruntime ✓ poetry-core ✓ langsmith ✓ tomli-w ✓ pytokens ✓ slack-sdk ✓ kubernetes ✓ cython ✓ sqlglot ✓ types-requests ✓ jsonref ✓ beartype ✓ vcs-versioning ✓ cyclopts ✓ pyperclip ✗ termcolor ✓ python-pptx ✓ lark ✓ py4j ✓ opentelemetry-instrumentation-fastapi ✓ rich-rst ✓ uuid-utils ✓ loguru ✗ text-unidecode ✗ python-slugify ✓ xlrd ✓ faker ✓ cbor2 ✓ pathable ✓ opentelemetry-instrumentation-asgi ✓ mistune ✓ jsonschema-path ✓ pycryptodome ✓ bleach ✓ aiosqlite ✓ deprecation ✗ pymongo ✓ fastuuid ✓ argon2-cffi-bindings ✓ pypdfium2 ✓ semver ✓ reportlab ✓ py-key-value-aio ✓ opentelemetry-instrumentation-requests ✓ scramp ✓

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.