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. 274 green packages (76.1%) have dropped support for Python 2.7;
  2. 86 white packages (23.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

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

Top 120 - 240

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

Top 240 - 360

prompt-toolkit ✓ scapy ✗ fuzzywuzzy ✗ torch ✓ greenlet ✓ pyrsistent ✓ keras ✓ argparse ✗ kubernetes ✓ python-gflags ✗ marshmallow ✓ ply ✓ multiprocessing ✓ curlify ✗ psycopg2-binary ✓ msal ✓ google-auth-httplib2 ✓ anyjson ✗ scrapy ✓ elasticsearch ✓ xmltodict ✓ nose ✓ msgpack ✓ gearman ✗ findspark ✓ xlsxwriter ✓ namedlist ✗ statistics ✗ torchvision ✓ pytesseract ✓ mysql-python ✓ entrypoints ✓ newrelic-telemetry-sdk ✗ text-unidecode ✗ google-cloud-datastore ✓ snowflake-connector-python ✓ adal ✗ scrapy-splash ✗ pymysql ✓ txaws ✓ trino ✓ docker-pycreds ✗ bs4 ✓ jieba ✗ keras-preprocessing ✗ msrestazure ✗ tinysegmenter ✓ crcmod ✗ html5-parser ✓ slacker ✗ checkdigit ✓ pywin32 ✓ pycryptodomex ✗ lazy-object-proxy ✓ keras-applications ✗ webob ✗ orderedmultidict ✗ hyperlink ✗ pyobjc-framework-coredata ✓ pyobjc-framework-scriptingbridge ✓ pyobjc-framework-cocoa ✓ pyobjc-framework-coreaudiokit ✓ pyobjc-framework-cfnetwork ✓ pyobjc-framework-installerplugins ✓ pyobjc-framework-gameplaykit ✓ 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-applicationservices ✓ pyobjc-framework-imserviceplugin ✓ pyobjc-framework-coretext ✓ pyobjc-framework-calendarstore ✓ pyobjc-framework-webkit ✓ pyobjc-framework-modelio ✓ pyobjc-framework-latentsemanticmapping ✓ pyobjc-framework-safariservices ✓ pyobjc-framework-preferencepanes ✓ pyobjc-framework-qtkit ✓ gevent ✓ wmi ✓ pyobjc-framework-inputmethodkit ✓ pyobjc-framework-applescriptkit ✓ pyobjc-framework-security ✓ pyobjc-framework-usernotifications ✓ pyobjc-framework-storekit ✓ pyobjc-framework-corelocation ✓ pyobjc-framework-cloudkit ✓ pyobjc-framework-discrecordingui ✓ pyobjc-framework-gamekit ✓ pyobjc-framework-networkextension ✓ pyobjc-framework-dvdplayback ✓ pyobjc-framework-ituneslibrary ✓ pyobjc-framework-photosui ✓ pyobjc-framework-mapkit ✓ pyobjc-framework-collaboration ✓ pyobjc-framework-opendirectory ✓ pyobjc-framework-securityinterface ✓ pyobjc-framework-applescriptobjc ✓ pyobjc-framework-diskarbitration ✓ pyzmq ✓ pyobjc-framework-spritekit ✓ pyobjc-framework-mediaplayer ✓ pyobjc-framework-coreaudio ✓ pyobjc-framework-corebluetooth ✓ pyobjc-framework-gamecontroller ✓ pyobjc-framework-vision ✓ pyobjc-framework-scenekit ✓ pyobjc-framework-contactsui ✓ pyobjc-framework-imagecapturecore ✓ pyobjc-framework-medialibrary ✓ pyobjc-framework-videotoolbox ✓ pyobjc-framework-contacts ✓ pyobjc-framework-photos ✓ pyobjc-framework-videosubscriberaccount ✓

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.