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

Top 120 - 240

requests-oauthlib ✓ proto-plus ✓ distlib ✓ hf-xet ✓ mcp ✓ dnspython ✓ openpyxl ✓ et-xmlfile ✓ python-discovery ✓ wcwidth ✓ oauthlib ✓ cachetools ✓ more-itertools ✓ coverage ✓ sse-starlette ✓ ruff ✓ opentelemetry-exporter-otlp-proto-grpc ✓ tomlkit ✓ mypy-extensions ✓ tiktoken ✓ pytest-asyncio ✓ tokenizers ✓ docstring-parser ✓ gitpython ✓ google-genai ✓ fonttools ✓ matplotlib ✓ requests-toolbelt ✓ rsa ✓ smmap ✓ uvloop ✓ prompt-toolkit ✓ msgpack ✓ networkx ✓ redis ✓ pyopenssl ✓ httptools ✓ sortedcontainers ✓ psycopg2-binary ✓ werkzeug ✓ gitdb ✓ dill ✓ contourpy ✓ opentelemetry-instrumentation-requests ✓ email-validator ✓ langchain ✓ chardet ✓ grpcio-tools ✓ google-cloud-storage ✓ defusedxml ✓ kiwisolver ✓ nodeenv ✓ h2 ✓ pynacl ✓ pytest-json-ctrf ✓ pytest-cov ✓ tabulate ✓ azure-core ✓ docker ✓ keyring ✓ orjson ✓ hpack ✓ isodate ✓ azure-identity ✓ scikit-learn ✓ httpx-sse ✓ decorator ✓ tzlocal ✓ xxhash ✓ alembic ✓ toml ✓ jaraco-classes ✓ hyperframe ✓ opentelemetry-util-http ✓ pre-commit ✓ jaraco-functools ✓ mako ✓ jeepney ✓ identify ✓ cfgv ✓ joblib ✓ secretstorage ✓ mypy ✓ websocket-client ✓ itsdangerous ✓ cycler ✓ ptyprocess ✓ opentelemetry-instrumentation-threading ✓ pexpect ✓ bcrypt ✓ ruamel-yaml ✓ docutils ✓ msal ✓ ipython ✓ jaraco-context ✓ anthropic ✓ google-cloud-core ✓ threadpoolctl ✓ flask ✓ transformers ✓ uv ✓ datasets ✓ async-timeout ✓ opentelemetry-exporter-otlp ✓ awscli ✓ blinker ✓ sentry-sdk ✓ google-resumable-media ✓ ydb ✓ traitlets ✓ google-api-python-client ✓ black ✓ rapidfuzz ✓ google-crc32c ✓ zstandard ✓ uritemplate ✓ google-auth-httplib2 ✓ prometheus-client ✓ deprecated ✓ snowflake-connector-python ✓

Top 240 - 360

google-cloud-bigquery ✓ httplib2 ✓ backoff ✓ sympy ✓ google-auth-oauthlib ✓ mpmath ✓ executing ✓ librt ✓ pypdf ✓ msal-extensions ✓ asn1crypto ✓ google-cloud-secret-manager ✓ asttokens ✓ narwhals ✓ langchain-core ✓ jsonpointer ✓ jedi ✓ parso ✓ aiofiles ✓ pytest-xdist ✓ google-cloud-aiplatform ✓ poetry-core ✓ matplotlib-inline ✓ paramiko ✓ pyproject-hooks ✓ cloudpickle ✓ execnet ✓ authlib ✓ fastuuid ✓ stack-data ✓ pure-eval ✓ fastjsonschema ✓ joserfc ✓ asgiref ✓ isort ✓ sqlparse ✓ build ✓ gunicorn ✓ webencodings ✓ google-cloud-batch ✓ termcolor ✓ azure-storage-blob ✓ mdit-py-plugins ✓ truststore ✓ psycopg ✓ pydantic-ai-slim ✓ gcsfs ✓ grpc-google-iam-v1 ✓ linkify-it-py ✓ jsonpatch ✓ databricks-sdk ✓ babel ✓ google-cloud-kms ✓ uc-micro-py ✓ google-analytics-admin ✓ cbor2 ✓ google-cloud-compute ✓ cython ✓ psycopg-binary ✓ markdown ✓ cachecontrol ✓ setuptools-scm ✓ weaviate-client ✓ cfn-lint ✓ xmltodict ✓ types-requests ✓ langsmith ✓ marshmallow ✓ types-toml ✓ asyncpg ✓ python-json-logger ✓ safetensors ✓ vcs-versioning ✓ google-cloud-dlp ✓ watchdog ✓ dbt-adapters ✓ tornado ✓ python-docx ✓ httpx2 ✓ pytokens ✓ grpclib ✓ tree-sitter ✓ types-certifi ✓ structlog ✓ google-cloud-speech ✓ google-cloud-texttospeech ✓ google-cloud-pubsub ✓ httpcore2 ✓ modal ✓ pymongo ✓ tinycss2 ✓ kubernetes ✓ synchronicity ✓ pydantic-graph ✓ fastmcp ✓ pymupdf ✓ typedload ✓ pytest-mock ✓ flatbuffers ✓ aioitertools ✓ pyperclip ✓ pytest-timeout ✓ lz4 ✓ griffelib ✓ xlsxwriter ✓ playwright ✓ cyclopts ✓ beartype ✓ py4j ✓ pyzmq ✓ dbt-core ✓ fastcore ✓ opentelemetry-exporter-prometheus ✓ google-cloud-logging ✓ pymysql ✓ jsonschema-path ✓ fastapi-cli ✓ tomli-w ✓ pyarrow-hotfix ✓ brotli ✓

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.