omnata-plugin-runtime 0.5.7a138__py3-none-any.whl → 0.5.7a140__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.
- omnata_plugin_runtime/omnata_plugin.py +27 -1
- {omnata_plugin_runtime-0.5.7a138.dist-info → omnata_plugin_runtime-0.5.7a140.dist-info}/METADATA +1 -1
- {omnata_plugin_runtime-0.5.7a138.dist-info → omnata_plugin_runtime-0.5.7a140.dist-info}/RECORD +5 -5
- {omnata_plugin_runtime-0.5.7a138.dist-info → omnata_plugin_runtime-0.5.7a140.dist-info}/LICENSE +0 -0
- {omnata_plugin_runtime-0.5.7a138.dist-info → omnata_plugin_runtime-0.5.7a140.dist-info}/WHEEL +0 -0
@@ -2232,22 +2232,36 @@ def get_nested_value(nested_dict:Dict, keys:List[str]):
|
|
2232
2232
|
|
2233
2233
|
@dataclass
|
2234
2234
|
class SnowflakeFunctionParameter:
|
2235
|
+
"""
|
2236
|
+
Represents a parameter for a Snowflake UDF or UDTF
|
2237
|
+
"""
|
2235
2238
|
name: str
|
2236
2239
|
description: str
|
2237
2240
|
data_type: str
|
2238
|
-
has_default_value: bool = False
|
2239
2241
|
default_value_clause: Optional[str] = None
|
2240
2242
|
|
2243
|
+
def __str__(self):
|
2244
|
+
if self.default_value_clause:
|
2245
|
+
return f"{self.name} {self.data_type} default {self.default_value_clause}"
|
2246
|
+
return f"{self.name} {self.data_type}"
|
2247
|
+
|
2241
2248
|
@dataclass
|
2242
2249
|
class SnowflakeUDTFResultColumn:
|
2250
|
+
"""
|
2251
|
+
Represents a result column for a Snowflake UDTF
|
2252
|
+
"""
|
2243
2253
|
name: str
|
2244
2254
|
data_type: str
|
2245
2255
|
description: str
|
2246
2256
|
|
2247
2257
|
def consumer_udtf(
|
2258
|
+
name:str,
|
2248
2259
|
description: str,
|
2249
2260
|
params: List[SnowflakeFunctionParameter],
|
2250
2261
|
result_columns: List[SnowflakeUDTFResultColumn]):
|
2262
|
+
"""
|
2263
|
+
A decorator for a class which should be automatically exposed to the consumer as a UDTF
|
2264
|
+
"""
|
2251
2265
|
def class_decorator(cls):
|
2252
2266
|
# Get the original 'process' method from the class
|
2253
2267
|
original_process = getattr(cls, 'process')
|
@@ -2295,6 +2309,7 @@ def consumer_udtf(
|
|
2295
2309
|
# Replace the original 'process' method with the wrapped version
|
2296
2310
|
setattr(cls, 'process', wrapped_process)
|
2297
2311
|
cls._is_omnata_consumer_udtf = True
|
2312
|
+
cls._omnata_consumer_udtf_name = name
|
2298
2313
|
cls._omnata_consumer_udtf_description = description
|
2299
2314
|
cls._omnata_consumer_udtf_params = params
|
2300
2315
|
cls._omnata_consumer_udtf_result_columns = result_columns
|
@@ -2303,6 +2318,9 @@ def consumer_udtf(
|
|
2303
2318
|
return class_decorator
|
2304
2319
|
|
2305
2320
|
def find_consumer_udtf_classes(path:str = '.'):
|
2321
|
+
"""
|
2322
|
+
Finds all classes in the specified directory which have the 'consumer_udtf' decorator applied
|
2323
|
+
"""
|
2306
2324
|
# Get the directory's absolute path
|
2307
2325
|
current_dir = os.path.abspath(path)
|
2308
2326
|
|
@@ -2323,9 +2341,13 @@ def find_consumer_udtf_classes(path:str = '.'):
|
|
2323
2341
|
|
2324
2342
|
|
2325
2343
|
def consumer_udf(
|
2344
|
+
name: str,
|
2326
2345
|
description: str,
|
2327
2346
|
params: List[SnowflakeFunctionParameter],
|
2328
2347
|
result_data_type: str):
|
2348
|
+
"""
|
2349
|
+
A decorator for a function which should be automatically exposed to the consumer as a UDF
|
2350
|
+
"""
|
2329
2351
|
def decorator(func):
|
2330
2352
|
sig = signature(func)
|
2331
2353
|
function_params = sig.parameters
|
@@ -2363,6 +2385,7 @@ def consumer_udf(
|
|
2363
2385
|
return func(parameters, *args, **kwargs)
|
2364
2386
|
|
2365
2387
|
wrapper._is_omnata_consumer_udf = True
|
2388
|
+
wrapper._omnata_consumer_udf_name = name
|
2366
2389
|
wrapper._omnata_consumer_udf_description = description
|
2367
2390
|
wrapper._omnata_consumer_udf_params = params
|
2368
2391
|
wrapper._omnata_consumer_udf_result_data_type = result_data_type
|
@@ -2371,6 +2394,9 @@ def consumer_udf(
|
|
2371
2394
|
return decorator
|
2372
2395
|
|
2373
2396
|
def find_consumer_udf_functions(path:str = '.'):
|
2397
|
+
"""
|
2398
|
+
Finds all functions in the specified directory which have the 'consumer_udf' decorator applied
|
2399
|
+
"""
|
2374
2400
|
# Get the current directory's absolute path
|
2375
2401
|
current_dir = os.path.abspath(path)
|
2376
2402
|
|
{omnata_plugin_runtime-0.5.7a138.dist-info → omnata_plugin_runtime-0.5.7a140.dist-info}/RECORD
RENAMED
@@ -3,10 +3,10 @@ omnata_plugin_runtime/api.py,sha256=FxzTqri4no8ClkOm7vZADG8aD47jcGBCTTQDEORmOJM,
|
|
3
3
|
omnata_plugin_runtime/configuration.py,sha256=TI6GaVFhewVawBCaYN34GujY57qEP6q2nik4YpSEk5s,38100
|
4
4
|
omnata_plugin_runtime/forms.py,sha256=GzSPEwcijsoPCXEO1mHiE8ylvX_KSE5TkhwqkymA2Ss,19755
|
5
5
|
omnata_plugin_runtime/logging.py,sha256=bn7eKoNWvtuyTk7RTwBS9UARMtqkiICtgMtzq3KA2V0,3272
|
6
|
-
omnata_plugin_runtime/omnata_plugin.py,sha256=
|
6
|
+
omnata_plugin_runtime/omnata_plugin.py,sha256=nPCJ6b2cYFS-Gh_UmLUaJvfjgI8v1-DVZWFYWSuj2j8,120102
|
7
7
|
omnata_plugin_runtime/plugin_entrypoints.py,sha256=PFSLsYEVnWHVvSoOYTtTK2JY6pp6_8_eYP53WqLRiPE,27975
|
8
8
|
omnata_plugin_runtime/rate_limiting.py,sha256=DVQ_bc-mVLBkrU1PTns1MWXhHiLpSB5HkWCcdePtJ2A,25611
|
9
|
-
omnata_plugin_runtime-0.5.
|
10
|
-
omnata_plugin_runtime-0.5.
|
11
|
-
omnata_plugin_runtime-0.5.
|
12
|
-
omnata_plugin_runtime-0.5.
|
9
|
+
omnata_plugin_runtime-0.5.7a140.dist-info/LICENSE,sha256=IMF9i4xIpgCADf0U-V1cuf9HBmqWQd3qtI3FSuyW4zE,26526
|
10
|
+
omnata_plugin_runtime-0.5.7a140.dist-info/METADATA,sha256=-ohRghA5Z5Z1hblZCVo0qLLniQhM9DmC0N-NJWlwsXM,1985
|
11
|
+
omnata_plugin_runtime-0.5.7a140.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
12
|
+
omnata_plugin_runtime-0.5.7a140.dist-info/RECORD,,
|
{omnata_plugin_runtime-0.5.7a138.dist-info → omnata_plugin_runtime-0.5.7a140.dist-info}/LICENSE
RENAMED
File without changes
|
{omnata_plugin_runtime-0.5.7a138.dist-info → omnata_plugin_runtime-0.5.7a140.dist-info}/WHEEL
RENAMED
File without changes
|