Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make all imports absolute #5318

Merged
merged 1 commit into from Nov 9, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 4 additions & 0 deletions .pre-commit-config.yaml
@@ -1,4 +1,8 @@
repos:
- repo: https://github.com/MarcoGorelli/absolufy-imports
rev: v0.3.1
hooks:
- id: absolufy-imports
- repo: https://github.com/pycqa/isort
rev: 5.10.1
hooks:
Expand Down
4 changes: 2 additions & 2 deletions napari/__init__.py
@@ -1,7 +1,7 @@
import os

try:
from ._version import version as __version__
from napari._version import version as __version__
except ImportError:
__version__ = "not-installed"

Expand Down Expand Up @@ -49,7 +49,7 @@
# potential to take a second or more, so we definitely don't want to import it
# just to access the CLI (which may not actually need any of the imports)

from ._lazy import install_lazy
from napari._lazy import install_lazy

__getattr__, __dir__, __all__ = install_lazy(
__name__, _proto_all_, _submod_attrs
Expand Down
8 changes: 6 additions & 2 deletions napari/__main__.py
Expand Up @@ -13,7 +13,7 @@
from textwrap import wrap
from typing import Any, Dict, List

from .utils.translations import trans
from napari.utils.translations import trans


class InfoAction(argparse.Action):
Expand Down Expand Up @@ -270,7 +270,11 @@ def _run():

else:
if args.with_:
from .plugins import _initialize_plugins, _npe2, plugin_manager
from napari.plugins import (
_initialize_plugins,
_npe2,
plugin_manager,
)

# if a plugin widget has been requested, this will fail immediately
# if the requested plugin/widget is not available.
Expand Down
2 changes: 1 addition & 1 deletion napari/_app_model/__init__.py
@@ -1,3 +1,3 @@
from ._app import get_app
from napari._app_model._app import get_app

__all__ = ["get_app"]
10 changes: 5 additions & 5 deletions napari/_app_model/_app.py
Expand Up @@ -6,11 +6,11 @@

from app_model import Application

from ._submenus import SUBMENUS
from .actions._layer_actions import LAYER_ACTIONS
from .actions._view_actions import VIEW_ACTIONS
from .injection._processors import PROCESSORS
from .injection._providers import PROVIDERS
from napari._app_model._submenus import SUBMENUS
from napari._app_model.actions._layer_actions import LAYER_ACTIONS
from napari._app_model.actions._view_actions import VIEW_ACTIONS
from napari._app_model.injection._processors import PROCESSORS
from napari._app_model.injection._providers import PROVIDERS

APP_NAME = 'napari'

Expand Down
4 changes: 2 additions & 2 deletions napari/_app_model/_submenus.py
@@ -1,7 +1,7 @@
from app_model.types import SubmenuItem

from ..utils.translations import trans
from .constants import MenuGroup, MenuId
from napari._app_model.constants import MenuGroup, MenuId
from napari.utils.translations import trans

SUBMENUS = [
(
Expand Down
6 changes: 3 additions & 3 deletions napari/_app_model/actions/_layer_actions.py
Expand Up @@ -15,9 +15,9 @@

from app_model.types import Action

from ...layers import _layer_actions
from ..constants import CommandId, MenuGroup, MenuId
from ..context import LayerListContextKeys as LLCK
from napari._app_model.constants import CommandId, MenuGroup, MenuId
from napari._app_model.context import LayerListContextKeys as LLCK
from napari.layers import _layer_actions

if TYPE_CHECKING:
from app_model.types import MenuRuleDict
Expand Down
2 changes: 1 addition & 1 deletion napari/_app_model/actions/_toggle_action.py
Expand Up @@ -5,7 +5,7 @@
from app_model.types import Action, ToggleRule

if TYPE_CHECKING:
from ...viewer import Viewer
from napari.viewer import Viewer


class ViewerToggleAction(Action):
Expand Down
6 changes: 3 additions & 3 deletions napari/_app_model/actions/_view_actions.py
Expand Up @@ -8,9 +8,9 @@

from app_model.types import Action, ToggleRule

from ...settings import get_settings
from ..constants import CommandId, MenuId
from ._toggle_action import ViewerToggleAction
from napari._app_model.actions._toggle_action import ViewerToggleAction
from napari._app_model.constants import CommandId, MenuId
from napari.settings import get_settings

VIEW_ACTIONS: List[Action] = []

Expand Down
4 changes: 2 additions & 2 deletions napari/_app_model/constants/__init__.py
@@ -1,4 +1,4 @@
from ._commands import CommandId
from ._menus import MenuGroup, MenuId
from napari._app_model.constants._commands import CommandId
from napari._app_model.constants._menus import MenuGroup, MenuId

__all__ = ['CommandId', 'MenuGroup', 'MenuId']
2 changes: 1 addition & 1 deletion napari/_app_model/constants/_commands.py
Expand Up @@ -11,7 +11,7 @@
from enum import Enum
from typing import NamedTuple, Optional

from ...utils.translations import trans
from napari.utils.translations import trans


# fmt: off
Expand Down
8 changes: 6 additions & 2 deletions napari/_app_model/context/__init__.py
@@ -1,5 +1,9 @@
from ._context import Context, create_context, get_context
from ._layerlist_context import LayerListContextKeys
from napari._app_model.context._context import (
Context,
create_context,
get_context,
)
from napari._app_model.context._layerlist_context import LayerListContextKeys

__all__ = [
'Context',
Expand Down
6 changes: 3 additions & 3 deletions napari/_app_model/context/_context.py
Expand Up @@ -6,10 +6,10 @@
from app_model.expressions import create_context as _create_context
from app_model.expressions import get_context

from ...utils.translations import trans
from napari.utils.translations import trans

if TYPE_CHECKING:
from ...utils.events import Event
from napari.utils.events import Event

__all__ = ["create_context", "get_context", "Context", "SettingsAwareContext"]

Expand All @@ -24,7 +24,7 @@ class SettingsAwareContext(Context):

def __init__(self):
super().__init__()
from ...settings import get_settings
from napari.settings import get_settings

self._settings = get_settings()
self._settings.events.changed.connect(self._update_key)
Expand Down
2 changes: 1 addition & 1 deletion napari/_app_model/context/_context_keys.py
Expand Up @@ -3,7 +3,7 @@
from app_model.expressions import ContextNamespace as _ContextNamespace

if TYPE_CHECKING:
from ...utils.events import Event
from napari.utils.events import Event

A = TypeVar("A")

Expand Down
14 changes: 7 additions & 7 deletions napari/_app_model/context/_layerlist_context.py
Expand Up @@ -5,15 +5,15 @@

from app_model.expressions import ContextKey

from ...utils._dtype import normalize_dtype
from ...utils.translations import trans
from ._context_keys import ContextNamespace
from napari._app_model.context._context_keys import ContextNamespace
from napari.utils._dtype import normalize_dtype
from napari.utils.translations import trans

if TYPE_CHECKING:
from numpy.typing import DTypeLike

from ...layers import Layer
from ...utils.events import Selection
from napari.layers import Layer
from napari.utils.events import Selection

LayerSel = Selection[Layer]

Expand All @@ -23,13 +23,13 @@ def _len(s: LayerSel) -> int:


def _all_linked(s: LayerSel) -> bool:
from ...layers.utils._link_layers import layer_is_linked
from napari.layers.utils._link_layers import layer_is_linked

return bool(s and all(layer_is_linked(x) for x in s))


def _n_unselected_links(s: LayerSel) -> int:
from ...layers.utils._link_layers import get_linked_layers
from napari.layers.utils._link_layers import get_linked_layers

return len(get_linked_layers(*s) - s)

Expand Down
8 changes: 4 additions & 4 deletions napari/_app_model/injection/_processors.py
Expand Up @@ -4,9 +4,9 @@
from functools import partial
from typing import Any, Callable, Dict, List, Optional, Set, Union

from ... import layers, types, viewer
from ...layers._source import layer_source
from ._providers import _provide_viewer
from napari import layers, types, viewer
from napari._app_model.injection._providers import _provide_viewer
from napari.layers._source import layer_source


def _add_layer_data_tuples_to_viewer(
Expand All @@ -15,7 +15,7 @@ def _add_layer_data_tuples_to_viewer(
viewer=None,
source: Optional[dict] = None,
):
from ...utils.misc import ensure_list_of_layer_data_tuple
from napari.utils.misc import ensure_list_of_layer_data_tuple

if viewer is None:
viewer = _provide_viewer()
Expand Down
2 changes: 1 addition & 1 deletion napari/_app_model/injection/_providers.py
@@ -1,6 +1,6 @@
from typing import Optional

from ... import components, layers, viewer
from napari import components, layers, viewer


def _provide_viewer() -> Optional[viewer.Viewer]:
Expand Down
2 changes: 1 addition & 1 deletion napari/_event_loop.py
@@ -1,5 +1,5 @@
try:
from ._qt.qt_event_loop import gui_qt, run
from napari._qt.qt_event_loop import gui_qt, run

# qtpy raises a RuntimeError if no Qt bindings can be found
except (ImportError, RuntimeError) as e:
Expand Down
6 changes: 3 additions & 3 deletions napari/_qt/__init__.py
Expand Up @@ -3,7 +3,7 @@
from pathlib import Path
from warnings import warn

from ..utils.translations import trans
from napari.utils.translations import trans

try:
from qtpy import API_NAME, QT_VERSION, QtCore
Expand Down Expand Up @@ -61,5 +61,5 @@
warn(message=warn_message)


from .qt_event_loop import get_app, gui_qt, quit_app, run
from .qt_main_window import Window
from napari._qt.qt_event_loop import get_app, gui_qt, quit_app, run
from napari._qt.qt_main_window import Window
2 changes: 1 addition & 1 deletion napari/_qt/_qapp_model/__init__.py
@@ -1,5 +1,5 @@
"""Helper functions to create Qt objects from app-model objects."""

from ._menus import build_qmodel_menu
from napari._qt._qapp_model._menus import build_qmodel_menu

__all__ = ['build_qmodel_menu']
2 changes: 1 addition & 1 deletion napari/_qt/_qapp_model/_menus.py
Expand Up @@ -27,7 +27,7 @@ def build_qmodel_menu(
QModelMenu
QMenu subclass populated with all items in `menu_id` menu.
"""
from ..._app_model import get_app
from napari._app_model import get_app

return QModelMenu(
menu_id=menu_id, app=get_app(), title=title, parent=parent
Expand Down
10 changes: 5 additions & 5 deletions napari/_qt/_qapp_model/qactions/__init__.py
Expand Up @@ -22,11 +22,11 @@ def init_qactions() -> None:
- registering Qt-dependent actions with app-model (i.e. Q_*_ACTIONS actions).
"""

from ...._app_model import get_app
from ...qt_main_window import Window, _QtMainWindow
from ...qt_viewer import QtViewer
from ._help import Q_HELP_ACTIONS
from ._view import Q_VIEW_ACTIONS
from napari._app_model import get_app
from napari._qt._qapp_model.qactions._help import Q_HELP_ACTIONS
from napari._qt._qapp_model.qactions._view import Q_VIEW_ACTIONS
from napari._qt.qt_main_window import Window, _QtMainWindow
from napari._qt.qt_viewer import QtViewer

# update the namespace with the Qt-specific types/providers/processors
app = get_app()
Expand Down
8 changes: 4 additions & 4 deletions napari/_qt/_qapp_model/qactions/_help.py
Expand Up @@ -8,10 +8,10 @@

from app_model.types import Action, KeyBindingRule, KeyCode, KeyMod

from ...._app_model.constants import CommandId, MenuId
from ....utils.translations import trans
from ...dialogs.qt_about import QtAbout
from ...qt_main_window import Window
from napari._app_model.constants import CommandId, MenuId
from napari._qt.dialogs.qt_about import QtAbout
from napari._qt.qt_main_window import Window
from napari.utils.translations import trans

try:
from napari_error_reporter import ask_opt_in
Expand Down
10 changes: 5 additions & 5 deletions napari/_qt/_qapp_model/qactions/_view.py
Expand Up @@ -15,11 +15,11 @@
ToggleRule,
)

from ...._app_model.constants import CommandId, MenuGroup, MenuId
from ....settings import get_settings
from ....utils.translations import trans
from ...qt_main_window import Window
from ...qt_viewer import QtViewer
from napari._app_model.constants import CommandId, MenuGroup, MenuId
from napari._qt.qt_main_window import Window
from napari._qt.qt_viewer import QtViewer
from napari.settings import get_settings
from napari.utils.translations import trans


def _toggle_activity_dock(window: Window):
Expand Down
14 changes: 7 additions & 7 deletions napari/_qt/containers/__init__.py
@@ -1,10 +1,10 @@
from ._factory import create_model, create_view
from .qt_layer_list import QtLayerList
from .qt_layer_model import QtLayerListModel
from .qt_list_model import QtListModel
from .qt_list_view import QtListView
from .qt_tree_model import QtNodeTreeModel
from .qt_tree_view import QtNodeTreeView
from napari._qt.containers._factory import create_model, create_view
from napari._qt.containers.qt_layer_list import QtLayerList
from napari._qt.containers.qt_layer_model import QtLayerListModel
from napari._qt.containers.qt_list_model import QtListModel
from napari._qt.containers.qt_list_view import QtListView
from napari._qt.containers.qt_tree_model import QtNodeTreeModel
from napari._qt.containers.qt_tree_view import QtNodeTreeView

__all__ = [
'create_model',
Expand Down
6 changes: 3 additions & 3 deletions napari/_qt/containers/_base_item_model.py
Expand Up @@ -5,9 +5,9 @@

from qtpy.QtCore import QAbstractItemModel, QModelIndex, Qt

from ...utils.events import disconnect_events
from ...utils.events.containers import SelectableEventedList
from ...utils.translations import trans
from napari.utils.events import disconnect_events
from napari.utils.events.containers import SelectableEventedList
from napari.utils.translations import trans

if TYPE_CHECKING:
from qtpy.QtWidgets import QWidget
Expand Down
10 changes: 5 additions & 5 deletions napari/_qt/containers/_base_item_view.py
Expand Up @@ -6,18 +6,18 @@
from qtpy.QtCore import QItemSelection, QModelIndex, Qt
from qtpy.QtWidgets import QAbstractItemView

from ._base_item_model import ItemRole
from ._factory import create_model
from napari._qt.containers._base_item_model import ItemRole
from napari._qt.containers._factory import create_model

ItemType = TypeVar("ItemType")

if TYPE_CHECKING:
from qtpy.QtCore import QAbstractItemModel
from qtpy.QtGui import QKeyEvent

from ...utils.events import Event
from ...utils.events.containers import SelectableEventedList
from ._base_item_model import _BaseEventedItemModel
from napari._qt.containers._base_item_model import _BaseEventedItemModel
from napari.utils.events import Event
from napari.utils.events.containers import SelectableEventedList


class _BaseEventedItemView(Generic[ItemType]):
Expand Down