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

Top 120 - 240

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

Top 240 - 360

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

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.