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

Top 120 - 240

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

Top 240 - 360

tornado ✓ mpmath ✓ importlib-resources ✓ xmltodict ✓ grpcio-health-checking ✓ py4j ✓ google-cloud-aiplatform ✓ traitlets ✓ google-analytics-admin ✓ babel ✓ uv ✓ jsonpointer ✓ email-validator ✓ jedi ✓ parso ✓ opentelemetry-util-http ✓ aiofiles ✓ mypy ✓ black ✓ hf-xet ✓ toml ✓ matplotlib-inline ✓ executing ✓ nest-asyncio ✓ asttokens ✓ ply ✓ opentelemetry-instrumentation-requests ✓ durationpy ✓ watchfiles ✓ asgiref ✓ grpc-google-iam-v1 ✓ sentry-sdk ✓ docstring-parser ✓ stack-data ✓ pure-eval ✓ botocore-stubs ✓ cachecontrol ✓ uvloop ✓ types-awscrt ✓ pandas-stubs ✓ webencodings ✓ langchain-core ✓ awswrangler ✓ tiktoken ✓ gunicorn ✓ python-json-logger ✓ markdown ✓ types-s3transfer ✓ pymongo ✓ boto3-stubs ✓ pytest-xdist ✓ termcolor ✓ pkginfo ✓ execnet ✓ dbt-core ✓ pyzmq ✓ typing-inspect ✓ dbt-adapters ✓ watchdog ✓ aioitertools ✓ httptools ✓ msrest ✓ ruamel-yaml-clib ✓ debugpy ✓ pymysql ✓ dbt-common ✓ jsonpatch ✓ jsonpath-ng ✓ snowflake-sqlalchemy ✓ databricks-sdk ✓ isort ✓ mcp ✓ mypy-boto3-s3 ✓ sphinx ✓ httpx-sse ✓ torch ✓ dulwich ✓ h2 ✓ hpack ✓ hyperframe ✓ pycryptodome ✓ pygithub ✓ poetry ✓ mccabe ✓ google-cloud-monitoring ✓ pysocks ✓ crashtest ✓ shapely ✓ sse-starlette ✓ slack-sdk ✓ datadog ✓ azure-common ✓ requests-file ✓ google-cloud-vision ✓ google-cloud-compute ✓ lz4 ✓ cleo ✓ installer ✓ litellm ✓ pytest-mock ✓ semver ✓ jupyter-core ✓ google-cloud-tasks ✓ google-cloud-speech ✓ dataclasses-json ✓ google-cloud-bigtable ✓ pendulum ✓ multiprocess ✓ google-cloud-dlp ✓ notebook ✓ rfc3339-validator ✓ google-cloud-kms ✓ argcomplete ✓ toolz ✓ backports-tarfile ✓ google-cloud-workflows ✓ smart-open ✓ ipykernel ✓ jupyter-client ✓ arrow ✓

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.