aqt.package
===========

.. py:module:: aqt.package

.. autoapi-nested-parse::

   Helpers for the packaged version of Anki.



Functions
---------

.. autoapisummary::

   aqt.package.first_run_setup
   aqt.package.uv_binary
   aqt.package.launcher_root
   aqt.package.venv_binary
   aqt.package.add_python_requirements
   aqt.package.launcher_executable
   aqt.package.trigger_launcher_run
   aqt.package.update_and_restart


Module Contents
---------------

.. py:function:: first_run_setup() -> None

   Code run the first time after install/upgrade.

   Currently, we just import our main libraries and invoke
   mpv/lame on macOS, which is slow on the first run, and doing
   it this way shows progress being made.


.. py:function:: uv_binary() -> str | None

   Return the path to the uv binary.


.. py:function:: launcher_root() -> str | None

   Return the path to the launcher root directory (AnkiProgramFiles).


.. py:function:: venv_binary(cmd: str) -> str | None

   Return the path to a binary in the launcher's venv.


.. py:function:: add_python_requirements(reqs: list[str]) -> tuple[bool, str]

   Add Python requirements to the launcher venv using uv add.

   Returns (success, output)


.. py:function:: launcher_executable() -> str | None

   Return the path to the Anki launcher executable.


.. py:function:: trigger_launcher_run() -> None

   Create a trigger file to request launcher UI on next run.


.. py:function:: update_and_restart() -> None

   Update and restart Anki using the launcher.


