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

Top 120 - 240

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

Top 240 - 360

opentelemetry-exporter-otlp ✓ poetry-core ✓ rapidfuzz ✓ opentelemetry-util-http ✓ pyproject-hooks ✓ paramiko ✓ pydantic-graph ✓ grpc-google-iam-v1 ✓ backoff ✓ httplib2 ✓ google-cloud-aiplatform ✓ jsonpointer ✓ build ✓ aiofiles ✓ mpmath ✓ asttokens ✓ datasets ✓ matplotlib-inline ✓ google-cloud-secret-manager ✓ marshmallow ✓ durationpy ✓ pure-eval ✓ stack-data ✓ sqlparse ✓ fastjsonschema ✓ setuptools-scm ✓ msal-extensions ✓ pytest-json-ctrf ✓ cloudpickle ✓ anthropic ✓ gunicorn ✓ google-cloud-batch ✓ babel ✓ azure-storage-blob ✓ termcolor ✓ authlib ✓ weaviate-client ✓ pytest-xdist ✓ ydb ✓ tree-sitter ✓ asgiref ✓ nest-asyncio ✓ tornado ✓ sentry-sdk ✓ markdown ✓ librt ✓ xmltodict ✓ execnet ✓ webencodings ✓ google-analytics-admin ✓ cython ✓ dbt-core ✓ py4j ✓ databricks-sdk ✓ black ✓ jsonpatch ✓ google-cloud-compute ✓ google-cloud-kms ✓ langchain-core ✓ importlib-resources ✓ vcs-versioning ✓ gcsfs ✓ python-json-logger ✓ cachecontrol ✓ pyzmq ✓ joserfc ✓ llama-parse ✓ llama-cloud-services ✓ debugpy ✓ pymongo ✓ watchdog ✓ typing-inspect ✓ pandas-stubs ✓ google-cloud-pubsub ✓ google-cloud-dlp ✓ mdit-py-plugins ✓ google-cloud-speech ✓ aioitertools ✓ slack-sdk ✓ dbt-adapters ✓ linkify-it-py ✓ torch ✓ pycryptodome ✓ pyperclip ✓ tinycss2 ✓ uc-micro-py ✓ lz4 ✓ jsonschema-path ✓ flatbuffers ✓ google-cloud-texttospeech ✓ pymysql ✓ xlsxwriter ✓ isort ✓ dulwich ✓ pytest-mock ✓ grpcio-health-checking ✓ dbt-common ✓ cyclopts ✓ awswrangler ✓ msrest ✓ jupyter-core ✓ pkginfo ✓ dataclasses-json ✓ asyncpg ✓ structlog ✓ narwhals ✓ cbor2 ✓ rich-toolkit ✓ langsmith ✓ typedload ✓ deepdiff ✓ google-cloud-monitoring ✓ semver ✓ safetensors ✓ jupyter-client ✓ google-cloud-tasks ✓ types-toml ✓ ruamel-yaml-clib ✓ pathable ✓ invoke ✓

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.