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

boto3 ✓ packaging ✓ typing-extensions ✓ urllib3 ✓ idna ✓ certifi ✓ requests ✓ charset-normalizer ✓ cryptography ✓ cffi ✓ setuptools ✓ pygments ✓ pyyaml ✓ python-dateutil ✓ six ✓ botocore ✓ pydantic ✓ pycparser ✓ pluggy ✓ anyio ✓ numpy ✓ pydantic-core ✓ click ✓ pytest ✓ annotated-types ✓ iniconfig ✓ h11 ✓ typing-inspection ✓ attrs ✓ s3transfer ✓ httpx ✓ aiobotocore ✓ httpcore ✓ protobuf ✓ markupsafe ✓ pyjwt ✓ python-dotenv ✓ fsspec ✓ pandas ✓ platformdirs ✓ jinja2 ✓ filelock ✓ uvicorn ✓ jmespath ✓ pathspec ✓ starlette ✓ multidict ✓ yarl ✓ jsonschema ✓ rpds-py ✓ aiohttp ✓ propcache ✓ rich ✓ markdown-it-py ✓ tomlkit ✓ referencing ✓ jsonschema-specifications ✓ mdurl ✓ tqdm ✓ pillow ✓ opentelemetry-api ✓ frozenlist ✓ aiosignal ✓ aiohappyeyeballs ✓ pip ✓ googleapis-common-protos ✓ pyasn1 ✓ websockets ✓ annotated-doc ✓ wrapt ✓ sniffio ✓ tzdata ✓ pytz ✗ greenlet ✓ fastapi ✓ google-auth ✓ zipp ✓ importlib-metadata ✓ pydantic-settings ✓ python-multipart ✓ wheel ✓ grpcio-status ✓ pyasn1-modules ✓ pyarrow ✓ hatchling ✓ tenacity ✓ sqlalchemy ✓ jiter ✓ trove-classifiers ✓ grpcio ✓ regex ✓ lxml ✓ s3fs ✓ openai ✓ pyparsing ✓ scipy ✓ beautifulsoup4 ✓ google-api-core ✓ watchfiles ✓ soupsieve ✓ ruff ✓ psutil ✓ openpyxl ✓ et-xmlfile ✓ coverage ✓ distro ✓ opentelemetry-semantic-conventions ✓ opentelemetry-sdk ✓ shellingham ✓ tomli ✓ proto-plus ✓ mcp ✓ typer ✓ mypy-extensions ✓ requests-oauthlib ✓ colorama ✓ cachetools ✓ truststore ✓ exceptiongroup ✓ sse-starlette ✓

Top 120 - 240

httpx2 ✓ httpcore2 ✓ huggingface-hub ✓ virtualenv ✓ wcwidth ✓ more-itertools ✓ opentelemetry-proto ✓ docstring-parser ✓ oauthlib ✓ pytest-asyncio ✓ dnspython ✓ editables ✓ distlib ✓ psycopg2-binary ✓ sortedcontainers ✓ httptools ✓ uvloop ✓ networkx ✓ opentelemetry-exporter-otlp-proto-common ✓ pytest-cov ✓ redis ✓ defusedxml ✓ requests-toolbelt ✓ scikit-learn ✓ hf-xet ✓ fonttools ✓ rsa ✓ msgpack ✓ threadpoolctl ✓ opentelemetry-exporter-otlp-proto-http ✓ tiktoken ✓ prompt-toolkit ✓ isodate ✓ langchain ✓ pyopenssl ✓ alembic ✓ orjson ✓ werkzeug ✓ mako ✓ cloudpickle ✓ tokenizers ✓ azure-core ✓ pynacl ✓ matplotlib ✓ nodeenv ✓ joblib ✓ python-discovery ✓ websocket-client ✓ msal ✓ kiwisolver ✓ tzlocal ✓ httpx-sse ✓ zstandard ✓ tabulate ✓ gitpython ✓ google-cloud-core ✓ email-validator ✓ chardet ✓ ruamel-yaml ✓ keyring ✓ bcrypt ✓ dill ✓ google-cloud-storage ✓ jaraco-classes ✓ google-cloud-bigquery ✓ langchain-core ✓ jaraco-functools ✓ anthropic ✓ jeepney ✓ smmap ✓ mypy ✓ itsdangerous ✓ secretstorage ✓ jaraco-context ✓ identify ✓ pre-commit ✓ cfgv ✓ contourpy ✓ cycler ✓ grpcio-tools ✓ opentelemetry-instrumentation ✓ google-genai ✓ gitdb ✓ h2 ✓ docutils ✓ hpack ✓ decorator ✓ toml ✓ asn1crypto ✓ google-resumable-media ✓ hyperframe ✓ pytest-xdist ✓ sympy ✓ google-crc32c ✓ execnet ✓ prometheus-client ✓ mpmath ✓ backoff ✓ docker ✓ uritemplate ✓ jsonpointer ✓ pytest-json-ctrf ✓ pypdf ✓ psycopg ✓ async-timeout ✓ ptyprocess ✓ flask ✓ ghapi ✓ uv ✓ xxhash ✓ google-api-python-client ✓ deprecated ✓ google-auth-httplib2 ✓ sentry-sdk ✓ pexpect ✓ azure-identity ✓ psycopg-binary ✓ aiofiles ✓ rapidfuzz ✓ httplib2 ✓

Top 240 - 360

asgiref ✓ msal-extensions ✓ blinker ✓ librt ✓ webencodings ✓ traitlets ✓ narwhals ✓ google-auth-oauthlib ✓ black ✓ authlib ✓ jsonpatch ✓ fastjsonschema ✓ sqlparse ✓ paramiko ✓ opentelemetry-util-http ✓ asyncpg ✓ opentelemetry-exporter-otlp-proto-grpc ✓ snowflake-connector-python ✓ multiprocess ✓ litellm ✓ azure-storage-blob ✓ joserfc ✓ babel ✓ executing ✓ playwright ✓ python-docx ✓ tornado ✓ transformers ✓ ipython ✓ xmltodict ✓ grpc-google-iam-v1 ✓ jedi ✓ parso ✓ gunicorn ✓ asttokens ✓ pyproject-hooks ✓ xlsxwriter ✓ pyee ✓ google-cloud-aiplatform ✓ structlog ✓ pure-eval ✓ pymupdf ✓ isort ✓ pyzmq ✓ markdown ✓ watchdog ✓ matplotlib-inline ✓ tinycss2 ✓ aioitertools ✓ awswrangler ✓ mcp-types ✓ awscli ✓ stack-data ✓ pytest-timeout ✓ build ✓ databricks-sdk ✓ marshmallow ✓ python-json-logger ✓ nest-asyncio ✓ pytest-mock ✓ debugpy ✓ brotli ✓ griffelib ✓ typedload ✓ flatbuffers ✓ setuptools-scm ✓ jupyter-core ✓ cython ✓ langsmith ✓ cachecontrol ✓ pymysql ✓ croniter ✓ pyperclip ✓ sqlglot ✓ poetry-core ✓ nbformat ✓ ast-serialize ✓ lz4 ✓ safetensors ✓ vcs-versioning ✓ jupyter-client ✓ beartype ✓ pytokens ✓ xlrd ✓ mdit-py-plugins ✓ kubernetes ✓ onnxruntime ✓ jsonref ✓ types-requests ✓ cyclopts ✓ slack-sdk ✓ uuid-utils ✓ types-pyyaml ✓ py4j ✓ linkify-it-py ✓ opentelemetry-instrumentation-fastapi ✓ pycryptodome ✓ fastuuid ✓ tomli-w ✓ pathable ✓ termcolor ✓ jsonschema-path ✓ loguru ✓ py-key-value-aio ✓ datasets ✓ opentelemetry-instrumentation-asgi ✓ rich-rst ✓ cbor2 ✓ semver ✓ types-protobuf ✓ reportlab ✓ wsproto ✓ lark ✓ importlib-resources ✓ pypdfium2 ✓ mccabe ✓ text-unidecode ✓ pymongo ✓ python-slugify ✓ faker ✓

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.