omnata-plugin-runtime 0.10.12__tar.gz → 0.11.7a324__tar.gz

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.

Potentially problematic release.


This version of omnata-plugin-runtime might be problematic. Click here for more details.

@@ -1,12 +1,12 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: omnata-plugin-runtime
3
- Version: 0.10.12
3
+ Version: 0.11.7a324
4
4
  Summary: Classes and common runtime components for building and running Omnata Plugins
5
+ License-File: LICENSE
5
6
  Author: James Weakley
6
7
  Author-email: james.weakley@omnata.com
7
- Requires-Python: >=3.8,<=3.11
8
+ Requires-Python: >=3.9,<=3.11
8
9
  Classifier: Programming Language :: Python :: 3
9
- Classifier: Programming Language :: Python :: 3.8
10
10
  Classifier: Programming Language :: Python :: 3.9
11
11
  Classifier: Programming Language :: Python :: 3.10
12
12
  Classifier: Programming Language :: Python :: 3.11
@@ -1,13 +1,13 @@
1
1
  [tool.poetry]
2
2
  name = "omnata-plugin-runtime"
3
- version = "0.10.12"
3
+ version = "0.11.7-a324"
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"
7
7
  packages = [{include = "omnata_plugin_runtime", from = "src"}]
8
8
 
9
9
  [tool.poetry.dependencies]
10
- python = ">=3.8, <=3.11"
10
+ python = ">=3.9, <=3.11"
11
11
  snowflake-snowpark-python = ">=1.20.0,<=1.24.0" # latest version available on Snowflake Anaconda, but allow pinning to 1.20.0 for to_pandas_batches workaround
12
12
  snowflake-connector-python = "^3, <=3.12.0" # latest version available on Snowflake Anaconda
13
13
  cryptography = "<=43.0.0"
@@ -108,9 +108,9 @@ class OutboundSyncRequestPayload(BaseModel):
108
108
  Encapsulates the payload that is sent to the plugin when it is invoked to perform an outbound sync.
109
109
  """
110
110
 
111
- sync_id: int # only used by log handler
111
+ sync_id: int
112
112
  sync_branch_name: str = 'main'
113
- sync_branch_id: Optional[int] # only used by log handler
113
+ sync_branch_id: Optional[int]
114
114
  connection_id: int # only used by log handler
115
115
  run_id: int # used by log handler and for reporting back run status updates
116
116
  source_app_name: str # the name of the app which is invoking this plugin
@@ -139,8 +139,8 @@ class InboundSyncRequestPayload(BaseModel):
139
139
  Encapsulates the payload that is sent to the plugin when it is invoked to perform an inbound sync.
140
140
  """
141
141
 
142
- sync_id: int # only used by log handler
143
- sync_branch_name: str = 'main' # only used by rate limit updater
142
+ sync_id: int
143
+ sync_branch_name: str = 'main'
144
144
  sync_branch_id: Optional[int] = None # only used by log handler
145
145
  connection_id: int # only used by log handler
146
146
  run_id: int # used by log handler and for reporting back run status updates
@@ -614,6 +614,10 @@ class StreamConfiguration(SubscriptableBaseModel):
614
614
  None,
615
615
  description="Marks the stream as requiring another stream to be selected"
616
616
  )
617
+ mandatory: bool = Field(
618
+ False,
619
+ description="Marks the stream as mandatory, meaning it cannot be excluded from the sync configuration"
620
+ )
617
621
 
618
622
 
619
623
  class StoredConfigurationValue(SubscriptableBaseModel):
@@ -923,7 +927,7 @@ class SyncScheduleDbt(SubscriptableBaseModel):
923
927
  time_limit_mins (int): The maximum time the sync can run for before being cancelled
924
928
  dbt_dev_target_name (str): The name of the dbt target used by developers outside of CI
925
929
  dbt_sync_model_name (str): The name of the dbt model used to run the sync
926
- dbt_source_model_name (str): The name of the dbt model used as a source for the run. This will be resolved at runtime and replaces the configured source table
930
+ dbt_source_model_name (str): The name of the dbt model used as a source for the run, if the sync is Outbound. This will be resolved at runtime and replaces the configured source table
927
931
  is_dbt_cloud (bool): If true, dbt cloud is in use
928
932
  """
929
933
 
@@ -934,7 +938,7 @@ class SyncScheduleDbt(SubscriptableBaseModel):
934
938
  time_limit_mins: int = 60 * 4
935
939
  dbt_dev_target_name: str = "dev"
936
940
  dbt_sync_model_name: str
937
- dbt_source_model_name: str
941
+ dbt_source_model_name: Optional[str] = Field(default=None)
938
942
  is_dbt_cloud: bool = True
939
943
 
940
944
 
@@ -222,6 +222,22 @@ class FormSliderField(SubscriptableBaseModel):
222
222
  step_size: int = Field(default=1)
223
223
 
224
224
 
225
+ class FormSnowflakeStageField(SubscriptableBaseModel):
226
+ """
227
+ A field which represents a stage which can be selected from a list shared to the plugin.
228
+ """
229
+
230
+ name: str
231
+ label: str
232
+ default_value: Union[str, bool] = Field(default="")
233
+ required: bool = Field(default=False)
234
+ depends_on: Optional[str] = Field(default=None)
235
+ help_text: str = Field(default="")
236
+ reload_on_change: bool = Field(default=False)
237
+ secret: bool = Field(default=False)
238
+ type: Literal["snowflake_stage"] = "snowflake_stage"
239
+
240
+
225
241
  class FormJinjaTemplate(SubscriptableBaseModel):
226
242
  """
227
243
  Uses text area to allow the user to create a template, which can include column values from the source
@@ -340,7 +356,8 @@ FormFieldBase = Annotated[
340
356
  FormSliderField,
341
357
  FormDropdownField,
342
358
  InformationField,
343
- InformationBoxField
359
+ InformationBoxField,
360
+ FormSnowflakeStageField
344
361
  ],
345
362
  Field(discriminator="type"),
346
363
  ]