diff --git a/.ruff.toml b/.ruff.toml index 96cebc8f..09d82022 100644 --- a/.ruff.toml +++ b/.ruff.toml @@ -13,8 +13,6 @@ select = [ [lint.per-file-ignores] "__init__.py" = [ - # unused-import - "F401", # import violations "E402" ] diff --git a/appium/options/android/__init__.py b/appium/options/android/__init__.py index 8926c5a8..e4ab2bd1 100644 --- a/appium/options/android/__init__.py +++ b/appium/options/android/__init__.py @@ -1,2 +1,4 @@ from .espresso.base import EspressoOptions from .uiautomator2.base import UiAutomator2Options + +__all__ = ['EspressoOptions', 'UiAutomator2Options'] diff --git a/appium/options/common/__init__.py b/appium/options/common/__init__.py index a7a37ea6..7545b479 100644 --- a/appium/options/common/__init__.py +++ b/appium/options/common/__init__.py @@ -1 +1,3 @@ from .base import AppiumOptions + +__all__ = ['AppiumOptions'] diff --git a/appium/options/flutter_integration/__init__.py b/appium/options/flutter_integration/__init__.py index ba044a8a..73167168 100644 --- a/appium/options/flutter_integration/__init__.py +++ b/appium/options/flutter_integration/__init__.py @@ -13,3 +13,5 @@ # limitations under the License. from .base import FlutterOptions + +__all__ = ['FlutterOptions'] diff --git a/appium/options/gecko/__init__.py b/appium/options/gecko/__init__.py index 1dfd3287..3ad9508a 100644 --- a/appium/options/gecko/__init__.py +++ b/appium/options/gecko/__init__.py @@ -1 +1,3 @@ from .base import GeckoOptions + +__all__ = ['GeckoOptions'] diff --git a/appium/options/ios/__init__.py b/appium/options/ios/__init__.py index 21e82f75..e38c958d 100644 --- a/appium/options/ios/__init__.py +++ b/appium/options/ios/__init__.py @@ -1,2 +1,4 @@ from .safari.base import SafariOptions from .xcuitest.base import XCUITestOptions + +__all__ = ['SafariOptions', 'XCUITestOptions'] diff --git a/appium/options/mac/__init__.py b/appium/options/mac/__init__.py index 41a091df..4c994535 100644 --- a/appium/options/mac/__init__.py +++ b/appium/options/mac/__init__.py @@ -1 +1,3 @@ from .mac2.base import Mac2Options + +__all__ = ['Mac2Options'] diff --git a/appium/options/windows/__init__.py b/appium/options/windows/__init__.py index 12d31fe3..2a4617c6 100644 --- a/appium/options/windows/__init__.py +++ b/appium/options/windows/__init__.py @@ -1 +1,3 @@ from .windows.base import WindowsOptions + +__all__ = ['WindowsOptions'] diff --git a/appium/webdriver/__init__.py b/appium/webdriver/__init__.py index 062d726b..6a0abb2c 100644 --- a/appium/webdriver/__init__.py +++ b/appium/webdriver/__init__.py @@ -18,3 +18,5 @@ from .webdriver import WebDriver as Remote from .webelement import WebElement + +__all__ = ['Remote', 'WebElement'] diff --git a/appium/webdriver/webdriver.py b/appium/webdriver/webdriver.py index 5cdd2321..06801313 100644 --- a/appium/webdriver/webdriver.py +++ b/appium/webdriver/webdriver.py @@ -14,7 +14,6 @@ from typing import TYPE_CHECKING, Any, Callable, Dict, List, Optional, Set, Tuple, Type, Union -from selenium import webdriver from selenium.common.exceptions import ( InvalidArgumentException, SessionNotCreatedException, @@ -23,6 +22,9 @@ ) from selenium.webdriver.remote.command import Command as RemoteCommand from selenium.webdriver.remote.remote_connection import RemoteConnection + +# `selenium.webdriver.Remote` could be used instead, but Pyright wouldn't locate the class properly. +from selenium.webdriver.remote.webdriver import WebDriver as Remote from typing_extensions import Self from appium.common.logger import logger @@ -208,7 +210,7 @@ def _get_remote_connection_and_client_config( class WebDriver( - webdriver.Remote, + Remote, ActionHelpers, Activities, Applications,