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. 186 green packages (51.7%) have dropped support for Python 3.7;
  2. 174 white packages (48.3%) still support Python 3.7.

Package 'x' is white. 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 ✓ botocore ✓ urllib3 ✓ wheel ✓ requests ✗ typing-extensions ✓ certifi ✗ charset-normalizer ✗ idna ✗ setuptools ✓ pip ✗ python-dateutil ✗ packaging ✗ s3transfer ✓ aiobotocore ✓ pyyaml ✗ six ✓ s3fs ✓ fsspec ✓ numpy ✓ google-api-core ✗ cryptography ✗ grpcio-status ✗ importlib-metadata ✓ cffi ✓ pycparser ✓ zipp ✓ pandas ✓ attrs ✗ rsa ✗ protobuf ✓ pyasn1 ✓ jmespath ✗ click ✓ pydantic ✓ pytz ✗ markupsafe ✓ awscli ✓ jinja2 ✓ platformdirs ✓ colorama ✗ tomli ✗ pyjwt ✗ googleapis-common-protos ✗ filelock ✓ google-auth ✗ cachetools ✗ wrapt ✗ pluggy ✓ virtualenv ✗ pyarrow ✓ jsonschema ✓ exceptiongroup ✓ pytest ✓ pyparsing ✗ docutils ✓ sqlalchemy ✗ requests-oauthlib ✗ pyasn1-modules ✓ aiohttp ✓ flask ✓ oauthlib ✗ scipy ✓ isodate ✗ multidict ✗ iniconfig ✗ soupsieve ✓ yarl ✗ psutil ✓ werkzeug ✓ beautifulsoup4 ✓ async-timeout ✗ frozenlist ✓ aiosignal ✗ tqdm ✗ pillow ✓ pygments ✗ greenlet ✗ grpcio ✗ pyopenssl ✗ decorator ✗ pydantic-core ✓ lxml ✗ tzdata ✓ openpyxl ✗ requests-toolbelt ✗ et-xmlfile ✗ importlib-resources ✓ proto-plus ✗ azure-core ✗ asn1crypto ✗ coverage ✓ itsdangerous ✓ distlib ✗ tomlkit ✗ annotated-types ✓ sniffio ✓ more-itertools ✓ h11 ✗ pynacl ✗ google-cloud-storage ✗ pexpect ✓ ptyprocess ✓ referencing ✓ scikit-learn ✓ websocket-client ✓ rpds-py ✓ anyio ✓ msgpack ✓ jsonschema-specifications ✓ deprecated ✗ matplotlib ✓ msal ✗ google-cloud-core ✗ psycopg2-binary ✗ tabulate ✗ google-resumable-media ✗ wcwidth ✗ chardet ✗ poetry-plugin-export ✓

Top 120 - 240

gitpython ✗ bcrypt ✗ pathspec ✓ poetry-core ✓ mypy-extensions ✗ httpcore ✓ python-dotenv ✓ paramiko ✗ threadpoolctl ✓ httpx ✓ smmap ✗ ruamel-yaml ✗ gitdb ✗ dill ✓ keyring ✓ kiwisolver ✗ regex ✗ cycler ✓ rich ✗ joblib ✓ google-auth-oauthlib ✗ portalocker ✓ networkx ✓ tzlocal ✓ snowflake-connector-python ✓ azure-storage-blob ✗ backoff ✗ sortedcontainers ✗ google-crc32c ✗ fonttools ✓ jaraco-classes ✓ py4j ✗ jeepney ✓ build ✓ secretstorage ✗ tenacity ✗ sqlparse ✓ msal-extensions ✗ pytest-cov ✓ py ✗ fastjsonschema ✗ pymysql ✗ grpcio-tools ✓ pkginfo ✗ nest-asyncio ✗ markdown-it-py ✓ marshmallow ✓ trove-classifiers ✓ awswrangler ✓ xmltodict ✗ mdurl ✗ shellingham ✗ prompt-toolkit ✗ google-api-python-client ✗ azure-identity ✓ rapidfuzz ✓ pyproject-hooks ✓ cython ✗ scramp ✓ pyrsistent ✓ ruamel-yaml-clib ✗ traitlets ✓ google-cloud-bigquery ✗ httplib2 ✗ toml ✗ cloudpickle ✓ defusedxml ✗ ply ✓ uritemplate ✗ ipython ✓ termcolor ✓ docker ✓ google-auth-httplib2 ✗ cachecontrol ✗ mccabe ✗ requests-aws4auth ✗ markdown ✓ msrest ✗ tornado ✓ jedi ✗ babel ✗ azure-common ✗ future ✗ blinker ✓ tb-nightly ✓ dnspython ✓ gunicorn ✗ webencodings ✓ pycryptodomex ✗ poetry ✓ typedload ✓ redis ✗ contourpy ✓ alembic ✓ pycodestyle ✓ parso ✗ jsonpointer ✗ pg8000 ✓ huggingface-hub ✓ matplotlib-inline ✓ isort ✓ redshift-connector ✗ crashtest ✗ prometheus-client ✓ toolz ✗ dulwich ✗ cleo ✗ jsonpath-ng ✗ pkgutil-resolve-name ✓ pyzmq ✗ datadog ✗ mako ✓ python-json-logger ✗ distro ✗ appdirs ✗ installer ✓ black ✓ google-pasta ✗ grpc-google-iam-v1 ✗ sagemaker ✓

Top 240 - 360

fastapi ✓ jupyter-core ✓ pytest-runner ✓ typing-inspect ✗ tensorboard ✓ multiprocess ✓ pycryptodome ✗ arrow ✓ pendulum ✓ jsonpatch ✗ setuptools-scm ✓ sentry-sdk ✗ aioitertools ✓ bs4 ✓ jupyter-client ✓ pyspark ✓ torch ✓ opensearch-py ✗ asttokens ✗ argcomplete ✗ progressbar2 ✓ mpmath ✗ executing ✗ sympy ✓ pyodbc ✓ loguru ✗ stack-data ✗ absl-py ✗ oscrypto ✗ pure-eval ✗ ipykernel ✓ pymongo ✗ transformers ✓ jupyter-server ✓ apache-airflow ✓ types-requests ✓ python-utils ✓ elasticsearch ✗ asgiref ✓ types-python-dateutil ✓ nbconvert ✓ debugpy ✓ nbformat ✓ pyflakes ✓ starlette ✓ rfc3339-validator ✗ websockets ✓ aenum ✗ zope-interface ✗ notebook ✓ flake8 ✓ kubernetes ✗ asynctest ✗ altair ✓ uvicorn ✓ adal ✓ smart-open ✗ google-cloud-pubsub ✗ tokenizers ✗ tensorflow ✓ pytzdata ✗ mistune ✗ pygithub ✗ xlrd ✗ shapely ✗ humanfriendly ✗ snowflake-sqlalchemy ✓ cinemagoer ✗ contextlib2 ✗ imdbpy ✓ google-cloud-secret-manager ✗ imageio ✓ sentencepiece ✓ tinycss2 ✗ opentelemetry-api ✓ requests-file ✓ comm ✓ bleach ✓ retry ✓ typer ✗ openai ✗ pysocks ✓ h5py ✓ typeguard ✓ jupyterlab-server ✓ mysql-connector-python ✓ send2trash ✗ gremlinpython ✓ nbclient ✓ astroid ✓ pylint ✓ gast ✗ great-expectations ✓ pbr ✗ orjson ✓ argon2-cffi ✗ cattrs ✓ xgboost ✓ nltk ✗ jupyterlab ✓ oauth2client ✓ overrides ✗ notebook-shim ✗ json5 ✓ argon2-cffi-bindings ✗ watchdog ✓ xlsxwriter ✗ flatbuffers ✓ simplejson ✗ slack-sdk ✗ tensorflow-estimator ✗ setproctitle ✗ google-cloud-bigquery-storage ✗ click-man ✓ keras ✓ text-unidecode ✗ pandocfilters ✗ statsmodels ✓ jupyterlab-pygments ✓ seaborn ✓

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.