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

Top 120 - 240

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

Top 240 - 360

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

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.