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. 279 green packages (77.5%) have dropped support for Python 2.7;
  2. 81 white packages (22.5%) 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

botocore ✓ s3transfer ✓ colorama ✗ urllib3 ✓ pip ✓ six ✓ python-dateutil ✗ setuptools ✓ requests ✓ idna ✓ certifi ✓ chardet ✓ futures ✗ pyyaml ✓ awscli ✓ boto3 ✓ wheel ✓ typing ✗ docutils ✓ jmespath ✓ rsa ✓ pyasn1 ✓ future ✗ pytz ✗ enum34 ✗ numpy ✓ configparser ✓ pathlib2 ✗ scandir ✗ pyparsing ✓ contextlib2 ✓ zipp ✓ markupsafe ✓ jinja2 ✓ ipaddress ✗ cffi ✓ cryptography ✓ pycparser ✓ click ✓ importlib-metadata ✓ backports-functools-lru-cache ✓ protobuf ✓ boto ✗ packaging ✓ attrs ✓ funcsigs ✗ pandas ✓ importlib-resources ✓ werkzeug ✓ mock ✓ scipy ✓ singledispatch ✓ itsdangerous ✓ decorator ✓ pyasn1-modules ✓ paramiko ✓ sentry-sdk ✓ orderedmultidict ✗ datadog ✗ wcwidth ✗ lockfile ✗ htpasswd ✓ websocket-client ✓ python-daemon ✓ monotonic ✓ python-jose ✓ psutil ✗ flask ✓ tqdm ✓ pyopenssl ✓ pystache ✓ setuptools-scm ✓ functools32 ✓ redis ✓ google-auth ✓ subprocess32 ✗ asn1crypto ✗ pbr ✗ statsd ✓ py ✗ grpcio ✓ cachetools ✓ wrapt ✓ tenacity ✓ pillow ✓ supervisor ✗ pytest ✓ docopt ✗ httplib2 ✗ sqlalchemy ✓ pluggy ✓ matplotlib ✓ lxml ✓ kazoo ✓ oauthlib ✓ bcrypt ✓ more-itertools ✓ kiwisolver ✓ pynacl ✓ scikit-learn ✓ cycler ✓ requests-oauthlib ✓ cython ✗ atomicwrites ✗ pexpect ✗ bleach ✓ pypandoc ✓ pyjwt ✓ virtualenv ✓ ptyprocess ✗ pymongo ✓ docker ✓ html5lib ✗ django ✓ beautifulsoup ✗ dill ✓ python-magic ✗ kombu ✓ beautifulsoup4 ✓ pygments ✓

Top 120 - 240

jsonschema ✓ backports-ssl-match-hostname ✗ amqp ✓ bz2file ✗ mccabe ✓ promise ✗ s3cmd ✗ google-api-core ✓ sh ✓ markdown ✓ py4j ✗ tensorflow-metadata ✓ tensorflow-datasets ✓ h5py ✓ tornado ✓ pycodestyle ✓ retrying ✓ oauth2client ✗ googleapis-common-protos ✓ pycrypto ✓ pyflakes ✓ backports-abc ✓ termcolor ✓ billiard ✓ coverage ✓ psycopg2 ✓ pyspark ✓ pyobjc ✓ pyobjc-framework-eventkit ✓ pyobjc-framework-notificationcenter ✓ pyobjc-framework-servicemanagement ✓ pyobjc-framework-quartz ✓ pyobjc-framework-avfoundation ✓ pyobjc-framework-exceptionhandling ✓ pyobjc-framework-instantmessage ✓ pyobjc-framework-addressbook ✓ google-cloud-core ✓ pyobjc-framework-syncservices ✓ pyobjc-framework-corewlan ✓ pyobjc-framework-screensaver ✓ pyobjc-framework-naturallanguage ✓ pyobjc-framework-coremediaio ✓ pyobjc-framework-searchkit ✓ pyobjc-framework-coremedia ✓ pyobjc-framework-avkit ✓ pyobjc-framework-accounts ✓ pyobjc-framework-pubsub ✓ pyobjc-framework-automator ✓ pyobjc-framework-multipeerconnectivity ✓ pyobjc-framework-fsevents ✓ pyobjc-core ✓ pyobjc-framework-findersync ✓ pyobjc-framework-coreservices ✓ pyobjc-framework-launchservices ✓ pyobjc-framework-dictionaryservices ✓ pyobjc-framework-osakit ✓ pyobjc-framework-netfs ✓ pyobjc-framework-network ✓ pyobjc-framework-coreml ✓ nltk ✓ simplejson ✗ celery ✓ distlib ✗ filelock ✓ toml ✗ backports-weakref ✗ defusedxml ✗ snowballstemmer ✗ prometheus-client ✓ ecdsa ✗ babel ✓ webencodings ✗ spotinst-agent ✗ netaddr ✓ isodate ✗ flake8 ✓ pickleshare ✗ absl-py ✓ avro ✓ networkx ✓ tensorboard ✓ google-api-python-client ✓ gast ✗ google-resumable-media ✓ gunicorn ✓ ipython-genutils ✗ gitpython ✓ ipython ✓ uritemplate ✓ azure-nspkg ✗ platformdirs ✓ zope-interface ✓ astor ✗ requests-aws4auth ✓ tensorflow ✓ traitlets ✓ google-cloud-storage ✓ ansible ✓ soupsieve ✓ simplegeneric ✗ backports-shutil-get-terminal-size ✗ azure-common ✗ cached-property ✗ python-ldap ✓ unicodecsv ✗ azure-storage-blob ✓ smmap ✓ prompt-toolkit ✓ gitdb2 ✓ smmap2 ✓ torch ✓ keras ✓ azure-storage-nspkg ✗ xlrd ✗ python-gflags ✗ cerberus-python-client ✓ tabulate ✓ pyobjc-framework-coredata ✓ pyobjc-framework-scriptingbridge ✓ pyobjc-framework-cocoa ✓

Top 240 - 360

pyobjc-framework-coreaudiokit ✓ pyobjc-framework-cfnetwork ✓ pyobjc-framework-gameplaykit ✓ pyobjc-framework-installerplugins ✓ pyobjc-framework-social ✓ pyobjc-framework-systemconfiguration ✓ pyobjc-framework-cryptotokenkit ✓ pyobjc-framework-iosurface ✓ pyobjc-framework-libdispatch ✓ pyobjc-framework-discrecording ✓ pyobjc-framework-securityfoundation ✓ pyobjc-framework-businesschat ✓ pyobjc-framework-mediatoolbox ✓ pyobjc-framework-calendarstore ✓ pyobjc-framework-applicationservices ✓ pyobjc-framework-imserviceplugin ✓ pyobjc-framework-coretext ✓ pyobjc-framework-modelio ✓ pyobjc-framework-webkit ✓ pyobjc-framework-safariservices ✓ pyobjc-framework-qtkit ✓ pyobjc-framework-latentsemanticmapping ✓ pyobjc-framework-preferencepanes ✓ pyobjc-framework-usernotifications ✓ pyobjc-framework-inputmethodkit ✓ requests-toolbelt ✗ pyobjc-framework-security ✓ pyobjc-framework-storekit ✓ pyobjc-framework-corelocation ✓ pyobjc-framework-applescriptkit ✓ pyobjc-framework-gamekit ✓ pyobjc-framework-cloudkit ✓ pyobjc-framework-networkextension ✓ pyobjc-framework-mapkit ✓ pyobjc-framework-dvdplayback ✓ pyobjc-framework-discrecordingui ✓ pyobjc-framework-ituneslibrary ✓ pyobjc-framework-photosui ✓ pyobjc-framework-collaboration ✓ pyobjc-framework-opendirectory ✓ pyobjc-framework-securityinterface ✓ pyobjc-framework-mediaplayer ✓ pyobjc-framework-spritekit ✓ pyobjc-framework-corebluetooth ✓ pyobjc-framework-diskarbitration ✓ pyobjc-framework-applescriptobjc ✓ pyobjc-framework-gamecontroller ✓ pyobjc-framework-coreaudio ✓ pyobjc-framework-vision ✓ pyobjc-framework-scenekit ✓ pyobjc-framework-contactsui ✓ pyobjc-framework-imagecapturecore ✓ pyobjc-framework-videotoolbox ✓ pyobjc-framework-medialibrary ✓ pyobjc-framework-contacts ✓ pyobjc-framework-photos ✓ pyobjc-framework-videosubscriberaccount ✓ pyobjc-framework-mediaaccessibility ✓ pyobjc-framework-adsupport ✓ pyobjc-framework-corespotlight ✓ pyobjc-framework-gamecenter ✓ pyobjc-framework-colorsync ✓ pyobjc-framework-intents ✓ pyobjc-framework-localauthentication ✓ pyobjc-framework-externalaccessory ✓ vine ✓ pytest-runner ✓ findspark ✓ azure-storage-common ✗ torchvision ✓ entrypoints ✓ gearman ✗ argparse ✗ google-auth-httplib2 ✓ greenlet ✓ dnspython ✓ marshmallow ✓ msrest ✓ jieba ✗ scapy ✗ anyjson ✗ kubernetes ✓ pyzmq ✓ regex ✓ nose ✓ curlify ✗ multiprocessing ✓ tinysegmenter ✓ psycopg2-binary ✓ newrelic-telemetry-sdk ✗ namedlist ✗ rjsmin ✗ msal ✓ xmltodict ✓ keras-preprocessing ✗ jsmin ✓ statistics ✗ mongoengine ✓ google-cloud-datastore ✓ mysql-python ✓ mistune ✓ joblib ✓ msgpack ✓ keras-applications ✗ jupyter-core ✓ bs4 ✓ snowflake-connector-python ✓ datadiff ✓ ipykernel ✓ pandocfilters ✗ jupyter-client ✓ adal ✗ slacker ✗ nbformat ✓ docker-pycreds ✗ google-auth-oauthlib ✓ crcmod ✗ flask-httpauth ✓ send2trash ✗ webob ✗

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.