Skip to content

sqlite-utils 4.2 crashes with ModuleNotFoundError: No module named 'typing_extensions' #842

Closed

Description

@simonw
uv run --with sqlite-utils==4.2 sqlite-utils --help

Outputs:

  File "/Users/simon/.cache/uv/builds-v0/.tmpne5gey/bin/sqlite-utils", line 4, in <module>
    from sqlite_utils.cli import cli
  File "/Users/simon/.cache/uv/archive-v0/MPQM9SkBDiPBgG2rUmdFt/lib/python3.14/site-packages/sqlite_utils/__init__.py", line 1, in <module>
    from .db import Database
  File "/Users/simon/.cache/uv/archive-v0/MPQM9SkBDiPBgG2rUmdFt/lib/python3.14/site-packages/sqlite_utils/db.py", line 27, in <module>
    from typing_extensions import Self
ModuleNotFoundError: No module named 'typing_extensions'

Activity

  1. simonw commented on Aug 13, 2026

    @simonw
    OwnerAuthor

    Recreated locally with:

    /tmp/ooo/sqlite-utils % rm -rf .venv
    /tmp/ooo/sqlite-utils % uv run --no-default-groups sqlite-utils --help
    Using CPython 3.14.3
    Creating virtual environment at: .venv
    Installed 9 packages in 16ms
    Traceback (most recent call last):
      File "/private/tmp/ooo/sqlite-utils/.venv/bin/sqlite-utils", line 4, in <module>
        from sqlite_utils.cli import cli
      File "/private/tmp/ooo/sqlite-utils/sqlite_utils/__init__.py", line 1, in <module>
        from .db import Database
      File "/private/tmp/ooo/sqlite-utils/sqlite_utils/db.py", line 27, in <module>
        from typing_extensions import Self
    ModuleNotFoundError: No module named 'typing_extensions'
    
  2. simonw commented on Aug 13, 2026

    @simonw
    OwnerAuthor

    Problem is here:

    from typing_extensions import Self

  3. simonw commented on Aug 13, 2026

    @simonw
    OwnerAuthor
  4. simonw commented on Aug 13, 2026

    @simonw
    OwnerAuthor

    I'm going to add uv run --no-default-groups sqlite-utils --help to test.yml to avoid this ever happening again.

  5. simonw commented on Aug 13, 2026

    @simonw
    OwnerAuthor

    I considered yanking the release from PyPI but that's not necessary since the workaround for people affected by it is to add typing-extensions as a dependency (if they do not have it yet) - or wait a few minutes for 4.2.1.

  6. simonw commented on Aug 14, 2026

    @simonw
    OwnerAuthor

    sqlite-utils/Justfile

    Lines 4 to 9 in 56dd097

    # Run pytest with supplied options
    @test *options: test-no-dev-dependencies
    uv run pytest {{options}}
    @test-no-dev-dependencies:
    uv run --isolated --no-default-groups sqlite-utils --help > /dev/null

    So now just test-no-dev-dependencies runs that smoke test, and just test runs it before running everything else.

    The --isolated means that even if there is a .venv/ it will be ignored.

  7. added a commit that references this issue on Aug 14, 2026
    f6d7311
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions