mloda 0.4.3__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.
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mloda
3
- Version: 0.4.3
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.
@@ -106,8 +106,8 @@ mloda/steward/__init__.py,sha256=PPXY3o4OM_daV6wD3DJNuPPCEEQg5NeETlG6cAmkzRE,696
106
106
  mloda/steward/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
107
107
  mloda/user/__init__.py,sha256=TG00kApwQzj8FCRIsTy-PomisoULbSTh5CgqlUT6Wvc,1879
108
108
  mloda/user/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
109
- mloda-0.4.3.dist-info/licenses/LICENSE.TXT,sha256=gmhQwSkHxjiShsqQ1FpJ-20YFtaa4vRCE7aCx55-6nk,11366
110
- mloda-0.4.3.dist-info/licenses/NOTICE.md,sha256=Hu10B2sPnGLIHxZ4QhACSLLxukJpeJzjvkzCu48q5fY,520
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
111
111
  mloda_plugins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
112
112
  mloda_plugins/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
113
113
  mloda_plugins/compute_framework/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -154,7 +154,7 @@ mloda_plugins/feature_group/experimental/aggregated_feature_group/pandas.py,sha2
154
154
  mloda_plugins/feature_group/experimental/aggregated_feature_group/polars_lazy.py,sha256=NM59vF9A1m-i3zSvz8DwaSJ4a284iMGsf17CCIdridY,6224
155
155
  mloda_plugins/feature_group/experimental/aggregated_feature_group/pyarrow.py,sha256=9VcD7wLWt57z9z9uRwwl22qVgwMBYFoeZ3iGsBvBBns,5656
156
156
  mloda_plugins/feature_group/experimental/clustering/__init__.py,sha256=769NSapfi48V7BBh8zoo-ale2We6K4OV6ocNlzAhfEw,59
157
- 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
158
158
  mloda_plugins/feature_group/experimental/clustering/pandas.py,sha256=qZhlnC5L96wPo4PfkwJJzG0_dZ8CCFEq38eyG5nIYJ0,19239
159
159
  mloda_plugins/feature_group/experimental/data_quality/__init__.py,sha256=ga8jdKaLl4bxkxMqNtRbrkHFnRWZIp8f3bR7DVG5d-I,45
160
160
  mloda_plugins/feature_group/experimental/data_quality/missing_value/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -162,12 +162,12 @@ mloda_plugins/feature_group/experimental/data_quality/missing_value/base.py,sha2
162
162
  mloda_plugins/feature_group/experimental/data_quality/missing_value/pandas.py,sha256=QGdIHohILRmHrjk6WrNobn5jSz7H_aLK83_bxzCN9RE,8510
163
163
  mloda_plugins/feature_group/experimental/data_quality/missing_value/pyarrow.py,sha256=H8yMtnCf3Z4BZde676YwIPSpsjUGfi1pU2HXNoSRArw,14204
164
164
  mloda_plugins/feature_group/experimental/data_quality/missing_value/python_dict.py,sha256=Dnh0WcT1xjNETkDa7Wd5u-zCu_g20-fa_QEuh_-eK-Y,13856
165
- 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
166
166
  mloda_plugins/feature_group/experimental/dimensionality_reduction/pandas.py,sha256=Bl3xVPyQTuDAtxBVuS09tAWE4RVbh5i15z0h3l6UYLI,13690
167
167
  mloda_plugins/feature_group/experimental/dynamic_feature_group_factory/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
168
168
  mloda_plugins/feature_group/experimental/dynamic_feature_group_factory/dynamic_feature_group_factory.py,sha256=Gn6dvrWQ2ldNWRMsuEhlT3jp_tqC1FVlr0pGpJnkrVs,12982
169
169
  mloda_plugins/feature_group/experimental/forecasting/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
170
- 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
171
171
  mloda_plugins/feature_group/experimental/forecasting/forecasting_artifact.py,sha256=9i9Eg5PEFEl6Nq12RTPxCeVlZZ9u-Xmju-lJRARqOVI,4215
172
172
  mloda_plugins/feature_group/experimental/forecasting/pandas.py,sha256=sJaZmBCISr68kB5yGuTXzN9gpa60VF4DPQDIkJBgugM,28719
173
173
  mloda_plugins/feature_group/experimental/geo_distance/__init__.py,sha256=wqp7I3j87AmrVBi2rlqcz4Sj-R1QMe3EasmNFb_Zxg4,85
@@ -220,7 +220,7 @@ mloda_plugins/feature_group/experimental/text_cleaning/base.py,sha256=fJyMZfg_qe
220
220
  mloda_plugins/feature_group/experimental/text_cleaning/pandas.py,sha256=VUlFcyeMENBUJu_Mm-dHn5Xwj0SlUhTiyIjhXri4-jE,7307
221
221
  mloda_plugins/feature_group/experimental/text_cleaning/python_dict.py,sha256=doE7juFYH809_YV_p-yKj1ZTqJWFGLu55OXMJ0kk7B4,7797
222
222
  mloda_plugins/feature_group/experimental/time_window/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
223
- 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
224
224
  mloda_plugins/feature_group/experimental/time_window/pandas.py,sha256=4Ydj5R-Cb4_W6RmxSUUYkmcPSbu2ePOtCLt53VTd_8g,7801
225
225
  mloda_plugins/feature_group/experimental/time_window/pyarrow.py,sha256=DxryfWGjJl6InR_6Bisr9HAZQxreWL25TgnOmquJhss,10718
226
226
  mloda_plugins/feature_group/input_data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -244,8 +244,8 @@ mloda_plugins/function_extender/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm
244
244
  mloda_plugins/function_extender/base_implementations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
245
245
  mloda_plugins/function_extender/base_implementations/otel/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
246
246
  mloda_plugins/function_extender/base_implementations/otel/otel_extender.py,sha256=cKFWuVHOzk78Jm4zFfHxdTYcNVAzaM-ORSV0QCkScQM,660
247
- mloda-0.4.3.dist-info/METADATA,sha256=tSdRa18yEbeReTT2oa0iRzbnPfVJWtPpO6RpjvggB2E,11712
248
- mloda-0.4.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
249
- mloda-0.4.3.dist-info/entry_points.txt,sha256=f7hp7s4laABj9eN5YwEjQAyInF-fa687MXdz-hKYMIA,80
250
- mloda-0.4.3.dist-info/top_level.txt,sha256=zImHD-7ilfeB7QZ6Bd9Htwwx5O-Z84D0T2pUgKrGDdc,20
251
- mloda-0.4.3.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: {