mloda 0.3.3__py3-none-any.whl → 0.4.1__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 (201) hide show
  1. mloda/__init__.py +17 -0
  2. {mloda_core → mloda/core}/abstract_plugins/components/base_artifact.py +2 -2
  3. {mloda_core → mloda/core}/abstract_plugins/components/base_validator.py +13 -0
  4. {mloda_core → mloda/core}/abstract_plugins/components/data_access_collection.py +1 -1
  5. {mloda_core → mloda/core}/abstract_plugins/components/data_types.py +39 -0
  6. {mloda_core → mloda/core}/abstract_plugins/components/feature.py +39 -33
  7. {mloda_core → mloda/core}/abstract_plugins/components/feature_chainer/feature_chain_parser.py +19 -19
  8. mloda/core/abstract_plugins/components/feature_chainer/feature_chain_parser_mixin.py +197 -0
  9. {mloda_core → mloda/core}/abstract_plugins/components/feature_collection.py +6 -6
  10. {mloda_core → mloda/core}/abstract_plugins/components/feature_group_version.py +8 -8
  11. {mloda_core → mloda/core}/abstract_plugins/components/feature_set.py +18 -24
  12. {mloda_core → mloda/core}/abstract_plugins/components/framework_transformer/cfw_transformer.py +2 -2
  13. {mloda_core → mloda/core}/abstract_plugins/components/index/add_index_feature.py +4 -4
  14. {mloda_core → mloda/core}/abstract_plugins/components/input_data/api/api_input_data.py +3 -3
  15. {mloda_core → mloda/core}/abstract_plugins/components/input_data/api/api_input_data_collection.py +2 -2
  16. {mloda_core → mloda/core}/abstract_plugins/components/input_data/api/base_api_data.py +1 -1
  17. {mloda_core → mloda/core}/abstract_plugins/components/input_data/base_input_data.py +6 -6
  18. {mloda_core → mloda/core}/abstract_plugins/components/input_data/creator/data_creator.py +3 -3
  19. mloda/core/abstract_plugins/components/link.py +437 -0
  20. {mloda_core → mloda/core}/abstract_plugins/components/match_data/match_data.py +3 -3
  21. {mloda_core → mloda/core}/abstract_plugins/components/merge/base_merge_engine.py +2 -2
  22. {mloda_core → mloda/core}/abstract_plugins/components/options.py +12 -36
  23. {mloda_core → mloda/core}/abstract_plugins/components/parallelization_modes.py +1 -1
  24. {mloda_core → mloda/core}/abstract_plugins/components/plugin_option/plugin_collector.py +14 -14
  25. mloda/core/abstract_plugins/components/validators/datatype_validator.py +96 -0
  26. mloda/core/abstract_plugins/components/validators/feature_set_validator.py +38 -0
  27. mloda/core/abstract_plugins/components/validators/feature_validator.py +23 -0
  28. mloda/core/abstract_plugins/components/validators/link_validator.py +79 -0
  29. mloda/core/abstract_plugins/components/validators/options_validator.py +57 -0
  30. mloda_core/abstract_plugins/compute_frame_work.py → mloda/core/abstract_plugins/compute_framework.py +45 -37
  31. mloda_core/abstract_plugins/abstract_feature_group.py → mloda/core/abstract_plugins/feature_group.py +56 -33
  32. mloda/core/abstract_plugins/function_extender.py +78 -0
  33. mloda/core/api/plugin_docs.py +220 -0
  34. mloda/core/api/plugin_info.py +32 -0
  35. {mloda_core → mloda/core}/api/prepare/setup_compute_framework.py +11 -11
  36. {mloda_core → mloda/core}/api/request.py +42 -33
  37. {mloda_core → mloda/core}/core/cfw_manager.py +8 -8
  38. {mloda_core → mloda/core}/core/engine.py +47 -47
  39. {mloda_core → mloda/core}/core/step/abstract_step.py +7 -7
  40. {mloda_core → mloda/core}/core/step/feature_group_step.py +12 -12
  41. {mloda_core → mloda/core}/core/step/join_step.py +14 -14
  42. {mloda_core → mloda/core}/core/step/transform_frame_work_step.py +16 -16
  43. {mloda_core → mloda/core}/filter/filter_engine.py +1 -1
  44. {mloda_core → mloda/core}/filter/filter_type_enum.py +1 -1
  45. {mloda_core → mloda/core}/filter/global_filter.py +23 -23
  46. {mloda_core → mloda/core}/filter/single_filter.py +6 -6
  47. {mloda_core → mloda/core}/prepare/accessible_plugins.py +15 -18
  48. {mloda_core → mloda/core}/prepare/execution_plan.py +65 -39
  49. {mloda_core → mloda/core}/prepare/graph/build_graph.py +6 -6
  50. {mloda_core → mloda/core}/prepare/graph/graph.py +1 -1
  51. {mloda_core → mloda/core}/prepare/graph/properties.py +5 -5
  52. {mloda_core → mloda/core}/prepare/identify_feature_group.py +12 -14
  53. {mloda_core → mloda/core}/prepare/joinstep_collection.py +3 -3
  54. {mloda_core → mloda/core}/prepare/resolve_compute_frameworks.py +6 -6
  55. {mloda_core → mloda/core}/prepare/resolve_graph.py +11 -11
  56. {mloda_core → mloda/core}/prepare/resolve_links.py +11 -31
  57. mloda/core/prepare/validators/resolve_link_validator.py +32 -0
  58. mloda/core/runtime/compute_framework_executor.py +271 -0
  59. mloda/core/runtime/data_lifecycle_manager.py +160 -0
  60. mloda/core/runtime/flight/__init__.py +0 -0
  61. {mloda_core → mloda/core}/runtime/flight/runner_flight_server.py +1 -1
  62. mloda/core/runtime/run.py +317 -0
  63. mloda/core/runtime/worker/__init__.py +0 -0
  64. {mloda_core → mloda/core}/runtime/worker/multiprocessing_worker.py +15 -10
  65. {mloda_core → mloda/core}/runtime/worker/thread_worker.py +2 -2
  66. mloda/core/runtime/worker_manager.py +96 -0
  67. mloda/provider/__init__.py +101 -0
  68. mloda/steward/__init__.py +25 -0
  69. mloda/user/__init__.py +57 -0
  70. {mloda-0.3.3.dist-info → mloda-0.4.1.dist-info}/METADATA +24 -31
  71. mloda-0.4.1.dist-info/RECORD +248 -0
  72. {mloda-0.3.3.dist-info → mloda-0.4.1.dist-info}/top_level.txt +1 -1
  73. mloda_plugins/compute_framework/base_implementations/duckdb/duckdb_filter_engine.py +2 -2
  74. mloda_plugins/compute_framework/base_implementations/duckdb/duckdb_framework.py +15 -13
  75. mloda_plugins/compute_framework/base_implementations/duckdb/duckdb_merge_engine.py +3 -3
  76. mloda_plugins/compute_framework/base_implementations/duckdb/duckdb_pyarrow_transformer.py +1 -1
  77. mloda_plugins/compute_framework/base_implementations/iceberg/iceberg_filter_engine.py +2 -2
  78. mloda_plugins/compute_framework/base_implementations/iceberg/iceberg_framework.py +12 -10
  79. mloda_plugins/compute_framework/base_implementations/iceberg/iceberg_pyarrow_transformer.py +1 -1
  80. mloda_plugins/compute_framework/base_implementations/pandas/dataframe.py +18 -16
  81. mloda_plugins/compute_framework/base_implementations/pandas/pandas_filter_engine.py +36 -13
  82. mloda_plugins/compute_framework/base_implementations/pandas/pandas_merge_engine.py +7 -7
  83. mloda_plugins/compute_framework/base_implementations/pandas/pandaspyarrowtransformer.py +1 -1
  84. mloda_plugins/compute_framework/base_implementations/polars/dataframe.py +16 -14
  85. mloda_plugins/compute_framework/base_implementations/polars/lazy_dataframe.py +13 -12
  86. mloda_plugins/compute_framework/base_implementations/polars/polars_filter_engine.py +2 -2
  87. mloda_plugins/compute_framework/base_implementations/polars/polars_lazy_pyarrow_transformer.py +1 -1
  88. mloda_plugins/compute_framework/base_implementations/polars/polars_merge_engine.py +3 -3
  89. mloda_plugins/compute_framework/base_implementations/polars/polars_pyarrow_transformer.py +1 -1
  90. mloda_plugins/compute_framework/base_implementations/pyarrow/pyarrow_filter_engine.py +2 -2
  91. mloda_plugins/compute_framework/base_implementations/pyarrow/pyarrow_merge_engine.py +3 -3
  92. mloda_plugins/compute_framework/base_implementations/pyarrow/table.py +12 -11
  93. mloda_plugins/compute_framework/base_implementations/python_dict/python_dict_filter_engine.py +2 -2
  94. mloda_plugins/compute_framework/base_implementations/python_dict/python_dict_framework.py +11 -9
  95. mloda_plugins/compute_framework/base_implementations/python_dict/python_dict_merge_engine.py +3 -3
  96. mloda_plugins/compute_framework/base_implementations/python_dict/python_dict_pyarrow_transformer.py +1 -1
  97. mloda_plugins/compute_framework/base_implementations/spark/spark_filter_engine.py +2 -2
  98. mloda_plugins/compute_framework/base_implementations/spark/spark_framework.py +17 -15
  99. mloda_plugins/compute_framework/base_implementations/spark/spark_merge_engine.py +2 -3
  100. mloda_plugins/compute_framework/base_implementations/spark/spark_pyarrow_transformer.py +1 -1
  101. mloda_plugins/config/feature/loader.py +2 -2
  102. mloda_plugins/feature_group/experimental/aggregated_feature_group/base.py +45 -64
  103. mloda_plugins/feature_group/experimental/aggregated_feature_group/pandas.py +2 -2
  104. mloda_plugins/feature_group/experimental/aggregated_feature_group/polars_lazy.py +2 -2
  105. mloda_plugins/feature_group/experimental/aggregated_feature_group/pyarrow.py +2 -2
  106. mloda_plugins/feature_group/experimental/clustering/base.py +67 -97
  107. mloda_plugins/feature_group/experimental/clustering/pandas.py +2 -2
  108. mloda_plugins/feature_group/experimental/data_quality/missing_value/base.py +58 -82
  109. mloda_plugins/feature_group/experimental/data_quality/missing_value/pandas.py +2 -2
  110. mloda_plugins/feature_group/experimental/data_quality/missing_value/pyarrow.py +2 -2
  111. mloda_plugins/feature_group/experimental/data_quality/missing_value/python_dict.py +2 -2
  112. mloda_plugins/feature_group/experimental/default_options_key.py +16 -19
  113. mloda_plugins/feature_group/experimental/dimensionality_reduction/base.py +81 -96
  114. mloda_plugins/feature_group/experimental/dimensionality_reduction/pandas.py +2 -2
  115. mloda_plugins/feature_group/experimental/dynamic_feature_group_factory/dynamic_feature_group_factory.py +24 -24
  116. mloda_plugins/feature_group/experimental/forecasting/base.py +108 -106
  117. mloda_plugins/feature_group/experimental/forecasting/forecasting_artifact.py +2 -2
  118. mloda_plugins/feature_group/experimental/forecasting/pandas.py +15 -15
  119. mloda_plugins/feature_group/experimental/geo_distance/base.py +52 -44
  120. mloda_plugins/feature_group/experimental/geo_distance/pandas.py +2 -3
  121. mloda_plugins/feature_group/experimental/llm/cli.py +4 -4
  122. mloda_plugins/feature_group/experimental/llm/cli_features/refactor_git_cached.py +19 -19
  123. mloda_plugins/feature_group/experimental/llm/installed_packages_feature_group.py +8 -8
  124. mloda_plugins/feature_group/experimental/llm/list_directory_feature_group.py +5 -5
  125. mloda_plugins/feature_group/experimental/llm/llm_api/claude.py +3 -3
  126. mloda_plugins/feature_group/experimental/llm/llm_api/gemini.py +3 -3
  127. mloda_plugins/feature_group/experimental/llm/llm_api/llm_base_request.py +5 -5
  128. mloda_plugins/feature_group/experimental/llm/llm_api/openai.py +3 -3
  129. mloda_plugins/feature_group/experimental/llm/llm_api/request_loop.py +6 -6
  130. mloda_plugins/feature_group/experimental/llm/llm_file_selector.py +10 -10
  131. mloda_plugins/feature_group/experimental/llm/tools/tool_collection.py +1 -1
  132. mloda_plugins/feature_group/experimental/node_centrality/base.py +46 -74
  133. mloda_plugins/feature_group/experimental/node_centrality/pandas.py +2 -2
  134. mloda_plugins/feature_group/experimental/sklearn/encoding/base.py +53 -53
  135. mloda_plugins/feature_group/experimental/sklearn/encoding/pandas.py +2 -2
  136. mloda_plugins/feature_group/experimental/sklearn/pipeline/base.py +52 -39
  137. mloda_plugins/feature_group/experimental/sklearn/pipeline/pandas.py +3 -4
  138. mloda_plugins/feature_group/experimental/sklearn/scaling/base.py +44 -60
  139. mloda_plugins/feature_group/experimental/sklearn/scaling/pandas.py +2 -2
  140. mloda_plugins/feature_group/experimental/sklearn/sklearn_artifact.py +2 -3
  141. mloda_plugins/feature_group/experimental/source_input_feature.py +15 -15
  142. mloda_plugins/feature_group/experimental/text_cleaning/base.py +38 -63
  143. mloda_plugins/feature_group/experimental/text_cleaning/pandas.py +2 -2
  144. mloda_plugins/feature_group/experimental/text_cleaning/python_dict.py +2 -2
  145. mloda_plugins/feature_group/experimental/time_window/base.py +108 -95
  146. mloda_plugins/feature_group/experimental/time_window/pandas.py +13 -13
  147. mloda_plugins/feature_group/experimental/time_window/pyarrow.py +12 -12
  148. mloda_plugins/feature_group/input_data/api_data/api_data.py +9 -11
  149. mloda_plugins/feature_group/input_data/read_context_files.py +7 -7
  150. mloda_plugins/feature_group/input_data/read_db.py +7 -9
  151. mloda_plugins/feature_group/input_data/read_db_feature.py +4 -4
  152. mloda_plugins/feature_group/input_data/read_dbs/sqlite.py +23 -13
  153. mloda_plugins/feature_group/input_data/read_file.py +8 -8
  154. mloda_plugins/feature_group/input_data/read_file_feature.py +4 -4
  155. mloda_plugins/feature_group/input_data/read_files/csv.py +6 -6
  156. mloda_plugins/feature_group/input_data/read_files/feather.py +5 -5
  157. mloda_plugins/feature_group/input_data/read_files/json.py +5 -5
  158. mloda_plugins/feature_group/input_data/read_files/orc.py +5 -5
  159. mloda_plugins/feature_group/input_data/read_files/parquet.py +5 -5
  160. mloda_plugins/feature_group/input_data/read_files/text_file_reader.py +5 -5
  161. mloda_plugins/function_extender/base_implementations/otel/otel_extender.py +4 -4
  162. mloda-0.3.3.dist-info/RECORD +0 -230
  163. mloda_core/abstract_plugins/components/link.py +0 -286
  164. mloda_core/abstract_plugins/function_extender.py +0 -34
  165. mloda_core/runtime/run.py +0 -617
  166. {mloda_core → mloda/core}/__init__.py +0 -0
  167. {mloda_core → mloda/core}/abstract_plugins/__init__.py +0 -0
  168. {mloda_core → mloda/core}/abstract_plugins/components/__init__.py +0 -0
  169. {mloda_core → mloda/core}/abstract_plugins/components/domain.py +0 -0
  170. {mloda_core → mloda/core}/abstract_plugins/components/feature_chainer/__init__.py +0 -0
  171. {mloda_core → mloda/core}/abstract_plugins/components/feature_name.py +0 -0
  172. {mloda_core → mloda/core}/abstract_plugins/components/framework_transformer/__init__.py +0 -0
  173. {mloda_core → mloda/core}/abstract_plugins/components/framework_transformer/base_transformer.py +0 -0
  174. {mloda_core → mloda/core}/abstract_plugins/components/hashable_dict.py +0 -0
  175. {mloda_core → mloda/core}/abstract_plugins/components/index/__init__.py +0 -0
  176. {mloda_core → mloda/core}/abstract_plugins/components/index/index.py +0 -0
  177. {mloda_core → mloda/core}/abstract_plugins/components/input_data/__init__.py +0 -0
  178. {mloda_core → mloda/core}/abstract_plugins/components/input_data/api/__init__.py +0 -0
  179. {mloda_core → mloda/core}/abstract_plugins/components/input_data/creator/__init__.py +0 -0
  180. {mloda_core → mloda/core}/abstract_plugins/components/match_data/__init__.py +0 -0
  181. {mloda_core → mloda/core}/abstract_plugins/components/merge/__init__.py +0 -0
  182. {mloda_core → mloda/core}/abstract_plugins/components/plugin_option/__init__.py +0 -0
  183. {mloda_core → mloda/core}/abstract_plugins/components/utils.py +0 -0
  184. {mloda_core/abstract_plugins/plugin_loader → mloda/core/abstract_plugins/components/validators}/__init__.py +0 -0
  185. {mloda_core/api → mloda/core/abstract_plugins/plugin_loader}/__init__.py +0 -0
  186. {mloda_core → mloda/core}/abstract_plugins/plugin_loader/plugin_loader.py +0 -0
  187. {mloda_core/api/prepare → mloda/core/api}/__init__.py +0 -0
  188. {mloda_core/core → mloda/core/api/prepare}/__init__.py +0 -0
  189. {mloda_core/core/step → mloda/core/core}/__init__.py +0 -0
  190. {mloda_core/filter → mloda/core/core/step}/__init__.py +0 -0
  191. {mloda_core/prepare → mloda/core/filter}/__init__.py +0 -0
  192. {mloda_core → mloda/core}/filter/filter_parameter.py +0 -0
  193. {mloda_core/prepare/graph → mloda/core/prepare}/__init__.py +0 -0
  194. {mloda_core/runtime → mloda/core/prepare/graph}/__init__.py +0 -0
  195. {mloda_core/runtime/flight → mloda/core/prepare/validators}/__init__.py +0 -0
  196. {mloda_core/runtime/worker → mloda/core/runtime}/__init__.py +0 -0
  197. {mloda_core → mloda/core}/runtime/flight/flight_server.py +0 -0
  198. {mloda-0.3.3.dist-info → mloda-0.4.1.dist-info}/WHEEL +0 -0
  199. {mloda-0.3.3.dist-info → mloda-0.4.1.dist-info}/entry_points.txt +0 -0
  200. {mloda-0.3.3.dist-info → mloda-0.4.1.dist-info}/licenses/LICENSE.TXT +0 -0
  201. {mloda-0.3.3.dist-info → mloda-0.4.1.dist-info}/licenses/NOTICE.md +0 -0
@@ -0,0 +1,101 @@
1
+ # Data Provider: Base classes for building features
2
+ from mloda.core.abstract_plugins.feature_group import FeatureGroup as FeatureGroup
3
+
4
+ # Versioning
5
+ from mloda.core.abstract_plugins.components.feature_group_version import FeatureGroupVersion
6
+ from mloda.core.abstract_plugins.compute_framework import ComputeFramework as ComputeFramework
7
+
8
+ # Utilities
9
+ from mloda.core.abstract_plugins.components.hashable_dict import HashableDict
10
+ from mloda.core.abstract_plugins.components.utils import get_all_subclasses
11
+
12
+ # Feature set (internal computation container)
13
+ from mloda.core.abstract_plugins.components.feature_set import FeatureSet
14
+
15
+ # Input data classes
16
+ from mloda.core.abstract_plugins.components.input_data.base_input_data import BaseInputData
17
+ from mloda.core.abstract_plugins.components.input_data.api.api_input_data import ApiInputData as ApiData
18
+ from mloda_plugins.feature_group.input_data.api_data.api_data import ApiInputDataFeature as ApiDataFeatureGroup
19
+ from mloda.core.abstract_plugins.components.input_data.api.base_api_data import BaseApiData as BaseApiDataSchema
20
+ from mloda.core.abstract_plugins.components.input_data.api.api_input_data_collection import (
21
+ ApiInputDataCollection as ApiDataCollection,
22
+ )
23
+ from mloda.core.abstract_plugins.components.input_data.creator.data_creator import DataCreator
24
+
25
+ # Match data
26
+ from mloda.core.abstract_plugins.components.match_data.match_data import MatchData as ConnectionMatcherMixin
27
+
28
+ # Artifact
29
+ from mloda.core.abstract_plugins.components.base_artifact import BaseArtifact
30
+
31
+ # Validators
32
+ from mloda.core.abstract_plugins.components.base_validator import BaseValidator
33
+ from mloda.core.abstract_plugins.components.validators.feature_validator import FeatureValidator
34
+ from mloda.core.abstract_plugins.components.validators.feature_set_validator import FeatureSetValidator
35
+ from mloda.core.abstract_plugins.components.validators.options_validator import OptionsValidator
36
+ from mloda.core.abstract_plugins.components.validators.link_validator import LinkValidator
37
+ from mloda.core.abstract_plugins.components.validators.datatype_validator import (
38
+ DataTypeValidator,
39
+ DataTypeMismatchError,
40
+ )
41
+
42
+ # Feature chaining
43
+ from mloda.core.abstract_plugins.components.feature_chainer.feature_chain_parser import FeatureChainParser
44
+ from mloda.core.abstract_plugins.components.feature_chainer.feature_chain_parser import (
45
+ CHAIN_SEPARATOR,
46
+ COLUMN_SEPARATOR,
47
+ INPUT_SEPARATOR,
48
+ )
49
+ from mloda.core.abstract_plugins.components.feature_chainer.feature_chain_parser_mixin import FeatureChainParserMixin
50
+
51
+ # Transformers
52
+ from mloda.core.abstract_plugins.components.framework_transformer.base_transformer import BaseTransformer
53
+ from mloda.core.abstract_plugins.components.framework_transformer.cfw_transformer import ComputeFrameworkTransformer
54
+
55
+ # Engines
56
+ from mloda.core.filter.filter_engine import BaseFilterEngine
57
+ from mloda.core.abstract_plugins.components.merge.base_merge_engine import BaseMergeEngine
58
+
59
+ __all__ = [
60
+ # Base classes
61
+ "FeatureGroup",
62
+ # Versioning
63
+ "FeatureGroupVersion",
64
+ "ComputeFramework",
65
+ # Utilities
66
+ "HashableDict",
67
+ "get_all_subclasses",
68
+ # Feature set
69
+ "FeatureSet",
70
+ # Input data
71
+ "BaseInputData",
72
+ "ApiData",
73
+ "ApiDataFeatureGroup",
74
+ "BaseApiDataSchema",
75
+ "ApiDataCollection",
76
+ "DataCreator",
77
+ # Match data
78
+ "ConnectionMatcherMixin",
79
+ # Artifact
80
+ "BaseArtifact",
81
+ # Validators
82
+ "BaseValidator",
83
+ "FeatureValidator",
84
+ "FeatureSetValidator",
85
+ "OptionsValidator",
86
+ "LinkValidator",
87
+ "DataTypeValidator",
88
+ "DataTypeMismatchError",
89
+ # Feature chaining
90
+ "FeatureChainParser",
91
+ "CHAIN_SEPARATOR",
92
+ "COLUMN_SEPARATOR",
93
+ "INPUT_SEPARATOR",
94
+ "FeatureChainParserMixin",
95
+ # Transformers
96
+ "BaseTransformer",
97
+ "ComputeFrameworkTransformer",
98
+ # Engines
99
+ "BaseFilterEngine",
100
+ "BaseMergeEngine",
101
+ ]
@@ -0,0 +1,25 @@
1
+ # Plugin inspection/metadata
2
+ from mloda.core.api.plugin_info import FeatureGroupInfo, ComputeFrameworkInfo, ExtenderInfo
3
+
4
+ # Documentation/discovery
5
+ from mloda.core.api.plugin_docs import get_feature_group_docs, get_compute_framework_docs, get_extender_docs
6
+
7
+ # Function extenders (audit trails, monitoring, observability)
8
+ from mloda.core.abstract_plugins.function_extender import (
9
+ Extender,
10
+ ExtenderHook,
11
+ )
12
+
13
+ __all__ = [
14
+ # Plugin inspection
15
+ "FeatureGroupInfo",
16
+ "ComputeFrameworkInfo",
17
+ "ExtenderInfo",
18
+ # Documentation
19
+ "get_feature_group_docs",
20
+ "get_compute_framework_docs",
21
+ "get_extender_docs",
22
+ # Function extenders
23
+ "Extender",
24
+ "ExtenderHook",
25
+ ]
mloda/user/__init__.py ADDED
@@ -0,0 +1,57 @@
1
+ # API
2
+ from mloda.core.api.request import mlodaAPI as API
3
+
4
+ # Features
5
+ from mloda.core.abstract_plugins.components.feature import Feature
6
+ from mloda.core.abstract_plugins.components.feature_collection import Features
7
+ from mloda.core.abstract_plugins.components.feature_name import FeatureName
8
+ from mloda.core.abstract_plugins.components.options import Options
9
+ from mloda.core.abstract_plugins.components.domain import Domain
10
+
11
+ # Link & Index
12
+ from mloda.core.abstract_plugins.components.link import Link, JoinType, JoinSpec
13
+ from mloda.core.abstract_plugins.components.index.index import Index
14
+
15
+ # Filtering
16
+ from mloda.core.filter.global_filter import GlobalFilter
17
+ from mloda.core.filter.single_filter import SingleFilter
18
+ from mloda.core.filter.filter_type_enum import FilterType
19
+
20
+ # Data access
21
+ from mloda.core.abstract_plugins.components.data_access_collection import DataAccessCollection
22
+
23
+ # Types
24
+ from mloda.core.abstract_plugins.components.data_types import DataType
25
+ from mloda.core.abstract_plugins.components.parallelization_modes import ParallelizationMode
26
+
27
+ # Plugin discovery
28
+ from mloda.core.abstract_plugins.plugin_loader.plugin_loader import PluginLoader
29
+ from mloda.core.abstract_plugins.components.plugin_option.plugin_collector import PluginCollector
30
+
31
+ __all__ = [
32
+ # API
33
+ "API",
34
+ # Features
35
+ "Feature",
36
+ "Features",
37
+ "FeatureName",
38
+ "Options",
39
+ "Domain",
40
+ # Link & Index
41
+ "Link",
42
+ "JoinType",
43
+ "JoinSpec",
44
+ "Index",
45
+ # Filtering
46
+ "GlobalFilter",
47
+ "SingleFilter",
48
+ "FilterType",
49
+ # Data access
50
+ "DataAccessCollection",
51
+ # Types
52
+ "DataType",
53
+ "ParallelizationMode",
54
+ # Plugin discovery
55
+ "PluginLoader",
56
+ "PluginCollector",
57
+ ]
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mloda
3
- Version: 0.3.3
4
- Summary: Rethinking Data and Feature Engineering
3
+ Version: 0.4.1
4
+ Summary: Make data, feature and context engineering shareable
5
5
  Author-email: Tom Kaltofen <info@mloda.ai>
6
6
  License: Apache-2.0
7
7
  Project-URL: Bug Tracker, https://github.com/mloda-ai/mloda/issues
@@ -56,14 +56,11 @@ pip install mloda
56
56
 
57
57
  ```python
58
58
  # Step 1: Create a sample data source using DataCreator
59
- from mloda_core.abstract_plugins.abstract_feature_group import AbstractFeatureGroup
60
- from mloda_core.abstract_plugins.components.input_data.creator.data_creator import DataCreator
61
- from mloda_core.abstract_plugins.components.feature_set import FeatureSet
59
+ from mloda.provider import FeatureGroup, DataCreator, FeatureSet, BaseInputData
62
60
  from typing import Any, Optional
63
- from mloda_core.abstract_plugins.components.input_data.base_input_data import BaseInputData
64
61
  import pandas as pd
65
62
 
66
- class SampleData(AbstractFeatureGroup):
63
+ class SampleData(FeatureGroup):
67
64
  @classmethod
68
65
  def input_data(cls) -> Optional[BaseInputData]:
69
66
  return DataCreator({"customer_id", "age", "income"})
@@ -77,19 +74,18 @@ class SampleData(AbstractFeatureGroup):
77
74
  })
78
75
 
79
76
  # Step 2: Load mloda plugins and run pipeline
80
- from mloda_core.api.request import mlodaAPI
81
- from mloda_core.abstract_plugins.plugin_loader.plugin_loader import PluginLoader
82
- from mloda_plugins.compute_framework.base_implementations.pandas.dataframe import PandasDataFrame
77
+ from mloda.user import PluginLoader
78
+ import mloda
83
79
 
84
80
  PluginLoader.all()
85
81
 
86
- result = mlodaAPI.run_all(
82
+ result = mloda.run_all(
87
83
  features=[
88
84
  "customer_id", # Original column
89
85
  "age", # Original column
90
86
  "income__standard_scaled" # Transform: scale income to mean=0, std=1
91
87
  ],
92
- compute_frameworks={PandasDataFrame}
88
+ compute_frameworks=["PandasDataFrame"]
93
89
  )
94
90
 
95
91
  # Step 3: Get your processed data
@@ -101,7 +97,7 @@ print(data.head())
101
97
  **What just happened?**
102
98
  1. **SampleData class** - Created a data source using DataCreator (generates data in-memory)
103
99
  2. **PluginLoader.all()** - Loaded all available transformations (scaling, encoding, imputation, etc.)
104
- 3. **mlodaAPI.run_all()** - Executed the feature pipeline:
100
+ 3. **mloda.run_all()** - Executed the feature pipeline:
105
101
  - Got data from `SampleData`
106
102
  - Extracted `customer_id` and `age` as-is
107
103
  - Applied StandardScaler to `income` → `income__standard_scaled`
@@ -176,8 +172,7 @@ For truly custom configurations, you can use `Feature` objects:
176
172
 
177
173
  ```python
178
174
  # Example (for custom feature configurations):
179
- # from mloda_core.abstract_plugins.components.feature import Feature
180
- # from mloda_core.abstract_plugins.components.options import Options
175
+ # from mloda import Feature, Options
181
176
  #
182
177
  # features = [
183
178
  # "customer_id", # Simple string
@@ -190,9 +185,9 @@ For truly custom configurations, you can use `Feature` objects:
190
185
  # ),
191
186
  # ]
192
187
  #
193
- # result = mlodaAPI.run_all(
188
+ # result = mloda.run_all(
194
189
  # features=features,
195
- # compute_frameworks={PandasDataFrame}
190
+ # compute_frameworks=["PandasDataFrame"]
196
191
  # )
197
192
  ```
198
193
 
@@ -209,7 +204,7 @@ mloda supports multiple data access patterns depending on your use case:
209
204
  # Perfect for creating sample/test data in-memory
210
205
  # See Section 1 for the SampleData class definition using DataCreator:
211
206
  #
212
- # class SampleData(AbstractFeatureGroup):
207
+ # class SampleData(FeatureGroup):
213
208
  # @classmethod
214
209
  # def input_data(cls) -> Optional[BaseInputData]:
215
210
  # return DataCreator({"customer_id", "age", "income"})
@@ -226,7 +221,7 @@ mloda supports multiple data access patterns depending on your use case:
226
221
  **2. DataAccessCollection** - For production file/database access
227
222
  ```python
228
223
  # Example (requires actual files/databases):
229
- # from mloda_core.abstract_plugins.components.data_access_collection import DataAccessCollection
224
+ # from mloda.user import DataAccessCollection
230
225
  #
231
226
  # # Read from files, folders, or databases
232
227
  # data_access = DataAccessCollection(
@@ -235,9 +230,9 @@ mloda supports multiple data access patterns depending on your use case:
235
230
  # credential_dicts={"host": "db.example.com"} # Database credentials
236
231
  # )
237
232
  #
238
- # result = mlodaAPI.run_all(
233
+ # result = mloda.run_all(
239
234
  # features=["customer_id", "income__standard_scaled"],
240
- # compute_frameworks={PandasDataFrame},
235
+ # compute_frameworks=["PandasDataFrame"],
241
236
  # data_access_collection=data_access
242
237
  # )
243
238
  ```
@@ -245,17 +240,17 @@ mloda supports multiple data access patterns depending on your use case:
245
240
  **3. ApiData** - For runtime data injection (web requests, real-time predictions)
246
241
  ```python
247
242
  # Example (for API endpoints and real-time predictions):
248
- # from mloda_core.abstract_plugins.components.input_data.api.api_input_data_collection import ApiInputDataCollection
243
+ # from mloda.provider import ApiDataCollection
249
244
  #
250
- # api_input_data_collection = ApiInputDataCollection()
245
+ # api_input_data_collection = ApiDataCollection()
251
246
  # api_data = api_input_data_collection.setup_key_api_data(
252
247
  # key_name="PredictionData",
253
248
  # api_input_data={"customer_id": ["C001", "C002"], "age": [25, 30]}
254
249
  # )
255
250
  #
256
- # result = mlodaAPI.run_all(
251
+ # result = mloda.run_all(
257
252
  # features=["customer_id", "age__standard_scaled"],
258
- # compute_frameworks={PandasDataFrame},
253
+ # compute_frameworks=["PandasDataFrame"],
259
254
  # api_input_data_collection=api_input_data_collection,
260
255
  # api_data=api_data
261
256
  # )
@@ -272,9 +267,9 @@ mloda supports multiple compute frameworks (pandas, polars, pyarrow, etc.). Most
272
267
  ```python
273
268
  # Using the SampleData class from Section 1
274
269
  # Default: Everything processes with pandas
275
- result = mlodaAPI.run_all(
270
+ result = mloda.run_all(
276
271
  features=["customer_id", "income__standard_scaled"],
277
- compute_frameworks={PandasDataFrame} # Use pandas for all features
272
+ compute_frameworks=["PandasDataFrame"] # Use pandas for all features
278
273
  )
279
274
 
280
275
  data = result[0] # Returns pandas DataFrame
@@ -287,8 +282,6 @@ print(type(data)) # <class 'pandas.core.frame.DataFrame'>
287
282
  - **PyArrow**: Memory-efficient, great for columnar data
288
283
  - **Spark**: Distributed processing for big data
289
284
 
290
- > **For most use cases**: Start with `compute_frameworks={PandasDataFrame}` and switch to others only if you need specific performance characteristics.
291
-
292
285
  ### 6. Putting It All Together - Complete ML Pipeline
293
286
 
294
287
  **Real-World Example: Customer Churn Prediction**
@@ -331,7 +324,7 @@ from sklearn.model_selection import train_test_split
331
324
  from sklearn.ensemble import RandomForestClassifier
332
325
  from sklearn.metrics import accuracy_score
333
326
 
334
- result = mlodaAPI.run_all(
327
+ result = mloda.run_all(
335
328
  features=[
336
329
  "customer_id",
337
330
  "age__standard_scaled",
@@ -342,7 +335,7 @@ result = mlodaAPI.run_all(
342
335
  "customer_segment__label_encoded",
343
336
  "churned"
344
337
  ],
345
- compute_frameworks={PandasDataFrame}
338
+ compute_frameworks=["PandasDataFrame"]
346
339
  )
347
340
 
348
341
  # Step 3: Prepare for ML
@@ -0,0 +1,248 @@
1
+ mloda/__init__.py,sha256=oN6jaHMFA_avLAcw3PAJfMYMFGB-WdagyB4g4f4qY_g,582
2
+ mloda/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
+ mloda/core/abstract_plugins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
+ mloda/core/abstract_plugins/compute_framework.py,sha256=Y_JGxWv7GeyDbFJOk2-ypAbXTSGFwnBHbWFGbG-HaEA,19659
5
+ mloda/core/abstract_plugins/feature_group.py,sha256=hP31QE_Q8J1pDpbGQFvnolHUHLgHO22UOUeFFqF3KeA,19216
6
+ mloda/core/abstract_plugins/function_extender.py,sha256=bBuIjL6jQtHJVgXx3RmicTQeAYxiRLHIm-OyhIw7WLo,2419
7
+ mloda/core/abstract_plugins/components/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
+ mloda/core/abstract_plugins/components/base_artifact.py,sha256=XOrMb1x1_Zh7TbCeevl-GAdpkletZi-thAyMdPmmo0w,5307
9
+ mloda/core/abstract_plugins/components/base_validator.py,sha256=-8sING9RE9vl5BuZZHtqaMbhF8w1WTS-fjXK5VwMuYY,2363
10
+ mloda/core/abstract_plugins/components/data_access_collection.py,sha256=PVO6w8UOV6qyyYtlkzXAs-qM7WXsyrHqQP5CYCYu3G8,1551
11
+ mloda/core/abstract_plugins/components/data_types.py,sha256=uiq26Z7pikUiZIfdi28VbWoxLQUQ1wCH2rp7uI5XrvA,5033
12
+ mloda/core/abstract_plugins/components/domain.py,sha256=AzVvWgG3oeHUCXJDtN2heyiUQ1zRK7u5O6az5kWxj_I,1226
13
+ mloda/core/abstract_plugins/components/feature.py,sha256=WHK_FIe5EMq1v4ORod3ae8oaDHt4J1uktb9H-0v5m08,10478
14
+ mloda/core/abstract_plugins/components/feature_collection.py,sha256=vT4vlZyCRM3G9PtAJHovLoER4ElY08PlTlFzYPcCVyo,4636
15
+ mloda/core/abstract_plugins/components/feature_group_version.py,sha256=apFZBkNtzSVOuNLghXKjFriioddFbwT3YBhLazrYmgE,2048
16
+ mloda/core/abstract_plugins/components/feature_name.py,sha256=AgWceOqyHNYGVM5XE1NrGFeZKf9AKtLRoRRaxL7tHzk,673
17
+ mloda/core/abstract_plugins/components/feature_set.py,sha256=hVJ_t4p30BNOknkMKiyDkYRWbbEd_GtpGf2lW9n3PdM,4226
18
+ mloda/core/abstract_plugins/components/hashable_dict.py,sha256=xzUIn2wbujo3jwwGayHnSbrrADSiVYU_xUV1nt5Yk8M,426
19
+ mloda/core/abstract_plugins/components/link.py,sha256=waj6PxXpTxL9XvSAY5z5F275zh048r7jAknDbhcbKL8,15696
20
+ mloda/core/abstract_plugins/components/options.py,sha256=z2hzPSl-B-trh1UELdBekAeJXJHpumsKY2PZgq59GXA,10740
21
+ mloda/core/abstract_plugins/components/parallelization_modes.py,sha256=QeU83qUlg4smUW9Q_cs0XaaBcKDxI7vh8pILUHZd_YM,143
22
+ mloda/core/abstract_plugins/components/utils.py,sha256=_ofeiOBQLwYU3_p9JBe61Ihps4dpFUcsrqI6XrA92Yo,530
23
+ mloda/core/abstract_plugins/components/feature_chainer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
24
+ mloda/core/abstract_plugins/components/feature_chainer/feature_chain_parser.py,sha256=aGO10OgAfaVs-y4kgSbAtVL2jI7E3EDsfWOkuWlPgDA,14149
25
+ mloda/core/abstract_plugins/components/feature_chainer/feature_chain_parser_mixin.py,sha256=yOyWmVd560pV6hL02PyiShNqi6-hMhkME7U80EHWdC8,7444
26
+ mloda/core/abstract_plugins/components/framework_transformer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
+ mloda/core/abstract_plugins/components/framework_transformer/base_transformer.py,sha256=3eRSOzYZZ4OHRezvUnw4RLTUjirMGtcZCKQYJ1MuuZU,5793
28
+ mloda/core/abstract_plugins/components/framework_transformer/cfw_transformer.py,sha256=xuK3DSuSdmos1w639ZRQEO6ZwihjQmBG3RSp5jU1gk4,4298
29
+ mloda/core/abstract_plugins/components/index/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
30
+ mloda/core/abstract_plugins/components/index/add_index_feature.py,sha256=t646g0lPRpVDUEddP9M3H2gO3VxUMlLA-E4GDOnAmZg,742
31
+ mloda/core/abstract_plugins/components/index/index.py,sha256=5Hc7eI1uunhK4Lnt-A4ZrJd5U8os77Md3pdOWxDPBwE,1269
32
+ mloda/core/abstract_plugins/components/input_data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
+ mloda/core/abstract_plugins/components/input_data/base_input_data.py,sha256=k6Bq_WB5evbexWqEHXYl0eQaBLL1xh30QjuM4Y1rAb8,6334
34
+ mloda/core/abstract_plugins/components/input_data/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
35
+ mloda/core/abstract_plugins/components/input_data/api/api_input_data.py,sha256=xvTeT8V6Kjcj9N25gvjst6LUadvAGYWAxf3FtKSGtfw,1290
36
+ mloda/core/abstract_plugins/components/input_data/api/api_input_data_collection.py,sha256=NsvfYppEnfDQyp5nx-mKzgXkhBTBCKjtpdu6bipERow,3033
37
+ mloda/core/abstract_plugins/components/input_data/api/base_api_data.py,sha256=DsSu53ivOfC3bN7IuzZ7W0bduGMc7TFbv7hjpT2I3k8,1711
38
+ mloda/core/abstract_plugins/components/input_data/creator/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
39
+ mloda/core/abstract_plugins/components/input_data/creator/data_creator.py,sha256=ehOADDbPYiD4DrikGNp3eyR8ioKJJqAbHa50j9uHKos,1148
40
+ mloda/core/abstract_plugins/components/match_data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
41
+ mloda/core/abstract_plugins/components/match_data/match_data.py,sha256=vUauY8pGbzuDqk2ocxcloywLeApwjmvKIArJqAP18bI,3451
42
+ mloda/core/abstract_plugins/components/merge/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
43
+ mloda/core/abstract_plugins/components/merge/base_merge_engine.py,sha256=-6JRDKZQY_XQVU-q2NFmuD6QcaeABqBSzAZsii0j3JY,3693
44
+ mloda/core/abstract_plugins/components/plugin_option/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
45
+ mloda/core/abstract_plugins/components/plugin_option/plugin_collector.py,sha256=D-UTAo8r2Km62DVGn-VLZDTkL9nXYAsGa_tk6h4cX9s,2374
46
+ mloda/core/abstract_plugins/components/validators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
47
+ mloda/core/abstract_plugins/components/validators/datatype_validator.py,sha256=lCsE91OBBSeJjzI_5vDXVdfuywizFaQ1ouNwje_azX4,3823
48
+ mloda/core/abstract_plugins/components/validators/feature_set_validator.py,sha256=5xzBK0Gqn7Du9HDZj6m9EceeuDi4L_ElK_UJEPtTzNs,1321
49
+ mloda/core/abstract_plugins/components/validators/feature_validator.py,sha256=9U_Qh9WjELKuibFMzV209pqhpPlGwlW-oTvrow7ilms,985
50
+ mloda/core/abstract_plugins/components/validators/link_validator.py,sha256=DomuSkjwtb9ErQDyOOqEuIsUdhlx8x4J1_LB3Hda-Rk,3362
51
+ mloda/core/abstract_plugins/components/validators/options_validator.py,sha256=Noz6bardMYrekW2FLnTdeYS1ciJlQB8Ewnmtomf7iE4,2501
52
+ mloda/core/abstract_plugins/plugin_loader/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
53
+ mloda/core/abstract_plugins/plugin_loader/plugin_loader.py,sha256=IKwUtrDJS-MJLVJKF_WUbsiGMRRhmmr2W51jAs-83fs,5883
54
+ mloda/core/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
55
+ mloda/core/api/plugin_docs.py,sha256=B12d0dXLTqEtOCD7V8NisLAwSN7kfndjZFAUm2NYzhk,7634
56
+ mloda/core/api/plugin_info.py,sha256=LuOWV5Fmbq6jcSVz0jT8hwbXcgXl575SnXqb6dnbNZg,564
57
+ mloda/core/api/request.py,sha256=LNuW86fZft5T3lqiU5W2b3AQKjrLj1bh_a-VhxZAcVA,11401
58
+ mloda/core/api/prepare/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
59
+ mloda/core/api/prepare/setup_compute_framework.py,sha256=In6o7YuBpJFKa6Brrrtsjf1bxhiv43toJr9NBQCAiH4,2658
60
+ mloda/core/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
61
+ mloda/core/core/cfw_manager.py,sha256=DNmbEOIhjKX_G0lva6XqCL0GJIIKy9PfOTXT4g8N9FM,8769
62
+ mloda/core/core/engine.py,sha256=yXNbV4LZZaAro1iSEmeFNOKgt5m8P9IIotTjT8jixg4,13690
63
+ mloda/core/core/step/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
64
+ mloda/core/core/step/abstract_step.py,sha256=hIsvJ21hvDXDH1HJSc76WL22FtEvSEN5g7pVpQBEoEU,1304
65
+ mloda/core/core/step/feature_group_step.py,sha256=3lGaaF0r4FhsSUhdAN7hh3QiNz_0dpW3cRBoKOtaTus,5293
66
+ mloda/core/core/step/join_step.py,sha256=eMMdDwD6mD5Jj0vKCpVIohGPtlYKalHS0DyBeR39oaI,4242
67
+ mloda/core/core/step/transform_frame_work_step.py,sha256=gOepqw1YyFV2UBz7nLTqXv1XUgtReYHqtFSKs8Z8FGg,5934
68
+ mloda/core/filter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
69
+ mloda/core/filter/filter_engine.py,sha256=7_LqJm5MpnF11ZT1p7L4_3gIlEnqUGA2tuRyIituUsM,3302
70
+ mloda/core/filter/filter_parameter.py,sha256=2nMBoU3_L2bxUaGwMvHby-T2TDEZo1rVtJjAUxhn0i0,1373
71
+ mloda/core/filter/filter_type_enum.py,sha256=LfoeGGMX0PTC7zPYut_OmtxeFPaYKUxCjPMxjSzyg_k,192
72
+ mloda/core/filter/global_filter.py,sha256=CQzLYZa_59f8FQR6NgJ-IXFhkGycj8YysQBqARAmaG4,12069
73
+ mloda/core/filter/single_filter.py,sha256=zsRpW0xeAdRjwnYISzZtjWIaYVin5TcwiGotl3neDdU,2939
74
+ mloda/core/prepare/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
75
+ mloda/core/prepare/accessible_plugins.py,sha256=ktra3Fg7luggoPUu0k9BtPxA-HgUKstIyHIPsnOKpXo,2940
76
+ mloda/core/prepare/execution_plan.py,sha256=OnP3RLfcGWKjOPwq48jMp4VJ8lJGxjlrI0T3ojpvQNM,44841
77
+ mloda/core/prepare/identify_feature_group.py,sha256=aGuqWsXoAnDcC-SnRNcbPxRAQtdpLCYPFlEgfN-bR-w,6903
78
+ mloda/core/prepare/joinstep_collection.py,sha256=f6Vb0WCBwqqCaMXdxJ3aPFNBbfuGeoPFA7kA9vyHEWM,1463
79
+ mloda/core/prepare/resolve_compute_frameworks.py,sha256=mQnqz0sWCsFKl3ZL6OC_Jg3J043pDfq6Iv2M72xoeiI,6346
80
+ mloda/core/prepare/resolve_graph.py,sha256=9PrVQtTreNZuw9-DKpm6vHmeRMxhaPw4wLfjB0kaKzI,3519
81
+ mloda/core/prepare/resolve_links.py,sha256=T03kS3C-Yl63UqUc0U0AAkizntnGUzYd4a0BQ8xFkko,15057
82
+ mloda/core/prepare/graph/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
83
+ mloda/core/prepare/graph/build_graph.py,sha256=dm-KTq44tE7Sof8fsobHd3lOL4f2oj34qUY18dexRRg,2176
84
+ mloda/core/prepare/graph/graph.py,sha256=QYJpH_80OrcaLqY0I1wPbPUx0mxH1Pr4nSJZvnuv1no,3818
85
+ mloda/core/prepare/graph/properties.py,sha256=jc0Xx3O6-Il_ouktcAu3Q-Go32ZxFHEnVj6_tStX8jQ,879
86
+ mloda/core/prepare/validators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
87
+ mloda/core/prepare/validators/resolve_link_validator.py,sha256=eoHG9VMALoP3YiD9X-JYl-aXggm1WAGRU6WB4ok_c6Y,1121
88
+ mloda/core/runtime/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
89
+ mloda/core/runtime/compute_framework_executor.py,sha256=_61pmUZkBmzNCuWwXyOrt_2zhNcBFrzERxzeUqcPlvw,10439
90
+ mloda/core/runtime/data_lifecycle_manager.py,sha256=m1SJUzXohV1V-FfUrkRrOwpEaTtE2jhA2rrMGt-bCe8,5861
91
+ mloda/core/runtime/run.py,sha256=rcTyhi47tLG63i3NhDWMorPqxItiHx9OySUCMLtkB7w,12455
92
+ mloda/core/runtime/worker_manager.py,sha256=fs9bREWjfnGOkRzpewkHkByHyyTkwKC_5tv2tSpriSw,3871
93
+ mloda/core/runtime/flight/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
94
+ mloda/core/runtime/flight/flight_server.py,sha256=AlwsJstZBHgOLXCKaq6rdJSTdbGoK8LLPmkOasQJQT8,4211
95
+ mloda/core/runtime/flight/runner_flight_server.py,sha256=WrIr0LxBy5VGMwos5HFAuYt4KNlosR5n1vh4w32I1Ww,1267
96
+ mloda/core/runtime/worker/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
97
+ mloda/core/runtime/worker/multiprocessing_worker.py,sha256=kPis4w9VgCnLYF8sIB6C8tKDFEQt-gD4nHHEdr6NW2g,4989
98
+ mloda/core/runtime/worker/thread_worker.py,sha256=cpD9hqz6nuUfKyLlXLKCjWm4GIPBHa7OeI5K4fPln1A,670
99
+ mloda/provider/__init__.py,sha256=2fBt58rv1yFjGHa1ubg7A3brIU1vxlffP4XO_vTBw44,3871
100
+ mloda/steward/__init__.py,sha256=PPXY3o4OM_daV6wD3DJNuPPCEEQg5NeETlG6cAmkzRE,696
101
+ mloda/user/__init__.py,sha256=lQC3dsiPJR-_rdD6CLknrFl4p6rRNEIDrq09uxh4g3M,1703
102
+ mloda-0.4.1.dist-info/licenses/LICENSE.TXT,sha256=gmhQwSkHxjiShsqQ1FpJ-20YFtaa4vRCE7aCx55-6nk,11366
103
+ mloda-0.4.1.dist-info/licenses/NOTICE.md,sha256=Hu10B2sPnGLIHxZ4QhACSLLxukJpeJzjvkzCu48q5fY,520
104
+ mloda_plugins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
105
+ mloda_plugins/compute_framework/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
106
+ mloda_plugins/compute_framework/base_implementations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
107
+ mloda_plugins/compute_framework/base_implementations/duckdb/duckdb_filter_engine.py,sha256=FmYR-fq3iSXEJqDpT3r_LpyVqblCqQv6kz6VNHONe-c,5003
108
+ mloda_plugins/compute_framework/base_implementations/duckdb/duckdb_framework.py,sha256=2Y6ihIoTfhRxP3CtDTW5bnuTBHUju614tb4q4v9PZ2k,5071
109
+ mloda_plugins/compute_framework/base_implementations/duckdb/duckdb_merge_engine.py,sha256=fwLs1c9diEyDR_x8u3wSJeSSM5kJNN62OnnMKjAy4vE,7213
110
+ mloda_plugins/compute_framework/base_implementations/duckdb/duckdb_pyarrow_transformer.py,sha256=-T-hiEVUtoSaZYDGqwqQ286ZjbUzhFPqj3RUCBTYNU8,2249
111
+ mloda_plugins/compute_framework/base_implementations/iceberg/iceberg_filter_engine.py,sha256=mn3Fc1BZoKsvhgATigGPwqV0B9VlTigYiUU5dmKjtn8,7245
112
+ mloda_plugins/compute_framework/base_implementations/iceberg/iceberg_framework.py,sha256=H8SEz5a5XVwC1-eaDTbzOgzPSBiDtutOfcwdnU3gx9I,6847
113
+ mloda_plugins/compute_framework/base_implementations/iceberg/iceberg_pyarrow_transformer.py,sha256=d3x5gNE8WcslEIkGU1HM3tpCKtB4tv6U6Yi5arjE304,3086
114
+ mloda_plugins/compute_framework/base_implementations/pandas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
115
+ mloda_plugins/compute_framework/base_implementations/pandas/dataframe.py,sha256=XysD0t4Oz2xkbG4JHh3QG93Q_kICBeIAi0JiJD6Ia-o,3099
116
+ mloda_plugins/compute_framework/base_implementations/pandas/pandas_filter_engine.py,sha256=OchKStCPWRSA124_wjwQsw8tAfbjqe0dXG2uKgLyzus,3769
117
+ mloda_plugins/compute_framework/base_implementations/pandas/pandas_merge_engine.py,sha256=Pp0QhRao9AlwrUJ4Po2N8uqLqOXm_ZJNf_R_CCG95OI,2746
118
+ mloda_plugins/compute_framework/base_implementations/pandas/pandaspyarrowtransformer.py,sha256=5nr2AMhg7xAxvXxHiyi_POczEtnUUsGm_lJcx-WiK8Y,1846
119
+ mloda_plugins/compute_framework/base_implementations/polars/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
120
+ mloda_plugins/compute_framework/base_implementations/polars/dataframe.py,sha256=f0fP0mL4OSR2LIA8ujn_e9CZ2cDR9Grq_jmwj5uNfAc,2967
121
+ mloda_plugins/compute_framework/base_implementations/polars/lazy_dataframe.py,sha256=EosQKwlXvUOPIDec0Qv9z0vWyzsShHtNgViLeHVNtPs,3767
122
+ mloda_plugins/compute_framework/base_implementations/polars/polars_filter_engine.py,sha256=m3dq-1FxDnDYEm7LvUfPQirFCk2AlFW5KNu1QBX5Clg,4443
123
+ mloda_plugins/compute_framework/base_implementations/polars/polars_lazy_merge_engine.py,sha256=DR2005Go695hTjpWMQRfVMBXbU8jD4jVi7wf_P90dLw,1368
124
+ mloda_plugins/compute_framework/base_implementations/polars/polars_lazy_pyarrow_transformer.py,sha256=6kpDebyoQcuQDA02Wsu5XvG1e4uLFDvSLT8WrU7HuRQ,2080
125
+ mloda_plugins/compute_framework/base_implementations/polars/polars_merge_engine.py,sha256=0vzAu7NYktWmmdOlI1HLSpT_MCTGvFbQmbYNana3Cwo,8132
126
+ mloda_plugins/compute_framework/base_implementations/polars/polars_pyarrow_transformer.py,sha256=g9o0hpV3bpXSKksTPE9s3z4BjBKeNsTH0Kw2pf5L8U0,1778
127
+ mloda_plugins/compute_framework/base_implementations/pyarrow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
128
+ mloda_plugins/compute_framework/base_implementations/pyarrow/pyarrow_filter_engine.py,sha256=JPPnu6L0eXWDIbyQL-yAooioVIBTVs3n7vxRQ5qWlw8,5365
129
+ mloda_plugins/compute_framework/base_implementations/pyarrow/pyarrow_merge_engine.py,sha256=1cSgO8zE2U9GQItgS02lXb4SjJjWnrLAzOYFl-lRUtY,4826
130
+ mloda_plugins/compute_framework/base_implementations/pyarrow/table.py,sha256=D07IXmx8nqXj_pHANA3PSWB6j2seYIfothLtBUJ9wsw,2295
131
+ mloda_plugins/compute_framework/base_implementations/python_dict/python_dict_filter_engine.py,sha256=EaP8JiEQrfdNC3uEUhZu0A9Cqlv6S5bOIHUYBIm8Qp8,5308
132
+ mloda_plugins/compute_framework/base_implementations/python_dict/python_dict_framework.py,sha256=Kg2-NRT0FU2DePvEK6IOl_tfYFo2zkf9s0PaxBv3bjQ,4742
133
+ mloda_plugins/compute_framework/base_implementations/python_dict/python_dict_merge_engine.py,sha256=Mi5sIQxuCSwJYS0fN1LtDhO8L3uUDOGQg8lP2iqjKUU,8226
134
+ mloda_plugins/compute_framework/base_implementations/python_dict/python_dict_pyarrow_transformer.py,sha256=DTGcZ9-ExLAlBNpvyfgWNGqUfrttjUnXkPH7HXRaBHg,3375
135
+ mloda_plugins/compute_framework/base_implementations/spark/spark_filter_engine.py,sha256=80rBtNHwoPs21i9XpgG0iBDIjlBSkYRCqhCXQ2WWiaE,4542
136
+ mloda_plugins/compute_framework/base_implementations/spark/spark_framework.py,sha256=3e57htJwDgqI9rUKeuruwwko74oQeQxH5pqn7rmDP-8,8207
137
+ mloda_plugins/compute_framework/base_implementations/spark/spark_merge_engine.py,sha256=gx52QEnkYRIO1qELZQrKBPPhk8qgUbiWZmi7YjYS4I0,3299
138
+ mloda_plugins/compute_framework/base_implementations/spark/spark_pyarrow_transformer.py,sha256=M-Zylnf5lusObtkumfkzti077mj8RrfzP6Izpec9hg8,3240
139
+ mloda_plugins/config/__init__.py,sha256=wm08JOS1kVronYOtmPJZCcEeMlA9wPOCFAIJG_Isi8c,34
140
+ mloda_plugins/config/feature/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
141
+ mloda_plugins/config/feature/loader.py,sha256=-dHCkPlxxE4FG8c5VqM-kwCkMlPt_AXh1Fu4AVwsW5A,7741
142
+ mloda_plugins/config/feature/models.py,sha256=RL8ok8Nn0bLHfgAq9K0HVKcTHzjG2x5gAKP394CSboA,1679
143
+ mloda_plugins/config/feature/parser.py,sha256=wl-Wsx1dnjiLjmnjh4du8veJVUv5JD0l57jzfDiZTOI,1001
144
+ mloda_plugins/feature_group/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
145
+ mloda_plugins/feature_group/experimental/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
146
+ mloda_plugins/feature_group/experimental/default_options_key.py,sha256=sw4tAWEK7jmrSAW1jO9WJ8Q9hXomnpdD7hefA-Znq8Q,963
147
+ mloda_plugins/feature_group/experimental/source_input_feature.py,sha256=oSuHyAI-Bq37FF2hqd9yPcFUHqM2hZyJQPPkjuX7AHo,10715
148
+ mloda_plugins/feature_group/experimental/aggregated_feature_group/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
149
+ mloda_plugins/feature_group/experimental/aggregated_feature_group/base.py,sha256=WSTKh6n6XCtY-wEihz5CfylE2VVMMD-Vh811BI9yaxQ,9803
150
+ mloda_plugins/feature_group/experimental/aggregated_feature_group/pandas.py,sha256=FRNtxM8Os4IoSTZAhxX7keZP4-6u3BPPxt6_bE4tkdQ,4913
151
+ mloda_plugins/feature_group/experimental/aggregated_feature_group/polars_lazy.py,sha256=sYRDAba5X33RSDBLYP4pCsnRV0pf3HPFUxULxqlHEHI,6215
152
+ mloda_plugins/feature_group/experimental/aggregated_feature_group/pyarrow.py,sha256=mFgnKaglkxvIS53EHKc1kDosehvaChL9wqlMVK96vU8,5647
153
+ mloda_plugins/feature_group/experimental/clustering/__init__.py,sha256=769NSapfi48V7BBh8zoo-ale2We6K4OV6ocNlzAhfEw,59
154
+ mloda_plugins/feature_group/experimental/clustering/base.py,sha256=NsN7TkyQiHGCF1KGUy7kmfsZWvIZ_jbts4K7SSC6ato,16377
155
+ mloda_plugins/feature_group/experimental/clustering/pandas.py,sha256=h-nW8OJoOnzkQzr-0OxNCq1_dGNGZkJAuiGQpel6Egk,19230
156
+ mloda_plugins/feature_group/experimental/data_quality/__init__.py,sha256=ga8jdKaLl4bxkxMqNtRbrkHFnRWZIp8f3bR7DVG5d-I,45
157
+ mloda_plugins/feature_group/experimental/data_quality/missing_value/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
158
+ mloda_plugins/feature_group/experimental/data_quality/missing_value/base.py,sha256=e4_DNKV7lFabR13d3Gn6vQmPM8iN0r8Z0eiCGxBocj8,13502
159
+ mloda_plugins/feature_group/experimental/data_quality/missing_value/pandas.py,sha256=kp_myuF_Qk84qW_auAuRheqNmeW5Pfk8KOun5HrzZgU,8501
160
+ mloda_plugins/feature_group/experimental/data_quality/missing_value/pyarrow.py,sha256=cFtuWGyrnoh3zeqO_MKgyabuWXwN2BHVh5khHLyOSbY,14195
161
+ mloda_plugins/feature_group/experimental/data_quality/missing_value/python_dict.py,sha256=f8DwY2yczqFb9pJ6h8R_B2YP-8CdoEkcAuis0KVgi44,13847
162
+ mloda_plugins/feature_group/experimental/dimensionality_reduction/base.py,sha256=gP8b4JTNbuySGB-jheOijNbpv5SG9ZXFWkjpJr4INZc,15840
163
+ mloda_plugins/feature_group/experimental/dimensionality_reduction/pandas.py,sha256=pYH4TE4gBehKmb0JvPdUEOgi31PoK8sLGMCv1QOPnl4,13681
164
+ mloda_plugins/feature_group/experimental/dynamic_feature_group_factory/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
165
+ mloda_plugins/feature_group/experimental/dynamic_feature_group_factory/dynamic_feature_group_factory.py,sha256=NUrHWE6YjTHfZw3f2T8DPBX6agTADn5JC731cY_ansI,12954
166
+ mloda_plugins/feature_group/experimental/forecasting/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
167
+ mloda_plugins/feature_group/experimental/forecasting/base.py,sha256=iduu0lpHnpwuaVlq8l14FkHT-VNcMRqFCYsS1Rz9x4E,23076
168
+ mloda_plugins/feature_group/experimental/forecasting/forecasting_artifact.py,sha256=9i9Eg5PEFEl6Nq12RTPxCeVlZZ9u-Xmju-lJRARqOVI,4215
169
+ mloda_plugins/feature_group/experimental/forecasting/pandas.py,sha256=pg27sadq3ytMfgPJSYGMz10wnc9zEcOZGRJnlHUDxg8,28710
170
+ mloda_plugins/feature_group/experimental/geo_distance/__init__.py,sha256=wqp7I3j87AmrVBi2rlqcz4Sj-R1QMe3EasmNFb_Zxg4,85
171
+ mloda_plugins/feature_group/experimental/geo_distance/base.py,sha256=7djFflIx4If9fAIKAprbArohCQPneORVOaiy4svydPM,12363
172
+ mloda_plugins/feature_group/experimental/geo_distance/pandas.py,sha256=2016pSCoGpdAnzCviMgX-85gp0COAcI0Zvi0-ak1zlQ,5970
173
+ mloda_plugins/feature_group/experimental/llm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
174
+ mloda_plugins/feature_group/experimental/llm/cli.py,sha256=qXnqQWtdm0FcakmuU8gVGB5XO8Lkbmqh5dWhFVBfGS0,1327
175
+ mloda_plugins/feature_group/experimental/llm/installed_packages_feature_group.py,sha256=Mf_xtFzTK81L7vNeehPlMXNSd9CSI9q8lZAYuRMWBEU,3568
176
+ mloda_plugins/feature_group/experimental/llm/list_directory_feature_group.py,sha256=yrolCJfzzygKtglfp_DkPgkkas5W8pSJ9aVpy9iVuyE,6046
177
+ mloda_plugins/feature_group/experimental/llm/llm_file_selector.py,sha256=g5kLtzaYHEYRBVuzKMl4CmJlKJpr4nPS5EoWBjqsKZ4,8114
178
+ mloda_plugins/feature_group/experimental/llm/cli_features/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
179
+ mloda_plugins/feature_group/experimental/llm/cli_features/refactor_git_cached.py,sha256=4rUs3m2ktJz7azsHape93D21NQmHXecrotzjekngINs,17578
180
+ mloda_plugins/feature_group/experimental/llm/llm_api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
181
+ mloda_plugins/feature_group/experimental/llm/llm_api/claude.py,sha256=FL9Eab9zCVVm8W86LtoNZqZvOhWv5ZDg9eEOCiu652o,13848
182
+ mloda_plugins/feature_group/experimental/llm/llm_api/gemini.py,sha256=pIPg0kxDvVhwOEXab3Rz2Uy_8_2G2KptfFeFUG9fSiY,12505
183
+ mloda_plugins/feature_group/experimental/llm/llm_api/llm_base_request.py,sha256=6VS5t7kMrFAAtQvMYVq9tiMvyUGSQ-BqY9bTwLJ8LUA,4599
184
+ mloda_plugins/feature_group/experimental/llm/llm_api/openai.py,sha256=7v2lbjiElYeyw_k9Ovs-MF7Dvqne-U_gTbGoD46Q6Qo,14784
185
+ mloda_plugins/feature_group/experimental/llm/llm_api/request_loop.py,sha256=sppemCMlnNhyqm2qDkYglHBYTVQpi8oe5nu6806ZKN0,6416
186
+ mloda_plugins/feature_group/experimental/llm/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
187
+ mloda_plugins/feature_group/experimental/llm/tools/base_tool.py,sha256=rU46378PbmFxvnplTDYXrM3_GU3yVlSwtH6tyZ34Jww,2666
188
+ mloda_plugins/feature_group/experimental/llm/tools/tool_collection.py,sha256=AGGW3uTR4LuSXWrrQ_z8u4xSPljaTy06JE7705bJwMw,1136
189
+ mloda_plugins/feature_group/experimental/llm/tools/tool_data_classes.py,sha256=oETCbEU8jtNXi4NeRcUKaCopMHAGuMlqQDeW5NbNYCI,585
190
+ mloda_plugins/feature_group/experimental/llm/tools/available/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
191
+ mloda_plugins/feature_group/experimental/llm/tools/available/adjust_and_run_all_tests_tool.py,sha256=RjEVfwRr68k-YUtfZrLVgus8zoJTimofoIb7KskdFOk,2521
192
+ mloda_plugins/feature_group/experimental/llm/tools/available/adjust_file_tool.py,sha256=nM1yAYZzcKjCgzFqwoX3rTf3ezUquvdhdMENsGadiwA,2183
193
+ mloda_plugins/feature_group/experimental/llm/tools/available/create_folder_tool.py,sha256=NVEbt6DvWImp5q3qsPmqs708Sa4LHqLiETo0gHiK5ac,1465
194
+ mloda_plugins/feature_group/experimental/llm/tools/available/create_new_file.py,sha256=xfKSVahXrVwPYxxz3LQcgwFCzrGxkQoPXTyQOZAoMNE,3048
195
+ mloda_plugins/feature_group/experimental/llm/tools/available/git_diff.py,sha256=Jl8VFGnQR1zy4fQSgusd-h8i53hOLshvcEc1lagwTJA,1476
196
+ mloda_plugins/feature_group/experimental/llm/tools/available/git_diff_cached.py,sha256=oQiRS6Z4QZivLDgi0Xan7u_xDjyK1jRfV1r8MkSwYNw,1485
197
+ mloda_plugins/feature_group/experimental/llm/tools/available/multiply.py,sha256=8z1zATiAsQJTKW7tSz9EFgLAJVMFZahUs4rGXzzTirc,2229
198
+ mloda_plugins/feature_group/experimental/llm/tools/available/read_file_tool.py,sha256=lNXCHUZFh9IBfmjBgDr-jqX5bLwbUMHP_dxyC7Nz73I,2266
199
+ mloda_plugins/feature_group/experimental/llm/tools/available/replace_file_tool.py,sha256=obQnFHuO_v8R4xcQm5I25e9g4phZbN1s3IcU9Tybwgw,1555
200
+ mloda_plugins/feature_group/experimental/llm/tools/available/replace_file_tool_which_runs_tox.py,sha256=jTBpsIxF7mzZjeesd9ZeHUDwA17SkbLsL9brvl-YfOo,2119
201
+ mloda_plugins/feature_group/experimental/llm/tools/available/run_single_pytest.py,sha256=dLMb1iunH0EVY7YZ0NmlHC4kVhTOjs2Hjs2412dFTao,4114
202
+ mloda_plugins/feature_group/experimental/llm/tools/available/run_tox.py,sha256=2APL0MD_ExaMzsJK9_WfgDD9dmMY8amsgfc6B4Xgj70,3814
203
+ mloda_plugins/feature_group/experimental/node_centrality/base.py,sha256=LR8cQS-Xu1zu88GTH5B6iEKAW1pyCDGdqfsvx_ENcJ0,12929
204
+ mloda_plugins/feature_group/experimental/node_centrality/pandas.py,sha256=xvfswYwxTvrE7NDRnwCD85lTxtOvtrLQAg0I_Jn5bXk,20220
205
+ mloda_plugins/feature_group/experimental/sklearn/__init__.py,sha256=UubmqLyavXbzW40FeGY06XyORo-x1Uo0WCLcpmPWnAs,208
206
+ mloda_plugins/feature_group/experimental/sklearn/sklearn_artifact.py,sha256=UkrrtEvg9Mfm60fFoOMm9VI_zFm73yDhLrjubPNZPu8,12693
207
+ mloda_plugins/feature_group/experimental/sklearn/encoding/__init__.py,sha256=WOe_iTVz2CXmVcL2IUNqhLJQqINFvY2rUktDXsNSOl8,153
208
+ mloda_plugins/feature_group/experimental/sklearn/encoding/base.py,sha256=4CpNFrIWd7p0EgRfHV44bJbDn7EUrJHyFn3WDC-vrRE,18962
209
+ mloda_plugins/feature_group/experimental/sklearn/encoding/pandas.py,sha256=gmp0DEkQbCRFkwPFPKXrbCZeNVWpUjK1xbRFu3fOgL4,5960
210
+ mloda_plugins/feature_group/experimental/sklearn/pipeline/__init__.py,sha256=Z_xSZFAFItwRlbBVxbBxwW_S61tQ8r1N8Ih59jTUXqk,199
211
+ mloda_plugins/feature_group/experimental/sklearn/pipeline/base.py,sha256=OU6n2-eM0gNEnMtXq0YNyl4DxQrV-cGPYTcgK5tYKuk,23184
212
+ mloda_plugins/feature_group/experimental/sklearn/pipeline/pandas.py,sha256=RF5Vlxtbw5v8Oqpk0AR3fbdfnfqHSbeqSoWyE8jCf_Y,3979
213
+ mloda_plugins/feature_group/experimental/sklearn/scaling/__init__.py,sha256=CsQEzK6DJ-WakWqsWTScHYsrBuOwLeX78zYV-NqxuDg,79
214
+ mloda_plugins/feature_group/experimental/sklearn/scaling/base.py,sha256=ut-Asuj3XanT9zPGQ_enrvO-mXPiA3Ab_IugAni1SQM,13964
215
+ mloda_plugins/feature_group/experimental/sklearn/scaling/pandas.py,sha256=H_YQ-z4dFvdxNFSFGGol8Yin8BFIBFRhfOjRWlQ79aA,3919
216
+ mloda_plugins/feature_group/experimental/text_cleaning/base.py,sha256=u31icTZ64p8qoayiytAFTv9JDxOnEx66pTvj3R5IckM,9616
217
+ mloda_plugins/feature_group/experimental/text_cleaning/pandas.py,sha256=djQElP8lu2rmHus-xxEKxXKqaifI-G1pnjqRJVzqGj4,7298
218
+ mloda_plugins/feature_group/experimental/text_cleaning/python_dict.py,sha256=zz1NrkDnvVkmKDUYYoFu2sWiKVKEi8-LS18Hz9XhMrE,7788
219
+ mloda_plugins/feature_group/experimental/time_window/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
220
+ mloda_plugins/feature_group/experimental/time_window/base.py,sha256=QcAb_A1fR0NpWRwoD3UzH-wsKODBR_K8-U0sOv4kxPk,17680
221
+ mloda_plugins/feature_group/experimental/time_window/pandas.py,sha256=1FmsDVk2z6f9OeVWbQBn_IkJEKU9Tu9Hio97QG_r7e8,7792
222
+ mloda_plugins/feature_group/experimental/time_window/pyarrow.py,sha256=2q6PevSq9JxtURh62kKhFPbUa5nVg2Hmd_9dk5U8OBA,10709
223
+ mloda_plugins/feature_group/input_data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
224
+ mloda_plugins/feature_group/input_data/read_context_files.py,sha256=TPJCeqwXOyqndS_r-WxC5DU-Nd1tMakWTeh324Ogz_Q,5778
225
+ mloda_plugins/feature_group/input_data/read_db.py,sha256=3fghzr5k2wYsoV3gMsmL54GWpEhc1hgDDqJ8MNLA1qI,4900
226
+ mloda_plugins/feature_group/input_data/read_db_feature.py,sha256=-FwwfhWICa-_H3oH-Nqql1ZjeGMTajehdVF99QAvMNk,635
227
+ mloda_plugins/feature_group/input_data/read_file.py,sha256=SACUBuL736b6NlvjbsDCZs-1_DTcKYhkmoWcieGiI8A,3971
228
+ mloda_plugins/feature_group/input_data/read_file_feature.py,sha256=vGab4-8gIUMrLfKqdYa4MjXCTZiA4KQXZHyRXHhhYow,660
229
+ mloda_plugins/feature_group/input_data/api_data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
230
+ mloda_plugins/feature_group/input_data/api_data/api_data.py,sha256=FXwXpIxlZjhgJMuNwgo3EvFR_wl-WTHuv7VGOYqXm7o,4196
231
+ mloda_plugins/feature_group/input_data/read_dbs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
232
+ mloda_plugins/feature_group/input_data/read_dbs/sqlite.py,sha256=2k6FdfIiVTa8iI9fsu179UIGJCLY8bdyj9IAtNz7ekY,8522
233
+ mloda_plugins/feature_group/input_data/read_files/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
234
+ mloda_plugins/feature_group/input_data/read_files/csv.py,sha256=-DmF9g1EO2mq6vgIFpHciHg0wame0D_ofJbvKd1aD9E,4629
235
+ mloda_plugins/feature_group/input_data/read_files/feather.py,sha256=gFah4Zj3IKYObjsUkr0JUaBnmjB6wsn-QUwdAtqb54A,2981
236
+ mloda_plugins/feature_group/input_data/read_files/json.py,sha256=1UMyDeXL0bz65YPSKopWYGrXmzeO0afjJnoS_gRd-mA,3993
237
+ mloda_plugins/feature_group/input_data/read_files/orc.py,sha256=Kh3hhIL7SngYti4HUK-xPE4Rb0EBCZV5vz8lIvmvdzM,2927
238
+ mloda_plugins/feature_group/input_data/read_files/parquet.py,sha256=Asx-PIBeJAPxcUc7x8hf9Kk71PfQEvaRzq_GHSGGztY,3350
239
+ mloda_plugins/feature_group/input_data/read_files/text_file_reader.py,sha256=5usrtvLq1Ygi-pX1p8AQkRz5x7l7Uv-QUmcQE92zvsA,4303
240
+ mloda_plugins/function_extender/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
241
+ mloda_plugins/function_extender/base_implementations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
242
+ mloda_plugins/function_extender/base_implementations/otel/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
243
+ mloda_plugins/function_extender/base_implementations/otel/otel_extender.py,sha256=cKFWuVHOzk78Jm4zFfHxdTYcNVAzaM-ORSV0QCkScQM,660
244
+ mloda-0.4.1.dist-info/METADATA,sha256=j4uDstUwrWL39b6k1hPOe6GGPii4GeZL0nFDJNAnd3k,15802
245
+ mloda-0.4.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
246
+ mloda-0.4.1.dist-info/entry_points.txt,sha256=f7hp7s4laABj9eN5YwEjQAyInF-fa687MXdz-hKYMIA,80
247
+ mloda-0.4.1.dist-info/top_level.txt,sha256=zImHD-7ilfeB7QZ6Bd9Htwwx5O-Z84D0T2pUgKrGDdc,20
248
+ mloda-0.4.1.dist-info/RECORD,,
@@ -1,2 +1,2 @@
1
- mloda_core
1
+ mloda
2
2
  mloda_plugins
@@ -1,6 +1,6 @@
1
1
  from typing import Any
2
- from mloda_core.filter.filter_engine import BaseFilterEngine
3
- from mloda_core.filter.single_filter import SingleFilter
2
+ from mloda.provider import BaseFilterEngine
3
+ from mloda.user import SingleFilter
4
4
 
5
5
 
6
6
  class DuckDBFilterEngine(BaseFilterEngine):