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

Top 120 - 240

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

Top 240 - 360

hpack ✓ poetry-core ✓ google-auth-httplib2 ✓ paramiko ✓ build ✓ opentelemetry-instrumentation-requests ✓ grpc-google-iam-v1 ✓ pure-eval ✓ stack-data ✗ httplib2 ✓ opentelemetry-util-http ✓ types-requests ✓ mpmath ✓ setuptools-scm ✓ google-cloud-aiplatform ✓ datasets ✓ fastjsonschema ✗ sqlparse ✓ backoff ✓ aiofiles ✓ durationpy ✓ marshmallow ✓ pytest-json-ctrf ✓ opentelemetry-exporter-otlp ✓ jsonpointer ✓ cloudpickle ✓ termcolor ✓ msal-extensions ✓ google-cloud-secret-manager ✓ babel ✓ gunicorn ✓ tree-sitter ✓ pytest-xdist ✓ tornado ✓ anthropic ✓ azure-storage-blob ✓ asgiref ✓ execnet ✓ markdown ✓ sentry-sdk ✓ cython ✓ xmltodict ✓ py4j ✓ webencodings ✗ vcs-versioning ✓ nest-asyncio ✗ google-cloud-batch ✓ black ✓ databricks-sdk ✓ authlib ✓ weaviate-client ✓ librt ✓ cachecontrol ✓ python-json-logger ✓ importlib-resources ✓ pyzmq ✓ debugpy ✓ ydb ✓ dbt-core ✓ langchain-core ✓ jsonpatch ✓ google-analytics-admin ✓ watchdog ✓ gcsfs ✓ typing-inspect ✗ google-cloud-compute ✓ pymongo ✓ google-cloud-kms ✓ dulwich ✓ pytest-mock ✓ aioitertools ✓ joserfc ✓ lz4 ✓ typedload ✓ google-cloud-pubsub ✓ slack-sdk ✓ flatbuffers ✓ tinycss2 ✓ pydantic-graph ✓ jsonschema-path ✓ dbt-adapters ✓ pkginfo ✓ pymupdf ✓ google-cloud-dlp ✓ google-cloud-speech ✓ pycryptodome ✓ safetensors ✓ jupyter-core ✓ torch ✓ cbor2 ✓ pymysql ✓ isort ✓ awswrangler ✓ deepdiff ✓ narwhals ✓ msrest ✓ tree-sitter-languages ✓ jupyter-client ✓ dataclasses-json ✓ xlsxwriter ✓ poetry ✓ ipykernel ✓ pandas-stubs ✓ asyncpg ✓ rfc3339-validator ✗ semver ✓ invoke ✓ langsmith ✓ cyclopts ✓ mdit-py-plugins ✓ structlog ✓ google-cloud-texttospeech ✓ dbt-common ✓ mccabe ✓ types-pyyaml ✓ ruamel-yaml-clib ✓ google-cloud-logging ✓ arrow ✓ pygithub ✓ types-toml ✓

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.