winipedia-utils 0.1.10__tar.gz → 0.1.11__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/PKG-INFO +1 -1
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/pyproject.toml +1 -1
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/modules/function.py +17 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/oop/mixins/meta.py +3 -1
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/LICENSE +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/README.md +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/__init__.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/concurrent/__init__.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/concurrent/concurrent.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/concurrent/multiprocessing.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/concurrent/multithreading.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/consts.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/data/__init__.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/data/dataframe.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/django/__init__.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/django/bulk.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/django/command.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/django/database.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/git/__init__.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/git/gitignore/__init__.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/git/gitignore/gitignore.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/git/pre_commit/__init__.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/git/pre_commit/config.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/git/pre_commit/hooks.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/git/pre_commit/run_hooks.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/iterating/__init__.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/iterating/iterate.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/logging/__init__.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/logging/ansi.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/logging/config.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/logging/logger.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/modules/__init__.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/modules/class_.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/modules/module.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/modules/package.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/oop/__init__.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/oop/mixins/__init__.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/oop/mixins/mixin.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/os/__init__.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/os/os.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/projects/__init__.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/projects/poetry/__init__.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/projects/poetry/config.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/projects/poetry/poetry.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/projects/project.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/py.typed +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/setup.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/testing/__init__.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/testing/assertions.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/testing/convention.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/testing/create_tests.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/testing/fixtures.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/testing/tests/__init__.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/testing/tests/base/__init__.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/testing/tests/base/fixtures/__init__.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/testing/tests/base/fixtures/fixture.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/testing/tests/base/fixtures/scopes/__init__.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/testing/tests/base/fixtures/scopes/class_.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/testing/tests/base/fixtures/scopes/function.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/testing/tests/base/fixtures/scopes/module.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/testing/tests/base/fixtures/scopes/package.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/testing/tests/base/fixtures/scopes/session.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/testing/tests/base/utils/__init__.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/testing/tests/base/utils/utils.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/testing/tests/conftest.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/text/__init__.py +0 -0
- {winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/text/string.py +0 -0
@@ -84,3 +84,20 @@ def get_all_functions_from_module(module: ModuleType | str) -> list[Callable[...
|
|
84
84
|
]
|
85
85
|
# sort by definition order
|
86
86
|
return sorted(funcs, key=get_def_line)
|
87
|
+
|
88
|
+
|
89
|
+
def unwrap_method(method: Any) -> Callable[..., Any] | Any:
|
90
|
+
"""Unwrap a method to its underlying function.
|
91
|
+
|
92
|
+
Args:
|
93
|
+
method: The method to unwrap
|
94
|
+
|
95
|
+
Returns:
|
96
|
+
The underlying function of the method
|
97
|
+
|
98
|
+
"""
|
99
|
+
if isinstance(method, (staticmethod, classmethod)):
|
100
|
+
method = method.__func__
|
101
|
+
if isinstance(method, property):
|
102
|
+
method = method.fget
|
103
|
+
return inspect.unwrap(method)
|
@@ -15,7 +15,7 @@ from typing import Any, final
|
|
15
15
|
|
16
16
|
from winipedia_utils.logging.logger import get_logger
|
17
17
|
from winipedia_utils.modules.class_ import get_all_methods_from_cls
|
18
|
-
from winipedia_utils.modules.function import is_func
|
18
|
+
from winipedia_utils.modules.function import is_func, unwrap_method
|
19
19
|
from winipedia_utils.text.string import value_to_truncated_string
|
20
20
|
|
21
21
|
logger = get_logger(__name__)
|
@@ -249,6 +249,7 @@ class ImplementationMeta(type):
|
|
249
249
|
True if the method is marked with @final, False otherwise
|
250
250
|
|
251
251
|
"""
|
252
|
+
method = unwrap_method(method)
|
252
253
|
return getattr(method, "__final__", False)
|
253
254
|
|
254
255
|
@staticmethod
|
@@ -262,6 +263,7 @@ class ImplementationMeta(type):
|
|
262
263
|
True if the method is marked with @abstractmethod, False otherwise
|
263
264
|
|
264
265
|
"""
|
266
|
+
method = unwrap_method(method)
|
265
267
|
return getattr(method, "__isabstractmethod__", False)
|
266
268
|
|
267
269
|
def check_attrs_implemented(cls) -> None:
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/concurrent/multiprocessing.py
RENAMED
File without changes
|
{winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/concurrent/multithreading.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/git/gitignore/gitignore.py
RENAMED
File without changes
|
{winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/git/pre_commit/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/git/pre_commit/run_hooks.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/projects/poetry/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/testing/tests/base/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{winipedia_utils-0.1.10 → winipedia_utils-0.1.11}/winipedia_utils/testing/tests/base/utils/utils.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|