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

Top 120 - 240

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

Top 240 - 360

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