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

Top 120 - 240

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

Top 240 - 360

pexpect ✓ httplib2 ✓ black ✓ rapidfuzz ✓ snowflake-connector-python ✓ narwhals ✓ pypdf ✓ aiofiles ✓ pytest-xdist ✓ msal-extensions ✓ sqlparse ✓ databricks-sdk ✓ execnet ✓ cloudpickle ✓ datasets ✓ paramiko ✓ librt ✓ psycopg ✓ traitlets ✓ webencodings ✓ asgiref ✓ fastjsonschema ✓ awscli ✓ ipython ✓ opentelemetry-exporter-otlp ✓ opentelemetry-instrumentation-threading ✓ jsonpatch ✓ psycopg-binary ✓ gunicorn ✓ grpc-google-iam-v1 ✓ authlib ✓ google-cloud-secret-manager ✓ babel ✓ azure-storage-blob ✓ executing ✓ isort ✓ pyproject-hooks ✓ joserfc ✓ setuptools-scm ✓ poetry-core ✓ asyncpg ✓ ydb ✓ markdown ✓ asttokens ✓ parso ✓ jedi ✓ marshmallow ✓ vcs-versioning ✓ build ✓ xmltodict ✓ tornado ✓ langsmith ✓ cython ✓ python-docx ✓ matplotlib-inline ✓ structlog ✓ python-json-logger ✓ cachecontrol ✓ pydantic-ai-slim ✓ stack-data ✓ pure-eval ✓ watchdog ✓ tinycss2 ✓ playwright ✓ gcsfs ✓ safetensors ✓ pyzmq ✓ aioitertools ✓ xlsxwriter ✓ typedload ✓ pyee ✓ google-cloud-batch ✓ nest-asyncio ✓ pymysql ✓ fastuuid ✓ pymupdf ✓ kubernetes ✓ lz4 ✓ py4j ✓ google-cloud-aiplatform ✓ awswrangler ✓ pytest-mock ✓ pytokens ✓ termcolor ✓ wsproto ✓ debugpy ✓ reportlab ✓ brotli ✓ pytest-timeout ✓ pydantic-graph ✓ google-cloud-kms ✓ cbor2 ✓ sqlglot ✓ flatbuffers ✓ jupyter-core ✓ pymongo ✓ google-cloud-pubsub ✓ croniter ✓ slack-sdk ✓ google-cloud-compute ✓ loguru ✓ deprecation ✓ uuid-utils ✓ google-analytics-admin ✓ pycryptodome ✓ importlib-resources ✓ torch ✓ xlrd ✓ typing-inspect ✓ nbformat ✓ tomli-w ✓ opentelemetry-instrumentation-fastapi ✓ graphql-core ✓ types-toml ✓ ast-serialize ✓ google-cloud-logging ✓ invoke ✓ griffelib ✓ jupyter-client ✓ pyperclip ✓

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.