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

Top 120 - 240

psycopg2-binary ✓ google-cloud-storage ✓ mypy-extensions ✓ pynacl ✓ tenacity ✓ opentelemetry-semantic-conventions ✓ opentelemetry-api ✓ scikit-learn ✓ sortedcontainers ✓ decorator ✓ pexpect ✓ ptyprocess ✓ azure-core ✓ huggingface-hub ✓ coverage ✓ msal ✓ openai ✓ gitpython ✓ wcwidth ✓ bcrypt ✓ networkx ✓ opentelemetry-exporter-otlp-proto-http ✓ azure-identity ✓ async-timeout ✓ threadpoolctl ✓ asn1crypto ✓ websockets ✓ smmap ✓ joblib ✓ opentelemetry-exporter-otlp-proto-grpc ✓ transformers ✓ gitdb ✓ dnspython ✓ google-cloud-core ✓ matplotlib ✓ deprecated ✓ opentelemetry-exporter-otlp-proto-common ✓ tabulate ✓ keyring ✓ distro ✓ fonttools ✓ zstandard ✓ chardet ✓ paramiko ✓ dill ✓ python-multipart ✓ hatchling ✓ ruamel-yaml ✓ itsdangerous ✓ langsmith ✓ poetry-core ✓ jaraco-classes ✓ google-api-python-client ✓ prompt-toolkit ✓ secretstorage ✓ typer ✓ google-auth-oauthlib ✓ redis ✓ jeepney ✓ kiwisolver ✓ google-cloud-bigquery ✓ fastjsonschema ✓ google-resumable-media ✓ build ✓ rapidfuzz ✓ blinker ✓ google-crc32c ✓ pyproject-hooks ✓ annotated-doc ✓ opentelemetry-exporter-otlp ✓ backoff ✓ defusedxml ✓ cycler ✓ alembic ✓ setuptools-scm ✓ py4j ✓ sqlparse ✓ cloudpickle ✓ uritemplate ✓ msal-extensions ✓ jiter ✓ contourpy ✓ jaraco-functools ✓ google-auth-httplib2 ✓ httplib2 ✓ tzlocal ✓ xmltodict ✓ importlib-resources ✓ pytest-cov ✓ orjson ✓ ruamel-yaml-clib ✓ ruff ✓ prometheus-client ✓ langchain ✓ jaraco-context ✓ marshmallow ✓ docker ✓ pydantic-settings ✓ tokenizers ✓ azure-storage-blob ✓ google-cloud-secret-manager ✓ opentelemetry-instrumentation ✓ ipython ✓ types-requests ✓ grpcio-health-checking ✓ babel ✓ pyzmq ✓ cython ✓ sentry-sdk ✓ jsonpointer ✓ google-cloud-batch ✓ mako ✓ traitlets ✓ typedload ✓ black ✓ jedi ✓ parso ✓ sympy ✓ awswrangler ✓ snowflake-sqlalchemy ✓

Top 240 - 360

nest-asyncio ✓ tornado ✓ toml ✓ matplotlib-inline ✓ kubernetes ✓ executing ✓ google-analytics-admin ✓ email-validator ✓ aiofiles ✓ hf-xet ✓ cachecontrol ✓ markdown ✓ pkginfo ✓ langchain-core ✓ mypy ✓ dbt-common ✓ asgiref ✓ webencodings ✓ mpmath ✓ asttokens ✓ termcolor ✓ grpc-google-iam-v1 ✓ editables ✓ ply ✓ opentelemetry-util-http ✓ aliyun-python-sdk-core ✓ gunicorn ✓ torch ✓ argcomplete ✓ pymysql ✓ dbt-core ✓ uv ✓ stack-data ✓ pure-eval ✓ pytest-asyncio ✓ uvloop ✓ typing-inspect ✓ sphinx ✓ watchfiles ✓ nodeenv ✓ pymupdf ✓ multiprocess ✓ pytest-xdist ✓ dulwich ✓ python-json-logger ✓ mccabe ✓ isort ✓ pendulum ✓ pymongo ✓ poetry ✓ watchdog ✓ dbt-adapters ✓ docstring-parser ✓ pycodestyle ✓ identify ✓ shapely ✓ opentelemetry-instrumentation-requests ✓ jsonpatch ✓ tiktoken ✓ execnet ✓ pre-commit ✓ aioitertools ✓ installer ✓ crashtest ✓ debugpy ✓ cleo ✓ future ✓ pycryptodome ✓ msrest ✓ httptools ✓ databricks-sdk ✓ datadog ✓ cfgv ✓ lz4 ✓ notebook ✓ jsonpath-ng ✓ arrow ✓ requests-file ✓ smart-open ✓ google-cloud-vision ✓ rfc3339-validator ✓ azure-common ✓ slack-sdk ✓ databricks-sql-connector ✓ google-cloud-kms ✓ jupyter-core ✓ dataclasses-json ✓ google-cloud-monitoring ✓ deepdiff ✓ backports-tarfile ✓ google-cloud-speech ✓ ipykernel ✓ semver ✓ google-cloud-compute ✓ cattrs ✓ pytest-mock ✓ pygithub ✓ google-cloud-tasks ✓ google-cloud-dlp ✓ tinycss2 ✓ scramp ✓ py ✓ google-cloud-language ✓ google-cloud-workflows ✓ poetry-plugin-export ✓ nvidia-nccl-cu12 ✓ httpx-sse ✓ jupyter-client ✓ google-cloud-dataform ✓ google-cloud-videointelligence ✓ text-unidecode ✓ mcp ✓ google-cloud-aiplatform ✓ safetensors ✓ requests-aws4auth ✓ mistune ✓ opensearch-py ✓ comm ✓ invoke ✓ h2 ✓

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.