mloda 0.4.2__py3-none-any.whl → 0.4.4__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/core/py.typed ADDED
File without changes
File without changes
mloda/steward/py.typed ADDED
File without changes
mloda/user/py.typed ADDED
File without changes
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mloda
3
- Version: 0.4.2
4
- Summary: mloda: One Data Access for ML and AI
3
+ Version: 0.4.4
4
+ Summary: mloda.ai: Open Data Access for ML and AI
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
@@ -306,6 +306,17 @@ Built-in and custom extenders give you full lineage - trace any result back to i
306
306
 
307
307
  ---
308
308
 
309
+ ## Ecosystem
310
+
311
+ Most plugins currently live in `mloda_plugins/` within this repository. The goal is to gradually migrate them to standalone packages in the registry.
312
+
313
+ | Repository | Description |
314
+ |------------|-------------|
315
+ | [mloda-registry](https://github.com/mloda-ai/mloda-registry) | Official plugin packages and 40+ development guides |
316
+ | [mloda-plugin-template](https://github.com/mloda-ai/mloda-plugin-template) | Cookiecutter template for creating standalone plugins |
317
+
318
+ ---
319
+
309
320
  ## Contributing
310
321
 
311
322
  We welcome contributions! Build plugins, improve docs, or add features.
@@ -1,4 +1,5 @@
1
1
  mloda/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ mloda/core/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
3
  mloda/core/abstract_plugins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
4
  mloda/core/abstract_plugins/compute_framework.py,sha256=n4qpY7GJqdjSpYWYqKhGYTBjfXjlUx10HVqaxAp8M_o,19661
4
5
  mloda/core/abstract_plugins/feature_group.py,sha256=YbttT6zY3uXa7FeBvuFA1hmJi-AcLe1LkqYJkUpcxHE,19233
@@ -100,11 +101,15 @@ mloda/core/runtime/worker/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJW
100
101
  mloda/core/runtime/worker/multiprocessing_worker.py,sha256=kPis4w9VgCnLYF8sIB6C8tKDFEQt-gD4nHHEdr6NW2g,4989
101
102
  mloda/core/runtime/worker/thread_worker.py,sha256=cpD9hqz6nuUfKyLlXLKCjWm4GIPBHa7OeI5K4fPln1A,670
102
103
  mloda/provider/__init__.py,sha256=vMNvZHJqeaE_f6zTuSYy9yM-MVdeMlm2g4RqQPDpxBQ,3884
104
+ mloda/provider/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
103
105
  mloda/steward/__init__.py,sha256=PPXY3o4OM_daV6wD3DJNuPPCEEQg5NeETlG6cAmkzRE,696
106
+ mloda/steward/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
104
107
  mloda/user/__init__.py,sha256=TG00kApwQzj8FCRIsTy-PomisoULbSTh5CgqlUT6Wvc,1879
105
- mloda-0.4.2.dist-info/licenses/LICENSE.TXT,sha256=gmhQwSkHxjiShsqQ1FpJ-20YFtaa4vRCE7aCx55-6nk,11366
106
- mloda-0.4.2.dist-info/licenses/NOTICE.md,sha256=Hu10B2sPnGLIHxZ4QhACSLLxukJpeJzjvkzCu48q5fY,520
108
+ mloda/user/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
109
+ mloda-0.4.4.dist-info/licenses/LICENSE.TXT,sha256=gmhQwSkHxjiShsqQ1FpJ-20YFtaa4vRCE7aCx55-6nk,11366
110
+ mloda-0.4.4.dist-info/licenses/NOTICE.md,sha256=Hu10B2sPnGLIHxZ4QhACSLLxukJpeJzjvkzCu48q5fY,520
107
111
  mloda_plugins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
112
+ mloda_plugins/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
108
113
  mloda_plugins/compute_framework/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
109
114
  mloda_plugins/compute_framework/base_implementations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
110
115
  mloda_plugins/compute_framework/base_implementations/duckdb/duckdb_filter_engine.py,sha256=FmYR-fq3iSXEJqDpT3r_LpyVqblCqQv6kz6VNHONe-c,5003
@@ -149,7 +154,7 @@ mloda_plugins/feature_group/experimental/aggregated_feature_group/pandas.py,sha2
149
154
  mloda_plugins/feature_group/experimental/aggregated_feature_group/polars_lazy.py,sha256=NM59vF9A1m-i3zSvz8DwaSJ4a284iMGsf17CCIdridY,6224
150
155
  mloda_plugins/feature_group/experimental/aggregated_feature_group/pyarrow.py,sha256=9VcD7wLWt57z9z9uRwwl22qVgwMBYFoeZ3iGsBvBBns,5656
151
156
  mloda_plugins/feature_group/experimental/clustering/__init__.py,sha256=769NSapfi48V7BBh8zoo-ale2We6K4OV6ocNlzAhfEw,59
152
- mloda_plugins/feature_group/experimental/clustering/base.py,sha256=vlxEg_8g6wc-CPC55_SEdy3A6j0anCWOX3nmHvYRnRQ,16391
157
+ mloda_plugins/feature_group/experimental/clustering/base.py,sha256=CCIi5ohOTkY4os3Ah0V09Ht4hPMXZc1NXMiN7ME42wc,16411
153
158
  mloda_plugins/feature_group/experimental/clustering/pandas.py,sha256=qZhlnC5L96wPo4PfkwJJzG0_dZ8CCFEq38eyG5nIYJ0,19239
154
159
  mloda_plugins/feature_group/experimental/data_quality/__init__.py,sha256=ga8jdKaLl4bxkxMqNtRbrkHFnRWZIp8f3bR7DVG5d-I,45
155
160
  mloda_plugins/feature_group/experimental/data_quality/missing_value/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -157,12 +162,12 @@ mloda_plugins/feature_group/experimental/data_quality/missing_value/base.py,sha2
157
162
  mloda_plugins/feature_group/experimental/data_quality/missing_value/pandas.py,sha256=QGdIHohILRmHrjk6WrNobn5jSz7H_aLK83_bxzCN9RE,8510
158
163
  mloda_plugins/feature_group/experimental/data_quality/missing_value/pyarrow.py,sha256=H8yMtnCf3Z4BZde676YwIPSpsjUGfi1pU2HXNoSRArw,14204
159
164
  mloda_plugins/feature_group/experimental/data_quality/missing_value/python_dict.py,sha256=Dnh0WcT1xjNETkDa7Wd5u-zCu_g20-fa_QEuh_-eK-Y,13856
160
- mloda_plugins/feature_group/experimental/dimensionality_reduction/base.py,sha256=x1IfNtebathgYFc4j5NKcXuoH_7HcpKl3o8sWxmd0s0,15859
165
+ mloda_plugins/feature_group/experimental/dimensionality_reduction/base.py,sha256=Dul6GdYLgRe_DAcoMWM6KYrjYE9iwBNCuX90VNFvHhQ,15899
161
166
  mloda_plugins/feature_group/experimental/dimensionality_reduction/pandas.py,sha256=Bl3xVPyQTuDAtxBVuS09tAWE4RVbh5i15z0h3l6UYLI,13690
162
167
  mloda_plugins/feature_group/experimental/dynamic_feature_group_factory/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
163
168
  mloda_plugins/feature_group/experimental/dynamic_feature_group_factory/dynamic_feature_group_factory.py,sha256=Gn6dvrWQ2ldNWRMsuEhlT3jp_tqC1FVlr0pGpJnkrVs,12982
164
169
  mloda_plugins/feature_group/experimental/forecasting/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
165
- mloda_plugins/feature_group/experimental/forecasting/base.py,sha256=CquLd04XX6wBroTxT0lYIQ3GkYKblbWPG6sXP-sGvFg,23095
170
+ mloda_plugins/feature_group/experimental/forecasting/base.py,sha256=or_y_sryVjN_D2v3W2Fx1EQRi-bQSUBcEye1X7xX2Ws,23085
166
171
  mloda_plugins/feature_group/experimental/forecasting/forecasting_artifact.py,sha256=9i9Eg5PEFEl6Nq12RTPxCeVlZZ9u-Xmju-lJRARqOVI,4215
167
172
  mloda_plugins/feature_group/experimental/forecasting/pandas.py,sha256=sJaZmBCISr68kB5yGuTXzN9gpa60VF4DPQDIkJBgugM,28719
168
173
  mloda_plugins/feature_group/experimental/geo_distance/__init__.py,sha256=wqp7I3j87AmrVBi2rlqcz4Sj-R1QMe3EasmNFb_Zxg4,85
@@ -215,7 +220,7 @@ mloda_plugins/feature_group/experimental/text_cleaning/base.py,sha256=fJyMZfg_qe
215
220
  mloda_plugins/feature_group/experimental/text_cleaning/pandas.py,sha256=VUlFcyeMENBUJu_Mm-dHn5Xwj0SlUhTiyIjhXri4-jE,7307
216
221
  mloda_plugins/feature_group/experimental/text_cleaning/python_dict.py,sha256=doE7juFYH809_YV_p-yKj1ZTqJWFGLu55OXMJ0kk7B4,7797
217
222
  mloda_plugins/feature_group/experimental/time_window/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
218
- mloda_plugins/feature_group/experimental/time_window/base.py,sha256=6MJGJoDP_Vu18rQ6bvVpwgwRuaez--55KhH_LTWq9ro,17699
223
+ mloda_plugins/feature_group/experimental/time_window/base.py,sha256=Y2XaU3mmxmaBFwAAdMB0-KAxfwmvfoAVHQiqCtsIwm8,17719
219
224
  mloda_plugins/feature_group/experimental/time_window/pandas.py,sha256=4Ydj5R-Cb4_W6RmxSUUYkmcPSbu2ePOtCLt53VTd_8g,7801
220
225
  mloda_plugins/feature_group/experimental/time_window/pyarrow.py,sha256=DxryfWGjJl6InR_6Bisr9HAZQxreWL25TgnOmquJhss,10718
221
226
  mloda_plugins/feature_group/input_data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -239,8 +244,8 @@ mloda_plugins/function_extender/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm
239
244
  mloda_plugins/function_extender/base_implementations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
240
245
  mloda_plugins/function_extender/base_implementations/otel/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
241
246
  mloda_plugins/function_extender/base_implementations/otel/otel_extender.py,sha256=cKFWuVHOzk78Jm4zFfHxdTYcNVAzaM-ORSV0QCkScQM,660
242
- mloda-0.4.2.dist-info/METADATA,sha256=-bU0iiX1MMlihD02Zm9lVC1QxAJGHy5R4r1SoE-OhD4,11712
243
- mloda-0.4.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
244
- mloda-0.4.2.dist-info/entry_points.txt,sha256=f7hp7s4laABj9eN5YwEjQAyInF-fa687MXdz-hKYMIA,80
245
- mloda-0.4.2.dist-info/top_level.txt,sha256=zImHD-7ilfeB7QZ6Bd9Htwwx5O-Z84D0T2pUgKrGDdc,20
246
- mloda-0.4.2.dist-info/RECORD,,
247
+ mloda-0.4.4.dist-info/METADATA,sha256=b5c9VSB_4IgwuUtbIFE3KT-EaZQHIn5VCMGRi5zqmQ8,12199
248
+ mloda-0.4.4.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
249
+ mloda-0.4.4.dist-info/entry_points.txt,sha256=f7hp7s4laABj9eN5YwEjQAyInF-fa687MXdz-hKYMIA,80
250
+ mloda-0.4.4.dist-info/top_level.txt,sha256=zImHD-7ilfeB7QZ6Bd9Htwwx5O-Z84D0T2pUgKrGDdc,20
251
+ mloda-0.4.4.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.9.0)
2
+ Generator: setuptools (80.10.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -121,8 +121,9 @@ class ClusteringFeatureGroup(FeatureChainParserMixin, FeatureGroup):
121
121
  "explanation": "Number of clusters or 'auto' for automatic determination",
122
122
  DefaultOptionKeys.context: True, # Mark as context parameter
123
123
  DefaultOptionKeys.strict_validation: True, # Enable strict validation
124
- DefaultOptionKeys.validation_function: lambda value: value == "auto"
125
- or (isinstance(value, (int, str)) and str(value).isdigit() and int(value) > 0),
124
+ DefaultOptionKeys.validation_function: lambda value: (
125
+ value == "auto" or (isinstance(value, (int, str)) and str(value).isdigit() and int(value) > 0)
126
+ ),
126
127
  },
127
128
  DefaultOptionKeys.in_features: {
128
129
  "explanation": "Source features to use for clustering",
@@ -130,9 +130,9 @@ class DimensionalityReductionFeatureGroup(FeatureChainParserMixin, FeatureGroup)
130
130
  "explanation": "Target dimension for the reduction (positive integer)",
131
131
  DefaultOptionKeys.context: True,
132
132
  DefaultOptionKeys.strict_validation: True,
133
- DefaultOptionKeys.validation_function: lambda value: isinstance(value, (int, str))
134
- and str(value).isdigit()
135
- and int(value) > 0,
133
+ DefaultOptionKeys.validation_function: lambda value: (
134
+ isinstance(value, (int, str)) and str(value).isdigit() and int(value) > 0
135
+ ),
136
136
  },
137
137
  DefaultOptionKeys.in_features: {
138
138
  "explanation": "Source features to use for dimensionality reduction",
@@ -145,18 +145,18 @@ class DimensionalityReductionFeatureGroup(FeatureChainParserMixin, FeatureGroup)
145
145
  DefaultOptionKeys.context: True,
146
146
  DefaultOptionKeys.strict_validation: False,
147
147
  "default": 250,
148
- DefaultOptionKeys.validation_function: lambda value: isinstance(value, (int, str))
149
- and str(value).isdigit()
150
- and int(value) > 0,
148
+ DefaultOptionKeys.validation_function: lambda value: (
149
+ isinstance(value, (int, str)) and str(value).isdigit() and int(value) > 0
150
+ ),
151
151
  },
152
152
  TSNE_N_ITER_WITHOUT_PROGRESS: {
153
153
  "explanation": "Maximum iterations without progress before early stopping (t-SNE)",
154
154
  DefaultOptionKeys.context: True,
155
155
  DefaultOptionKeys.strict_validation: False,
156
156
  "default": 50,
157
- DefaultOptionKeys.validation_function: lambda value: isinstance(value, (int, str))
158
- and str(value).isdigit()
159
- and int(value) > 0,
157
+ DefaultOptionKeys.validation_function: lambda value: (
158
+ isinstance(value, (int, str)) and str(value).isdigit() and int(value) > 0
159
+ ),
160
160
  },
161
161
  TSNE_METHOD: {
162
162
  "barnes_hut": "Barnes-Hut approximation (faster, O(n log n))",
@@ -183,9 +183,9 @@ class DimensionalityReductionFeatureGroup(FeatureChainParserMixin, FeatureGroup)
183
183
  DefaultOptionKeys.context: True,
184
184
  DefaultOptionKeys.strict_validation: False,
185
185
  "default": 200,
186
- DefaultOptionKeys.validation_function: lambda value: isinstance(value, (int, str))
187
- and str(value).isdigit()
188
- and int(value) > 0,
186
+ DefaultOptionKeys.validation_function: lambda value: (
187
+ isinstance(value, (int, str)) and str(value).isdigit() and int(value) > 0
188
+ ),
189
189
  },
190
190
  # Isomap specific parameters
191
191
  ISOMAP_N_NEIGHBORS: {
@@ -193,9 +193,9 @@ class DimensionalityReductionFeatureGroup(FeatureChainParserMixin, FeatureGroup)
193
193
  DefaultOptionKeys.context: True,
194
194
  DefaultOptionKeys.strict_validation: False,
195
195
  "default": 5,
196
- DefaultOptionKeys.validation_function: lambda value: isinstance(value, (int, str))
197
- and str(value).isdigit()
198
- and int(value) > 0,
196
+ DefaultOptionKeys.validation_function: lambda value: (
197
+ isinstance(value, (int, str)) and str(value).isdigit() and int(value) > 0
198
+ ),
199
199
  },
200
200
  }
201
201
 
@@ -145,9 +145,8 @@ class ForecastingFeatureGroup(FeatureChainParserMixin, FeatureGroup):
145
145
  DefaultOptionKeys.context: True,
146
146
  DefaultOptionKeys.strict_validation: True,
147
147
  DefaultOptionKeys.validation_function: lambda x: (
148
- isinstance(x, int) or (isinstance(x, str) and x.isdigit())
149
- )
150
- and int(x) > 0,
148
+ (isinstance(x, int) or (isinstance(x, str) and x.isdigit())) and int(x) > 0
149
+ ),
151
150
  },
152
151
  TIME_UNIT: {
153
152
  **TIME_UNITS,
@@ -134,8 +134,9 @@ class TimeWindowFeatureGroup(FeatureChainParserMixin, FeatureGroup):
134
134
  "explanation": "Size of the time window (must be positive integer)",
135
135
  DefaultOptionKeys.context: True, # Mark as context parameter
136
136
  DefaultOptionKeys.strict_validation: True, # Enable strict validation
137
- DefaultOptionKeys.validation_function: lambda x: (isinstance(x, int) and x > 0)
138
- or (isinstance(x, str) and x.isdigit() and int(x) > 0),
137
+ DefaultOptionKeys.validation_function: lambda x: (
138
+ (isinstance(x, int) and x > 0) or (isinstance(x, str) and x.isdigit() and int(x) > 0)
139
+ ),
139
140
  },
140
141
  # Time unit parameter (context parameter)
141
142
  TIME_UNIT: {
mloda_plugins/py.typed ADDED
File without changes