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

Top 120 - 240

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

Top 240 - 360

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

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.