Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion sqlite_utils/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
NoTable,
quote_identifier,
)
from sqlite_utils.plugins import pm, get_plugins
from sqlite_utils.plugins import ensure_plugins_loaded, pm, get_plugins
from sqlite_utils.utils import maximize_csv_field_size_limit
from sqlite_utils import recipes
import textwrap
Expand Down Expand Up @@ -3264,6 +3264,7 @@ def plugins_list():
click.echo(json.dumps(get_plugins(), indent=2))


ensure_plugins_loaded()
pm.hook.register_commands(cli=cli)


Expand Down
3 changes: 2 additions & 1 deletion sqlite_utils/db.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
Tuple,
)
import uuid
from sqlite_utils.plugins import pm
from sqlite_utils.plugins import ensure_plugins_loaded, pm

try:
from sqlite_dump import iterdump # type: ignore[import-not-found]
Expand Down Expand Up @@ -382,6 +382,7 @@ def __init__(
self._registered_functions: set = set()
self.use_counts_table = use_counts_table
if execute_plugins:
ensure_plugins_loaded()
pm.hook.prepare_connection(conn=self.conn)
self.strict = strict

Expand Down
9 changes: 7 additions & 2 deletions sqlite_utils/plugins.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,15 @@

pm: pluggy.PluginManager = pluggy.PluginManager("sqlite_utils")
pm.add_hookspecs(hookspecs)
_plugins_loaded = False

if not getattr(sys, "_called_from_test", False):
# Only load plugins if not running tests

def ensure_plugins_loaded() -> None:
global _plugins_loaded
if _plugins_loaded or getattr(sys, "_called_from_test", False):
return
pm.load_setuptools_entrypoints("sqlite_utils")
_plugins_loaded = True


def get_plugins() -> List[Dict[str, Union[str, List[str]]]]:
Expand Down