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

Top 120 - 240

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

Top 240 - 360

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

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.