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

Top 120 - 240

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

Top 240 - 360

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

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.