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

Top 120 - 240

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

Top 240 - 360

asn1crypto ✗ hyperframe ✓ execnet ✓ xxhash ✓ pyproject-hooks ✓ jsonpointer ✓ mpmath ✓ opentelemetry-instrumentation-threading ✓ backoff ✓ black ✓ aiofiles ✓ ipython ✓ poetry-core ✓ msal-extensions ✓ paramiko ✓ async-timeout ✓ fastjsonschema ✗ asgiref ✓ build ✓ joserfc ✓ narwhals ✓ authlib ✓ sqlparse ✓ google-cloud-batch ✓ setuptools-scm ✓ traitlets ✓ cloudpickle ✓ webencodings ✗ gcsfs ✓ azure-storage-blob ✓ google-cloud-kms ✓ pydantic-ai-slim ✓ babel ✓ gunicorn ✓ executing ✓ vcs-versioning ✓ google-analytics-admin ✓ datasets ✓ librt ✓ google-cloud-compute ✓ grpc-google-iam-v1 ✓ databricks-sdk ✓ jsonpatch ✓ cachecontrol ✓ asttokens ✓ jedi ✓ parso ✓ types-requests ✓ pypdf ✓ tornado ✓ xmltodict ✓ matplotlib-inline ✓ cython ✓ marshmallow ✓ dbt-adapters ✓ google-cloud-dlp ✓ langsmith ✓ markdown ✓ isort ✓ pymongo ✓ stack-data ✗ pure-eval ✓ google-cloud-texttospeech ✓ python-json-logger ✓ psycopg ✓ asyncpg ✓ python-docx ✓ kubernetes ✓ google-cloud-speech ✓ tinycss2 ✓ google-cloud-pubsub ✓ structlog ✓ watchdog ✓ databricks-sql-connector ✓ xlsxwriter ✓ psycopg-binary ✓ py4j ✓ dbt-core ✓ typedload ✓ pyperclip ✗ pytest-mock ✓ aioitertools ✓ slack-sdk ✓ dulwich ✓ debugpy ✓ pyzmq ✓ pydantic-graph ✓ termcolor ✓ lz4 ✓ pymupdf ✓ tomli-w ✓ pytest-timeout ✓ importlib-resources ✓ nest-asyncio ✗ pytokens ✓ google-cloud-logging ✓ jsonschema-path ✓ safetensors ✓ pycryptodome ✓ pkginfo ✓ cyclopts ✓ flatbuffers ✓ opentelemetry-exporter-prometheus ✓ beartype ✓ opentelemetry-instrumentation-fastapi ✓ deprecation ✗ torch ✓ croniter ✓ llama-parse ✓ opentelemetry-instrumentation-asgi ✓ google-cloud-tasks ✓ llama-cloud-services ✓ griffelib ✓ jupyter-core ✓ snowflake-snowpark-python ✓ playwright ✓ pymysql ✓ pathable ✓ dbt-common ✓ brotli ✗

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.