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. 342 green packages (95.0%) have dropped support for Python 3.5;
  2. 18 uncolored packages (5.0%) 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 ✓ urllib3 ✓ botocore ✓ typing-extensions ✓ requests ✓ aiobotocore ✓ setuptools ✓ certifi ✓ packaging ✓ idna ✓ charset-normalizer ✓ grpcio-status ✓ python-dateutil ✗ numpy ✓ s3transfer ✓ six ✓ s3fs ✓ fsspec ✓ cryptography ✓ pyyaml ✓ protobuf ✓ pygments ✓ pluggy ✓ cffi ✓ pydantic ✓ pandas ✓ click ✓ pytest ✓ pycparser ✓ importlib-metadata ✓ attrs ✓ iniconfig ✓ pydantic-core ✓ rsa ✓ pip ✓ h11 ✓ markupsafe ✓ jmespath ✓ anyio ✓ platformdirs ✓ pytz ✗ pyasn1 ✓ yandexcloud ✓ cachetools ✓ annotated-types ✓ google-auth ✓ jinja2 ✓ tzdata ✓ filelock ✓ opentelemetry-exporter-otlp-proto-grpc ✓ opentelemetry-proto ✓ awscli ✓ pyasn1-modules ✓ pyjwt ✓ zipp ✓ google-api-core ✓ typing-inspection ✓ wheel ✓ httpx ✓ grpcio-tools ✓ httpcore ✓ google-genai ✓ aiohttp ✓ scipy ✓ requests-oauthlib ✗ pyarrow ✓ yarl ✓ jsonschema ✓ colorama ✓ python-dotenv ✓ multidict ✓ googleapis-common-protos ✓ sqlalchemy ✓ tomli ✓ tqdm ✓ opentelemetry-sdk ✓ opentelemetry-exporter-otlp-proto-http ✓ greenlet ✓ opentelemetry-exporter-otlp ✓ rich ✓ frozenlist ✓ virtualenv ✓ aiosignal ✓ wrapt ✓ propcache ✓ markdown-it-py ✓ psutil ✓ pyparsing ✓ et-xmlfile ✓ openpyxl ✓ oauthlib ✓ mdurl ✓ rpds-py ✓ referencing ✓ pillow ✓ jsonschema-specifications ✓ grpcio ✓ uvicorn ✓ aiohappyeyeballs ✓ starlette ✓ pathspec ✓ opentelemetry-exporter-otlp-proto-common ✓ pyopenssl ✓ trove-classifiers ✓ beautifulsoup4 ✓ soupsieve ✓ cloudpickle ✓ fastapi ✓ lxml ✓ tomlkit ✓ tenacity ✓ exceptiongroup ✓ websocket-client ✓ huggingface-hub ✓ docutils ✓ distlib ✓ flask ✓ proto-plus ✓ psycopg2-binary ✓ google-cloud-storage ✓

Top 120 - 240

pyzmq ✓ isodate ✓ sniffio ✓ requests-toolbelt ✗ pynacl ✓ sortedcontainers ✗ regex ✓ azure-identity ✓ azure-core ✓ opentelemetry-semantic-conventions ✓ textual ✓ scikit-learn ✓ msal ✓ werkzeug ✓ shellingham ✓ snowflake-connector-python ✓ opentelemetry-api ✓ pexpect ✓ ptyprocess ✓ networkx ✓ decorator ✓ hatchling ✓ more-itertools ✓ asn1crypto ✗ msgpack ✓ async-timeout ✓ joblib ✓ bcrypt ✓ python-multipart ✓ websockets ✓ threadpoolctl ✓ mypy-extensions ✓ gitpython ✓ google-cloud-batch ✓ google-cloud-core ✓ dnspython ✓ aliyun-python-sdk-core ✓ openai ✓ paramiko ✓ wcwidth ✓ langsmith ✓ smmap ✓ gitdb ✓ google-analytics-admin ✓ tabulate ✓ distro ✓ annotated-doc ✓ coverage ✓ google-api-python-client ✓ google-resumable-media ✓ google-auth-oauthlib ✓ redis ✓ google-crc32c ✓ google-cloud-secret-manager ✓ deprecated ✗ matplotlib ✓ ruamel-yaml ✓ opentelemetry-exporter-prometheus ✓ chardet ✓ alembic ✓ gym-notices ✓ langchain ✓ grpcio-health-checking ✓ fonttools ✓ poetry-core ✓ google-auth-httplib2 ✓ msal-extensions ✓ transformers ✓ tzlocal ✓ itsdangerous ✓ dill ✓ google-cloud-bigquery ✓ blinker ✓ setuptools-scm ✓ pydantic-settings ✓ backoff ✓ kiwisolver ✓ azure-storage-blob ✓ keyring ✓ prompt-toolkit ✓ uritemplate ✓ py4j ✓ kubernetes ✓ jiter ✓ typedload ✓ httplib2 ✓ typer ✓ pandas-stubs ✓ cycler ✓ jaraco-classes ✓ secretstorage ✓ marshmallow ✓ pyproject-hooks ✓ sympy ✓ defusedxml ✗ tokenizers ✓ awswrangler ✓ ruamel-yaml-clib ✓ prometheus-client ✓ jeepney ✓ orjson ✓ pytest-asyncio ✓ zstandard ✓ fastjsonschema ✗ contourpy ✓ mpmath ✗ jaraco-functools ✓ sqlparse ✓ importlib-resources ✓ hf-xet ✓ opentelemetry-instrumentation ✓ cython ✓ ipython ✓ rapidfuzz ✓ xmltodict ✓ editables ✓ tornado ✓ ruff ✓ jaraco-context ✓ mako ✓

Top 240 - 360

build ✓ pytest-cov ✓ uv ✓ nodeenv ✓ docker ✓ aiofiles ✓ traitlets ✓ nest-asyncio ✗ jsonpointer ✓ dbt-core ✓ google-cloud-vision ✓ email-validator ✓ google-cloud-tasks ✓ jedi ✓ google-cloud-speech ✓ google-cloud-dlp ✓ parso ✓ google-cloud-monitoring ✓ sphinx ✓ google-cloud-workflows ✓ snowflake-sqlalchemy ✓ toml ✗ google-cloud-compute ✓ google-cloud-language ✓ argcomplete ✓ matplotlib-inline ✓ babel ✓ pre-commit ✓ google-cloud-dataform ✓ grpc-google-iam-v1 ✓ ply ✓ executing ✓ pymongo ✓ cfgv ✓ identify ✓ google-cloud-videointelligence ✓ types-requests ✓ google-cloud-os-login ✓ tiktoken ✓ durationpy ✓ asttokens ✓ langchain-core ✓ pymysql ✓ black ✓ google-cloud-bigtable ✓ dbt-common ✓ google-cloud-redis ✓ webencodings ✗ dbt-adapters ✓ sentry-sdk ✓ stack-data ✗ docstring-parser ✓ pure-eval ✓ google-cloud-memcache ✓ databricks-sdk ✓ termcolor ✓ litellm ✓ msrest ✓ azure-common ✗ markdown ✓ torch ✓ pendulum ✓ google-cloud-kms ✓ watchfiles ✓ jsonpatch ✓ asgiref ✓ shapely ✓ pycryptodome ✓ jsonpath-ng ✓ gunicorn ✓ aioitertools ✓ python-json-logger ✓ scramp ✓ ray ✓ notebook ✓ opentelemetry-util-http ✓ tree-sitter ✓ pytest-xdist ✓ uvloop ✓ mypy ✓ typing-inspect ✗ python-telegram-bot ✓ datadog ✓ google-cloud-logging ✓ mccabe ✓ opentelemetry-instrumentation-requests ✓ execnet ✓ apache-beam ✓ debugpy ✓ lz4 ✓ multiprocess ✓ mcp ✓ pycodestyle ✓ h2 ✓ hyperframe ✓ opensearch-py ✓ cattrs ✓ future ✗ hpack ✓ cachecontrol ✓ jupyter-core ✓ pkginfo ✓ requests-file ✓ httptools ✓ slack-sdk ✓ watchdog ✓ wsproto ✓ gym ✓ ipykernel ✓ invoke ✓ isort ✓ tree-sitter-languages ✓ google-cloud-aiplatform ✓ jupyter-client ✓ pyspark ✓ redshift-connector ✓ google-ads ✓ comm ✓ pysocks ✗ httpx-sse ✓

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.