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

Top 120 - 240

pynacl ✓ flask ✓ proto-plus ✓ shellingham ✓ sortedcontainers ✗ more-itertools ✓ google-cloud-storage ✓ psycopg2-binary ✓ websockets ✓ networkx ✓ isodate ✓ decorator ✓ hatchling ✓ mypy-extensions ✓ coverage ✓ scikit-learn ✓ msgpack ✓ azure-core ✓ opensearch-py ✓ huggingface-hub ✓ pexpect ✓ wcwidth ✓ ptyprocess ✓ msal ✓ gitpython ✓ azure-identity ✓ joblib ✓ snowflake-connector-python ✓ threadpoolctl ✓ requests-aws4auth ✓ distro ✓ async-timeout ✓ bcrypt ✓ openai ✓ dnspython ✓ tabulate ✓ python-multipart ✓ ruamel-yaml ✓ asn1crypto ✗ google-cloud-core ✓ smmap ✓ deprecated ✗ redis ✓ gitdb ✓ keyring ✓ itsdangerous ✓ poetry-core ✓ events ✗ textual ✓ pydantic-settings ✓ prompt-toolkit ✓ matplotlib ✓ fonttools ✓ alembic ✓ pytest-asyncio ✓ tzlocal ✓ ruff ✓ google-api-python-client ✓ paramiko ✓ google-resumable-media ✓ jaraco-classes ✓ google-cloud-bigquery ✓ kubernetes ✓ secretstorage ✓ typer ✓ google-crc32c ✓ zstandard ✓ opentelemetry-instrumentation ✓ blinker ✓ pyproject-hooks ✓ jiter ✓ annotated-doc ✓ jeepney ✓ kiwisolver ✓ build ✓ types-requests ✓ setuptools-scm ✓ google-auth-oauthlib ✓ backoff ✓ chardet ✓ pytest-cov ✓ langsmith ✓ nodeenv ✓ fastjsonschema ✗ dill ✓ jaraco-context ✓ opensearch-protobufs ✓ rapidfuzz ✓ prometheus-client ✓ msal-extensions ✓ jaraco-functools ✓ cycler ✓ httplib2 ✓ cloudpickle ✓ defusedxml ✗ langchain ✓ uritemplate ✓ google-auth-httplib2 ✓ gcsfs ✓ identify ✓ orjson ✓ azure-storage-blob ✓ pre-commit ✓ contourpy ✓ cfgv ✓ marshmallow ✓ editables ✓ sqlparse ✓ sympy ✓ aliyun-python-sdk-core ✓ google-cloud-secret-manager ✓ ipython ✓ mako ✓ transformers ✓ opentelemetry-exporter-prometheus ✓ tokenizers ✓ cython ✓ typedload ✓ docker ✓ tornado ✓

Top 240 - 360

google-cloud-batch ✓ xmltodict ✓ importlib-resources ✓ mpmath ✗ traitlets ✓ grpcio-health-checking ✓ py4j ✓ babel ✓ google-cloud-aiplatform ✓ jedi ✓ parso ✓ jsonpointer ✓ google-analytics-admin ✓ uv ✓ email-validator ✓ aiofiles ✓ mypy ✓ matplotlib-inline ✓ opentelemetry-util-http ✓ executing ✓ black ✓ nest-asyncio ✗ hf-xet ✓ toml ✗ asttokens ✓ ply ✓ opentelemetry-instrumentation-requests ✓ watchfiles ✓ durationpy ✓ asgiref ✓ stack-data ✗ pure-eval ✓ grpc-google-iam-v1 ✓ botocore-stubs ✓ sentry-sdk ✓ docstring-parser ✓ types-awscrt ✓ webencodings ✗ uvloop ✓ python-json-logger ✓ types-s3transfer ✓ cachecontrol ✓ awswrangler ✓ markdown ✓ pandas-stubs ✓ gunicorn ✓ tiktoken ✓ langchain-core ✓ boto3-stubs ✓ termcolor ✓ pymongo ✓ pytest-xdist ✓ dbt-core ✓ pkginfo ✓ execnet ✓ pyzmq ✓ typing-inspect ✗ dbt-adapters ✓ watchdog ✓ aioitertools ✓ debugpy ✓ httptools ✓ msrest ✓ ruamel-yaml-clib ✓ pymysql ✓ dbt-common ✓ jsonpath-ng ✓ jsonpatch ✓ mypy-boto3-s3 ✓ snowflake-sqlalchemy ✓ databricks-sdk ✓ isort ✓ mcp ✓ httpx-sse ✓ torch ✓ sphinx ✓ pycryptodome ✓ h2 ✓ dulwich ✓ hyperframe ✓ hpack ✓ pygithub ✓ mccabe ✓ shapely ✓ sse-starlette ✓ poetry ✓ google-cloud-monitoring ✓ jupyter-core ✓ datadog ✓ azure-common ✗ crashtest ✓ requests-file ✓ slack-sdk ✓ lz4 ✓ pysocks ✗ pytest-mock ✓ notebook ✓ google-cloud-vision ✓ dataclasses-json ✓ litellm ✓ google-cloud-compute ✓ pendulum ✓ semver ✓ rfc3339-validator ✗ installer ✓ google-cloud-tasks ✓ cleo ✓ google-cloud-speech ✓ google-cloud-bigtable ✓ ipykernel ✓ arrow ✓ toolz ✓ jupyter-client ✓ smart-open ✓ google-cloud-dlp ✓ google-cloud-kms ✓ multiprocess ✓ backports-tarfile ✓ argcomplete ✓ comm ✓

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.