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. 263 green packages (73.1%) have dropped support for Python 2.7;
  2. 97 white packages (26.9%) still support Python 2.7.

Package 'x' is white. 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

setuptools ✓ botocore ✓ s3transfer ✓ colorama ✗ pip ✓ urllib3 ✓ wheel ✓ requests ✓ six ✓ certifi ✓ idna ✓ chardet ✓ python-dateutil ✗ futures ✗ pyyaml ✓ awscli ✓ docutils ✓ jmespath ✓ rsa ✓ pyasn1 ✗ boto3 ✓ cryptography ✓ typing ✗ pytz ✗ paramiko ✓ py ✗ decorator ✓ cachetools ✓ enum34 ✗ bcrypt ✓ pynacl ✓ configparser ✓ cffi ✗ pathlib2 ✗ numpy ✓ scandir ✗ markupsafe ✓ contextlib2 ✓ pyparsing ✓ xmltodict ✓ pycryptodome ✗ zipp ✓ jinja2 ✓ future ✗ retry ✗ ipaddress ✗ pycparser ✗ importlib-metadata ✓ backports-functools-lru-cache ✗ click ✓ packaging ✓ psutil ✗ protobuf ✓ attrs ✓ boto ✗ funcsigs ✗ pymysql ✓ singledispatch ✓ mock ✓ pandas ✓ hvac ✓ importlib-resources ✓ pyasn1-modules ✗ python-jose ✓ pyopenssl ✓ wcwidth ✗ monotonic ✓ itsdangerous ✓ werkzeug ✓ google-api-core ✓ scipy ✓ wrapt ✗ functools32 ✓ redis ✓ s3cmd ✗ pillow ✓ pytest ✓ datadog ✗ statsd ✓ flask ✓ google-auth ✓ tenacity ✓ cython ✗ pluggy ✓ sentry-sdk ✗ pyjwt ✓ more-itertools ✓ argparse ✗ docopt ✗ tqdm ✓ lxml ✗ oauthlib ✓ atomicwrites ✗ kazoo ✓ websocket-client ✓ setuptools-scm ✓ lockfile ✗ pbr ✗ requests-oauthlib ✗ sqlalchemy ✓ python-daemon ✓ grpcio ✓ pymongo ✓ docker ✓ virtualenv ✓ asn1crypto ✗ httplib2 ✗ supervisor ✗ simplejson ✗ ansible ✓ coverage ✓ psycopg2 ✓ mccabe ✓ jsonschema ✓ beautifulsoup4 ✓ tabulate ✓ tornado ✓ subprocess32 ✗ pexpect ✗ backports-abc ✓

Top 120 - 240

promise ✗ dill ✓ pycodestyle ✓ retrying ✓ python-magic ✗ pystache ✓ pyflakes ✓ pycrypto ✓ ptyprocess ✗ scikit-learn ✓ googleapis-common-protos ✓ google-auth-httplib2 ✓ pygments ✓ bz2file ✗ azure-nspkg ✗ azure-storage-blob ✓ azure-common ✗ flake8 ✓ isodate ✗ toml ✗ spotinst-agent ✗ azure-storage-nspkg ✗ zope-interface ✓ soupsieve ✓ tensorflow-metadata ✓ filelock ✓ tensorflow-datasets ✓ matplotlib ✓ django ✓ cycler ✓ babel ✓ kombu ✓ backports-ssl-match-hostname ✗ prometheus-client ✓ distlib ✗ azure-storage-common ✗ amqp ✓ google-cloud-core ✓ requests-toolbelt ✗ oauth2client ✗ cerberus-python-client ✓ scapy ✗ kiwisolver ✓ defusedxml ✗ google-api-python-client ✓ scp ✗ google-resumable-media ✓ pyobjc ✓ pyobjc-framework-quartz ✓ pyobjc-framework-servicemanagement ✓ pyobjc-framework-eventkit ✓ pyobjc-framework-notificationcenter ✓ pyobjc-framework-exceptionhandling ✓ pyobjc-framework-addressbook ✓ pyobjc-framework-syncservices ✓ cached-property ✗ pyobjc-core ✓ pyobjc-framework-avfoundation ✓ pyobjc-framework-instantmessage ✓ pyobjc-framework-screensaver ✓ pyobjc-framework-searchkit ✓ pyobjc-framework-corewlan ✓ pyobjc-framework-automator ✓ pyobjc-framework-coreservices ✓ pyobjc-framework-launchservices ✓ pyobjc-framework-fsevents ✓ pyobjc-framework-accounts ✓ pyobjc-framework-naturallanguage ✓ pyobjc-framework-cocoa ✓ pyobjc-framework-pubsub ✓ pyobjc-framework-coremediaio ✓ pyobjc-framework-avkit ✓ pyobjc-framework-coremedia ✓ pyobjc-framework-multipeerconnectivity ✓ pyobjc-framework-osakit ✓ pyobjc-framework-findersync ✓ pyobjc-framework-coredata ✓ pyobjc-framework-dictionaryservices ✓ pyobjc-framework-netfs ✓ termcolor ✓ pyobjc-framework-coreaudiokit ✓ pyobjc-framework-network ✓ pyobjc-framework-coreml ✓ pyobjc-framework-scriptingbridge ✓ pyobjc-framework-cfnetwork ✓ pyobjc-framework-installerplugins ✓ pyobjc-framework-systemconfiguration ✓ pyobjc-framework-gameplaykit ✓ pyobjc-framework-social ✓ pyobjc-framework-discrecording ✓ pyobjc-framework-securityfoundation ✓ pyobjc-framework-iosurface ✓ pyobjc-framework-libdispatch ✓ pyobjc-framework-cryptotokenkit ✓ pyobjc-framework-applicationservices ✓ pyobjc-framework-coretext ✓ pyobjc-framework-webkit ✓ pyobjc-framework-businesschat ✓ pyobjc-framework-mediatoolbox ✓ pyobjc-framework-imserviceplugin ✓ pyobjc-framework-calendarstore ✓ pyobjc-framework-preferencepanes ✓ pyobjc-framework-modelio ✓ pyobjc-framework-latentsemanticmapping ✓ pyobjc-framework-security ✓ pyobjc-framework-safariservices ✓ pyobjc-framework-qtkit ✓ pyvmomi ✗ pyobjc-framework-usernotifications ✓ pyobjc-framework-inputmethodkit ✓ pyobjc-framework-discrecordingui ✓ pyobjc-framework-applescriptkit ✓ pyobjc-framework-dvdplayback ✓ pyobjc-framework-storekit ✓ pyobjc-framework-corelocation ✓ pyobjc-framework-gamekit ✓ pyobjc-framework-cloudkit ✓ pyobjc-framework-networkextension ✓ pyobjc-framework-photosui ✓ pyobjc-framework-ituneslibrary ✓

Top 240 - 360

pyobjc-framework-mapkit ✓ pyobjc-framework-securityinterface ✓ pyobjc-framework-diskarbitration ✓ pyobjc-framework-collaboration ✓ pyobjc-framework-mediaplayer ✓ pyobjc-framework-opendirectory ✓ pyobjc-framework-spritekit ✓ pyobjc-framework-coreaudio ✓ pyobjc-framework-corebluetooth ✓ pyobjc-framework-vision ✓ pyobjc-framework-gamecontroller ✓ pyobjc-framework-scenekit ✓ pyobjc-framework-contactsui ✓ pyobjc-framework-imagecapturecore ✓ pyobjc-framework-medialibrary ✓ pyobjc-framework-applescriptobjc ✓ pyobjc-framework-videotoolbox ✓ pyobjc-framework-contacts ✓ pyobjc-framework-videosubscriberaccount ✓ pyobjc-framework-photos ✓ pyobjc-framework-mediaaccessibility ✓ pyobjc-framework-adsupport ✓ platformdirs ✓ pyobjc-framework-corespotlight ✓ pyobjc-framework-gamecenter ✓ pyobjc-framework-localauthentication ✓ pyobjc-framework-colorsync ✓ pyobjc-framework-intents ✓ pyobjc-framework-externalaccessory ✓ billiard ✓ greenlet ✗ beautifulsoup ✗ nose ✓ uritemplate ✓ bs4 ✓ py4j ✗ celery ✓ gunicorn ✓ msrest ✓ dnspython ✓ pickleshare ✗ google-cloud-storage ✓ snowflake-connector-python ✓ keras-preprocessing ✗ kubernetes ✓ webencodings ✗ pytest-runner ✓ bleach ✓ elasticsearch ✓ ipython ✓ ipython-genutils ✗ keras-applications ✗ html5lib ✗ backports-shutil-get-terminal-size ✗ xlrd ✗ h5py ✓ traitlets ✓ sh ✓ backports-weakref ✗ psycopg2-binary ✓ absl-py ✓ requests-aws4auth ✓ simplegeneric ✗ pyrsistent ✓ pycryptodomex ✗ pyspark ✓ ecdsa ✗ unicodecsv ✗ prompt-toolkit ✓ gast ✗ vine ✓ tensorboard ✓ msgpack ✓ adal ✗ markdown ✓ slacker ✗ astor ✗ pytest-cov ✓ pypandoc ✓ netaddr ✗ msrestazure ✗ gevent ✓ pywin32 ✓ marshmallow ✓ luigi ✓ distro ✓ pyarrow ✓ azure-keyvault ✓ mako ✓ tensorflow ✓ azure-servicebus ✓ opencensus ✗ opencensus-context ✗ curlify ✗ opencensus-ext-azure ✗ pathspec ✓ azure-eventgrid ✓ statistics ✗ opencensus-ext-requests ✗ opencensus-ext-logging ✗ thrift ✓ plotly ✓ entrypoints ✓ multiprocessing ✓ ply ✓ mysql-python ✓ influxdb ✗ lazy-object-proxy ✓ networkx ✓ sortedcontainers ✗ google-pasta ✗ pathlib ✗ oscrypto ✗ namedlist ✗ tzlocal ✓ graphviz ✓ snowballstemmer ✗ ijson ✗ gitpython ✓ regex ✓

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.

Fork me on GitHub