omnata-plugin-runtime 0.6.1a164__tar.gz → 0.6.2a165__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: omnata-plugin-runtime
3
- Version: 0.6.1a164
3
+ Version: 0.6.2a165
4
4
  Summary: Classes and common runtime components for building and running Omnata Plugins
5
5
  Author: James Weakley
6
6
  Author-email: james.weakley@omnata.com
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "omnata-plugin-runtime"
3
- version = "0.6.1-a164"
3
+ version = "0.6.2-a165"
4
4
  description = "Classes and common runtime components for building and running Omnata Plugins"
5
5
  authors = ["James Weakley <james.weakley@omnata.com>"]
6
6
  readme = "README.md"
@@ -2397,39 +2397,40 @@ def find_udtf_classes(path:str = '.') -> List[UDTFDefinition]:
2397
2397
  matching_classes = []
2398
2398
 
2399
2399
  # Iterate over all modules in the current directory
2400
- for _, module_name, _ in pkgutil.iter_modules([current_dir]):
2401
- # Import the module
2402
- module = importlib.import_module(module_name)
2403
-
2404
- # Iterate over all members of the module
2405
- for name, obj in inspect.getmembers(module, inspect.isclass):
2406
- # Check if the class has the specified attribute
2407
- if hasattr(obj, '_is_omnata_udtf'):
2408
- matching_classes.append(UDTFDefinition(
2409
- name=obj._omnata_udtf_name,
2410
- language='python',
2411
- runtime_version='3.10',
2412
- imports=['/app.zip'],
2413
- description=obj._omnata_udtf_description,
2414
- params=obj._omnata_udtf_params,
2415
- result_columns=obj._omnata_udtf_result_columns,
2416
- expose_to_consumer=obj._omnata_udtf_expose_to_consumer,
2417
- handler=obj.__module__+'.'+obj.__name__
2418
- ))
2419
- # java doesn't use the python decorator, so we need to check for the class directly
2420
- for name, obj in inspect.getmembers(module):
2421
- # Check if the class has the specified attribute
2422
- if isinstance(obj, UDTFDefinition) and cast(UDTFDefinition,obj).language == 'java':
2423
- udtf_obj = cast(UDTFDefinition,obj)
2424
- if udtf_obj.language == 'java':
2425
- # because the decorator wasn't used, we need to check if we need to add the connection_parameters parameter
2426
- if udtf_obj.expose_to_consumer:
2427
- if len(udtf_obj.params) == 0 or udtf_obj.params[0].name.upper() != 'CONNECTION_PARAMETERS':
2428
- udtf_obj.params = [SnowflakeFunctionParameter(
2429
- name='CONNECTION_PARAMETERS',
2430
- data_type='OBJECT',
2431
- description='The connection object, obtained from calling PLUGIN.PLUGIN_CONNECTION.')] + udtf_obj.params
2432
- matching_classes.append(udtf_obj)
2400
+ for root, _, _ in os.walk(current_dir):
2401
+ for _, module_name, _ in pkgutil.iter_modules([root]):
2402
+ # Import the module
2403
+ module = importlib.import_module(module_name)
2404
+
2405
+ # Iterate over all members of the module
2406
+ for name, obj in inspect.getmembers(module, inspect.isclass):
2407
+ # Check if the class has the specified attribute
2408
+ if hasattr(obj, '_is_omnata_udtf'):
2409
+ matching_classes.append(UDTFDefinition(
2410
+ name=obj._omnata_udtf_name,
2411
+ language='python',
2412
+ runtime_version='3.10',
2413
+ imports=['/app.zip'],
2414
+ description=obj._omnata_udtf_description,
2415
+ params=obj._omnata_udtf_params,
2416
+ result_columns=obj._omnata_udtf_result_columns,
2417
+ expose_to_consumer=obj._omnata_udtf_expose_to_consumer,
2418
+ handler=obj.__module__+'.'+obj.__name__
2419
+ ))
2420
+ # java doesn't use the python decorator, so we need to check for the class directly
2421
+ for name, obj in inspect.getmembers(module):
2422
+ # Check if the class has the specified attribute
2423
+ if isinstance(obj, UDTFDefinition) and cast(UDTFDefinition,obj).language == 'java':
2424
+ udtf_obj = cast(UDTFDefinition,obj)
2425
+ if udtf_obj.language == 'java':
2426
+ # because the decorator wasn't used, we need to check if we need to add the connection_parameters parameter
2427
+ if udtf_obj.expose_to_consumer:
2428
+ if len(udtf_obj.params) == 0 or udtf_obj.params[0].name.upper() != 'CONNECTION_PARAMETERS':
2429
+ udtf_obj.params = [SnowflakeFunctionParameter(
2430
+ name='CONNECTION_PARAMETERS',
2431
+ data_type='OBJECT',
2432
+ description='The connection object, obtained from calling PLUGIN.PLUGIN_CONNECTION.')] + udtf_obj.params
2433
+ matching_classes.append(udtf_obj)
2433
2434
 
2434
2435
  return matching_classes
2435
2436
 
@@ -2512,39 +2513,41 @@ def find_udf_functions(path:str = '.') -> List[UDFDefinition]:
2512
2513
  matching_classes = []
2513
2514
 
2514
2515
  # Iterate over all modules in the current directory
2515
- for _, module_name, _ in pkgutil.iter_modules([current_dir]):
2516
- # Import the module
2517
- module = importlib.import_module(module_name)
2518
-
2519
- # Iterate over all members of the module
2520
- for name, obj in inspect.getmembers(module, inspect.isfunction):
2521
- # Check if the class has the specified attribute
2522
- if hasattr(obj, '_is_omnata_udf'):
2523
- matching_classes.append(UDFDefinition(
2524
- name=obj._omnata_udf_name,
2525
- language='python',
2526
- runtime_version='3.10',
2527
- imports=['/app.zip'],
2528
- description=obj._omnata_udf_description,
2529
- params=obj._omnata_udf_params,
2530
- result_data_type=obj._omnata_udf_result_data_type,
2531
- expose_to_consumer=obj._omnata_udf_expose_to_consumer,
2532
- packages=[],
2533
- handler=obj.__module__+'.'+obj.__name__
2534
- ))
2535
- # java doesn't use the python decorator, so we need to check for the class directly
2536
- for name, obj in inspect.getmembers(module):
2537
- # Check if the class has the specified attribute
2538
- if isinstance(obj, UDFDefinition):
2539
- udf_obj = cast(UDFDefinition,obj)
2540
- if udf_obj.language == 'java':
2541
- # because the decorator wasn't used, we need to check if we need to add the connection_parameters parameter
2542
- if udf_obj.expose_to_consumer:
2543
- if len(udf_obj.params) == 0 or udf_obj.params[0].name.upper() != 'CONNECTION_PARAMETERS':
2544
- udf_obj.params = [SnowflakeFunctionParameter(
2545
- name='CONNECTION_PARAMETERS',
2546
- data_type='OBJECT',
2547
- description='The connection object, obtained from calling PLUGIN.PLUGIN_CONNECTION.')] + udf_obj.params
2548
- matching_classes.append(udf_obj)
2516
+ # Walk through the directory tree
2517
+ for root, _, _ in os.walk(current_dir):
2518
+ for _, module_name, _ in pkgutil.iter_modules([root]):
2519
+ # Import the module
2520
+ module = importlib.import_module(module_name)
2521
+
2522
+ # Iterate over all members of the module
2523
+ for name, obj in inspect.getmembers(module, inspect.isfunction):
2524
+ # Check if the class has the specified attribute
2525
+ if hasattr(obj, '_is_omnata_udf'):
2526
+ matching_classes.append(UDFDefinition(
2527
+ name=obj._omnata_udf_name,
2528
+ language='python',
2529
+ runtime_version='3.10',
2530
+ imports=['/app.zip'],
2531
+ description=obj._omnata_udf_description,
2532
+ params=obj._omnata_udf_params,
2533
+ result_data_type=obj._omnata_udf_result_data_type,
2534
+ expose_to_consumer=obj._omnata_udf_expose_to_consumer,
2535
+ packages=[],
2536
+ handler=obj.__module__+'.'+obj.__name__
2537
+ ))
2538
+ # java doesn't use the python decorator, so we need to check for the class directly
2539
+ for name, obj in inspect.getmembers(module):
2540
+ # Check if the class has the specified attribute
2541
+ if isinstance(obj, UDFDefinition):
2542
+ udf_obj = cast(UDFDefinition,obj)
2543
+ if udf_obj.language == 'java':
2544
+ # because the decorator wasn't used, we need to check if we need to add the connection_parameters parameter
2545
+ if udf_obj.expose_to_consumer:
2546
+ if len(udf_obj.params) == 0 or udf_obj.params[0].name.upper() != 'CONNECTION_PARAMETERS':
2547
+ udf_obj.params = [SnowflakeFunctionParameter(
2548
+ name='CONNECTION_PARAMETERS',
2549
+ data_type='OBJECT',
2550
+ description='The connection object, obtained from calling PLUGIN.PLUGIN_CONNECTION.')] + udf_obj.params
2551
+ matching_classes.append(udf_obj)
2549
2552
 
2550
2553
  return matching_classes