diff --git a/my/core/cachew.py b/my/core/cachew.py index cc5a95b..bcd838d 100644 --- a/my/core/cachew.py +++ b/my/core/cachew.py @@ -1,4 +1,4 @@ -from .common import assert_subpackage; assert_subpackage(__name__) +from .internal import assert_subpackage; assert_subpackage(__name__) from contextlib import contextmanager import logging diff --git a/my/core/common.py b/my/core/common.py index 32e277b..f23ffbf 100644 --- a/my/core/common.py +++ b/my/core/common.py @@ -173,12 +173,6 @@ def asdict(thing: Any) -> Json: raise TypeError(f'Could not convert object {thing} to dict') -def assert_subpackage(name: str) -> None: - # can lead to some unexpected issues if you 'import cachew' which being in my/core directory.. so let's protect against it - # NOTE: if we use overlay, name can be smth like my.origg.my.core.cachew ... - assert name == '__main__' or 'my.core' in name, f'Expected module __name__ ({name}) to be __main__ or start with my.core' - - # TODO deprecate and suggest to use one from my.core directly? not sure from .utils.itertools import unique_everseen diff --git a/my/core/freezer.py b/my/core/freezer.py index 649a2b7..09ba032 100644 --- a/my/core/freezer.py +++ b/my/core/freezer.py @@ -1,4 +1,4 @@ -from .common import assert_subpackage; assert_subpackage(__name__) +from .internal import assert_subpackage; assert_subpackage(__name__) import dataclasses as dcl import inspect diff --git a/my/core/influxdb.py b/my/core/influxdb.py index 8407264..4f0e4c4 100644 --- a/my/core/influxdb.py +++ b/my/core/influxdb.py @@ -1,7 +1,8 @@ ''' TODO doesn't really belong to 'core' morally, but can think of moving out later ''' -from .common import assert_subpackage; assert_subpackage(__name__) + +from .internal import assert_subpackage; assert_subpackage(__name__) from typing import Iterable, Any, Optional, Dict diff --git a/my/core/internal.py b/my/core/internal.py new file mode 100644 index 0000000..8b9882b --- /dev/null +++ b/my/core/internal.py @@ -0,0 +1,9 @@ +""" +Utils specific to hpi core, shouldn't really be used by HPI modules +""" + + +def assert_subpackage(name: str) -> None: + # can lead to some unexpected issues if you 'import cachew' which being in my/core directory.. so let's protect against it + # NOTE: if we use overlay, name can be smth like my.origg.my.core.cachew ... + assert name == '__main__' or 'my.core' in name, f'Expected module __name__ ({name}) to be __main__ or start with my.core' diff --git a/my/core/kompress.py b/my/core/kompress.py index 25dba8c..6ab3228 100644 --- a/my/core/kompress.py +++ b/my/core/kompress.py @@ -1,4 +1,4 @@ -from .common import assert_subpackage; assert_subpackage(__name__) +from .internal import assert_subpackage; assert_subpackage(__name__) from . import warnings # do this later -- for now need to transition modules to avoid using kompress directly (e.g. ZipPath) diff --git a/my/core/mime.py b/my/core/mime.py index c8abc7e..cf5bdf5 100644 --- a/my/core/mime.py +++ b/my/core/mime.py @@ -2,7 +2,7 @@ Utils for mime/filetype handling """ -from .common import assert_subpackage; assert_subpackage(__name__) +from .internal import assert_subpackage; assert_subpackage(__name__) import functools diff --git a/my/core/pytest.py b/my/core/pytest.py index a2596fb..c73c71a 100644 --- a/my/core/pytest.py +++ b/my/core/pytest.py @@ -2,7 +2,7 @@ Helpers to prevent depending on pytest in runtime """ -from .common import assert_subpackage; assert_subpackage(__name__) +from .internal import assert_subpackage; assert_subpackage(__name__) import sys import typing diff --git a/my/core/sqlite.py b/my/core/sqlite.py index 2580e15..4a471a9 100644 --- a/my/core/sqlite.py +++ b/my/core/sqlite.py @@ -1,4 +1,4 @@ -from .common import assert_subpackage; assert_subpackage(__name__) +from .internal import assert_subpackage; assert_subpackage(__name__) from contextlib import contextmanager