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.
- mloda/__init__.py +17 -0
- {mloda_core → mloda/core}/abstract_plugins/components/base_artifact.py +2 -2
- {mloda_core → mloda/core}/abstract_plugins/components/base_validator.py +13 -0
- {mloda_core → mloda/core}/abstract_plugins/components/data_access_collection.py +1 -1
- {mloda_core → mloda/core}/abstract_plugins/components/data_types.py +39 -0
- {mloda_core → mloda/core}/abstract_plugins/components/feature.py +39 -33
- {mloda_core → mloda/core}/abstract_plugins/components/feature_chainer/feature_chain_parser.py +19 -19
- mloda/core/abstract_plugins/components/feature_chainer/feature_chain_parser_mixin.py +197 -0
- {mloda_core → mloda/core}/abstract_plugins/components/feature_collection.py +6 -6
- {mloda_core → mloda/core}/abstract_plugins/components/feature_group_version.py +8 -8
- {mloda_core → mloda/core}/abstract_plugins/components/feature_set.py +18 -24
- {mloda_core → mloda/core}/abstract_plugins/components/framework_transformer/cfw_transformer.py +2 -2
- {mloda_core → mloda/core}/abstract_plugins/components/index/add_index_feature.py +4 -4
- {mloda_core → mloda/core}/abstract_plugins/components/input_data/api/api_input_data.py +3 -3
- {mloda_core → mloda/core}/abstract_plugins/components/input_data/api/api_input_data_collection.py +2 -2
- {mloda_core → mloda/core}/abstract_plugins/components/input_data/api/base_api_data.py +1 -1
- {mloda_core → mloda/core}/abstract_plugins/components/input_data/base_input_data.py +6 -6
- {mloda_core → mloda/core}/abstract_plugins/components/input_data/creator/data_creator.py +3 -3
- mloda/core/abstract_plugins/components/link.py +437 -0
- {mloda_core → mloda/core}/abstract_plugins/components/match_data/match_data.py +3 -3
- {mloda_core → mloda/core}/abstract_plugins/components/merge/base_merge_engine.py +2 -2
- {mloda_core → mloda/core}/abstract_plugins/components/options.py +12 -36
- {mloda_core → mloda/core}/abstract_plugins/components/parallelization_modes.py +1 -1
- {mloda_core → mloda/core}/abstract_plugins/components/plugin_option/plugin_collector.py +14 -14
- mloda/core/abstract_plugins/components/validators/datatype_validator.py +96 -0
- mloda/core/abstract_plugins/components/validators/feature_set_validator.py +38 -0
- mloda/core/abstract_plugins/components/validators/feature_validator.py +23 -0
- mloda/core/abstract_plugins/components/validators/link_validator.py +79 -0
- mloda/core/abstract_plugins/components/validators/options_validator.py +57 -0
- mloda_core/abstract_plugins/compute_frame_work.py → mloda/core/abstract_plugins/compute_framework.py +45 -37
- mloda_core/abstract_plugins/abstract_feature_group.py → mloda/core/abstract_plugins/feature_group.py +56 -33
- mloda/core/abstract_plugins/function_extender.py +78 -0
- mloda/core/api/plugin_docs.py +220 -0
- mloda/core/api/plugin_info.py +32 -0
- {mloda_core → mloda/core}/api/prepare/setup_compute_framework.py +11 -11
- {mloda_core → mloda/core}/api/request.py +42 -33
- {mloda_core → mloda/core}/core/cfw_manager.py +8 -8
- {mloda_core → mloda/core}/core/engine.py +47 -47
- {mloda_core → mloda/core}/core/step/abstract_step.py +7 -7
- {mloda_core → mloda/core}/core/step/feature_group_step.py +12 -12
- {mloda_core → mloda/core}/core/step/join_step.py +14 -14
- {mloda_core → mloda/core}/core/step/transform_frame_work_step.py +16 -16
- {mloda_core → mloda/core}/filter/filter_engine.py +1 -1
- {mloda_core → mloda/core}/filter/filter_type_enum.py +1 -1
- {mloda_core → mloda/core}/filter/global_filter.py +23 -23
- {mloda_core → mloda/core}/filter/single_filter.py +6 -6
- {mloda_core → mloda/core}/prepare/accessible_plugins.py +15 -18
- {mloda_core → mloda/core}/prepare/execution_plan.py +65 -39
- {mloda_core → mloda/core}/prepare/graph/build_graph.py +6 -6
- {mloda_core → mloda/core}/prepare/graph/graph.py +1 -1
- {mloda_core → mloda/core}/prepare/graph/properties.py +5 -5
- {mloda_core → mloda/core}/prepare/identify_feature_group.py +12 -14
- {mloda_core → mloda/core}/prepare/joinstep_collection.py +3 -3
- {mloda_core → mloda/core}/prepare/resolve_compute_frameworks.py +6 -6
- {mloda_core → mloda/core}/prepare/resolve_graph.py +11 -11
- {mloda_core → mloda/core}/prepare/resolve_links.py +11 -31
- mloda/core/prepare/validators/resolve_link_validator.py +32 -0
- mloda/core/runtime/compute_framework_executor.py +271 -0
- mloda/core/runtime/data_lifecycle_manager.py +160 -0
- mloda/core/runtime/flight/__init__.py +0 -0
- {mloda_core → mloda/core}/runtime/flight/runner_flight_server.py +1 -1
- mloda/core/runtime/run.py +317 -0
- mloda/core/runtime/worker/__init__.py +0 -0
- {mloda_core → mloda/core}/runtime/worker/multiprocessing_worker.py +15 -10
- {mloda_core → mloda/core}/runtime/worker/thread_worker.py +2 -2
- mloda/core/runtime/worker_manager.py +96 -0
- mloda/provider/__init__.py +101 -0
- mloda/steward/__init__.py +25 -0
- mloda/user/__init__.py +57 -0
- {mloda-0.3.3.dist-info → mloda-0.4.1.dist-info}/METADATA +24 -31
- mloda-0.4.1.dist-info/RECORD +248 -0
- {mloda-0.3.3.dist-info → mloda-0.4.1.dist-info}/top_level.txt +1 -1
- mloda_plugins/compute_framework/base_implementations/duckdb/duckdb_filter_engine.py +2 -2
- mloda_plugins/compute_framework/base_implementations/duckdb/duckdb_framework.py +15 -13
- mloda_plugins/compute_framework/base_implementations/duckdb/duckdb_merge_engine.py +3 -3
- mloda_plugins/compute_framework/base_implementations/duckdb/duckdb_pyarrow_transformer.py +1 -1
- mloda_plugins/compute_framework/base_implementations/iceberg/iceberg_filter_engine.py +2 -2
- mloda_plugins/compute_framework/base_implementations/iceberg/iceberg_framework.py +12 -10
- mloda_plugins/compute_framework/base_implementations/iceberg/iceberg_pyarrow_transformer.py +1 -1
- mloda_plugins/compute_framework/base_implementations/pandas/dataframe.py +18 -16
- mloda_plugins/compute_framework/base_implementations/pandas/pandas_filter_engine.py +36 -13
- mloda_plugins/compute_framework/base_implementations/pandas/pandas_merge_engine.py +7 -7
- mloda_plugins/compute_framework/base_implementations/pandas/pandaspyarrowtransformer.py +1 -1
- mloda_plugins/compute_framework/base_implementations/polars/dataframe.py +16 -14
- mloda_plugins/compute_framework/base_implementations/polars/lazy_dataframe.py +13 -12
- mloda_plugins/compute_framework/base_implementations/polars/polars_filter_engine.py +2 -2
- mloda_plugins/compute_framework/base_implementations/polars/polars_lazy_pyarrow_transformer.py +1 -1
- mloda_plugins/compute_framework/base_implementations/polars/polars_merge_engine.py +3 -3
- mloda_plugins/compute_framework/base_implementations/polars/polars_pyarrow_transformer.py +1 -1
- mloda_plugins/compute_framework/base_implementations/pyarrow/pyarrow_filter_engine.py +2 -2
- mloda_plugins/compute_framework/base_implementations/pyarrow/pyarrow_merge_engine.py +3 -3
- mloda_plugins/compute_framework/base_implementations/pyarrow/table.py +12 -11
- mloda_plugins/compute_framework/base_implementations/python_dict/python_dict_filter_engine.py +2 -2
- mloda_plugins/compute_framework/base_implementations/python_dict/python_dict_framework.py +11 -9
- mloda_plugins/compute_framework/base_implementations/python_dict/python_dict_merge_engine.py +3 -3
- mloda_plugins/compute_framework/base_implementations/python_dict/python_dict_pyarrow_transformer.py +1 -1
- mloda_plugins/compute_framework/base_implementations/spark/spark_filter_engine.py +2 -2
- mloda_plugins/compute_framework/base_implementations/spark/spark_framework.py +17 -15
- mloda_plugins/compute_framework/base_implementations/spark/spark_merge_engine.py +2 -3
- mloda_plugins/compute_framework/base_implementations/spark/spark_pyarrow_transformer.py +1 -1
- mloda_plugins/config/feature/loader.py +2 -2
- mloda_plugins/feature_group/experimental/aggregated_feature_group/base.py +45 -64
- mloda_plugins/feature_group/experimental/aggregated_feature_group/pandas.py +2 -2
- mloda_plugins/feature_group/experimental/aggregated_feature_group/polars_lazy.py +2 -2
- mloda_plugins/feature_group/experimental/aggregated_feature_group/pyarrow.py +2 -2
- mloda_plugins/feature_group/experimental/clustering/base.py +67 -97
- mloda_plugins/feature_group/experimental/clustering/pandas.py +2 -2
- mloda_plugins/feature_group/experimental/data_quality/missing_value/base.py +58 -82
- mloda_plugins/feature_group/experimental/data_quality/missing_value/pandas.py +2 -2
- mloda_plugins/feature_group/experimental/data_quality/missing_value/pyarrow.py +2 -2
- mloda_plugins/feature_group/experimental/data_quality/missing_value/python_dict.py +2 -2
- mloda_plugins/feature_group/experimental/default_options_key.py +16 -19
- mloda_plugins/feature_group/experimental/dimensionality_reduction/base.py +81 -96
- mloda_plugins/feature_group/experimental/dimensionality_reduction/pandas.py +2 -2
- mloda_plugins/feature_group/experimental/dynamic_feature_group_factory/dynamic_feature_group_factory.py +24 -24
- mloda_plugins/feature_group/experimental/forecasting/base.py +108 -106
- mloda_plugins/feature_group/experimental/forecasting/forecasting_artifact.py +2 -2
- mloda_plugins/feature_group/experimental/forecasting/pandas.py +15 -15
- mloda_plugins/feature_group/experimental/geo_distance/base.py +52 -44
- mloda_plugins/feature_group/experimental/geo_distance/pandas.py +2 -3
- mloda_plugins/feature_group/experimental/llm/cli.py +4 -4
- mloda_plugins/feature_group/experimental/llm/cli_features/refactor_git_cached.py +19 -19
- mloda_plugins/feature_group/experimental/llm/installed_packages_feature_group.py +8 -8
- mloda_plugins/feature_group/experimental/llm/list_directory_feature_group.py +5 -5
- mloda_plugins/feature_group/experimental/llm/llm_api/claude.py +3 -3
- mloda_plugins/feature_group/experimental/llm/llm_api/gemini.py +3 -3
- mloda_plugins/feature_group/experimental/llm/llm_api/llm_base_request.py +5 -5
- mloda_plugins/feature_group/experimental/llm/llm_api/openai.py +3 -3
- mloda_plugins/feature_group/experimental/llm/llm_api/request_loop.py +6 -6
- mloda_plugins/feature_group/experimental/llm/llm_file_selector.py +10 -10
- mloda_plugins/feature_group/experimental/llm/tools/tool_collection.py +1 -1
- mloda_plugins/feature_group/experimental/node_centrality/base.py +46 -74
- mloda_plugins/feature_group/experimental/node_centrality/pandas.py +2 -2
- mloda_plugins/feature_group/experimental/sklearn/encoding/base.py +53 -53
- mloda_plugins/feature_group/experimental/sklearn/encoding/pandas.py +2 -2
- mloda_plugins/feature_group/experimental/sklearn/pipeline/base.py +52 -39
- mloda_plugins/feature_group/experimental/sklearn/pipeline/pandas.py +3 -4
- mloda_plugins/feature_group/experimental/sklearn/scaling/base.py +44 -60
- mloda_plugins/feature_group/experimental/sklearn/scaling/pandas.py +2 -2
- mloda_plugins/feature_group/experimental/sklearn/sklearn_artifact.py +2 -3
- mloda_plugins/feature_group/experimental/source_input_feature.py +15 -15
- mloda_plugins/feature_group/experimental/text_cleaning/base.py +38 -63
- mloda_plugins/feature_group/experimental/text_cleaning/pandas.py +2 -2
- mloda_plugins/feature_group/experimental/text_cleaning/python_dict.py +2 -2
- mloda_plugins/feature_group/experimental/time_window/base.py +108 -95
- mloda_plugins/feature_group/experimental/time_window/pandas.py +13 -13
- mloda_plugins/feature_group/experimental/time_window/pyarrow.py +12 -12
- mloda_plugins/feature_group/input_data/api_data/api_data.py +9 -11
- mloda_plugins/feature_group/input_data/read_context_files.py +7 -7
- mloda_plugins/feature_group/input_data/read_db.py +7 -9
- mloda_plugins/feature_group/input_data/read_db_feature.py +4 -4
- mloda_plugins/feature_group/input_data/read_dbs/sqlite.py +23 -13
- mloda_plugins/feature_group/input_data/read_file.py +8 -8
- mloda_plugins/feature_group/input_data/read_file_feature.py +4 -4
- mloda_plugins/feature_group/input_data/read_files/csv.py +6 -6
- mloda_plugins/feature_group/input_data/read_files/feather.py +5 -5
- mloda_plugins/feature_group/input_data/read_files/json.py +5 -5
- mloda_plugins/feature_group/input_data/read_files/orc.py +5 -5
- mloda_plugins/feature_group/input_data/read_files/parquet.py +5 -5
- mloda_plugins/feature_group/input_data/read_files/text_file_reader.py +5 -5
- mloda_plugins/function_extender/base_implementations/otel/otel_extender.py +4 -4
- mloda-0.3.3.dist-info/RECORD +0 -230
- mloda_core/abstract_plugins/components/link.py +0 -286
- mloda_core/abstract_plugins/function_extender.py +0 -34
- mloda_core/runtime/run.py +0 -617
- {mloda_core → mloda/core}/__init__.py +0 -0
- {mloda_core → mloda/core}/abstract_plugins/__init__.py +0 -0
- {mloda_core → mloda/core}/abstract_plugins/components/__init__.py +0 -0
- {mloda_core → mloda/core}/abstract_plugins/components/domain.py +0 -0
- {mloda_core → mloda/core}/abstract_plugins/components/feature_chainer/__init__.py +0 -0
- {mloda_core → mloda/core}/abstract_plugins/components/feature_name.py +0 -0
- {mloda_core → mloda/core}/abstract_plugins/components/framework_transformer/__init__.py +0 -0
- {mloda_core → mloda/core}/abstract_plugins/components/framework_transformer/base_transformer.py +0 -0
- {mloda_core → mloda/core}/abstract_plugins/components/hashable_dict.py +0 -0
- {mloda_core → mloda/core}/abstract_plugins/components/index/__init__.py +0 -0
- {mloda_core → mloda/core}/abstract_plugins/components/index/index.py +0 -0
- {mloda_core → mloda/core}/abstract_plugins/components/input_data/__init__.py +0 -0
- {mloda_core → mloda/core}/abstract_plugins/components/input_data/api/__init__.py +0 -0
- {mloda_core → mloda/core}/abstract_plugins/components/input_data/creator/__init__.py +0 -0
- {mloda_core → mloda/core}/abstract_plugins/components/match_data/__init__.py +0 -0
- {mloda_core → mloda/core}/abstract_plugins/components/merge/__init__.py +0 -0
- {mloda_core → mloda/core}/abstract_plugins/components/plugin_option/__init__.py +0 -0
- {mloda_core → mloda/core}/abstract_plugins/components/utils.py +0 -0
- {mloda_core/abstract_plugins/plugin_loader → mloda/core/abstract_plugins/components/validators}/__init__.py +0 -0
- {mloda_core/api → mloda/core/abstract_plugins/plugin_loader}/__init__.py +0 -0
- {mloda_core → mloda/core}/abstract_plugins/plugin_loader/plugin_loader.py +0 -0
- {mloda_core/api/prepare → mloda/core/api}/__init__.py +0 -0
- {mloda_core/core → mloda/core/api/prepare}/__init__.py +0 -0
- {mloda_core/core/step → mloda/core/core}/__init__.py +0 -0
- {mloda_core/filter → mloda/core/core/step}/__init__.py +0 -0
- {mloda_core/prepare → mloda/core/filter}/__init__.py +0 -0
- {mloda_core → mloda/core}/filter/filter_parameter.py +0 -0
- {mloda_core/prepare/graph → mloda/core/prepare}/__init__.py +0 -0
- {mloda_core/runtime → mloda/core/prepare/graph}/__init__.py +0 -0
- {mloda_core/runtime/flight → mloda/core/prepare/validators}/__init__.py +0 -0
- {mloda_core/runtime/worker → mloda/core/runtime}/__init__.py +0 -0
- {mloda_core → mloda/core}/runtime/flight/flight_server.py +0 -0
- {mloda-0.3.3.dist-info → mloda-0.4.1.dist-info}/WHEEL +0 -0
- {mloda-0.3.3.dist-info → mloda-0.4.1.dist-info}/entry_points.txt +0 -0
- {mloda-0.3.3.dist-info → mloda-0.4.1.dist-info}/licenses/LICENSE.TXT +0 -0
- {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.
|
|
4
|
-
Summary:
|
|
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
|
|
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(
|
|
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
|
|
81
|
-
|
|
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 =
|
|
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=
|
|
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. **
|
|
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
|
|
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 =
|
|
188
|
+
# result = mloda.run_all(
|
|
194
189
|
# features=features,
|
|
195
|
-
# compute_frameworks=
|
|
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(
|
|
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
|
|
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 =
|
|
233
|
+
# result = mloda.run_all(
|
|
239
234
|
# features=["customer_id", "income__standard_scaled"],
|
|
240
|
-
# compute_frameworks=
|
|
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
|
|
243
|
+
# from mloda.provider import ApiDataCollection
|
|
249
244
|
#
|
|
250
|
-
# api_input_data_collection =
|
|
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 =
|
|
251
|
+
# result = mloda.run_all(
|
|
257
252
|
# features=["customer_id", "age__standard_scaled"],
|
|
258
|
-
# compute_frameworks=
|
|
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 =
|
|
270
|
+
result = mloda.run_all(
|
|
276
271
|
features=["customer_id", "income__standard_scaled"],
|
|
277
|
-
compute_frameworks=
|
|
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 =
|
|
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=
|
|
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
|
-
|
|
1
|
+
mloda
|
|
2
2
|
mloda_plugins
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from typing import Any
|
|
2
|
-
from
|
|
3
|
-
from
|
|
2
|
+
from mloda.provider import BaseFilterEngine
|
|
3
|
+
from mloda.user import SingleFilter
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
class DuckDBFilterEngine(BaseFilterEngine):
|