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. 345 green packages (95.8%) have dropped support for Python 3.5;
  2. 15 uncolored packages (4.2%) 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 ✓ idna ✓ certifi ✓ requests ✓ typing-extensions ✓ charset-normalizer ✓ botocore ✓ setuptools ✓ cryptography ✓ pygments ✓ pluggy ✓ python-dateutil ✗ six ✓ pyyaml ✓ aiobotocore ✓ cffi ✓ numpy ✓ pydantic ✓ click ✓ pytest ✓ pycparser ✓ iniconfig ✓ pydantic-core ✓ anyio ✓ attrs ✓ grpcio-status ✓ protobuf ✓ s3transfer ✓ fsspec ✓ h11 ✓ pandas ✓ annotated-types ✓ httpx ✓ pip ✓ sglang ✓ litellm ✓ httpcore ✓ markupsafe ✓ typing-inspection ✓ platformdirs ✓ aiohttp ✓ s3fs ✓ filelock ✓ jinja2 ✓ python-dotenv ✓ rich ✓ yarl ✓ markdown-it-py ✓ pathspec ✓ pyjwt ✓ multidict ✓ propcache ✓ jmespath ✓ tqdm ✓ mdurl ✓ frozenlist ✓ aiohappyeyeballs ✓ aiosignal ✓ rpds-py ✓ google-auth ✓ pyasn1 ✓ starlette ✓ jsonschema ✓ uvicorn ✓ pytz ✗ wheel ✓ virtualenv ✓ importlib-metadata ✓ googleapis-common-protos ✓ zipp ✓ opentelemetry-sdk ✓ fastapi ✓ annotated-doc ✓ trove-classifiers ✓ google-api-core ✓ referencing ✓ tzdata ✓ jsonschema-specifications ✓ pillow ✓ pyasn1-modules ✓ opentelemetry-semantic-conventions ✓ tenacity ✓ typer ✓ grpcio ✓ pyarrow ✓ wrapt ✓ shellingham ✓ sniffio ✓ greenlet ✓ hatchling ✓ colorama ✓ soupsieve ✓ websockets ✓ scipy ✓ pyparsing ✓ opentelemetry-api ✓ tomli ✓ beautifulsoup4 ✓ requests-oauthlib ✗ python-multipart ✓ sqlalchemy ✓ regex ✓ opentelemetry-proto ✓ opentelemetry-exporter-otlp-proto-http ✓ multiprocess ✓ psutil ✓ huggingface-hub ✓ lxml ✓ textual ✓ openai ✓ distro ✓ pydantic-settings ✓ more-itertools ✓ distlib ✓ oauthlib ✓ watchfiles ✓ jiter ✓ exceptiongroup ✓

Top 120 - 240

langchain ✓ cachetools ✓ tomlkit ✓ awscli ✓ proto-plus ✓ grpcio-tools ✓ openpyxl ✓ opentelemetry-instrumentation ✓ et-xmlfile ✓ gitpython ✓ opentelemetry-exporter-otlp-proto-common ✓ python-discovery ✓ wcwidth ✓ rsa ✓ smmap ✓ opentelemetry-exporter-otlp-proto-grpc ✓ dnspython ✓ requests-toolbelt ✗ editables ✓ google-genai ✓ coverage ✓ pytest-json-ctrf ✓ keyring ✓ networkx ✓ pydantic-ai-slim ✓ gitdb ✓ websocket-client ✓ mypy-extensions ✓ jaraco-classes ✓ hf-xet ✓ google-cloud-storage ✓ jeepney ✓ mcp ✓ secretstorage ✓ fonttools ✓ werkzeug ✓ docker ✓ sortedcontainers ✗ pyopenssl ✓ decorator ✓ msgpack ✓ psycopg2-binary ✓ ptyprocess ✓ ruff ✓ jaraco-functools ✓ pexpect ✓ redis ✓ matplotlib ✓ docstring-parser ✓ jaraco-context ✓ prompt-toolkit ✓ pynacl ✓ sse-starlette ✓ dill ✓ contourpy ✓ docutils ✓ pytest-asyncio ✓ kiwisolver ✓ scikit-learn ✓ tabulate ✓ tokenizers ✓ azure-core ✓ azure-identity ✓ tiktoken ✓ joblib ✓ isodate ✓ chardet ✓ toml ✗ httptools ✓ google-cloud-core ✓ async-timeout ✓ defusedxml ✗ pytest-cov ✓ nodeenv ✓ email-validator ✓ itsdangerous ✓ flask ✓ uvloop ✓ bcrypt ✓ msal ✓ orjson ✓ ipython ✓ cycler ✓ xxhash ✓ alembic ✓ ruamel-yaml ✓ threadpoolctl ✓ google-resumable-media ✓ identify ✓ h2 ✓ pre-commit ✓ hyperframe ✓ hpack ✓ cfgv ✓ httpx-sse ✓ google-crc32c ✓ tzlocal ✓ deprecated ✗ ydb ✓ google-api-python-client ✓ snowflake-connector-python ✓ opentelemetry-instrumentation-requests ✓ opentelemetry-util-http ✓ uv ✓ mako ✓ traitlets ✓ blinker ✓ google-cloud-bigquery ✓ rapidfuzz ✓ uritemplate ✓ opentelemetry-exporter-otlp ✓ weaviate-client ✓ langchain-core ✓ google-auth-httplib2 ✓ kubernetes ✓ prometheus-client ✓ transformers ✓ asn1crypto ✗ pydantic-graph ✓ zstandard ✓

Top 240 - 360

google-auth-oauthlib ✓ jedi ✓ pyproject-hooks ✓ httplib2 ✓ mypy ✓ executing ✓ google-cloud-secret-manager ✓ poetry-core ✓ parso ✓ google-cloud-batch ✓ sympy ✓ jsonpointer ✓ matplotlib-inline ✓ anthropic ✓ asttokens ✓ build ✓ paramiko ✓ fastjsonschema ✗ datasets ✓ tree-sitter ✓ google-cloud-aiplatform ✓ stack-data ✗ mpmath ✓ pure-eval ✓ sentry-sdk ✓ sqlparse ✓ aiofiles ✓ azure-storage-blob ✓ google-cloud-kms ✓ msal-extensions ✓ termcolor ✓ black ✓ google-cloud-compute ✓ pytest-xdist ✓ backoff ✓ google-analytics-admin ✓ cloudpickle ✓ authlib ✓ gcsfs ✓ narwhals ✓ asgiref ✓ marshmallow ✓ types-requests ✓ babel ✓ joserfc ✓ webencodings ✗ execnet ✓ gunicorn ✓ grpc-google-iam-v1 ✓ cython ✓ databricks-sdk ✓ setuptools-scm ✓ jsonpatch ✓ google-cloud-dlp ✓ xmltodict ✓ python-json-logger ✓ tornado ✓ cachecontrol ✓ pandas-stubs ✓ google-cloud-texttospeech ✓ durationpy ✓ google-cloud-speech ✓ mdit-py-plugins ✓ dbt-adapters ✓ databricks-sql-connector ✓ librt ✓ markdown ✓ rich-toolkit ✓ pymongo ✓ google-cloud-pubsub ✓ nest-asyncio ✗ cbor2 ✓ linkify-it-py ✓ watchdog ✓ types-toml ✓ py4j ✓ uc-micro-py ✓ dbt-core ✓ opentelemetry-instrumentation-threading ✓ aioitertools ✓ importlib-resources ✓ pytest-mock ✓ tinycss2 ✓ asyncpg ✓ ghapi ✓ isort ✓ llama-parse ✓ llama-cloud-services ✓ flatbuffers ✓ debugpy ✓ dulwich ✓ slack-sdk ✓ structlog ✓ types-certifi ✓ fastuuid ✓ pyzmq ✓ pyperclip ✗ grpclib ✓ xlsxwriter ✓ vcs-versioning ✓ jsonschema-path ✓ snowflake-snowpark-python ✓ python-docx ✓ lz4 ✓ torch ✓ ruamel-yaml-clib ✓ typing-inspect ✗ pkginfo ✓ google-cloud-tasks ✓ modal ✓ synchronicity ✓ pytokens ✓ google-cloud-monitoring ✓ pypdf ✓ pymupdf ✓ langsmith ✓ msrest ✓ psycopg ✓ pycryptodome ✓ pymysql ✓

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.