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

Top 120 - 240

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

Top 240 - 360

google-auth-httplib2 ✓ langchain-core ✓ sympy ✓ google-auth-oauthlib ✓ backoff ✓ google-cloud-secret-manager ✓ mpmath ✓ weaviate-client ✓ asn1crypto ✗ jsonpointer ✓ aiofiles ✓ authlib ✓ traitlets ✓ google-cloud-aiplatform ✓ async-timeout ✓ msal-extensions ✓ fastjsonschema ✓ pyproject-hooks ✓ joserfc ✓ datasets ✓ google-cloud-batch ✓ asgiref ✓ paramiko ✓ librt ✓ narwhals ✓ pytest-timeout ✓ sqlparse ✓ executing ✓ build ✓ poetry-core ✓ cloudpickle ✓ webencodings ✗ pydantic-ai-slim ✓ pypdf ✓ google-cloud-kms ✓ isort ✓ gcsfs ✓ google-analytics-admin ✓ asttokens ✓ jedi ✓ parso ✓ google-cloud-compute ✓ gunicorn ✓ azure-storage-blob ✓ babel ✓ matplotlib-inline ✓ databricks-sdk ✓ jsonpatch ✓ grpc-google-iam-v1 ✓ truststore ✓ stack-data ✗ pure-eval ✓ tornado ✓ cachecontrol ✓ types-requests ✓ google-cloud-dlp ✓ xmltodict ✓ markdown ✓ langsmith ✓ setuptools-scm ✓ psycopg ✓ pydantic-graph ✓ marshmallow ✓ google-cloud-texttospeech ✓ python-docx ✓ cython ✓ dbt-adapters ✓ google-cloud-speech ✓ pymupdf ✓ asyncpg ✓ google-cloud-pubsub ✓ python-json-logger ✓ psycopg-binary ✓ cfn-lint ✓ structlog ✓ vcs-versioning ✓ tinycss2 ✓ xlsxwriter ✓ kubernetes ✓ pytokens ✓ watchdog ✓ flatbuffers ✓ pyperclip ✗ safetensors ✓ termcolor ✓ jsonschema-path ✓ pytest-mock ✓ pyzmq ✓ pymongo ✓ fastmcp ✓ beartype ✓ httpx2 ✓ griffelib ✓ debugpy ✓ typedload ✓ fastuuid ✓ py4j ✓ aioitertools ✓ cyclopts ✓ httpcore2 ✓ pathable ✓ lz4 ✓ nest-asyncio ✗ pytest-rerunfailures ✓ jsonref ✓ slack-sdk ✓ onnxruntime ✓ google-cloud-logging ✓ databricks-sql-connector ✓ opentelemetry-exporter-prometheus ✓ mdit-py-plugins ✓ importlib-resources ✓ google-cloud-tasks ✓ py-key-value-aio ✓ fastmcp-slim ✓ jupyter-core ✓ deprecation ✗ playwright ✓ dulwich ✓ tomli-w ✓

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.