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

Top 120 - 240

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

Top 240 - 360

deprecated ✓ cfgv ✓ mpmath ✓ black ✓ asn1crypto ✓ rapidfuzz ✓ google-cloud-secret-manager ✓ msal-extensions ✓ awscli ✓ jsonpointer ✓ narwhals ✓ aiofiles ✓ pypdf ✓ async-timeout ✓ webencodings ✓ pytest-xdist ✓ cloudpickle ✓ paramiko ✓ librt ✓ ipython ✓ execnet ✓ authlib ✓ sqlparse ✓ pydantic-ai-slim ✓ datasets ✓ fastjsonschema ✓ google-cloud-batch ✓ pyproject-hooks ✓ grpc-google-iam-v1 ✓ gcsfs ✓ databricks-sdk ✓ joserfc ✓ asgiref ✓ traitlets ✓ psycopg ✓ build ✓ poetry-core ✓ azure-storage-blob ✓ gunicorn ✓ google-cloud-aiplatform ✓ isort ✓ jsonpatch ✓ google-cloud-kms ✓ google-analytics-admin ✓ babel ✓ psycopg-binary ✓ google-cloud-compute ✓ setuptools-scm ✓ executing ✓ cython ✓ langsmith ✓ parso ✓ jedi ✓ markdown ✓ pydantic-graph ✓ cachecontrol ✓ asyncpg ✓ asttokens ✓ marshmallow ✓ xmltodict ✓ vcs-versioning ✓ google-cloud-dlp ✓ google-cloud-speech ✓ watchdog ✓ python-json-logger ✓ tornado ✓ python-docx ✓ google-cloud-pubsub ✓ matplotlib-inline ✓ safetensors ✓ playwright ✓ google-cloud-texttospeech ✓ dbt-adapters ✓ structlog ✓ stack-data ✓ pure-eval ✓ tinycss2 ✓ fastuuid ✓ pymupdf ✓ sglang ✓ kubernetes ✓ pytokens ✓ google-cloud-logging ✓ pyee ✓ tree-sitter ✓ aioitertools ✓ lz4 ✓ pymongo ✓ fastmcp ✓ py4j ✓ weaviate-client ✓ pymysql ✓ xlsxwriter ✓ mdit-py-plugins ✓ flatbuffers ✓ nest-asyncio ✓ termcolor ✓ tomli-w ✓ croniter ✓ dbt-core ✓ brotli ✓ pyzmq ✓ google-cloud-monitoring ✓ pyperclip ✓ griffelib ✓ pytest-timeout ✓ slack-sdk ✓ google-cloud-tasks ✓ linkify-it-py ✓ opentelemetry-exporter-prometheus ✓ opentelemetry-instrumentation-fastapi ✓ pytest-mock ✓ pycryptodome ✓ debugpy ✓ importlib-resources ✓ torch ✓ fastmcp-slim ✓ uc-micro-py ✓ deprecation ✓ typedload ✓

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.