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

Top 120 - 240

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

Top 240 - 360

mypy ✓ zstandard ✓ poetry-core ✓ google-cloud-secret-manager ✓ anthropic ✓ pydantic-graph ✓ jedi ✓ jsonpointer ✓ executing ✓ google-cloud-batch ✓ sympy ✓ parso ✓ build ✓ fastjsonschema ✓ paramiko ✓ black ✓ aiofiles ✓ matplotlib-inline ✓ mpmath ✓ sentry-sdk ✓ google-cloud-aiplatform ✓ asttokens ✓ kubernetes ✓ sqlparse ✓ datasets ✓ google-cloud-kms ✓ tree-sitter ✓ msal-extensions ✓ pytest-xdist ✓ google-cloud-compute ✓ backoff ✓ cloudpickle ✓ azure-storage-blob ✓ authlib ✓ stack-data ✓ pure-eval ✓ google-analytics-admin ✓ narwhals ✓ gcsfs ✓ grpc-google-iam-v1 ✓ asgiref ✓ joserfc ✓ termcolor ✓ webencodings ✓ marshmallow ✓ execnet ✓ babel ✓ gunicorn ✓ types-requests ✓ cython ✓ python-json-logger ✓ setuptools-scm ✓ jsonpatch ✓ databricks-sdk ✓ google-cloud-dlp ✓ cachecontrol ✓ xmltodict ✓ tornado ✓ pandas-stubs ✓ google-cloud-texttospeech ✓ markdown ✓ librt ✓ google-cloud-speech ✓ pymongo ✓ google-cloud-pubsub ✓ dbt-adapters ✓ mdit-py-plugins ✓ databricks-sql-connector ✓ nest-asyncio ✓ aioitertools ✓ rich-toolkit ✓ watchdog ✓ opentelemetry-instrumentation-threading ✓ cbor2 ✓ types-toml ✓ py4j ✓ linkify-it-py ✓ importlib-resources ✓ isort ✓ asyncpg ✓ tinycss2 ✓ dbt-core ✓ pytest-mock ✓ uc-micro-py ✓ dulwich ✓ ghapi ✓ llama-cloud-services ✓ llama-parse ✓ pyperclip ✓ xlsxwriter ✓ flatbuffers ✓ structlog ✓ browser-use ✓ debugpy ✓ vcs-versioning ✓ pyzmq ✓ pkginfo ✓ jsonschema-path ✓ lz4 ✓ python-docx ✓ pypdf ✓ fastuuid ✓ durationpy ✓ pytokens ✓ cyclopts ✓ slack-sdk ✓ types-certifi ✓ grpclib ✓ snowflake-snowpark-python ✓ ruamel-yaml-clib ✓ torch ✓ safetensors ✓ google-cloud-tasks ✓ typing-inspect ✓ pymupdf ✓ langsmith ✓ google-cloud-monitoring ✓ psycopg ✓ pathable ✓ pymysql ✓

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.