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. 338 green packages (93.9%) have dropped support for Python 3.5;
  2. 22 uncolored packages (6.1%) 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

cloudflare ✓ acme ✓ certbot-dns-cloudflare ✓ boto3 ✓ botocore ✓ urllib3 ✓ setuptools ✓ typing-extensions ✓ requests ✓ certifi ✓ grpcio-status ✓ charset-normalizer ✓ idna ✓ packaging ✓ python-dateutil ✗ s3transfer ✓ aiobotocore ✓ six ✓ protobuf ✓ importlib-metadata ✓ numpy ✓ pyyaml ✓ s3fs ✓ cryptography ✓ fsspec ✓ pydantic ✓ cffi ✓ pip ✓ pandas ✓ pycparser ✓ attrs ✓ platformdirs ✓ rsa ✓ click ✓ jmespath ✓ jinja2 ✓ markupsafe ✓ pyasn1 ✓ pytz ✗ zipp ✓ google-api-core ✓ pluggy ✓ pygments ✓ grpcio-tools ✓ pydantic-core ✓ google-auth ✓ wheel ✓ cachetools ✓ filelock ✓ h11 ✓ sniffio ✓ anyio ✓ colorama ✓ virtualenv ✓ googleapis-common-protos ✓ pytest ✓ httpx ✓ annotated-types ✓ cloudpickle ✓ pyasn1-modules ✓ jsonschema ✓ tzdata ✓ iniconfig ✓ pyjwt ✓ aiohttp ✓ httpcore ✓ pyzmq ✓ pyarrow ✓ tomli ✓ requests-oauthlib ✗ multidict ✓ wrapt ✓ yarl ✓ awscli ✓ psutil ✓ aiosignal ✓ oauthlib ✓ exceptiongroup ✓ tqdm ✓ tomlkit ✓ sqlalchemy ✓ frozenlist ✓ greenlet ✓ rpds-py ✓ pillow ✓ python-dotenv ✓ pyparsing ✓ scipy ✓ distlib ✓ propcache ✓ pathspec ✓ jsonschema-specifications ✓ requests-toolbelt ✗ beautifulsoup4 ✓ grpcio ✓ referencing ✓ rich ✓ openpyxl ✓ soupsieve ✓ gym-notices ✓ typing-inspection ✓ pyopenssl ✓ et-xmlfile ✓ docutils ✓ isodate ✓ aiohappyeyeballs ✓ more-itertools ✓ google-cloud-storage ✓ lxml ✓ markdown-it-py ✓ mdurl ✓ msgpack ✓ proto-plus ✓ werkzeug ✓ opentelemetry-semantic-conventions ✓ grpcio-health-checking ✓ decorator ✓ websocket-client ✓ trove-classifiers ✓ mypy-extensions ✓

Top 120 - 240

azure-core ✓ pynacl ✓ shellingham ✓ async-timeout ✓ coverage ✓ sortedcontainers ✗ msal ✓ psycopg2-binary ✓ flask ✓ tenacity ✓ deprecated ✗ snowflake-connector-python ✓ asn1crypto ✗ langsmith ✓ scikit-learn ✓ opentelemetry-api ✓ azure-identity ✓ keyring ✓ poetry-core ✓ yandexcloud ✓ google-cloud-core ✓ bcrypt ✓ starlette ✓ regex ✓ weaviate-client ✓ fastapi ✓ jaraco-classes ✓ opentelemetry-sdk ✓ pexpect ✓ wcwidth ✗ ptyprocess ✓ gitpython ✓ jeepney ✓ uvicorn ✓ secretstorage ✓ tabulate ✓ fastjsonschema ✗ threadpoolctl ✓ paramiko ✓ opentelemetry-proto ✓ chardet ✓ networkx ✓ itsdangerous ✓ google-resumable-media ✓ types-requests ✓ smmap ✓ google-api-python-client ✓ gitdb ✓ ruamel-yaml ✓ google-crc32c ✓ dnspython ✓ matplotlib ✓ blinker ✓ google-auth-oauthlib ✓ pyproject-hooks ✓ build ✓ dill ✓ fonttools ✓ rapidfuzz ✓ backoff ✓ awswrangler ✓ joblib ✓ opentelemetry-instrumentation ✓ huggingface-hub ✓ importlib-resources ✓ alembic ✓ prompt-toolkit ✓ websockets ✓ defusedxml ✗ msal-extensions ✓ google-genai ✓ aliyun-python-sdk-core ✓ kiwisolver ✓ langchain ✓ openai ✓ opentelemetry-exporter-otlp-proto-http ✓ jaraco-functools ✓ zstandard ✓ pkginfo ✓ uritemplate ✓ gym ✓ distro ✓ py4j ✓ sqlparse ✓ google-cloud-bigquery ✓ xmltodict ✓ azure-storage-blob ✓ cycler ✓ marshmallow ✓ opentelemetry-util-http ✓ tzlocal ✓ jaraco-context ✓ cachecontrol ✓ ruamel-yaml-clib ✓ typedload ✓ pytest-cov ✓ google-auth-httplib2 ✓ httplib2 ✗ redis ✓ opentelemetry-instrumentation-requests ✓ ipython ✓ docker ✓ cython ✓ nest-asyncio ✗ opentelemetry-exporter-otlp-proto-common ✓ opentelemetry-exporter-otlp-proto-grpc ✓ poetry-plugin-export ✓ pymysql ✓ babel ✓ contourpy ✓ black ✓ poetry ✓ prometheus-client ✓ jsonpointer ✓ traitlets ✓ sphinx ✓ dulwich ✓ jedi ✓ transformers ✓ kubernetes ✓

Top 240 - 360

crashtest ✓ cleo ✓ grpc-google-iam-v1 ✓ hatchling ✓ parso ✓ gunicorn ✓ installer ✓ tornado ✓ setuptools-scm ✓ langchain-core ✓ pycodestyle ✓ orjson ✓ isort ✓ sentry-sdk ✓ databricks-sql-connector ✓ matplotlib-inline ✓ typer ✓ toml ✗ webencodings ✗ mako ✓ ruff ✓ types-python-dateutil ✓ markdown ✓ mccabe ✓ termcolor ✓ ply ✓ pendulum ✓ executing ✓ snowflake-sqlalchemy ✓ asttokens ✓ aiofiles ✓ python-json-logger ✓ asgiref ✓ mypy ✓ jiter ✓ nodeenv ✓ stack-data ✗ pure-eval ✓ typing-inspect ✗ pymongo ✓ tokenizers ✓ msrest ✓ scramp ✓ sympy ✓ torch ✓ pycryptodome ✓ opentelemetry-exporter-otlp ✓ azure-common ✗ pre-commit ✓ notebook ✓ argcomplete ✓ pytest-xdist ✓ jsonpatch ✓ py ✗ opensearch-py ✓ shapely ✓ backports-tarfile ✓ identify ✓ uv ✓ pydantic-settings ✓ cfgv ✓ google-cloud-secret-manager ✓ pyrsistent ✓ execnet ✓ jsonpath-ng ✓ redshift-connector ✓ datadog ✓ smart-open ✓ semver ✓ python-multipart ✓ mysql-connector-python ✓ tb-nightly ✓ future ✗ arrow ✓ debugpy ✓ jupyter-core ✓ mpmath ✗ requests-aws4auth ✓ apache-airflow-providers-common-sql ✓ databricks-sdk ✓ rfc3339-validator ✗ pyspark ✓ jupyterlab ✓ lz4 ✓ tiktoken ✓ watchdog ✓ dataclasses-json ✓ slack-sdk ✓ pbs-installer ✓ aioitertools ✓ email-validator ✓ mistune ✓ findpython ✓ multiprocess ✓ jupyter-client ✓ pyflakes ✓ tinycss2 ✓ pytest-asyncio ✓ google-cloud-pubsub ✓ ipykernel ✓ bleach ✓ nbformat ✓ pycryptodomex ✓ jupyter-server ✓ snowflake-snowpark-python ✓ nbconvert ✓ comm ✓ flake8 ✓ editables ✓ nbclient ✓ pytest-mock ✓ pygithub ✓ elasticsearch ✓ python-slugify ✓ hf-xet ✓ text-unidecode ✗ overrides ✓ google-cloud-aiplatform ✓ gcsfs ✓ apache-beam ✓

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.