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. 288 green packages (80.0%) have dropped support for Python 2.7;
  2. 72 white packages (20.0%) 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 ✓ pip ✓ colorama ✗ urllib3 ✓ requests ✓ six ✓ python-dateutil ✗ idna ✓ chardet ✓ certifi ✓ setuptools ✓ wheel ✓ typing ✗ pyyaml ✓ futures ✗ jmespath ✓ awscli ✓ boto3 ✓ docutils ✓ rsa ✓ pathlib2 ✗ pytz ✗ enum34 ✗ pyasn1 ✓ configparser ✓ numpy ✓ contextlib2 ✓ future ✗ scandir ✗ pyparsing ✓ cffi ✓ zipp ✓ importlib-metadata ✓ ipaddress ✗ cryptography ✓ pycparser ✓ packaging ✓ attrs ✓ markupsafe ✓ funcsigs ✗ backports-functools-lru-cache ✓ jinja2 ✓ click ✓ mock ✓ boto ✗ protobuf ✓ pandas ✓ datadog ✗ wcwidth ✗ importlib-resources ✓ setuptools-scm ✓ werkzeug ✓ singledispatch ✓ scipy ✓ py ✗ pytest ✓ pluggy ✓ more-itertools ✓ decorator ✓ pyopenssl ✓ atomicwrites ✗ itsdangerous ✓ tqdm ✓ pyasn1-modules ✓ pbr ✗ google-auth ✓ redis ✓ lockfile ✗ python-daemon ✓ flask ✓ functools32 ✓ cachetools ✓ subprocess32 ✗ grpcio ✓ pystache ✓ psutil ✗ websocket-client ✓ virtualenv ✓ zope-interface ✓ pillow ✓ pypandoc ✓ scikit-learn ✓ wrapt ✓ bleach ✓ matplotlib ✓ docopt ✗ sqlalchemy ✓ oauthlib ✓ python-jose ✓ html5lib ✗ requests-oauthlib ✓ cycler ✓ kiwisolver ✓ text-unidecode ✗ dill ✓ pyrsistent ✓ httplib2 ✗ incremental ✓ beautifulsoup4 ✓ lxml ✓ pexpect ✗ ptyprocess ✗ paramiko ✓ bz2file ✗ cython ✗ raven ✗ google-api-core ✓ python-magic ✗ fuzzywuzzy ✗ pyjwt ✓ nltk ✓ promise ✗ faker ✓ pygments ✓ pysocks ✗ googleapis-common-protos ✓ distlib ✗ pytesseract ✓ spotinst-agent ✗

Top 120 - 240

scrapy ✓ tensorflow-metadata ✓ tensorflow-datasets ✓ scrapy-splash ✗ txaws ✓ cssselect ✓ twisted ✓ psycopg2 ✓ mccabe ✓ html5-parser ✓ checkdigit ✓ automat ✓ markdown ✓ constantly ✓ service-identity ✓ google-cloud-core ✓ filelock ✓ asn1crypto ✗ python-levenshtein ✓ billiard ✓ slimit ✓ demjson ✓ jsonschema ✓ pyobjc ✓ pydispatcher ✓ bcrypt ✓ pyobjc-framework-notificationcenter ✓ pyobjc-framework-eventkit ✓ w3lib ✓ pyobjc-framework-servicemanagement ✓ pyobjc-framework-quartz ✓ pyobjc-framework-avfoundation ✓ venusian ✓ kombu ✓ pyobjc-framework-instantmessage ✓ pyobjc-framework-exceptionhandling ✓ queuelib ✓ pyobjc-framework-addressbook ✓ pyobjc-framework-syncservices ✓ parsel ✓ celery ✓ pyobjc-framework-corewlan ✓ pyobjc-framework-naturallanguage ✓ pyobjc-framework-screensaver ✓ pyobjc-framework-coremediaio ✓ pyobjc-framework-coremedia ✓ pyobjc-framework-avkit ✓ pyobjc-framework-searchkit ✓ pyobjc-framework-automator ✓ pyobjc-framework-accounts ✓ pyobjc-framework-multipeerconnectivity ✓ pyobjc-core ✓ pyobjc-framework-pubsub ✓ pyobjc-framework-fsevents ✓ pyobjc-framework-findersync ✓ pyobjc-framework-coreservices ✓ pyobjc-framework-launchservices ✓ pyobjc-framework-dictionaryservices ✓ pyobjc-framework-netfs ✓ pyobjc-framework-osakit ✓ pyobjc-framework-network ✓ pyobjc-framework-coreml ✓ scrapyd ✓ js2xml ✓ amqp ✓ google-resumable-media ✓ snowballstemmer ✗ ansible ✓ django ✓ py4j ✗ monotonic ✓ pynacl ✓ platformdirs ✓ termcolor ✓ oauth2client ✗ h5py ✓ pycodestyle ✓ pyflakes ✓ unicodecsv ✗ s3cmd ✗ backports-weakref ✗ tornado ✓ simplejson ✗ gunicorn ✓ backports-abc ✓ pyspark ✓ isodate ✗ retrying ✓ defusedxml ✗ pymongo ✓ gast ✗ networkx ✓ supervisor ✗ absl-py ✓ babel ✓ astor ✗ webencodings ✗ toml ✗ coverage ✓ tensorboard ✓ beautifulsoup ✗ prometheus-client ✓ google-cloud-storage ✓ tensorflow ✓ flake8 ✓ avro ✓ pyobjc-framework-coredata ✓ pyobjc-framework-scriptingbridge ✓ pyobjc-framework-cocoa ✓ pyobjc-framework-coreaudiokit ✓ pyobjc-framework-gameplaykit ✓ pyobjc-framework-cfnetwork ✓ pyobjc-framework-installerplugins ✓ pyobjc-framework-social ✓ pyobjc-framework-cryptotokenkit ✓ pyobjc-framework-systemconfiguration ✓ pyobjc-framework-iosurface ✓ pyobjc-framework-libdispatch ✓ pyobjc-framework-discrecording ✓ pyobjc-framework-securityfoundation ✓

Top 240 - 360

pyobjc-framework-applicationservices ✓ pyobjc-framework-mediatoolbox ✓ pyobjc-framework-businesschat ✓ pyobjc-framework-imserviceplugin ✓ pyobjc-framework-calendarstore ✓ pyobjc-framework-modelio ✓ pyobjc-framework-coretext ✓ pyobjc-framework-safariservices ✓ pyobjc-framework-webkit ✓ pyobjc-framework-usernotifications ✓ pyobjc-framework-qtkit ✓ pyobjc-framework-latentsemanticmapping ✓ pyobjc-framework-storekit ✓ pyobjc-framework-preferencepanes ✓ pyobjc-framework-inputmethodkit ✓ pyobjc-framework-security ✓ pyobjc-framework-corelocation ✓ pyobjc-framework-gamekit ✓ pyobjc-framework-cloudkit ✓ pyobjc-framework-networkextension ✓ pyobjc-framework-applescriptkit ✓ pyobjc-framework-mapkit ✓ pyobjc-framework-ituneslibrary ✓ pyobjc-framework-dvdplayback ✓ pyobjc-framework-photosui ✓ soupsieve ✓ pyobjc-framework-discrecordingui ✓ pyobjc-framework-collaboration ✓ pyobjc-framework-opendirectory ✓ pyobjc-framework-spritekit ✓ pyobjc-framework-mediaplayer ✓ pyobjc-framework-securityinterface ✓ pyobjc-framework-corebluetooth ✓ pyobjc-framework-applescriptobjc ✓ pyobjc-framework-diskarbitration ✓ pyobjc-framework-coreaudio ✓ pyobjc-framework-gamecontroller ✓ 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-localauthentication ✓ pyobjc-framework-intents ✓ pyobjc-framework-externalaccessory ✓ torch ✓ docker ✓ backports-ssl-match-hostname ✗ dnspython ✓ keras ✓ gitpython ✓ azure-nspkg ✗ gitdb2 ✓ smmap ✓ pickleshare ✗ requests-aws4auth ✓ smmap2 ✓ backports-shutil-get-terminal-size ✗ xlrd ✗ statsd ✓ mysql-python ✓ ipython-genutils ✗ ipython ✓ torchvision ✓ cached-property ✗ prompt-toolkit ✓ crcmod ✗ webob ✗ azure-common ✗ traitlets ✓ simplegeneric ✗ findspark ✓ jieba ✗ tinysegmenter ✓ pycrypto ✓ argparse ✗ tenacity ✓ scapy ✗ azure-storage-blob ✓ msrest ✓ google-auth-httplib2 ✓ azure-storage-nspkg ✗ pytest-runner ✓ python-ldap ✓ requests-toolbelt ✗ vine ✓ kubernetes ✓ regex ✓ google-api-python-client ✓ multiprocessing ✓ marshmallow ✓ ansible-core ✓ sentry-sdk ✓ msal ✓ resolvelib ✓ namedlist ✗ webtest ✓ joblib ✓ entrypoints ✓ google-auth-oauthlib ✓ greenlet ✓ nose ✓ netaddr ✓ google-cloud-datastore ✓ waitress ✓ azure-storage-common ✗ tabulate ✓ pyzmq ✓ anyjson ✗ dj-database-url ✓ adal ✗

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.