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. 280 green packages (77.8%) have dropped support for Python 2.7;
  2. 80 uncolored packages (22.2%) 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

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

Top 120 - 240

backports-shutil-get-terminal-size ✗ traitlets ✓ simplejson ✗ filelock ✓ xlrd ✗ nose ✓ pysftp ✗ pyzmq ✓ psycopg2 ✓ prompt-toolkit ✓ simplegeneric ✗ argparse ✗ soupsieve ✓ datadog ✗ backports-ssl-match-hostname ✗ pymongo ✓ asn1crypto ✗ zope-interface ✓ platformdirs ✓ google-api-core ✓ monotonic ✓ aenum ✗ pycrypto ✓ python-dotenv ✓ googleapis-common-protos ✓ babel ✓ prometheus-client ✓ xmltodict ✓ jsonpointer ✓ gunicorn ✓ supervisor ✗ gitpython ✓ bleach ✓ azure-nspkg ✗ reportportal-client ✓ mccabe ✓ kubernetes ✓ gitdb2 ✓ entrypoints ✓ smmap ✓ marshmallow ✓ docker ✓ pytest-dependency ✓ tabulate ✓ pytest-reportportal ✓ delayed-assert ✓ netaddr ✓ jdcal ✗ openpyxl ✓ retrying ✓ mistune ✓ et-xmlfile ✓ ansible ✓ smmap2 ✓ sshtunnel ✗ pyflakes ✓ pycodestyle ✓ python-crfsuite ✓ jupyter-core ✓ usaddress ✓ tzlocal ✓ probableparsing ✗ cassandra-driver ✓ pytest-cov ✓ python-snappy ✓ grpcio-tools ✓ jupyter-client ✓ geomet ✓ crcmod ✗ pandocfilters ✗ ipykernel ✓ jellyfish ✓ flask-httpauth ✓ msrest ✓ setuptools-markdown ✓ text-unidecode ✗ luigi ✓ nbformat ✓ slacker ✗ google-auth-httplib2 ✓ cvxopt ✓ flask-marshmallow ✓ pystaticconfiguration ✓ fpdf2 ✓ gender-guesser ✓ pypi ✓ send2trash ✓ pyrtf3 ✓ nbconvert ✓ testpath ✓ greenlet ✓ notebook ✓ google-cloud-core ✓ html5lib ✗ deprecated ✓ uritemplate ✓ terminado ✓ sentry-sdk ✓ appdirs ✗ pytest-runner ✓ azure-core ✓ azure-common ✗ flake8 ✓ pymysql ✓ regex ✓ ipywidgets ✓ msal ✓ widgetsnbextension ✓ passlib ✓ networkx ✓ dnspython ✓ kombu ✓ google-resumable-media ✓ cached-property ✓ sortedcontainers ✗ pathlib ✗ billiard ✓ jsonpickle ✓ xlsxwriter ✓ typing-extensions ✓

Top 240 - 360

google-api-python-client ✓ ply ✓ mako ✓ selenium ✓ snowballstemmer ✓ oauth2client ✗ imagesize ✓ celery ✓ gevent ✓ portalocker ✓ google-cloud-storage ✓ joblib ✓ ldap3 ✓ pyserial ✗ markdown ✓ amqp ✓ pypcap ✓ msal-extensions ✓ docopt ✗ sphinx ✓ cloudpickle ✓ azure-identity ✓ psycopg2-binary ✓ alabaster ✓ scapy ✓ mysql-python ✓ msgpack ✓ tenacity ✓ pdf2image ✓ sqlparse ✓ datetime ✓ alembic ✓ blinker ✓ beautifulsoup ✗ pyrsistent ✓ xlwt ✗ mysql-connector-python ✓ isort ✓ bs4 ✓ namedlist ✗ multiprocessing ✓ ruamel-yaml ✓ mysqlclient ✓ flask-cors ✓ python-ldap ✓ google-auth-oauthlib ✓ azure-storage-nspkg ✗ ndg-httpsclient ✗ python-editor ✗ jira ✓ uvicorn ✓ pure-eval ✓ stack-data ✓ djangorestframework ✓ nltk ✓ lazy-object-proxy ✓ google-cloud-bigquery ✓ jsonpatch ✓ pyarrow ✓ py4j ✓ unicodecsv ✗ python-jose ✓ rjsmin ✗ sphinxcontrib-websupport ✓ python-gflags ✗ azure-storage-blob ✓ jupyter ✓ dumbyaml ✗ unidecode ✓ opencv-python ✓ mongoengine ✓ mypy-extensions ✓ thrift ✓ docker-pycreds ✗ ruamel-ordereddict ✓ fuzzywuzzy ✗ pydantic ✓ pyodbc ✓ watchdog ✓ jsmin ✓ pytest-mock ✓ deepdiff ✓ adal ✗ pywavelets ✓ s3fs ✓ python-jenkins ✓ pylint ✓ iso8601 ✓ astroid ✓ faker ✓ backoff ✓ shapely ✓ openai ✓ reportlab ✓ datadiff ✓ transitions ✗ cookies ✗ scikit-image ✓ msrestazure ✗ maxminddb ✓ pathspec ✓ termcolor ✓ webob ✗ sentencepiece ✓ execnet ✓ stripe ✓ waitress ✓ astor ✗ nodeenv ✗ ifcfg ✗ sendgrid ✗ inspect2 ✗ click-plugins ✓ django-appconf ✓ enum-compat ✗ geopy ✓ prettytable ✓ netifaces ✗ zmq ✓ arrow ✓

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.