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

Top 120 - 240

websockets ✓ exceptiongroup ✓ isodate ✓ more-itertools ✓ pynacl ✓ decorator ✓ networkx ✓ msgpack ✓ wcwidth ✓ flask ✓ huggingface-hub ✓ azure-core ✓ coverage ✓ hatchling ✓ scikit-learn ✓ msal ✓ cloudpickle ✓ bcrypt ✓ openai ✓ joblib ✓ distro ✓ ruamel-yaml ✓ python-multipart ✓ pexpect ✓ opentelemetry-exporter-otlp-proto-http ✓ async-timeout ✓ asn1crypto ✓ ptyprocess ✓ google-cloud-core ✓ poetry-core ✓ threadpoolctl ✓ gitpython ✓ dnspython ✓ tabulate ✓ opentelemetry-exporter-otlp-proto-common ✓ snowflake-connector-python ✓ opentelemetry-instrumentation ✓ pydantic-settings ✓ opentelemetry-exporter-otlp-proto-grpc ✓ redis ✓ itsdangerous ✓ matplotlib ✓ fonttools ✓ prompt-toolkit ✓ deprecated ✓ paramiko ✓ typer ✓ keyring ✓ azure-identity ✓ alembic ✓ smmap ✓ ruff ✓ gitdb ✓ google-resumable-media ✓ blinker ✓ tzlocal ✓ google-crc32c ✓ jiter ✓ langsmith ✓ chardet ✓ google-genai ✓ zstandard ✓ kiwisolver ✓ google-cloud-bigquery ✓ annotated-doc ✓ backoff ✓ dill ✓ jaraco-classes ✓ google-api-python-client ✓ secretstorage ✓ rapidfuzz ✓ msal-extensions ✓ build ✓ jeepney ✓ prometheus-client ✓ orjson ✓ types-requests ✓ pytest-asyncio ✓ kubernetes ✓ fastjsonschema ✓ pyproject-hooks ✓ docker ✓ cycler ✓ pytest-cov ✓ defusedxml ✓ azure-storage-blob ✓ google-auth-oauthlib ✓ setuptools-scm ✓ yandexcloud ✓ contourpy ✓ nodeenv ✓ httplib2 ✓ uritemplate ✓ transformers ✓ jaraco-context ✓ jaraco-functools ✓ editables ✓ opentelemetry-instrumentation-requests ✓ google-auth-httplib2 ✓ sqlparse ✓ marshmallow ✓ sympy ✓ ipython ✓ tornado ✓ mako ✓ tokenizers ✓ py4j ✓ traitlets ✓ xmltodict ✓ opentelemetry-exporter-otlp ✓ identify ✓ babel ✓ opentelemetry-util-http ✓ pre-commit ✓ jsonpointer ✓ jedi ✓ importlib-resources ✓ parso ✓ cfgv ✓ mpmath ✓

Top 240 - 360

aiofiles ✓ nest-asyncio ✓ uv ✓ hf-xet ✓ matplotlib-inline ✓ cython ✓ executing ✓ mypy ✓ asttokens ✓ toml ✓ langchain-core ✓ ply ✓ watchfiles ✓ gunicorn ✓ dbt-core ✓ botocore-stubs ✓ python-json-logger ✓ docstring-parser ✓ uvloop ✓ types-awscrt ✓ stack-data ✓ mcp ✓ pure-eval ✓ boto3-stubs ✓ typedload ✓ sentry-sdk ✓ types-s3transfer ✓ black ✓ awswrangler ✓ tiktoken ✓ webencodings ✓ grpc-google-iam-v1 ✓ markdown ✓ asgiref ✓ cachecontrol ✓ watchdog ✓ dbt-adapters ✓ email-validator ✓ aioitertools ✓ pymysql ✓ ruamel-yaml-clib ✓ pkginfo ✓ pyzmq ✓ debugpy ✓ typing-inspect ✓ google-cloud-aiplatform ✓ httptools ✓ sse-starlette ✓ termcolor ✓ databricks-sdk ✓ httpx-sse ✓ dulwich ✓ msrest ✓ jsonpath-ng ✓ datasets ✓ dbt-common ✓ jsonpatch ✓ torch ✓ durationpy ✓ gcsfs ✓ pycryptodome ✓ mypy-boto3-s3 ✓ multiprocess ✓ pymongo ✓ isort ✓ h2 ✓ notebook ✓ poetry ✓ hyperframe ✓ hpack ✓ execnet ✓ pytest-xdist ✓ google-cloud-secret-manager ✓ lz4 ✓ jupyter-core ✓ mccabe ✓ requests-file ✓ azure-common ✓ arrow ✓ datadog ✓ poetry-plugin-export ✓ slack-sdk ✓ cleo ✓ installer ✓ pysocks ✓ crashtest ✓ pendulum ✓ deepdiff ✓ ipykernel ✓ rfc3339-validator ✓ tree-sitter ✓ jupyter-client ✓ comm ✓ invoke ✓ smart-open ✓ future ✓ pytest-mock ✓ xxhash ✓ shapely ✓ scramp ✓ dataclasses-json ✓ wsproto ✓ simplejson ✓ tinycss2 ✓ narwhals ✓ loguru ✓ mistune ✓ litellm ✓ pycodestyle ✓ py ✓ xlsxwriter ✓ argcomplete ✓ pygithub ✓ humanfriendly ✓ safetensors ✓ snowflake-sqlalchemy ✓ lark ✓ mypy-boto3-sts ✓ typeguard ✓ bleach ✓

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.