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

Top 120 - 240

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

Top 240 - 360

google-auth-httplib2 ✓ sympy ✓ langchain-core ✓ backoff ✓ google-auth-oauthlib ✓ google-cloud-secret-manager ✓ mpmath ✓ asn1crypto ✓ async-timeout ✓ traitlets ✓ authlib ✓ weaviate-client ✓ datasets ✓ google-cloud-aiplatform ✓ jsonpointer ✓ aiofiles ✓ pytest-timeout ✓ msal-extensions ✓ joserfc ✓ fastjsonschema ✓ pyproject-hooks ✓ librt ✓ google-cloud-batch ✓ asgiref ✓ paramiko ✓ narwhals ✓ executing ✓ sqlparse ✓ build ✓ cloudpickle ✓ pypdf ✓ webencodings ✓ pydantic-ai-slim ✓ poetry-core ✓ google-cloud-kms ✓ asttokens ✓ jedi ✓ parso ✓ isort ✓ gcsfs ✓ truststore ✓ google-analytics-admin ✓ google-cloud-compute ✓ gunicorn ✓ azure-storage-blob ✓ matplotlib-inline ✓ babel ✓ databricks-sdk ✓ grpc-google-iam-v1 ✓ stack-data ✓ pure-eval ✓ jsonpatch ✓ tornado ✓ types-requests ✓ cachecontrol ✓ google-cloud-dlp ✓ markdown ✓ psycopg ✓ langsmith ✓ xmltodict ✓ pydantic-graph ✓ setuptools-scm ✓ python-docx ✓ marshmallow ✓ cfn-lint ✓ google-cloud-texttospeech ✓ cython ✓ pymupdf ✓ httpx2 ✓ dbt-adapters ✓ google-cloud-speech ✓ asyncpg ✓ google-cloud-pubsub ✓ psycopg-binary ✓ httpcore2 ✓ flatbuffers ✓ python-json-logger ✓ pytest-rerunfailures ✓ structlog ✓ xlsxwriter ✓ termcolor ✓ tinycss2 ✓ vcs-versioning ✓ safetensors ✓ pytokens ✓ pyperclip ✓ kubernetes ✓ watchdog ✓ fastmcp ✓ jsonschema-path ✓ fastuuid ✓ griffelib ✓ beartype ✓ pymongo ✓ pyzmq ✓ pytest-mock ✓ cyclopts ✓ debugpy ✓ py4j ✓ typedload ✓ pathable ✓ aioitertools ✓ jsonref ✓ mdit-py-plugins ✓ onnxruntime ✓ lz4 ✓ cbor2 ✓ nest-asyncio ✓ google-cloud-logging ✓ fastmcp-slim ✓ opentelemetry-exporter-prometheus ✓ py-key-value-aio ✓ slack-sdk ✓ linkify-it-py ✓ playwright ✓ databricks-sql-connector ✓ importlib-resources ✓ google-cloud-tasks ✓ rich-rst ✓ types-toml ✓

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.