Python 3.1 Readiness

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

What is this about?

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

  1. 359 green packages (99.7%) have dropped support for Python 3.1;
  2. 1 uncolored packages (0.3%) still support Python 3.1.

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

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

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

How do you identify Python 3.1 support?

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

Top 120

cloudflare ✓ acme ✓ certbot-dns-cloudflare ✓ boto3 ✓ botocore ✓ urllib3 ✓ setuptools ✓ typing-extensions ✓ requests ✓ certifi ✓ grpcio-status ✓ charset-normalizer ✓ idna ✓ packaging ✓ python-dateutil ✓ s3transfer ✓ aiobotocore ✓ six ✓ protobuf ✓ importlib-metadata ✓ numpy ✓ pyyaml ✓ s3fs ✓ cryptography ✓ fsspec ✓ pydantic ✓ cffi ✓ pandas ✓ pip ✓ pycparser ✓ attrs ✓ platformdirs ✓ rsa ✓ click ✓ jmespath ✓ jinja2 ✓ markupsafe ✓ pyasn1 ✓ pytz ✗ zipp ✓ google-api-core ✓ pluggy ✓ pygments ✓ pydantic-core ✓ grpcio-tools ✓ google-auth ✓ wheel ✓ filelock ✓ cachetools ✓ h11 ✓ sniffio ✓ anyio ✓ colorama ✓ virtualenv ✓ googleapis-common-protos ✓ pytest ✓ httpx ✓ annotated-types ✓ pyasn1-modules ✓ jsonschema ✓ cloudpickle ✓ tzdata ✓ iniconfig ✓ pyjwt ✓ aiohttp ✓ httpcore ✓ awscli ✓ tomli ✓ pyarrow ✓ pyzmq ✓ requests-oauthlib ✓ wrapt ✓ multidict ✓ yarl ✓ psutil ✓ aiosignal ✓ tqdm ✓ oauthlib ✓ frozenlist ✓ tomlkit ✓ exceptiongroup ✓ sqlalchemy ✓ rpds-py ✓ greenlet ✓ python-dotenv ✓ pyparsing ✓ pillow ✓ propcache ✓ distlib ✓ scipy ✓ jsonschema-specifications ✓ pathspec ✓ requests-toolbelt ✓ referencing ✓ beautifulsoup4 ✓ grpcio ✓ rich ✓ soupsieve ✓ openpyxl ✓ typing-inspection ✓ et-xmlfile ✓ pyopenssl ✓ gym-notices ✓ docutils ✓ isodate ✓ aiohappyeyeballs ✓ more-itertools ✓ google-cloud-storage ✓ lxml ✓ markdown-it-py ✓ mdurl ✓ msgpack ✓ proto-plus ✓ opentelemetry-semantic-conventions ✓ werkzeug ✓ decorator ✓ grpcio-health-checking ✓ trove-classifiers ✓ websocket-client ✓ mypy-extensions ✓

Top 120 - 240

pynacl ✓ shellingham ✓ azure-core ✓ async-timeout ✓ coverage ✓ sortedcontainers ✓ deprecated ✓ tenacity ✓ psycopg2-binary ✓ flask ✓ msal ✓ opentelemetry-api ✓ snowflake-connector-python ✓ scikit-learn ✓ asn1crypto ✓ keyring ✓ langsmith ✓ poetry-core ✓ azure-identity ✓ google-cloud-core ✓ regex ✓ starlette ✓ bcrypt ✓ opentelemetry-sdk ✓ yandexcloud ✓ wcwidth ✓ weaviate-client ✓ jaraco-classes ✓ fastapi ✓ opentelemetry-proto ✓ pexpect ✓ gitpython ✓ jeepney ✓ uvicorn ✓ ptyprocess ✓ secretstorage ✓ tabulate ✓ fastjsonschema ✓ threadpoolctl ✓ types-requests ✓ networkx ✓ itsdangerous ✓ paramiko ✓ chardet ✓ google-resumable-media ✓ smmap ✓ gitdb ✓ ruamel-yaml ✓ google-api-python-client ✓ google-crc32c ✓ dnspython ✓ pyproject-hooks ✓ build ✓ matplotlib ✓ blinker ✓ dill ✓ huggingface-hub ✓ google-auth-oauthlib ✓ rapidfuzz ✓ fonttools ✓ backoff ✓ joblib ✓ awswrangler ✓ opentelemetry-instrumentation ✓ importlib-resources ✓ alembic ✓ prompt-toolkit ✓ opentelemetry-exporter-otlp-proto-http ✓ websockets ✓ defusedxml ✓ google-genai ✓ msal-extensions ✓ kiwisolver ✓ openai ✓ distro ✓ zstandard ✓ jaraco-functools ✓ pkginfo ✓ langchain ✓ aliyun-python-sdk-core ✓ uritemplate ✓ xmltodict ✓ sqlparse ✓ cycler ✓ opentelemetry-exporter-otlp-proto-common ✓ marshmallow ✓ opentelemetry-util-http ✓ typedload ✓ google-cloud-bigquery ✓ py4j ✓ azure-storage-blob ✓ gym ✓ ruamel-yaml-clib ✓ tzlocal ✓ cachecontrol ✓ jaraco-context ✓ redis ✓ pytest-cov ✓ google-auth-httplib2 ✓ httplib2 ✓ docker ✓ opentelemetry-instrumentation-requests ✓ ipython ✓ nest-asyncio ✓ poetry-plugin-export ✓ cython ✓ opentelemetry-exporter-otlp-proto-grpc ✓ babel ✓ contourpy ✓ black ✓ poetry ✓ pymysql ✓ prometheus-client ✓ jsonpointer ✓ traitlets ✓ dulwich ✓ jedi ✓ crashtest ✓ cleo ✓ hatchling ✓

Top 240 - 360

kubernetes ✓ sphinx ✓ parso ✓ transformers ✓ setuptools-scm ✓ gunicorn ✓ installer ✓ grpc-google-iam-v1 ✓ tornado ✓ orjson ✓ sentry-sdk ✓ langchain-core ✓ typer ✓ mako ✓ matplotlib-inline ✓ databricks-sql-connector ✓ toml ✓ isort ✓ webencodings ✓ ruff ✓ pycodestyle ✓ types-python-dateutil ✓ markdown ✓ termcolor ✓ pendulum ✓ executing ✓ asttokens ✓ mccabe ✓ ply ✓ python-json-logger ✓ aiofiles ✓ jiter ✓ mypy ✓ snowflake-sqlalchemy ✓ stack-data ✓ asgiref ✓ nodeenv ✓ pure-eval ✓ typing-inspect ✓ tokenizers ✓ pymongo ✓ sympy ✓ pre-commit ✓ pycryptodome ✓ notebook ✓ uv ✓ msrest ✓ torch ✓ pytest-xdist ✓ scramp ✓ opentelemetry-exporter-otlp ✓ jsonpatch ✓ argcomplete ✓ azure-common ✓ identify ✓ py ✓ shapely ✓ pydantic-settings ✓ backports-tarfile ✓ cfgv ✓ opensearch-py ✓ execnet ✓ google-cloud-secret-manager ✓ pyrsistent ✓ redshift-connector ✓ datadog ✓ jsonpath-ng ✓ semver ✓ smart-open ✓ python-multipart ✓ debugpy ✓ future ✓ arrow ✓ jupyter-core ✓ mpmath ✓ mysql-connector-python ✓ databricks-sdk ✓ tiktoken ✓ rfc3339-validator ✓ watchdog ✓ tb-nightly ✓ lz4 ✓ apache-airflow-providers-common-sql ✓ dataclasses-json ✓ jupyterlab ✓ pyspark ✓ email-validator ✓ slack-sdk ✓ requests-aws4auth ✓ aioitertools ✓ pbs-installer ✓ mistune ✓ multiprocess ✓ pytest-asyncio ✓ findpython ✓ jupyter-client ✓ tinycss2 ✓ pyflakes ✓ google-cloud-pubsub ✓ bleach ✓ ipykernel ✓ nbformat ✓ jupyter-server ✓ pycryptodomex ✓ pytest-mock ✓ comm ✓ editables ✓ nbconvert ✓ pygithub ✓ python-slugify ✓ nbclient ✓ snowflake-snowpark-python ✓ hf-xet ✓ text-unidecode ✓ flake8 ✓ elasticsearch ✓ overrides ✓ watchfiles ✓ google-cloud-aiplatform ✓ humanfriendly ✓

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.