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

Top 120 - 240

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

Top 240 - 360

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

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.