dependencies
ruff_sync.dependencies ¶
Utilities for handling optional dependencies and lazy loading.
DependencyError ¶
is_installed ¶
Check if a package is installed without importing it.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
package_name
|
str
|
The name of the package to check. |
required |
Returns:
| Type | Description |
|---|---|
bool
|
True if the package is available, False otherwise. |
Source code in src/ruff_sync/dependencies.py
require_dependency ¶
require_dependency(
package_name,
extra_name,
*,
_is_installed=is_installed,
_import_module=importlib.import_module,
)
Ensure a dependency is installed and importable, or raise DependencyError.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
package_name
|
str
|
The name of the required package. |
required |
extra_name
|
str
|
The name of the ruff-sync extra that provides this package. |
required |
_is_installed
|
Callable[[str], bool]
|
Internal use only for testing. Function to check if a package is installed. |
is_installed
|
_import_module
|
Callable[[str], Any]
|
Internal use only for testing. Function to import a module. |
import_module
|
Raises:
| Type | Description |
|---|---|
DependencyError
|
If the package is not installed or raises an error during import. |