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

Top 120 - 240

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

Top 240 - 360

tornado ✓ cachecontrol ✓ sympy ✓ aiofiles ✓ pyzmq ✓ uv ✓ executing ✓ pkginfo ✓ typedload ✓ torch ✓ mypy ✓ brotli ✓ google-cloud-secret-manager ✓ email-validator ✓ matplotlib-inline ✓ pymysql ✓ ply ✓ markdown ✓ grpc-google-iam-v1 ✓ asttokens ✓ gunicorn ✓ mpmath ✓ isort ✓ aliyun-python-sdk-core ✓ langchain-core ✓ termcolor ✓ types-python-dateutil ✓ stack-data ✓ pure-eval ✓ hf-xet ✓ dulwich ✓ nodeenv ✓ watchfiles ✓ typing-inspect ✓ future ✓ pytest-xdist ✓ editables ✓ poetry ✓ jsonpatch ✓ python-json-logger ✓ uvloop ✓ aioitertools ✓ tiktoken ✓ installer ✓ execnet ✓ mccabe ✓ asgiref ✓ pycodestyle ✓ pytest-asyncio ✓ pymongo ✓ smart-open ✓ docstring-parser ✓ crashtest ✓ cleo ✓ debugpy ✓ shapely ✓ msrest ✓ jsonpath-ng ✓ identify ✓ httptools ✓ scramp ✓ multiprocess ✓ datadog ✓ watchdog ✓ argcomplete ✓ grpcio-health-checking ✓ rfc3339-validator ✓ pycryptodome ✓ pre-commit ✓ dbt-adapters ✓ azure-common ✓ pendulum ✓ cfgv ✓ notebook ✓ sphinx ✓ databricks-sdk ✓ poetry-plugin-export ✓ requests-file ✓ lz4 ✓ cssselect2 ✓ dbt-core ✓ google-cloud-batch ✓ dbt-common ✓ backports-tarfile ✓ pymupdf ✓ arrow ✓ slack-sdk ✓ databricks-sql-connector ✓ jupyter-core ✓ py ✓ redshift-connector ✓ dataclasses-json ✓ pytest-mock ✓ httpx-sse ✓ ipykernel ✓ nvidia-nccl-cu12 ✓ google-cloud-aiplatform ✓ opensearch-py ✓ xlsxwriter ✓ mistune ✓ google-analytics-admin ✓ typeguard ✓ jupyter-client ✓ pyphen ✓ semver ✓ pygithub ✓ cattrs ✓ mcp ✓ comm ✓ bashlex ✓ requests-aws4auth ✓ text-unidecode ✓ weasyprint ✓ safetensors ✓ invoke ✓ pyspark ✓ authlib ✓ zopfli ✓ snowflake-snowpark-python ✓ pysocks ✓

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.