Python 2.4 Readiness

Python 2.4 support graph for the 360 most popular Python packages!

What is this about?

Python 2.4 is a version of Python that is past its End Of Life. This site shows Python 2.4 support for the 360 most downloaded packages on PyPI:

  1. 352 green packages (97.8%) have dropped support for Python 2.4;
  2. 8 uncolored packages (2.2%) still support Python 2.4.

Package 'x' is uncolored. What can I do?

There can be many reasons a package is still supporting Python 2.4:

  • 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.4 support.

How do you identify Python 2.4 support?

We look for the Programming Language :: Python :: 2.4 classifier on the latest release of the project, via PyPI's JSON API.

Top 120

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

Top 120 - 240

billiard ✓ asn1crypto ✓ kombu ✓ google-cloud-core ✓ inject ✓ requests-toolbelt ✓ simplejson ✓ html5lib ✓ celery ✓ google-resumable-media ✓ amqp ✓ selenium ✓ pickleshare ✓ ipython ✓ backports-shutil-get-terminal-size ✓ pycryptodome ✓ dnspython ✓ xlrd ✓ mccabe ✓ ipython-genutils ✓ scikit-learn ✓ traitlets ✓ xlsxwriter ✓ google-cloud-storage ✓ prompt-toolkit ✓ prometheus-client ✓ pycrypto ✓ psycopg2 ✓ backports-ssl-match-hostname ✗ s3cmd ✓ isodate ✓ simplegeneric ✗ pycurl ✓ babel ✓ pykcs11 ✓ datadog ✓ scrapy ✓ xmltodict ✓ unidecode ✓ pyflakes ✓ ecdsa ✓ monotonic ✓ pypandoc ✓ python-dotenv ✓ vine ✓ docker ✓ pysftp ✓ gunicorn ✓ pycodestyle ✓ google-api-core ✓ mpmath ✓ bleach ✓ pyzmq ✓ retrying ✓ pypcap ✓ kubernetes ✓ greenlet ✓ googleapis-common-protos ✓ pytest-cov ✓ marshmallow ✓ entrypoints ✓ gitpython ✓ jdcal ✓ pypdf2 ✓ tabulate ✓ openpyxl ✓ flake8 ✓ et-xmlfile ✓ gitdb2 ✓ ply ✓ requests-file ✓ docopt ✓ mysql-python ✓ reportlab ✓ smmap ✓ mistune ✓ olefile ✓ google-cloud-datastore ✓ cached-property ✓ bz2file ✓ pytest-runner ✓ tzlocal ✓ jupyter-core ✓ ansible ✓ deprecated ✓ text-unidecode ✓ pika ✓ dicttoxml ✓ sentencepiece ✓ pandocfilters ✓ google-auth-httplib2 ✓ jupyter-client ✓ smmap2 ✓ smart-open ✓ uritemplate ✓ flask-httpauth ✓ ipykernel ✓ jsonpointer ✓ statistics ✓ nbformat ✓ appdirs ✓ mechanize ✓ tldextract ✓ incremental ✓ psycopg2-binary ✓ send2trash ✓ pymysql ✓ nbconvert ✓ ldap3 ✓ flask-marshmallow ✓ slacker ✓ snowballstemmer ✓ elasticsearch-dsl ✓ google-compute-engine ✓ bs4 ✓ testpath ✓ sortedcontainers ✓ notebook ✓ sentry-sdk ✓ gevent ✓

Top 240 - 360

markdown ✓ mysql-connector ✓ google-api-python-client ✓ terminado ✓ mysql-connector-python ✓ regex ✓ mako ✓ oauth2client ✓ dill ✓ sphinx ✓ typing-extensions ✓ enum ✓ python-bidi ✓ jsonpickle ✓ xhtml2pdf ✓ passlib ✓ pyserial ✓ pathlib ✓ azure-nspkg ✓ isort ✓ ipywidgets ✓ redis-py-cluster ✓ arabic-reshaper ✓ widgetsnbextension ✓ jsonrpclib ✓ imagesize ✓ imgkit ✓ lazy-object-proxy ✓ slowaes ✓ crcmod ✗ redlock ✓ joblib ✓ alabaster ✓ pylint ✓ ddtrace ✓ poetry-core ✓ pyrsistent ✓ astroid ✓ beautifulsoup ✓ blinker ✓ pysocks ✓ multiprocessing ✓ python-ldap ✓ linecache2 ✓ networkx ✓ djangorestframework ✓ unicodecsv ✓ traceback2 ✓ sshtunnel ✓ python-crfsuite ✓ cassandra-driver ✓ alembic ✓ azure-common ✓ py4j ✓ hyperlink ✓ azure-core ✓ sqlparse ✓ msrest ✓ scapy ✓ pycryptodomex ✓ pyodbc ✓ google-auth-oauthlib ✓ usaddress ✓ probableparsing ✓ cssselect ✓ python-gflags ✓ tenacity ✓ msgpack ✓ automat ✓ pyarrow ✓ geomet ✓ python-snappy ✓ unittest2 ✗ dumbyaml ✓ grpcio-tools ✓ jsonpatch ✓ nltk ✓ flask-cors ✓ deepdiff ✓ pyhamcrest ✓ constantly ✓ rjsmin ✓ raven ✓ python-editor ✓ termcolor ✓ pure-eval ✓ sphinxcontrib-websupport ✓ stack-data ✓ mypy-extensions ✓ jellyfish ✓ faker ✓ namedlist ✓ docker-pycreds ✓ mongoengine ✓ jsmin ✓ ndg-httpsclient ✓ setuptools-markdown ✓ webob ✓ python-jose ✓ msal ✓ nodeenv ✓ jira ✓ luigi ✓ zope-event ✓ detectormorse ✓ nlup ✓ cvxopt ✓ transitions ✓ fpdf2 ✓ pystaticconfiguration ✓ gender-guesser ✓ flask-sqlalchemy ✓ anyjson ✗ pypi ✓ croniter ✓ pyrtf3 ✓ aniso8601 ✓ uvicorn ✓ jupyter ✓ google-cloud-bigquery ✓

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.