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

Top 120 - 240

msgpack ✓ proto-plus ✓ werkzeug ✓ typer ✓ pyopenssl ✓ google-cloud-storage ✓ dnspython ✓ openai ✓ pydantic-settings ✓ google-cloud-aiplatform ✓ mypy-extensions ✓ coverage ✓ pynacl ✓ opentelemetry-exporter-otlp-proto-http ✓ psycopg2-binary ✓ scikit-learn ✓ python-multipart ✓ distro ✓ isodate ✓ opentelemetry-exporter-otlp-proto-grpc ✓ networkx ✓ tabulate ✓ textual ✓ matplotlib ✓ fonttools ✓ keyring ✓ sortedcontainers ✓ opentelemetry-exporter-otlp-proto-common ✓ decorator ✓ wcwidth ✓ azure-identity ✓ joblib ✓ jaraco-classes ✓ yandexcloud ✓ secretstorage ✓ huggingface-hub ✓ azure-core ✓ jeepney ✓ bcrypt ✓ ruff ✓ redis ✓ kiwisolver ✓ msal ✓ jaraco-context ✓ gitpython ✓ editables ✓ watchfiles ✓ jiter ✓ threadpoolctl ✓ jaraco-functools ✓ snowflake-connector-python ✓ defusedxml ✓ itsdangerous ✓ contourpy ✓ pexpect ✓ ptyprocess ✓ zstandard ✓ google-cloud-core ✓ types-requests ✓ smmap ✓ async-timeout ✓ poetry-core ✓ email-validator ✓ alembic ✓ ruamel-yaml ✓ rapidfuzz ✓ opentelemetry-instrumentation ✓ python-discovery ✓ pytest-cov ✓ deprecated ✓ gitdb ✓ prompt-toolkit ✓ orjson ✓ google-crc32c ✓ blinker ✓ google-resumable-media ✓ kubernetes ✓ google-api-python-client ✓ sentry-sdk ✓ tzlocal ✓ pytest-asyncio ✓ asn1crypto ✓ paramiko ✓ docstring-parser ✓ docker ✓ opentelemetry-exporter-otlp ✓ uv ✓ chardet ✓ backoff ✓ mcp ✓ prometheus-client ✓ google-auth-oauthlib ✓ cycler ✓ pyproject-hooks ✓ sympy ✓ sse-starlette ✓ mako ✓ setuptools-scm ✓ uritemplate ✓ google-cloud-bigquery ✓ dill ✓ marshmallow ✓ build ✓ google-auth-httplib2 ✓ httplib2 ✓ fastjsonschema ✓ msal-extensions ✓ uvloop ✓ google-cloud-secret-manager ✓ sqlparse ✓ google-cloud-batch ✓ pydantic-ai-slim ✓ azure-storage-blob ✓ transformers ✓ gcsfs ✓ hf-xet ✓ tokenizers ✓ mpmath ✓ google-analytics-admin ✓ xmltodict ✓

Top 240 - 360

babel ✓ mypy ✓ jsonpointer ✓ ipython ✓ nodeenv ✓ aiofiles ✓ httpx-sse ✓ authlib ✓ databricks-sdk ✓ cloudpickle ✓ black ✓ httptools ✓ tiktoken ✓ opentelemetry-util-http ✓ grpcio-health-checking ✓ asgiref ✓ py4j ✓ gunicorn ✓ toml ✓ opentelemetry-instrumentation-requests ✓ aliyun-python-sdk-core ✓ tornado ✓ pre-commit ✓ importlib-resources ✓ parso ✓ cython ✓ traitlets ✓ identify ✓ dbt-core ✓ executing ✓ durationpy ✓ jedi ✓ pandas-stubs ✓ pytest-xdist ✓ langchain-core ✓ markdown ✓ asttokens ✓ cfgv ✓ grpc-google-iam-v1 ✓ pydantic-graph ✓ execnet ✓ matplotlib-inline ✓ litellm ✓ webencodings ✓ python-json-logger ✓ cachecontrol ✓ nest-asyncio ✓ isort ✓ jsonschema-path ✓ stack-data ✓ pure-eval ✓ jsonpatch ✓ typing-inspect ✓ pymongo ✓ awswrangler ✓ termcolor ✓ xxhash ✓ dbt-adapters ✓ aioitertools ✓ h2 ✓ hyperframe ✓ hpack ✓ pymysql ✓ watchdog ✓ cattrs ✓ debugpy ✓ pkginfo ✓ pyperclip ✓ pytest-mock ✓ pathable ✓ typedload ✓ dbt-common ✓ dulwich ✓ dataclasses-json ✓ jsonpath-ng ✓ torch ✓ msrest ✓ rich-toolkit ✓ pyzmq ✓ slack-sdk ✓ pycryptodome ✓ google-cloud-speech ✓ google-cloud-monitoring ✓ databricks-sql-connector ✓ google-cloud-vision ✓ google-cloud-compute ✓ google-cloud-kms ✓ invoke ✓ lz4 ✓ pygithub ✓ tree-sitter ✓ sphinx ✓ google-cloud-tasks ✓ ruamel-yaml-clib ✓ google-cloud-dlp ✓ langsmith ✓ semver ✓ portalocker ✓ poetry ✓ opentelemetry-exporter-prometheus ✓ mccabe ✓ rfc3339-validator ✓ google-cloud-workflows ✓ google-cloud-videointelligence ✓ sqlalchemy-bigquery ✓ google-cloud-language ✓ google-cloud-bigtable ✓ multiprocess ✓ pendulum ✓ snowflake-sqlalchemy ✓ anthropic ✓ deepdiff ✓ google-cloud-os-login ✓ google-cloud-dataform ✓ beartype ✓ cyclopts ✓ tinycss2 ✓ nvidia-nccl-cu12 ✓ smart-open ✓ argcomplete ✓

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.