diff --git a/src/uvhow/__init__.py b/src/uvhow/__init__.py index 62d20d2..7727ad7 100644 --- a/src/uvhow/__init__.py +++ b/src/uvhow/__init__.py @@ -213,6 +213,15 @@ def detect_uv_installation() -> Optional[UvInstallation]: upgrade_command="pipx upgrade uv", ) + # mise + if "/.local/share/mise/installs/uv" in path_str: + return UvInstallation( + path=uv_path, + version=version, + method="mise", + upgrade_command="mise upgrade uv", + ) + # Virtual environment pip if any( venv in path_str for venv in ["/venv/bin/uv", "/env/bin/uv", "/.venv/bin/uv", "/.env/bin/uv"] diff --git a/test_detection.py b/test_detection.py index d902971..3c06e44 100755 --- a/test_detection.py +++ b/test_detection.py @@ -41,7 +41,10 @@ def test_detection_logic(): ('/home/user/.local/share/pipx/venvs/uv/bin/uv', False, 'pipx'), ('/Users/user/.local/share/pipx/venvs/uv/bin/uv', False, 'pipx'), ('/opt/pipx/venvs/uv/bin/uv', False, 'pipx'), - + + ('/home/user/.local/share/mise/installs/uv/bin/uv', False, 'mise'), + ('/Users/user/.local/share/mise/installs/uv/bin/uv', False, 'mise'), + ('/project/.venv/bin/uv', False, 'pip (virtual environment)'), ('/home/user/project/venv/bin/uv', False, 'pip (virtual environment)'), ('/workspace/.env/bin/uv', False, 'pip (virtual environment)'), @@ -183,4 +186,4 @@ def main(): if __name__ == '__main__': - main() \ No newline at end of file + main()