omnata-plugin-runtime 0.6.9a179__tar.gz → 0.7.0a181__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.9a179
3
+ Version: 0.7.0a181
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
@@ -33,7 +33,7 @@ Requires-Dist: pyyaml (<=6.0.1)
33
33
  Requires-Dist: requests (>=2,<=2.32.3)
34
34
  Requires-Dist: setuptools (<=72.1.0)
35
35
  Requires-Dist: snowflake-connector-python (>=3,<=3.12.0)
36
- Requires-Dist: snowflake-snowpark-python (==1.19.0)
36
+ Requires-Dist: snowflake-snowpark-python (==1.23.0)
37
37
  Requires-Dist: tenacity (>=8,<=8.2.3)
38
38
  Requires-Dist: tomlkit (<=0.11.1)
39
39
  Requires-Dist: urllib3 (<=2.2.2)
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "omnata-plugin-runtime"
3
- version = "0.6.9-a179"
3
+ version = "0.7.0-a181"
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"
@@ -8,7 +8,7 @@ packages = [{include = "omnata_plugin_runtime", from = "src"}]
8
8
 
9
9
  [tool.poetry.dependencies]
10
10
  python = ">=3.8, <3.11"
11
- snowflake-snowpark-python = "1.19.0" # fixes an issue
11
+ snowflake-snowpark-python = "1.23.0" # latest version available on Snowflake Anaconda
12
12
  snowflake-connector-python = "^3, <=3.12.0" # latest version available on Snowflake Anaconda
13
13
  cryptography = "<=43.0.0"
14
14
  annotated-types = "<=0.6.0"
@@ -37,6 +37,14 @@ class InboundStorageBehaviour(str, Enum):
37
37
  MERGE = "merge"
38
38
  REPLACE = "replace" # now deprecated, full refreshes now use merge
39
39
 
40
+ class ConnectivityOption(str, Enum):
41
+ """
42
+ Describes the connectivity options available to a plugin.
43
+ These result in slightly different network rules and connection onboarding.
44
+ """
45
+ DIRECT = "direct"
46
+ NGROK = "ngrok"
47
+ PRIVATELINK = "privatelink"
40
48
 
41
49
  class InboundSyncStrategy(str, Enum):
42
50
  FULL_REFRESH = "Full Refresh"
@@ -489,5 +489,6 @@ class ConnectionMethod(SubscriptableBaseModel):
489
489
  name: str
490
490
  fields: List[FormFieldBase]
491
491
  oauth_template: Optional[SecurityIntegrationTemplate] = Field(default=None)
492
+ # This is now deprecated, instead signal ngrok support via the plugin manifest
492
493
  ngrok_tunnel_configuration: Optional[NGrokMTLSTunnel] = Field(default=None)
493
494
  description: str = Field(default="")
@@ -72,7 +72,8 @@ from .configuration import (
72
72
  StreamConfiguration,
73
73
  SubscriptableBaseModel,
74
74
  SyncConfigurationParameters,
75
- get_secrets
75
+ get_secrets,
76
+ ConnectivityOption
76
77
  )
77
78
  from .forms import (
78
79
  ConnectionMethod,
@@ -101,6 +102,7 @@ class PluginManifest(SubscriptableBaseModel):
101
102
  :param str docs_url: The URL where plugin documentation can be found, e.g. "https://docs.omnata.com"
102
103
  :param bool supports_inbound: A flag to indicate whether or not the plugin supports inbound sync. Support for inbound sync behaviours (full/incremental) is defined per inbound stream.
103
104
  :param List[OutboundSyncStrategy] supported_outbound_strategies: A list of sync strategies that the plugin can support, e.g. create,upsert.
105
+ :param List[ConnectivityOption] supported_connectivity_options: A list of connectivity options that the plugin can support, e.g. direct,ngrok,privatelink
104
106
  """
105
107
 
106
108
  plugin_id: str
@@ -110,6 +112,9 @@ class PluginManifest(SubscriptableBaseModel):
110
112
  docs_url: str
111
113
  supports_inbound: bool
112
114
  supported_outbound_strategies: List[OutboundSyncStrategy]
115
+ supported_connectivity_options: List[ConnectivityOption] = Field(
116
+ default_factory=lambda: [ConnectivityOption.DIRECT]
117
+ )
113
118
 
114
119
 
115
120
  class SnowflakeFunctionParameter(BaseModel):