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

Top 120 - 240

websockets ✓ proto-plus ✓ distlib ✓ opentelemetry-exporter-otlp-proto-grpc ✓ msgpack ✓ pyopenssl ✓ flask ✓ google-cloud-storage ✓ openai ✓ werkzeug ✓ dnspython ✓ pynacl ✓ mypy-extensions ✓ coverage ✓ python-multipart ✓ opentelemetry-exporter-otlp-proto-http ✓ psycopg2-binary ✓ isodate ✓ distro ✓ wcwidth ✓ opentelemetry-exporter-otlp-proto-common ✓ networkx ✓ decorator ✓ sortedcontainers ✗ keyring ✓ huggingface-hub ✓ matplotlib ✓ azure-core ✓ pexpect ✓ poetry-core ✓ fonttools ✓ scikit-learn ✓ ptyprocess ✓ azure-identity ✓ textual ✓ jaraco-classes ✓ secretstorage ✓ joblib ✓ msal ✓ bcrypt ✓ redis ✓ gitpython ✓ jeepney ✓ ruff ✓ editables ✓ snowflake-connector-python ✓ kiwisolver ✓ opensearch-py ✓ jiter ✓ google-cloud-core ✓ watchfiles ✓ jaraco-context ✓ defusedxml ✗ ruamel-yaml ✓ jaraco-functools ✓ requests-aws4auth ✓ itsdangerous ✓ zstandard ✓ opentelemetry-exporter-otlp ✓ async-timeout ✓ types-requests ✓ google-cloud-aiplatform ✓ contourpy ✓ alembic ✓ threadpoolctl ✓ tabulate ✓ email-validator ✓ smmap ✓ rapidfuzz ✓ prompt-toolkit ✓ kubernetes ✓ gitdb ✓ docker ✓ deprecated ✗ orjson ✓ google-crc32c ✓ google-resumable-media ✓ asn1crypto ✗ tzlocal ✓ opentelemetry-instrumentation ✓ google-cloud-bigquery ✓ pytest-cov ✓ setuptools-scm ✓ events ✗ paramiko ✓ chardet ✓ blinker ✓ google-api-python-client ✓ pytest-asyncio ✓ backoff ✓ prometheus-client ✓ google-auth-oauthlib ✓ dill ✓ docstring-parser ✓ pyproject-hooks ✓ cycler ✓ build ✓ mako ✓ uritemplate ✓ fastjsonschema ✗ marshmallow ✓ google-auth-httplib2 ✓ msal-extensions ✓ uv ✓ opensearch-protobufs ✓ httplib2 ✓ hf-xet ✓ azure-storage-blob ✓ transformers ✓ tokenizers ✓ jsonpointer ✓ sympy ✓ sqlparse ✓ babel ✓ google-cloud-secret-manager ✓ uvloop ✓ xmltodict ✓ isort ✓ google-cloud-batch ✓ ipython ✓

Top 240 - 360

aiofiles ✓ nodeenv ✓ grpcio-health-checking ✓ mcp ✓ durationpy ✓ mypy ✓ gcsfs ✓ sse-starlette ✓ google-analytics-admin ✓ mpmath ✓ litellm ✓ parso ✓ py4j ✓ tiktoken ✓ cloudpickle ✓ traitlets ✓ tornado ✓ opentelemetry-util-http ✓ toml ✗ httpx-sse ✓ jedi ✓ pre-commit ✓ cython ✓ black ✓ gunicorn ✓ importlib-resources ✓ executing ✓ opentelemetry-instrumentation-requests ✓ httptools ✓ databricks-sdk ✓ authlib ✓ asttokens ✓ langchain-core ✓ cattrs ✓ identify ✓ markdown ✓ matplotlib-inline ✓ asgiref ✓ cfgv ✓ grpc-google-iam-v1 ✓ sentry-sdk ✓ dbt-core ✓ python-json-logger ✓ nest-asyncio ✗ webencodings ✗ python-discovery ✓ stack-data ✗ pure-eval ✓ cachecontrol ✓ pandas-stubs ✓ pytest-xdist ✓ aliyun-python-sdk-core ✓ jsonpatch ✓ pymongo ✓ xxhash ✓ execnet ✓ aioitertools ✓ typing-inspect ✗ opentelemetry-exporter-prometheus ✓ debugpy ✓ pymysql ✓ awswrangler ✓ jsonschema-path ✓ watchdog ✓ h2 ✓ hyperframe ✓ hpack ✓ termcolor ✓ dulwich ✓ typedload ✓ pkginfo ✓ pyzmq ✓ dbt-adapters ✓ msrest ✓ ruamel-yaml-clib ✓ pytest-mock ✓ dataclasses-json ✓ lz4 ✓ portalocker ✓ deepdiff ✓ invoke ✓ pyperclip ✗ poetry ✓ mccabe ✓ pycryptodome ✓ smart-open ✓ rich-toolkit ✓ pathable ✓ langsmith ✓ torch ✓ google-cloud-monitoring ✓ databricks-sql-connector ✓ rfc3339-validator ✗ slack-sdk ✓ dbt-common ✓ typer-slim ✓ google-cloud-vision ✓ snowflake-sqlalchemy ✓ pygithub ✓ google-cloud-speech ✓ pendulum ✓ tree-sitter ✓ pylint ✓ multiprocess ✓ google-cloud-kms ✓ google-cloud-compute ✓ sphinx ✓ semver ✓ tinycss2 ✓ arrow ✓ notebook ✓ jupyter-core ✓ argcomplete ✓ google-cloud-dlp ✓ google-cloud-tasks ✓ future ✗ anthropic ✓ shapely ✓ requests-file ✓ pycodestyle ✓

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.