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

Top 120 - 240

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

Top 240 - 360

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

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.