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

Top 120 - 240

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

Top 240 - 360

pexpect ✓ smmap ✓ opentelemetry-util-http ✓ asn1crypto ✓ rapidfuzz ✓ gitdb ✓ google-auth-httplib2 ✓ aiofiles ✓ msal-extensions ✓ executing ✓ jsonpatch ✓ flatbuffers ✓ python-docx ✓ playwright ✓ onnxruntime ✓ google-auth-oauthlib ✓ babel ✓ fastjsonschema ✓ markdown ✓ sqlparse ✓ authlib ✓ opentelemetry-exporter-otlp-proto-grpc ✓ gunicorn ✓ tornado ✓ pyee ✓ jedi ✓ mcp-types ✓ brotli ✓ pytest-timeout ✓ parso ✓ asttokens ✓ ipython ✓ grpc-google-iam-v1 ✓ structlog ✓ tinycss2 ✓ joserfc ✓ async-timeout ✓ paramiko ✓ transformers ✓ matplotlib-inline ✓ pure-eval ✓ pyzmq ✓ black ✓ xmltodict ✓ stack-data ✓ azure-storage-blob ✓ watchdog ✓ snowflake-connector-python ✓ pytest-json-ctrf ✓ ast-serialize ✓ python-json-logger ✓ croniter ✓ cachecontrol ✓ aioitertools ✓ typedload ✓ pyproject-hooks ✓ pypdfium2 ✓ griffelib ✓ jupyter-core ✓ litellm ✓ build ✓ debugpy ✓ opentelemetry-exporter-otlp-common ✓ isort ✓ nest-asyncio ✓ langsmith ✓ types-pyyaml ✓ pytest-mock ✓ lark ✓ nbformat ✓ cython ✓ sqlglot ✓ jupyter-client ✓ slack-sdk ✓ tomli-w ✓ google-cloud-aiplatform ✓ uuid-utils ✓ marshmallow ✓ awscli ✓ safetensors ✓ opentelemetry-instrumentation-asgi ✓ kubernetes ✓ reportlab ✓ termcolor ✓ lz4 ✓ multiprocess ✓ databricks-sdk ✓ opentelemetry-exporter-http-transport ✓ xlrd ✓ opentelemetry-instrumentation-fastapi ✓ beartype ✓ awswrangler ✓ pymysql ✓ loguru ✓ setuptools-scm ✓ fastuuid ✓ types-requests ✓ argon2-cffi-bindings ✓ pycryptodome ✓ text-unidecode ✓ cedarpy ✓ poetry-core ✓ argon2-cffi ✓ pytokens ✓ rfc3339-validator ✓ ipython-pygments-lexers ✓ python-slugify ✓ cyclopts ✓ graphql-core ✓ duckdb ✓ semver ✓ shapely ✓ jsonref ✓ faker ✓ invoke ✓ types-protobuf ✓ cbor2 ✓ comm ✓ pyperclip ✓ opentelemetry-instrumentation-requests ✓

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.