Python 2.7 Readiness

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

What is this about?

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

  1. 275 green packages (76.4%) have dropped support for Python 2.7;
  2. 85 uncolored packages (23.6%) still support Python 2.7.

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

There can be many reasons a package is still supporting Python 2.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 2.7 support.

How do you identify Python 2.7 support?

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

Top 120

pip ✓ six ✓ botocore ✓ python-dateutil ✗ jmespath ✓ requests ✓ s3transfer ✓ urllib3 ✓ setuptools ✓ wheel ✓ certifi ✓ colorama ✗ idna ✓ chardet ✓ enum34 ✗ future ✗ pytz ✗ pyyaml ✓ typing ✗ futures ✗ numpy ✓ awscli ✓ pyasn1 ✓ rsa ✓ lockfile ✗ pathlib2 ✗ python-daemon ✓ pyparsing ✓ scandir ✗ pystache ✓ docutils ✓ boto3 ✓ contextlib2 ✓ configparser ✓ zipp ✓ backports-functools-lru-cache ✓ cffi ✓ ipaddress ✗ pycparser ✓ jinja2 ✓ markupsafe ✓ cryptography ✓ importlib-metadata ✓ lxml ✓ packaging ✓ singledispatch ✓ click ✓ wcwidth ✓ pandas ✓ setuptools-scm ✓ funcsigs ✗ werkzeug ✓ attrs ✓ flask ✓ importlib-resources ✓ protobuf ✓ decorator ✓ itsdangerous ✓ pyasn1-modules ✓ py ✗ pluggy ✓ pytest ✓ mock ✓ paramiko ✓ pbr ✗ more-itertools ✓ tqdm ✓ psutil ✓ websocket-client ✓ oauthlib ✓ subprocess32 ✗ cachetools ✓ requests-oauthlib ✓ pillow ✓ google-auth ✓ atomicwrites ✗ pexpect ✗ scipy ✓ ptyprocess ✗ boto ✗ python-magic ✗ pycryptodome ✗ bcrypt ✓ zope-interface ✓ supervisor ✗ sqlalchemy ✓ defusedxml ✗ jsonschema ✓ cycler ✓ pygments ✓ functools32 ✓ pynacl ✓ matplotlib ✓ redis ✓ tzdata ✓ beautifulsoup4 ✓ toml ✗ kiwisolver ✓ argparse ✗ elasticsearch ✓ pyjwt ✓ wrapt ✓ tornado ✓ ecdsa ✗ httplib2 ✓ backports-abc ✓ xmltodict ✓ s3cmd ✗ coverage ✓ distlib ✗ isodate ✓ webencodings ✗ pyopenssl ✓ cython ✓ simplejson ✗ requests-toolbelt ✗ xlrd ✗ datadog ✗ virtualenv ✓ ipython-genutils ✗

Top 120 - 240

crcmod ✗ pickleshare ✗ backports-ssl-match-hostname ✗ ipython ✓ asn1crypto ✗ traitlets ✓ soupsieve ✓ django ✓ backports-shutil-get-terminal-size ✗ filelock ✓ prompt-toolkit ✓ python-dotenv ✓ platformdirs ✓ simplegeneric ✗ scikit-learn ✓ google-api-core ✓ pycrypto ✓ gunicorn ✓ dill ✓ googleapis-common-protos ✓ pyzmq ✓ psycopg2 ✓ mccabe ✓ prometheus-client ✓ docker ✓ entrypoints ✓ prettytable ✓ pymongo ✓ grpcio ✓ nose ✓ datetime ✓ babel ✓ deprecated ✗ tabulate ✓ azure-nspkg ✗ monotonic ✓ bleach ✓ google-auth-httplib2 ✓ retrying ✓ marshmallow ✓ kubernetes ✓ mistune ✓ pycurl ✓ jupyter-core ✓ pyflakes ✓ pypcap ✓ pypandoc ✓ jdcal ✗ jupyter-client ✓ gitpython ✓ gitdb2 ✓ pandocfilters ✗ et-xmlfile ✓ openpyxl ✓ smmap ✓ text-unidecode ✗ ipykernel ✓ send2trash ✓ netaddr ✓ pytest-runner ✓ nbformat ✓ ansible ✓ msrest ✓ pysftp ✗ nbconvert ✓ smmap2 ✓ typing-extensions ✓ tzlocal ✓ greenlet ✓ pytest-cov ✓ html5lib ✗ appdirs ✗ uritemplate ✓ notebook ✓ pycodestyle ✓ cos-python-sdk-v5 ✓ dnspython ✓ testpath ✓ flask-httpauth ✓ google-cloud-core ✓ terminado ✓ flask-marshmallow ✓ slacker ✗ twisted ✓ coscmd ✓ mysql-python ✓ flake8 ✓ pymysql ✓ imagesize ✓ aenum ✗ ipywidgets ✓ xlsxwriter ✓ widgetsnbextension ✓ azure-common ✗ google-resumable-media ✓ regex ✓ sortedcontainers ✗ cached-property ✓ jsonpickle ✓ jsonpointer ✓ azure-core ✓ snowballstemmer ✓ msal ✓ google-api-python-client ✓ mako ✓ networkx ✓ pathlib ✗ sqlparse ✓ python-jose ✓ oauth2client ✗ psycopg2-binary ✓ joblib ✓ billiard ✓ sentry-sdk ✓ lazy-object-proxy ✓ gevent ✓ ldap3 ✓ reportportal-client ✓ passlib ✓ pure-eval ✓

Top 240 - 360

selenium ✓ stack-data ✓ alembic ✓ cloudpickle ✓ kombu ✓ google-cloud-storage ✓ docopt ✗ sphinx ✓ ply ✓ uvicorn ✓ pytest-dependency ✓ python-editor ✗ pytest-reportportal ✓ alabaster ✓ delayed-assert ✓ bs4 ✓ jsonpatch ✗ unidecode ✓ celery ✓ mysql-connector-python ✓ isort ✓ pyserial ✗ amqp ✓ blinker ✓ flask-cors ✓ beautifulsoup ✗ markdown ✓ backoff ✓ pyrsistent ✓ thrift ✓ python-ldap ✓ pydantic ✓ google-auth-oauthlib ✓ python-slugify ✓ py4j ✓ incremental ✓ pyodbc ✓ opencv-python ✓ ruamel-yaml ✓ pdf2image ✓ python-gflags ✗ msgpack ✓ msal-extensions ✓ rjsmin ✗ nltk ✓ portalocker ✓ mypy-extensions ✓ azure-storage-nspkg ✗ namedlist ✗ multiprocessing ✓ scapy ✓ mongoengine ✓ azure-identity ✓ tenacity ✓ cassandra-driver ✓ distro ✓ jupyter ✓ ndg-httpsclient ✗ pysocks ✗ pyarrow ✓ xlwt ✗ python-crfsuite ✓ sshtunnel ✗ inspect2 ✗ pylint ✓ jsmin ✓ python-snappy ✓ probableparsing ✗ azure-storage-blob ✓ usaddress ✓ astroid ✓ grpcio-tools ✓ sphinxcontrib-websupport ✓ scrapy ✓ google-cloud-bigquery ✓ djangorestframework ✓ iso8601 ✓ click-plugins ✓ raven ✗ geomet ✓ cookies ✗ nodeenv ✗ datadiff ✓ dumbyaml ✗ unicodecsv ✗ s3fs ✓ secretstorage ✓ pathspec ✓ mpmath ✓ sendgrid ✗ waitress ✓ jellyfish ✓ phonenumbers ✗ ruamel-ordereddict ✓ deepdiff ✓ enum-compat ✗ python-http-client ✗ azure-functions ✓ croniter ✓ stripe ✓ aiohttp ✓ termcolor ✓ cssutils ✓ brotli ✗ adal ✗ docker-pycreds ✗ pycryptodomex ✗ iniconfig ✓ flask-sqlalchemy ✓ fuzzywuzzy ✗ transitions ✗ hvac ✓ setuptools-markdown ✓ cvxopt ✓ luigi ✓ pymssql ✓ openai ✓ aniso8601 ✗ mysqlclient ✓ pystaticconfiguration ✓

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.