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

Top 120 - 240

proto-plus ✓ more-itertools ✓ distro ✓ distlib ✓ jiter ✓ openpyxl ✓ uvloop ✓ coverage ✓ et-xmlfile ✓ httptools ✓ editables ✓ mypy-extensions ✓ opentelemetry-exporter-otlp-proto-http ✓ websocket-client ✓ docutils ✓ wcwidth ✓ httpx-sse ✓ pydantic-ai-slim ✓ langchain ✓ werkzeug ✓ networkx ✓ grpcio-tools ✓ msgpack ✓ dnspython ✓ psycopg2-binary ✓ google-cloud-storage ✓ pyopenssl ✓ async-timeout ✓ google-genai ✓ huggingface-hub ✓ python-discovery ✓ opentelemetry-instrumentation ✓ opentelemetry-exporter-otlp-proto-grpc ✓ opentelemetry-exporter-otlp-proto-common ✓ gitpython ✓ ruff ✓ pynacl ✓ sortedcontainers ✗ ptyprocess ✓ decorator ✓ pexpect ✓ smmap ✓ isodate ✓ docstring-parser ✓ keyring ✓ docker ✓ azure-core ✓ fonttools ✓ azure-identity ✓ tabulate ✓ scikit-learn ✓ prompt-toolkit ✓ jaraco-classes ✓ gitdb ✓ itsdangerous ✓ flask ✓ bcrypt ✓ matplotlib ✓ google-cloud-core ✓ secretstorage ✓ jeepney ✓ ruamel-yaml ✓ pytest-cov ✓ joblib ✓ orjson ✓ deprecated ✗ pytest-asyncio ✓ alembic ✓ msal ✓ hf-xet ✓ jaraco-context ✓ jaraco-functools ✓ kiwisolver ✓ google-resumable-media ✓ dill ✓ threadpoolctl ✓ defusedxml ✗ google-crc32c ✓ databricks-sql-connector ✓ snowflake-connector-python ✓ email-validator ✓ blinker ✓ mako ✓ contourpy ✓ chardet ✓ tzlocal ✓ pyee ✓ tiktoken ✓ pydantic-graph ✓ google-api-python-client ✓ uv ✓ pytest-json-ctrf ✓ kubernetes ✓ tokenizers ✓ mypy ✓ cycler ✓ playwright ✓ opentelemetry-exporter-otlp ✓ opentelemetry-instrumentation-requests ✓ multiprocess ✓ pyproject-hooks ✓ poetry-core ✓ opentelemetry-util-http ✓ rapidfuzz ✓ google-auth-httplib2 ✓ prometheus-client ✓ zstandard ✓ asn1crypto ✗ uritemplate ✓ google-cloud-aiplatform ✓ toml ✗ xxhash ✓ build ✓ google-auth-oauthlib ✓ nodeenv ✓ paramiko ✓ httplib2 ✓ sglang ✓ types-requests ✓ google-cloud-secret-manager ✓

Top 240 - 360

ipython ✓ jsonpointer ✓ sympy ✓ aiofiles ✓ fastjsonschema ✗ traitlets ✓ ydb ✓ marshmallow ✓ google-cloud-bigquery ✓ backoff ✓ sqlparse ✓ google-cloud-batch ✓ transformers ✓ msal-extensions ✓ identify ✓ mpmath ✓ jedi ✓ pre-commit ✓ parso ✓ azure-storage-blob ✓ gunicorn ✓ weaviate-client ✓ cfgv ✓ setuptools-scm ✓ executing ✓ babel ✓ anthropic ✓ sentry-sdk ✓ matplotlib-inline ✓ dbt-core ✓ ujson ✓ h2 ✓ asgiref ✓ google-analytics-admin ✓ hyperframe ✓ hpack ✓ cloudpickle ✓ asttokens ✓ pytest-xdist ✓ grpc-google-iam-v1 ✓ databricks-sdk ✓ durationpy ✓ xmltodict ✓ webencodings ✗ nest-asyncio ✗ tornado ✓ google-cloud-kms ✓ google-cloud-compute ✓ execnet ✓ cython ✓ authlib ✓ stack-data ✗ gcsfs ✓ pure-eval ✓ black ✓ dacite ✓ librt ✓ datasets ✓ cachecontrol ✓ jsonpatch ✓ langchain-core ✓ python-json-logger ✓ py4j ✓ markdown ✓ vcs-versioning ✓ importlib-resources ✓ pandas-stubs ✓ pyzmq ✓ watchdog ✓ google-cloud-dlp ✓ iso8601 ✓ typing-inspect ✗ termcolor ✓ debugpy ✓ google-cloud-speech ✓ pymongo ✓ google-cloud-pubsub ✓ joserfc ✓ pyhumps ✓ llama-parse ✓ llama-cloud-services ✓ dbt-adapters ✓ aioitertools ✓ google-cloud-texttospeech ✓ axiom-py ✓ dulwich ✓ rich-toolkit ✓ pytest-mock ✓ isort ✓ pkginfo ✓ structlog ✓ tinycss2 ✓ asyncpg ✓ narwhals ✓ slack-sdk ✓ ruamel-yaml-clib ✓ lz4 ✓ pymysql ✓ pycryptodome ✓ jupyter-core ✓ msrest ✓ dbt-common ✓ langsmith ✓ google-cloud-tasks ✓ dataclasses-json ✓ deepdiff ✓ poetry ✓ loguru ✗ pywin32 ✓ grpcio-health-checking ✓ invoke ✓ jupyter-client ✓ google-cloud-monitoring ✓ google-cloud-logging ✓ torch ✓ google-cloud-bigtable ✓ flatbuffers ✓ semver ✓ awswrangler ✓ ipykernel ✓

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.