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

Top 120 - 240

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

Top 240 - 360

ydb ✓ google-cloud-bigquery ✓ google-auth-oauthlib ✓ anthropic ✓ build ✓ jsonpointer ✓ fastjsonschema ✗ executing ✓ jedi ✓ sympy ✓ parso ✓ google-cloud-secret-manager ✓ aiofiles ✓ black ✓ browser-use ✓ sentry-sdk ✓ mpmath ✓ paramiko ✓ matplotlib-inline ✓ asttokens ✓ sqlparse ✓ backoff ✓ pydantic-graph ✓ google-cloud-aiplatform ✓ msal-extensions ✓ google-cloud-batch ✓ pytest-xdist ✓ authlib ✓ asgiref ✓ stack-data ✗ azure-storage-blob ✓ pure-eval ✓ cloudpickle ✓ grpc-google-iam-v1 ✓ joserfc ✓ narwhals ✓ webencodings ✗ kubernetes ✓ types-requests ✓ gunicorn ✓ babel ✓ termcolor ✓ execnet ✓ google-cloud-kms ✓ cachecontrol ✓ marshmallow ✓ datasets ✓ google-cloud-compute ✓ python-json-logger ✓ gcsfs ✓ google-analytics-admin ✓ tree-sitter ✓ jsonpatch ✓ cython ✓ xmltodict ✓ databricks-sdk ✓ setuptools-scm ✓ tornado ✓ librt ✓ opentelemetry-instrumentation-threading ✓ markdown ✓ watchdog ✓ google-cloud-dlp ✓ pymongo ✓ mdit-py-plugins ✓ aioitertools ✓ asyncpg ✓ dulwich ✓ dbt-adapters ✓ pytest-mock ✓ pandas-stubs ✓ google-cloud-pubsub ✓ isort ✓ google-cloud-speech ✓ google-cloud-texttospeech ✓ importlib-resources ✓ tinycss2 ✓ nest-asyncio ✗ linkify-it-py ✓ pkginfo ✓ databricks-sql-connector ✓ structlog ✓ py4j ✓ debugpy ✓ uc-micro-py ✓ dbt-core ✓ xlsxwriter ✓ pyperclip ✗ pypdf ✓ lz4 ✓ fastuuid ✓ typedload ✓ pyzmq ✓ vcs-versioning ✓ jsonschema-path ✓ cyclopts ✓ python-docx ✓ poetry ✓ llama-parse ✓ langsmith ✓ llama-cloud-services ✓ flatbuffers ✓ rich-toolkit ✓ cbor2 ✓ ruamel-yaml-clib ✓ pytokens ✓ types-toml ✓ typing-inspect ✗ slack-sdk ✓ psycopg ✓ installer ✓ safetensors ✓ beartype ✓ cleo ✓ pathable ✓ crashtest ✓ poetry-plugin-export ✓ pymupdf ✓ jsonref ✓ text-unidecode ✗

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.