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

Top 120 - 240

sortedcontainers ✓ google-cloud-storage ✓ isodate ✓ pynacl ✓ scikit-learn ✓ opentelemetry-api ✓ opentelemetry-semantic-conventions ✓ werkzeug ✓ psycopg2-binary ✓ shellingham ✓ networkx ✓ more-itertools ✓ pexpect ✓ ptyprocess ✓ decorator ✓ hatchling ✓ azure-core ✓ mypy-extensions ✓ msgpack ✓ msal ✓ azure-identity ✓ cloudpickle ✓ python-multipart ✓ threadpoolctl ✓ websockets ✓ joblib ✓ snowflake-connector-python ✓ coverage ✓ async-timeout ✓ bcrypt ✓ asn1crypto ✓ wcwidth ✓ openai ✓ dnspython ✓ google-cloud-core ✓ gitpython ✓ distro ✓ tabulate ✓ annotated-doc ✓ textual ✓ smmap ✓ ruamel-yaml ✓ redis ✓ matplotlib ✓ gitdb ✓ deprecated ✓ paramiko ✓ google-resumable-media ✓ google-crc32c ✓ fonttools ✓ google-api-python-client ✓ keyring ✓ langsmith ✓ pyzmq ✓ google-cloud-bigquery ✓ itsdangerous ✓ google-auth-oauthlib ✓ poetry-core ✓ chardet ✓ tzlocal ✓ alembic ✓ prompt-toolkit ✓ kubernetes ✓ dill ✓ jiter ✓ pydantic-settings ✓ kiwisolver ✓ transformers ✓ secretstorage ✓ backoff ✓ pyproject-hooks ✓ jaraco-classes ✓ typer ✓ google-auth-httplib2 ✓ blinker ✓ msal-extensions ✓ langchain ✓ google-cloud-batch ✓ setuptools-scm ✓ pytest-asyncio ✓ jeepney ✓ uritemplate ✓ ruff ✓ aliyun-python-sdk-core ✓ google-cloud-secret-manager ✓ cycler ✓ zstandard ✓ httplib2 ✓ fastjsonschema ✓ sympy ✓ azure-storage-blob ✓ ruamel-yaml-clib ✓ rapidfuzz ✓ defusedxml ✓ py4j ✓ opentelemetry-instrumentation ✓ orjson ✓ build ✓ nodeenv ✓ google-analytics-admin ✓ grpcio-health-checking ✓ opentelemetry-exporter-prometheus ✓ contourpy ✓ mpmath ✓ marshmallow ✓ prometheus-client ✓ jaraco-functools ✓ tokenizers ✓ pytest-cov ✓ types-requests ✓ sqlparse ✓ docker ✓ importlib-resources ✓ cython ✓ jaraco-context ✓ editables ✓ xmltodict ✓ pymupdf ✓ pre-commit ✓ mako ✓

Top 240 - 360

cfgv ✓ ipython ✓ identify ✓ tornado ✓ hf-xet ✓ uv ✓ jsonpointer ✓ aiofiles ✓ traitlets ✓ toml ✓ babel ✓ awswrangler ✓ jedi ✓ email-validator ✓ parso ✓ nest-asyncio ✓ black ✓ grpc-google-iam-v1 ✓ matplotlib-inline ✓ executing ✓ typedload ✓ pandas-stubs ✓ asttokens ✓ durationpy ✓ ply ✓ argcomplete ✓ tiktoken ✓ mypy ✓ sentry-sdk ✓ dbt-core ✓ langchain-core ✓ webencodings ✓ asgiref ✓ pymongo ✓ opentelemetry-util-http ✓ docstring-parser ✓ litellm ✓ termcolor ✓ stack-data ✓ pure-eval ✓ markdown ✓ aioitertools ✓ sphinx ✓ dbt-common ✓ pymysql ✓ watchfiles ✓ gunicorn ✓ python-json-logger ✓ snowflake-sqlalchemy ✓ cachecontrol ✓ uvloop ✓ torch ✓ google-cloud-vision ✓ typing-inspect ✓ msrest ✓ dbt-adapters ✓ databricks-sdk ✓ opentelemetry-instrumentation-requests ✓ jsonpatch ✓ pytest-xdist ✓ google-cloud-monitoring ✓ google-cloud-dlp ✓ google-cloud-speech ✓ pkginfo ✓ google-cloud-tasks ✓ shapely ✓ execnet ✓ google-cloud-language ✓ google-cloud-compute ✓ mcp ✓ google-cloud-workflows ✓ jsonpath-ng ✓ pendulum ✓ isort ✓ debugpy ✓ google-cloud-videointelligence ✓ pycryptodome ✓ watchdog ✓ azure-common ✓ google-cloud-dataform ✓ mccabe ✓ httptools ✓ google-cloud-bigtable ✓ multiprocess ✓ google-cloud-os-login ✓ datadog ✓ notebook ✓ pycodestyle ✓ lz4 ✓ datasets ✓ future ✓ scramp ✓ google-cloud-redis ✓ slack-sdk ✓ h2 ✓ httpx-sse ✓ hyperframe ✓ hpack ✓ google-cloud-memcache ✓ jupyter-core ✓ wsproto ✓ requests-file ✓ dataclasses-json ✓ pysocks ✓ dulwich ✓ cattrs ✓ smart-open ✓ deepdiff ✓ google-cloud-logging ✓ google-cloud-aiplatform ✓ poetry ✓ ipykernel ✓ pygithub ✓ opensearch-py ✓ jupyter-client ✓ backports-tarfile ✓ selenium ✓ tinycss2 ✓ pytest-mock ✓ ray ✓

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.