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

Top 120 - 240

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

Top 240 - 360

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

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.