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

Top 120 - 240

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

Top 240 - 360

certbot-dns-cloudflare ✓ jedi ✓ cython ✓ google-cloud-secret-manager ✓ kubernetes ✓ mako ✓ toml ✓ cloudpickle ✓ executing ✓ ply ✓ black ✓ aiofiles ✓ sympy ✓ grpcio-health-checking ✓ matplotlib-inline ✓ tornado ✓ gunicorn ✓ poetry-plugin-export ✓ asttokens ✓ poetry ✓ langchain-core ✓ dulwich ✓ markdown ✓ pymongo ✓ sphinx ✓ uv ✓ email-validator ✓ smart-open ✓ mpmath ✓ stack-data ✓ pendulum ✓ types-python-dateutil ✓ pure-eval ✓ crashtest ✓ cleo ✓ installer ✓ mypy ✓ pyzmq ✓ termcolor ✓ databricks-sdk ✓ isort ✓ jsonpath-ng ✓ typing-inspect ✓ hf-xet ✓ scramp ✓ google-cloud-batch ✓ future ✓ snowflake-sqlalchemy ✓ asgiref ✓ pycodestyle ✓ nodeenv ✓ jsonpatch ✓ pytest-xdist ✓ httpx-sse ✓ opensearch-py ✓ mccabe ✓ msrest ✓ python-json-logger ✓ tiktoken ✓ redshift-connector ✓ shapely ✓ uvloop ✓ execnet ✓ multiprocess ✓ identify ✓ semver ✓ watchdog ✓ pycryptodome ✓ watchfiles ✓ pre-commit ✓ datadog ✓ google-analytics-admin ✓ azure-common ✓ tinycss2 ✓ pytest-asyncio ✓ requests-aws4auth ✓ debugpy ✓ aioitertools ✓ editables ✓ cfgv ✓ backports-tarfile ✓ httptools ✓ databricks-sql-connector ✓ argcomplete ✓ dataclasses-json ✓ arrow ✓ notebook ✓ lz4 ✓ google-cloud-pubsub ✓ rfc3339-validator ✓ jupyter-core ✓ py ✓ pyrsistent ✓ ipykernel ✓ slack-sdk ✓ jupyter-client ✓ aenum ✓ mistune ✓ pbs-installer ✓ mcp ✓ findpython ✓ pyspark ✓ nvidia-nccl-cu12 ✓ pytest-mock ✓ comm ✓ durationpy ✓ google-cloud-compute ✓ requests-file ✓ invoke ✓ xlsxwriter ✓ bleach ✓ pygithub ✓ mysql-connector-python ✓ google-cloud-aiplatform ✓ docstring-parser ✓ sse-starlette ✓ opentelemetry-exporter-prometheus ✓ cattrs ✓ pg8000 ✓ google-cloud-kms ✓

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.