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

Top 120 - 240

docstring-parser ✓ opentelemetry-proto ✓ s3fs ✓ colorama ✓ pytest-asyncio ✓ proto-plus ✓ wcwidth ✓ httptools ✓ defusedxml ✗ cachetools ✓ requests-oauthlib ✗ opentelemetry-exporter-otlp-proto-common ✓ oauthlib ✓ fonttools ✓ pytest-cov ✓ sortedcontainers ✗ virtualenv ✓ redis ✓ hf-xet ✓ werkzeug ✓ tomli ✓ more-itertools ✓ opentelemetry-exporter-otlp-proto-http ✓ mako ✓ psycopg2-binary ✓ alembic ✓ distlib ✓ msgpack ✓ psycopg ✓ exceptiongroup ✓ tiktoken ✓ tabulate ✓ orjson ✓ execnet ✓ requests-toolbelt ✗ psycopg-binary ✓ pytest-xdist ✓ cloudpickle ✓ tokenizers ✓ prompt-toolkit ✓ scikit-learn ✓ anthropic ✓ threadpoolctl ✓ uv ✓ itsdangerous ✓ hpack ✓ h2 ✓ hyperframe ✓ pypdf ✓ joblib ✓ email-validator ✓ isodate ✓ mypy ✓ matplotlib ✓ httpx-sse ✓ python-discovery ✓ nodeenv ✓ zstandard ✓ tzlocal ✓ kiwisolver ✓ azure-core ✓ pymupdf ✓ opentelemetry-instrumentation ✓ rsa ✓ contourpy ✓ ruamel-yaml ✓ google-cloud-core ✓ cycler ✓ pyopenssl ✓ websocket-client ✓ sympy ✓ msal ✓ prometheus-client ✓ mpmath ✓ flask ✓ bcrypt ✓ google-genai ✓ jsonpointer ✓ blinker ✓ pynacl ✓ librt ✓ google-crc32c ✓ google-cloud-storage ✓ xlsxwriter ✓ google-cloud-bigquery ✓ xxhash ✓ google-resumable-media ✓ langchain-core ✓ asgiref ✓ mcp-types ✓ docker ✓ flatbuffers ✓ toml ✗ identify ✓ dill ✓ jaraco-functools ✓ onnxruntime ✓ chardet ✓ keyring ✓ pre-commit ✓ sentry-sdk ✓ cfgv ✓ deprecated ✓ backoff ✓ asyncpg ✓ webencodings ✓ langchain ✓ rapidfuzz ✓ jaraco-classes ✓ jeepney ✓ opentelemetry-util-http ✓ narwhals ✓ decorator ✓ azure-identity ✓ python-docx ✓ grpcio-tools ✓ secretstorage ✓ gitpython ✓ jaraco-context ✓ uritemplate ✓

Top 240 - 360

authlib ✓ traitlets ✓ jsonpatch ✓ asn1crypto ✗ playwright ✓ msal-extensions ✓ smmap ✓ structlog ✓ joserfc ✓ docutils ✓ gitdb ✓ ptyprocess ✓ aiofiles ✓ google-api-python-client ✓ pytest-json-ctrf ✓ pytest-timeout ✓ pexpect ✓ pypdfium2 ✓ opentelemetry-exporter-otlp-common ✓ httplib2 ✓ fastjsonschema ✓ google-auth-httplib2 ✓ markdown ✓ opentelemetry-exporter-otlp-proto-grpc ✓ sqlparse ✓ executing ✓ babel ✓ gunicorn ✓ brotli ✗ tinycss2 ✓ google-auth-oauthlib ✓ grpc-google-iam-v1 ✓ python-pptx ✓ tornado ✓ transformers ✓ griffelib ✓ async-timeout ✓ xmltodict ✓ opentelemetry-exporter-http-transport ✓ ipython ✓ ast-serialize ✓ pyzmq ✓ watchdog ✓ jedi ✓ parso ✓ asttokens ✓ azure-storage-blob ✓ paramiko ✓ pyee ✓ cachecontrol ✓ aioitertools ✓ matplotlib-inline ✓ snowflake-connector-python ✓ pure-eval ✓ python-json-logger ✓ stack-data ✗ black ✓ litellm ✓ pyproject-hooks ✓ croniter ✓ lark ✓ types-pyyaml ✓ sqlglot ✓ nbformat ✓ beartype ✓ build ✓ jupyter-core ✓ cython ✓ cyclopts ✓ uuid-utils ✓ langsmith ✓ debugpy ✓ reportlab ✓ opentelemetry-instrumentation-asgi ✓ isort ✓ databricks-sdk ✓ pytest-mock ✓ safetensors ✓ marshmallow ✓ fastuuid ✓ slack-sdk ✓ pathable ✓ jsonschema-path ✓ opentelemetry-instrumentation-fastapi ✓ tomli-w ✓ jsonref ✓ jupyter-client ✓ pdfminer-six ✓ argon2-cffi-bindings ✓ xlrd ✓ pycryptodome ✓ text-unidecode ✗ awswrangler ✓ argon2-cffi ✓ lz4 ✓ google-cloud-aiplatform ✓ kubernetes ✓ multiprocess ✓ duckdb ✓ pymysql ✓ awscli ✓ loguru ✗ rfc3339-validator ✗ nest-asyncio ✗ graphql-core ✓ cbor2 ✓ python-slugify ✓ rich-rst ✓ pyperclip ✗ semver ✓ deprecation ✗ py-key-value-aio ✓ types-requests ✓ termcolor ✓ opentelemetry-instrumentation-requests ✓ poetry-core ✓ mdit-py-plugins ✓ faker ✓ uncalled-for ✓ pymupdf4llm ✓

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.