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

Top 120 - 240

dnspython ✓ wcwidth ✓ uvloop ✓ opentelemetry-proto ✓ proto-plus ✓ colorama ✓ pytest-asyncio ✓ httptools ✓ werkzeug ✓ cachetools ✓ s3fs ✓ requests-oauthlib ✓ opentelemetry-exporter-otlp-proto-common ✓ oauthlib ✓ fonttools ✓ itsdangerous ✓ sortedcontainers ✓ tomli ✓ pytest-cov ✓ hf-xet ✓ virtualenv ✓ redis ✓ more-itertools ✓ opentelemetry-exporter-otlp-proto-http ✓ psycopg2-binary ✓ exceptiongroup ✓ tabulate ✓ mako ✓ cloudpickle ✓ distlib ✓ alembic ✓ msgpack ✓ scikit-learn ✓ tiktoken ✓ threadpoolctl ✓ psycopg ✓ prompt-toolkit ✓ xlsxwriter ✓ requests-toolbelt ✓ tokenizers ✓ psycopg-binary ✓ orjson ✓ execnet ✓ pymupdf ✓ pytest-xdist ✓ anthropic ✓ uv ✓ flask ✓ joblib ✓ blinker ✓ hpack ✓ h2 ✓ hyperframe ✓ email-validator ✓ httpx-sse ✓ isodate ✓ pypdf ✓ mypy ✓ matplotlib ✓ nodeenv ✓ python-discovery ✓ zstandard ✓ azure-core ✓ tzlocal ✓ kiwisolver ✓ rsa ✓ websocket-client ✓ opentelemetry-instrumentation ✓ sympy ✓ python-pptx ✓ pyopenssl ✓ google-cloud-core ✓ contourpy ✓ ruamel-yaml ✓ mpmath ✓ cycler ✓ msal ✓ prometheus-client ✓ bcrypt ✓ pynacl ✓ flatbuffers ✓ google-genai ✓ librt ✓ google-cloud-bigquery ✓ google-cloud-storage ✓ jsonpointer ✓ google-crc32c ✓ onnxruntime ✓ langchain-core ✓ chardet ✓ google-resumable-media ✓ python-docx ✓ mcp-types ✓ langchain ✓ xxhash ✓ identify ✓ jaraco-functools ✓ asgiref ✓ dill ✓ keyring ✓ pre-commit ✓ deprecated ✓ cfgv ✓ webencodings ✓ toml ✓ docker ✓ traitlets ✓ sentry-sdk ✓ backoff ✓ jaraco-classes ✓ jeepney ✓ grpcio-tools ✓ narwhals ✓ azure-identity ✓ asyncpg ✓ authlib ✓ uritemplate ✓ secretstorage ✓ decorator ✓ ptyprocess ✓

Top 240 - 360

jaraco-context ✓ opentelemetry-util-http ✓ rapidfuzz ✓ gitpython ✓ asn1crypto ✓ msal-extensions ✓ docutils ✓ pypdfium2 ✓ pexpect ✓ joserfc ✓ smmap ✓ jsonpatch ✓ aiofiles ✓ gitdb ✓ playwright ✓ google-api-python-client ✓ pytest-json-ctrf ✓ httplib2 ✓ fastjsonschema ✓ executing ✓ google-auth-httplib2 ✓ structlog ✓ pytest-timeout ✓ markdown ✓ opentelemetry-exporter-otlp-proto-grpc ✓ tornado ✓ pyee ✓ tinycss2 ✓ opentelemetry-exporter-otlp-common ✓ babel ✓ sqlparse ✓ gunicorn ✓ google-auth-oauthlib ✓ transformers ✓ pyzmq ✓ ipython ✓ brotli ✓ jedi ✓ parso ✓ async-timeout ✓ grpc-google-iam-v1 ✓ asttokens ✓ xmltodict ✓ watchdog ✓ matplotlib-inline ✓ ast-serialize ✓ pure-eval ✓ griffelib ✓ stack-data ✓ opentelemetry-exporter-http-transport ✓ paramiko ✓ azure-storage-blob ✓ snowflake-connector-python ✓ jupyter-core ✓ black ✓ python-json-logger ✓ cachecontrol ✓ nbformat ✓ litellm ✓ aioitertools ✓ pyproject-hooks ✓ pdfminer-six ✓ cython ✓ croniter ✓ debugpy ✓ build ✓ jupyter-client ✓ lark ✓ types-pyyaml ✓ sqlglot ✓ beartype ✓ safetensors ✓ databricks-sdk ✓ marshmallow ✓ langsmith ✓ isort ✓ awswrangler ✓ reportlab ✓ fastuuid ✓ slack-sdk ✓ opentelemetry-instrumentation-asgi ✓ awscli ✓ pytest-mock ✓ nest-asyncio ✓ uuid-utils ✓ google-cloud-aiplatform ✓ pycryptodome ✓ pymupdf4llm ✓ pdfplumber ✓ cyclopts ✓ argon2-cffi-bindings ✓ tomli-w ✓ opentelemetry-instrumentation-fastapi ✓ pathable ✓ argon2-cffi ✓ jsonschema-path ✓ xlrd ✓ kubernetes ✓ pymupdf-layout ✓ lz4 ✓ jsonref ✓ multiprocess ✓ cbor2 ✓ pymysql ✓ ipython-pygments-lexers ✓ pyperclip ✓ loguru ✓ text-unidecode ✓ deprecation ✓ rfc3339-validator ✓ rich-rst ✓ graphql-core ✓ termcolor ✓ shapely ✓ python-slugify ✓ py-key-value-aio ✓ mistune ✓ types-requests ✓ bleach ✓ mdit-py-plugins ✓

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.