GeneralManager 0.17.0__py3-none-any.whl → 0.19.0__py3-none-any.whl

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.
Files changed (68) hide show
  1. general_manager/__init__.py +11 -1
  2. general_manager/_types/api.py +0 -1
  3. general_manager/_types/bucket.py +0 -1
  4. general_manager/_types/cache.py +0 -1
  5. general_manager/_types/factory.py +0 -1
  6. general_manager/_types/general_manager.py +0 -1
  7. general_manager/_types/interface.py +0 -1
  8. general_manager/_types/manager.py +0 -1
  9. general_manager/_types/measurement.py +0 -1
  10. general_manager/_types/permission.py +0 -1
  11. general_manager/_types/rule.py +0 -1
  12. general_manager/_types/utils.py +0 -1
  13. general_manager/api/__init__.py +13 -1
  14. general_manager/api/graphql.py +356 -221
  15. general_manager/api/graphql_subscription_consumer.py +81 -78
  16. general_manager/api/mutation.py +85 -23
  17. general_manager/api/property.py +39 -13
  18. general_manager/apps.py +188 -47
  19. general_manager/bucket/__init__.py +10 -1
  20. general_manager/bucket/calculationBucket.py +155 -53
  21. general_manager/bucket/databaseBucket.py +157 -45
  22. general_manager/bucket/groupBucket.py +133 -44
  23. general_manager/cache/__init__.py +10 -1
  24. general_manager/cache/cacheDecorator.py +3 -0
  25. general_manager/cache/dependencyIndex.py +143 -45
  26. general_manager/cache/signals.py +9 -2
  27. general_manager/factory/__init__.py +10 -1
  28. general_manager/factory/autoFactory.py +55 -13
  29. general_manager/factory/factories.py +110 -40
  30. general_manager/factory/factoryMethods.py +122 -34
  31. general_manager/interface/__init__.py +10 -1
  32. general_manager/interface/baseInterface.py +129 -36
  33. general_manager/interface/calculationInterface.py +35 -18
  34. general_manager/interface/databaseBasedInterface.py +71 -45
  35. general_manager/interface/databaseInterface.py +96 -38
  36. general_manager/interface/models.py +5 -5
  37. general_manager/interface/readOnlyInterface.py +94 -20
  38. general_manager/manager/__init__.py +10 -1
  39. general_manager/manager/generalManager.py +25 -16
  40. general_manager/manager/groupManager.py +20 -6
  41. general_manager/manager/meta.py +84 -16
  42. general_manager/measurement/__init__.py +10 -1
  43. general_manager/measurement/measurement.py +289 -95
  44. general_manager/measurement/measurementField.py +42 -31
  45. general_manager/permission/__init__.py +10 -1
  46. general_manager/permission/basePermission.py +120 -38
  47. general_manager/permission/managerBasedPermission.py +72 -21
  48. general_manager/permission/mutationPermission.py +14 -9
  49. general_manager/permission/permissionChecks.py +14 -12
  50. general_manager/permission/permissionDataManager.py +24 -11
  51. general_manager/permission/utils.py +34 -6
  52. general_manager/public_api_registry.py +36 -10
  53. general_manager/rule/__init__.py +10 -1
  54. general_manager/rule/handler.py +133 -44
  55. general_manager/rule/rule.py +178 -39
  56. general_manager/utils/__init__.py +10 -1
  57. general_manager/utils/argsToKwargs.py +34 -9
  58. general_manager/utils/filterParser.py +22 -7
  59. general_manager/utils/formatString.py +1 -0
  60. general_manager/utils/pathMapping.py +23 -15
  61. general_manager/utils/public_api.py +33 -2
  62. general_manager/utils/testing.py +31 -33
  63. {generalmanager-0.17.0.dist-info → generalmanager-0.19.0.dist-info}/METADATA +3 -1
  64. generalmanager-0.19.0.dist-info/RECORD +77 -0
  65. {generalmanager-0.17.0.dist-info → generalmanager-0.19.0.dist-info}/licenses/LICENSE +1 -1
  66. generalmanager-0.17.0.dist-info/RECORD +0 -77
  67. {generalmanager-0.17.0.dist-info → generalmanager-0.19.0.dist-info}/WHEEL +0 -0
  68. {generalmanager-0.17.0.dist-info → generalmanager-0.19.0.dist-info}/top_level.txt +0 -0
@@ -12,9 +12,19 @@ __all__ = list(GENERAL_MANAGER_EXPORTS)
12
12
  _MODULE_MAP = GENERAL_MANAGER_EXPORTS
13
13
 
14
14
  if TYPE_CHECKING:
15
- from general_manager._types.general_manager import * # noqa: F401,F403
15
+ from general_manager._types.general_manager import * # noqa: F403
16
+
16
17
 
17
18
  def __getattr__(name: str) -> Any:
19
+ """
20
+ Dynamically resolve and return a requested export when a module attribute is accessed but not defined.
21
+
22
+ Parameters:
23
+ name (str): The attribute name being accessed on the module.
24
+
25
+ Returns:
26
+ Any: The resolved export object or value corresponding to `name`.
27
+ """
18
28
  return resolve_export(
19
29
  name,
20
30
  module_all=__all__,
@@ -15,4 +15,3 @@ from general_manager.api.graphql import MeasurementScalar
15
15
  from general_manager.api.graphql import MeasurementType
16
16
  from general_manager.api.mutation import graphQlMutation
17
17
  from general_manager.api.property import graphQlProperty
18
-
@@ -13,4 +13,3 @@ from general_manager.bucket.baseBucket import Bucket
13
13
  from general_manager.bucket.calculationBucket import CalculationBucket
14
14
  from general_manager.bucket.databaseBucket import DatabaseBucket
15
15
  from general_manager.bucket.groupBucket import GroupBucket
16
-
@@ -17,4 +17,3 @@ from general_manager.cache.cacheDecorator import cached
17
17
  from general_manager.cache.dependencyIndex import invalidate_cache_key
18
18
  from general_manager.cache.dependencyIndex import record_dependencies
19
19
  from general_manager.cache.dependencyIndex import remove_cache_key_from_index
20
-
@@ -41,4 +41,3 @@ from general_manager.factory.factoryMethods import LazyMeasurement
41
41
  from general_manager.factory.factoryMethods import LazyProjectName
42
42
  from general_manager.factory.factoryMethods import LazySequence
43
43
  from general_manager.factory.factoryMethods import LazyUUID
44
-
@@ -25,4 +25,3 @@ from general_manager.interface.readOnlyInterface import ReadOnlyInterface
25
25
  from general_manager.rule.rule import Rule
26
26
  from general_manager.api.mutation import graphQlMutation
27
27
  from general_manager.api.property import graphQlProperty
28
-
@@ -15,4 +15,3 @@ from general_manager.interface.databaseBasedInterface import DBBasedInterface
15
15
  from general_manager.interface.databaseInterface import DatabaseInterface
16
16
  from general_manager.interface.baseInterface import InterfaceBase
17
17
  from general_manager.interface.readOnlyInterface import ReadOnlyInterface
18
-
@@ -15,4 +15,3 @@ from general_manager.manager.meta import GeneralManagerMeta
15
15
  from general_manager.manager.groupManager import GroupManager
16
16
  from general_manager.manager.input import Input
17
17
  from general_manager.api.property import graphQlProperty
18
-
@@ -13,4 +13,3 @@ from general_manager.measurement.measurement import Measurement
13
13
  from general_manager.measurement.measurementField import MeasurementField
14
14
  from general_manager.measurement.measurement import currency_units
15
15
  from general_manager.measurement.measurement import ureg
16
-
@@ -11,4 +11,3 @@ __all__ = [
11
11
  from general_manager.permission.basePermission import BasePermission
12
12
  from general_manager.permission.managerBasedPermission import ManagerBasedPermission
13
13
  from general_manager.permission.mutationPermission import MutationPermission
14
-
@@ -9,4 +9,3 @@ __all__ = [
9
9
 
10
10
  from general_manager.rule.handler import BaseRuleHandler
11
11
  from general_manager.rule.rule import Rule
12
-
@@ -27,4 +27,3 @@ from general_manager.utils.filterParser import parse_filters
27
27
  from general_manager.utils.formatString import pascal_to_snake
28
28
  from general_manager.utils.formatString import snake_to_camel
29
29
  from general_manager.utils.formatString import snake_to_pascal
30
-
@@ -12,10 +12,22 @@ __all__ = list(API_EXPORTS)
12
12
  _MODULE_MAP = API_EXPORTS
13
13
 
14
14
  if TYPE_CHECKING:
15
- from general_manager._types.api import * # noqa: F401,F403
15
+ from general_manager._types.api import * # noqa: F403
16
16
 
17
17
 
18
18
  def __getattr__(name: str) -> Any:
19
+ """
20
+ Dynamically resolve and return a named export from this module.
21
+
22
+ Parameters:
23
+ name (str): The attribute name to resolve from the module's public API.
24
+
25
+ Returns:
26
+ The resolved exported object corresponding to `name`.
27
+
28
+ Raises:
29
+ AttributeError: If `name` is not a registered export for this module.
30
+ """
19
31
  return resolve_export(
20
32
  name,
21
33
  module_all=__all__,