Python 3.7 Readiness

Python 3.7 support graph for the 360 most popular Python packages!

What is this about?

Python 3.7 is a version of Python that is past its End Of Life. This site shows Python 3.7 support for the 360 most downloaded packages on PyPI:

  1. 269 green packages (74.7%) have dropped support for Python 3.7;
  2. 91 uncolored packages (25.3%) still support Python 3.7.

Package 'x' is uncolored. What can I do?

There can be many reasons a package is still supporting Python 3.7:

  • 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.7 support.

How do you identify Python 3.7 support?

We look for the Programming Language :: Python :: 3.7 classifier on the latest release of the project, via PyPI's JSON API.

Top 120

boto3 ✓ urllib3 ✓ typing-extensions ✓ aiobotocore ✓ certifi ✗ botocore ✓ requests ✓ idna ✓ charset-normalizer ✗ setuptools ✓ grpcio-status ✓ packaging ✓ python-dateutil ✗ s3fs ✓ s3transfer ✓ six ✓ cryptography ✓ numpy ✓ fsspec ✓ pydantic ✓ pyyaml ✓ cffi ✓ pandas ✓ click ✓ protobuf ✓ pydantic-core ✓ pip ✓ pycparser ✓ attrs ✓ h11 ✓ anyio ✓ sniffio ✓ pygments ✓ markupsafe ✓ annotated-types ✓ jmespath ✗ pytz ✗ rsa ✗ importlib-metadata ✓ platformdirs ✓ jinja2 ✓ pluggy ✓ pyasn1 ✓ cachetools ✓ awscli ✓ wheel ✓ typing-inspection ✓ tzdata ✓ google-api-core ✗ zipp ✓ google-auth ✗ httpx ✓ httpcore ✓ filelock ✓ pyjwt ✓ pytest ✓ rich ✓ pyasn1-modules ✓ colorama ✗ googleapis-common-protos ✗ aiohttp ✓ jsonschema ✓ yandexcloud ✓ markdown-it-py ✓ iniconfig ✓ grpcio-tools ✓ psutil ✓ yarl ✓ multidict ✓ tqdm ✗ mdurl ✗ scipy ✓ virtualenv ✓ python-dotenv ✓ starlette ✓ pyarrow ✓ wrapt ✓ pillow ✓ tomli ✓ frozenlist ✓ requests-oauthlib ✗ sqlalchemy ✗ pathspec ✓ fastapi ✓ uvicorn ✓ aiosignal ✓ referencing ✓ greenlet ✓ rpds-py ✓ grpcio ✓ propcache ✓ jsonschema-specifications ✓ google-genai ✓ opentelemetry-sdk ✓ pyparsing ✓ opentelemetry-proto ✓ trove-classifiers ✓ oauthlib ✓ lxml ✓ tomlkit ✓ aiohappyeyeballs ✓ openpyxl ✗ et-xmlfile ✓ beautifulsoup4 ✓ pyopenssl ✗ soupsieve ✓ docutils ✓ opentelemetry-exporter-otlp-proto-http ✓ requests-toolbelt ✗ msgpack ✓ flask ✓ pexpect ✓ ptyprocess ✓ opentelemetry-exporter-otlp-proto-grpc ✓ distlib ✗ exceptiongroup ✓ werkzeug ✓ isodate ✗ snowflake-connector-python ✓ more-itertools ✓

Top 120 - 240

pynacl ✓ google-cloud-storage ✗ regex ✓ proto-plus ✗ shellingham ✗ opentelemetry-api ✓ opentelemetry-exporter-otlp-proto-common ✓ opentelemetry-exporter-otlp ✓ psycopg2-binary ✓ websocket-client ✓ mypy-extensions ✓ tenacity ✓ python-multipart ✓ decorator ✓ scikit-learn ✓ opentelemetry-semantic-conventions ✓ sortedcontainers ✗ azure-identity ✓ azure-core ✓ msal ✓ coverage ✓ annotated-doc ✓ networkx ✓ async-timeout ✓ bcrypt ✓ wcwidth ✗ dnspython ✓ openai ✓ websockets ✓ gitpython ✗ huggingface-hub ✓ cloudpickle ✓ google-cloud-core ✗ asn1crypto ✗ threadpoolctl ✓ smmap ✗ joblib ✓ deprecated ✗ gitdb ✗ hatchling ✓ matplotlib ✓ tabulate ✗ pyzmq ✓ langsmith ✓ zstandard ✓ paramiko ✓ keyring ✓ itsdangerous ✓ distro ✗ fonttools ✓ google-api-python-client ✗ ruamel-yaml ✓ google-resumable-media ✗ prompt-toolkit ✓ chardet ✗ google-crc32c ✓ poetry-core ✓ redis ✓ secretstorage ✓ transformers ✓ jaraco-classes ✓ google-auth-oauthlib ✗ dill ✓ kiwisolver ✓ backoff ✗ fastjsonschema ✗ google-cloud-batch ✗ jeepney ✓ rapidfuzz ✓ alembic ✓ setuptools-scm ✓ typer ✓ blinker ✓ google-cloud-secret-manager ✗ grpcio-health-checking ✓ build ✓ msal-extensions ✗ google-cloud-bigquery ✓ pyproject-hooks ✓ orjson ✓ pydantic-settings ✓ cycler ✓ uritemplate ✓ google-auth-httplib2 ✗ defusedxml ✗ jiter ✓ google-analytics-admin ✗ py4j ✓ tzlocal ✓ langchain ✓ aliyun-python-sdk-core ✗ httplib2 ✓ jaraco-functools ✓ sqlparse ✓ contourpy ✓ marshmallow ✓ pytest-cov ✓ xmltodict ✓ ruamel-yaml-clib ✓ ruff ✗ prometheus-client ✓ ipython ✓ jaraco-context ✓ azure-storage-blob ✓ importlib-resources ✓ tokenizers ✓ docker ✓ types-requests ✓ babel ✓ black ✓ email-validator ✓ traitlets ✓ jsonpointer ✗ mako ✓ cython ✓ parso ✗ jedi ✗ uv ✓ snowflake-sqlalchemy ✓ awswrangler ✓

Top 240 - 360

sympy ✓ pymupdf ✓ tornado ✓ matplotlib-inline ✓ nest-asyncio ✗ kubernetes ✗ editables ✗ sphinx ✓ aiofiles ✓ executing ✓ sentry-sdk ✗ opentelemetry-instrumentation ✓ langchain-core ✓ mpmath ✗ hf-xet ✓ asttokens ✓ toml ✗ grpc-google-iam-v1 ✗ argcomplete ✓ pytest-asyncio ✓ mypy ✓ webencodings ✓ markdown ✓ typedload ✓ asgiref ✓ ply ✓ torch ✓ bashlex ✓ dbt-common ✓ cachecontrol ✓ termcolor ✓ stack-data ✗ pure-eval ✗ uvloop ✓ pymysql ✓ pymongo ✓ dbt-core ✓ swe-rex ✓ pkginfo ✓ gunicorn ✗ typing-inspect ✗ google-cloud-vision ✗ pytest-xdist ✓ watchfiles ✓ google-cloud-kms ✗ shapely ✓ execnet ✓ python-json-logger ✓ aioitertools ✓ google-cloud-speech ✗ nodeenv ✗ docstring-parser ✓ google-cloud-dlp ✗ google-cloud-compute ✗ google-cloud-monitoring ✗ google-cloud-tasks ✗ httptools ✓ tiktoken ✓ jsonpatch ✗ isort ✓ google-cloud-workflows ✗ google-cloud-language ✗ pypandoc-binary ✗ msrest ✗ pendulum ✓ debugpy ✓ dbt-adapters ✓ google-cloud-dataform ✗ mccabe ✗ dulwich ✓ datadog ✗ opentelemetry-util-http ✓ google-cloud-videointelligence ✗ databricks-sdk ✗ multiprocess ✓ google-cloud-os-login ✗ pycryptodome ✗ databricks-sql-connector ✓ watchdog ✓ poetry ✓ pycodestyle ✓ future ✗ pre-commit ✓ notebook ✓ slack-sdk ✗ cattrs ✓ lz4 ✓ jsonpath-ng ✓ google-cloud-redis ✗ identify ✓ azure-common ✗ smart-open ✓ jupyter-core ✓ dataclasses-json ✗ ipykernel ✓ crashtest ✗ rfc3339-validator ✗ backports-tarfile ✓ installer ✓ google-cloud-memcache ✗ cleo ✗ cfgv ✓ pygithub ✓ mcp ✓ arrow ✓ opentelemetry-instrumentation-requests ✓ requests-file ✓ google-cloud-logging ✗ httpx-sse ✓ semver ✗ textual ✓ gym-notices ✓ tinycss2 ✓ jupyter-client ✓ opentelemetry-exporter-prometheus ✓ zope-interface ✓ pytest-mock ✓ opensearch-py ✓ scramp ✓ comm ✓

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.