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

Top 120 - 240

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

Top 240 - 360

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

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.