superposition-sdk 0.85.0__py3-none-any.whl → 0.86.0__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.

Potentially problematic release.


This version of superposition-sdk might be problematic. Click here for more details.

@@ -5356,6 +5356,15 @@ CREATE_WORKSPACE_INPUT = Schema.collection(
5356
5356
  ],
5357
5357
  },
5358
5358
 
5359
+ "auto_populate_control": {
5360
+ "target": BOOLEAN,
5361
+ "index": 7,
5362
+ "traits": [
5363
+ Trait.new(id=ShapeID("smithy.api#required")),
5364
+
5365
+ ],
5366
+ },
5367
+
5359
5368
  }
5360
5369
  )
5361
5370
 
@@ -5503,6 +5512,15 @@ CREATE_WORKSPACE_OUTPUT = Schema.collection(
5503
5512
  ],
5504
5513
  },
5505
5514
 
5515
+ "auto_populate_control": {
5516
+ "target": BOOLEAN,
5517
+ "index": 15,
5518
+ "traits": [
5519
+ Trait.new(id=ShapeID("smithy.api#required")),
5520
+
5521
+ ],
5522
+ },
5523
+
5506
5524
  }
5507
5525
  )
5508
5526
 
@@ -12158,6 +12176,15 @@ WORKSPACE_RESPONSE = Schema.collection(
12158
12176
  ],
12159
12177
  },
12160
12178
 
12179
+ "auto_populate_control": {
12180
+ "target": BOOLEAN,
12181
+ "index": 15,
12182
+ "traits": [
12183
+ Trait.new(id=ShapeID("smithy.api#required")),
12184
+
12185
+ ],
12186
+ },
12187
+
12161
12188
  }
12162
12189
  )
12163
12190
 
@@ -12894,6 +12921,11 @@ UPDATE_WORKSPACE_INPUT = Schema.collection(
12894
12921
  "index": 7,
12895
12922
  },
12896
12923
 
12924
+ "auto_populate_control": {
12925
+ "target": BOOLEAN,
12926
+ "index": 8,
12927
+ },
12928
+
12897
12929
  }
12898
12930
  )
12899
12931
 
@@ -13029,6 +13061,15 @@ UPDATE_WORKSPACE_OUTPUT = Schema.collection(
13029
13061
  ],
13030
13062
  },
13031
13063
 
13064
+ "auto_populate_control": {
13065
+ "target": BOOLEAN,
13066
+ "index": 15,
13067
+ "traits": [
13068
+ Trait.new(id=ShapeID("smithy.api#required")),
13069
+
13070
+ ],
13071
+ },
13072
+
13032
13073
  }
13033
13074
  )
13034
13075
 
@@ -2983,8 +2983,8 @@ DELETE_CONTEXT = APIOperation(
2983
2983
  input_schema = _SCHEMA_DELETE_CONTEXT_INPUT,
2984
2984
  output_schema = _SCHEMA_DELETE_CONTEXT_OUTPUT,
2985
2985
  error_registry = TypeRegistry({
2986
- ShapeID("io.superposition#InternalServerError"): InternalServerError,
2987
- ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
2986
+ ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
2987
+ ShapeID("io.superposition#InternalServerError"): InternalServerError,
2988
2988
  }),
2989
2989
  effective_auth_schemes = [
2990
2990
  ShapeID("smithy.api#httpBearerAuth")
@@ -5652,6 +5652,7 @@ class CreateWorkspaceInput:
5652
5652
  strict_mode: bool | None = None
5653
5653
  metrics: Document | None = None
5654
5654
  allow_experiment_self_approval: bool | None = None
5655
+ auto_populate_control: bool | None = None
5655
5656
 
5656
5657
  def serialize(self, serializer: ShapeSerializer):
5657
5658
  serializer.write_struct(_SCHEMA_CREATE_WORKSPACE_INPUT, self)
@@ -5675,6 +5676,9 @@ class CreateWorkspaceInput:
5675
5676
  if self.allow_experiment_self_approval is not None:
5676
5677
  serializer.write_boolean(_SCHEMA_CREATE_WORKSPACE_INPUT.members["allow_experiment_self_approval"], self.allow_experiment_self_approval)
5677
5678
 
5679
+ if self.auto_populate_control is not None:
5680
+ serializer.write_boolean(_SCHEMA_CREATE_WORKSPACE_INPUT.members["auto_populate_control"], self.auto_populate_control)
5681
+
5678
5682
  @classmethod
5679
5683
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
5680
5684
  return cls(**cls.deserialize_kwargs(deserializer))
@@ -5706,6 +5710,9 @@ class CreateWorkspaceInput:
5706
5710
  case 6:
5707
5711
  kwargs["allow_experiment_self_approval"] = de.read_boolean(_SCHEMA_CREATE_WORKSPACE_INPUT.members["allow_experiment_self_approval"])
5708
5712
 
5713
+ case 7:
5714
+ kwargs["auto_populate_control"] = de.read_boolean(_SCHEMA_CREATE_WORKSPACE_INPUT.members["auto_populate_control"])
5715
+
5709
5716
  case _:
5710
5717
  logger.debug("Unexpected member schema: %s", schema)
5711
5718
 
@@ -5757,6 +5764,8 @@ class CreateWorkspaceOutput:
5757
5764
 
5758
5765
  allow_experiment_self_approval: bool
5759
5766
 
5767
+ auto_populate_control: bool
5768
+
5760
5769
  config_version: str | None = None
5761
5770
  mandatory_dimensions: list[str] | None = None
5762
5771
  metrics: Document | None = None
@@ -5786,6 +5795,7 @@ class CreateWorkspaceOutput:
5786
5795
  serializer.write_document(_SCHEMA_CREATE_WORKSPACE_OUTPUT.members["metrics"], self.metrics)
5787
5796
 
5788
5797
  serializer.write_boolean(_SCHEMA_CREATE_WORKSPACE_OUTPUT.members["allow_experiment_self_approval"], self.allow_experiment_self_approval)
5798
+ serializer.write_boolean(_SCHEMA_CREATE_WORKSPACE_OUTPUT.members["auto_populate_control"], self.auto_populate_control)
5789
5799
 
5790
5800
  @classmethod
5791
5801
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
@@ -5842,6 +5852,9 @@ class CreateWorkspaceOutput:
5842
5852
  case 14:
5843
5853
  kwargs["allow_experiment_self_approval"] = de.read_boolean(_SCHEMA_CREATE_WORKSPACE_OUTPUT.members["allow_experiment_self_approval"])
5844
5854
 
5855
+ case 15:
5856
+ kwargs["auto_populate_control"] = de.read_boolean(_SCHEMA_CREATE_WORKSPACE_OUTPUT.members["auto_populate_control"])
5857
+
5845
5858
  case _:
5846
5859
  logger.debug("Unexpected member schema: %s", schema)
5847
5860
 
@@ -5933,8 +5946,8 @@ DELETE_DEFAULT_CONFIG = APIOperation(
5933
5946
  input_schema = _SCHEMA_DELETE_DEFAULT_CONFIG_INPUT,
5934
5947
  output_schema = _SCHEMA_DELETE_DEFAULT_CONFIG_OUTPUT,
5935
5948
  error_registry = TypeRegistry({
5936
- ShapeID("io.superposition#InternalServerError"): InternalServerError,
5937
- ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
5949
+ ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
5950
+ ShapeID("io.superposition#InternalServerError"): InternalServerError,
5938
5951
  }),
5939
5952
  effective_auth_schemes = [
5940
5953
  ShapeID("smithy.api#httpBearerAuth")
@@ -6155,8 +6168,8 @@ LIST_DEFAULT_CONFIGS = APIOperation(
6155
6168
  input_schema = _SCHEMA_LIST_DEFAULT_CONFIGS_INPUT,
6156
6169
  output_schema = _SCHEMA_LIST_DEFAULT_CONFIGS_OUTPUT,
6157
6170
  error_registry = TypeRegistry({
6158
- ShapeID("io.superposition#InternalServerError"): InternalServerError,
6159
- ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
6171
+ ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
6172
+ ShapeID("io.superposition#InternalServerError"): InternalServerError,
6160
6173
  }),
6161
6174
  effective_auth_schemes = [
6162
6175
  ShapeID("smithy.api#httpBearerAuth")
@@ -6426,8 +6439,8 @@ DELETE_DIMENSION = APIOperation(
6426
6439
  input_schema = _SCHEMA_DELETE_DIMENSION_INPUT,
6427
6440
  output_schema = _SCHEMA_DELETE_DIMENSION_OUTPUT,
6428
6441
  error_registry = TypeRegistry({
6429
- ShapeID("io.superposition#InternalServerError"): InternalServerError,
6430
- ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
6442
+ ShapeID("io.superposition#ResourceNotFound"): ResourceNotFound,
6443
+ ShapeID("io.superposition#InternalServerError"): InternalServerError,
6431
6444
  }),
6432
6445
  effective_auth_schemes = [
6433
6446
  ShapeID("smithy.api#httpBearerAuth")
@@ -6701,8 +6714,8 @@ DELETE_FUNCTION = APIOperation(
6701
6714
  input_schema = _SCHEMA_DELETE_FUNCTION_INPUT,
6702
6715
  output_schema = _SCHEMA_DELETE_FUNCTION_OUTPUT,
6703
6716
  error_registry = TypeRegistry({
6704
- ShapeID("io.superposition#InternalServerError"): InternalServerError,
6705
- ShapeID("io.superposition#FunctionNotFound"): FunctionNotFound,
6717
+ ShapeID("io.superposition#FunctionNotFound"): FunctionNotFound,
6718
+ ShapeID("io.superposition#InternalServerError"): InternalServerError,
6706
6719
  }),
6707
6720
  effective_auth_schemes = [
6708
6721
  ShapeID("smithy.api#httpBearerAuth")
@@ -12031,6 +12044,8 @@ class WorkspaceResponse:
12031
12044
 
12032
12045
  allow_experiment_self_approval: bool
12033
12046
 
12047
+ auto_populate_control: bool
12048
+
12034
12049
  config_version: str | None = None
12035
12050
  mandatory_dimensions: list[str] | None = None
12036
12051
  metrics: Document | None = None
@@ -12060,6 +12075,7 @@ class WorkspaceResponse:
12060
12075
  serializer.write_document(_SCHEMA_WORKSPACE_RESPONSE.members["metrics"], self.metrics)
12061
12076
 
12062
12077
  serializer.write_boolean(_SCHEMA_WORKSPACE_RESPONSE.members["allow_experiment_self_approval"], self.allow_experiment_self_approval)
12078
+ serializer.write_boolean(_SCHEMA_WORKSPACE_RESPONSE.members["auto_populate_control"], self.auto_populate_control)
12063
12079
 
12064
12080
  @classmethod
12065
12081
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
@@ -12116,6 +12132,9 @@ class WorkspaceResponse:
12116
12132
  case 14:
12117
12133
  kwargs["allow_experiment_self_approval"] = de.read_boolean(_SCHEMA_WORKSPACE_RESPONSE.members["allow_experiment_self_approval"])
12118
12134
 
12135
+ case 15:
12136
+ kwargs["auto_populate_control"] = de.read_boolean(_SCHEMA_WORKSPACE_RESPONSE.members["auto_populate_control"])
12137
+
12119
12138
  case _:
12120
12139
  logger.debug("Unexpected member schema: %s", schema)
12121
12140
 
@@ -12791,6 +12810,7 @@ class UpdateWorkspaceInput:
12791
12810
  workspace_status: str | None = None
12792
12811
  metrics: Document | None = None
12793
12812
  allow_experiment_self_approval: bool | None = None
12813
+ auto_populate_control: bool | None = None
12794
12814
 
12795
12815
  def serialize(self, serializer: ShapeSerializer):
12796
12816
  serializer.write_struct(_SCHEMA_UPDATE_WORKSPACE_INPUT, self)
@@ -12814,6 +12834,9 @@ class UpdateWorkspaceInput:
12814
12834
  if self.allow_experiment_self_approval is not None:
12815
12835
  serializer.write_boolean(_SCHEMA_UPDATE_WORKSPACE_INPUT.members["allow_experiment_self_approval"], self.allow_experiment_self_approval)
12816
12836
 
12837
+ if self.auto_populate_control is not None:
12838
+ serializer.write_boolean(_SCHEMA_UPDATE_WORKSPACE_INPUT.members["auto_populate_control"], self.auto_populate_control)
12839
+
12817
12840
  @classmethod
12818
12841
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
12819
12842
  return cls(**cls.deserialize_kwargs(deserializer))
@@ -12848,6 +12871,9 @@ class UpdateWorkspaceInput:
12848
12871
  case 7:
12849
12872
  kwargs["allow_experiment_self_approval"] = de.read_boolean(_SCHEMA_UPDATE_WORKSPACE_INPUT.members["allow_experiment_self_approval"])
12850
12873
 
12874
+ case 8:
12875
+ kwargs["auto_populate_control"] = de.read_boolean(_SCHEMA_UPDATE_WORKSPACE_INPUT.members["auto_populate_control"])
12876
+
12851
12877
  case _:
12852
12878
  logger.debug("Unexpected member schema: %s", schema)
12853
12879
 
@@ -12881,6 +12907,8 @@ class UpdateWorkspaceOutput:
12881
12907
 
12882
12908
  allow_experiment_self_approval: bool
12883
12909
 
12910
+ auto_populate_control: bool
12911
+
12884
12912
  config_version: str | None = None
12885
12913
  mandatory_dimensions: list[str] | None = None
12886
12914
  metrics: Document | None = None
@@ -12910,6 +12938,7 @@ class UpdateWorkspaceOutput:
12910
12938
  serializer.write_document(_SCHEMA_UPDATE_WORKSPACE_OUTPUT.members["metrics"], self.metrics)
12911
12939
 
12912
12940
  serializer.write_boolean(_SCHEMA_UPDATE_WORKSPACE_OUTPUT.members["allow_experiment_self_approval"], self.allow_experiment_self_approval)
12941
+ serializer.write_boolean(_SCHEMA_UPDATE_WORKSPACE_OUTPUT.members["auto_populate_control"], self.auto_populate_control)
12913
12942
 
12914
12943
  @classmethod
12915
12944
  def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
@@ -12966,6 +12995,9 @@ class UpdateWorkspaceOutput:
12966
12995
  case 14:
12967
12996
  kwargs["allow_experiment_self_approval"] = de.read_boolean(_SCHEMA_UPDATE_WORKSPACE_OUTPUT.members["allow_experiment_self_approval"])
12968
12997
 
12998
+ case 15:
12999
+ kwargs["auto_populate_control"] = de.read_boolean(_SCHEMA_UPDATE_WORKSPACE_OUTPUT.members["auto_populate_control"])
13000
+
12969
13001
  case _:
12970
13002
  logger.debug("Unexpected member schema: %s", schema)
12971
13003
 
@@ -0,0 +1,64 @@
1
+ Metadata-Version: 2.4
2
+ Name: superposition_sdk
3
+ Version: 0.86.0
4
+ Summary: superposition_sdk client
5
+ License: Apache-2.0
6
+ Keywords: smithy,superposition_sdk
7
+ Classifier: Development Status :: 2 - Pre-Alpha
8
+ Classifier: Intended Audience :: Developers
9
+ Classifier: Intended Audience :: System Administrators
10
+ Classifier: License :: OSI Approved :: Apache Software License
11
+ Classifier: Natural Language :: English
12
+ Classifier: Programming Language :: Python
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3 :: Only
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Classifier: Programming Language :: Python :: 3.13
17
+ Requires-Python: >=3.12
18
+ Requires-Dist: smithy-core==0.0.1
19
+ Requires-Dist: smithy-http[aiohttp]==0.0.1
20
+ Requires-Dist: smithy-json==0.0.1
21
+ Provides-Extra: docs
22
+ Requires-Dist: pydata-sphinx-theme>=0.16.1; extra == 'docs'
23
+ Requires-Dist: sphinx>=8.2.3; extra == 'docs'
24
+ Provides-Extra: tests
25
+ Requires-Dist: pytest-asyncio<0.21.0,>=0.20.3; extra == 'tests'
26
+ Requires-Dist: pytest<8.0.0,>=7.2.0; extra == 'tests'
27
+ Description-Content-Type: text/markdown
28
+
29
+ ## Superposition SDK
30
+
31
+ Superposition SDK is a Python client for the Superposition platform, designed to facilitate programmatic integration of all Superposition's API capabilities in Python applications. Read the complete documentation at [Superposition SDK Documentation](https://juspay.io/superposition/docs).
32
+
33
+ ## Installation
34
+
35
+ Install the Superposition SDK using pip:
36
+
37
+ ```bash
38
+ pip install superposition-sdk
39
+ ```
40
+
41
+ ## Initialization
42
+
43
+ ```python
44
+ from superposition_sdk.client import Config, Superposition
45
+ client = Superposition(Config(endpoint_uri="http://localhost:8080"))
46
+ ```
47
+
48
+ ## Usage
49
+
50
+ The SDK provides commands for every API call that Superposition supports. Below is an example of how to use the SDK to list default configs.
51
+
52
+ ```python
53
+ import asyncio
54
+ from superposition_sdk.client import Config, ListDefaultConfigsInput, Superposition
55
+ from pprint import pprint
56
+
57
+ async def list_configs():
58
+ client = Superposition(Config(endpoint_uri="http://localhost:8080"))
59
+ list_configs = ListDefaultConfigsInput(workspace_id="upi", org_id="orgid162145664241766405", all=True)
60
+ response = await client.list_default_configs(list_configs)
61
+ pprint(response)
62
+
63
+ asyncio.run(list_configs())
64
+ ```
@@ -3,10 +3,10 @@ superposition_sdk/auth.py,sha256=U9D3FmOH8TX0cjibGy_CRnAkTnFEavAek0Jw1YUhN2g,404
3
3
  superposition_sdk/client.py,sha256=9kj6k0uX6UaP-tAxJoZNhMJVFpC-kWhRXNAqWA4-OO0,87557
4
4
  superposition_sdk/config.py,sha256=WfJkW9bPCkNXyxcWet47cUY2OdU--9rs5zuWlssuAag,11276
5
5
  superposition_sdk/deserialize.py,sha256=VlPxbY8hwD5Sbgn1IvvMFmm9-wMOVjmYrUkPvDE_WtU,76337
6
- superposition_sdk/models.py,sha256=az1bVauWYaF5I7N744lQmQkYKyAKHCsMzpPzXGchOgM,535433
6
+ superposition_sdk/models.py,sha256=hMdju90O_KJ68Il2fCfVOAKhPNGXQxV2M6x_iA-BXiA,537165
7
7
  superposition_sdk/serialize.py,sha256=__hMORn6Mx61sy0t3Y5Hs7O5iO1GOyRHYg0kehjbZYA,71892
8
8
  superposition_sdk/_private/__init__.py,sha256=DxsJq42a0KfQv9zzLrqT0JVpoXrR-IDIYFGuJe4g1Gc,55
9
- superposition_sdk/_private/schemas.py,sha256=hpQ-dFMLpQmn1t25yRbcrVv_Zg32_A0FARh0pfozWPU,297589
10
- superposition_sdk-0.85.0.dist-info/METADATA,sha256=J3ykiywZHxOuwgnwLQPEKAsknPwlt29ilQk_Paaqkko,1143
11
- superposition_sdk-0.85.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
12
- superposition_sdk-0.85.0.dist-info/RECORD,,
9
+ superposition_sdk/_private/schemas.py,sha256=VkNDp8dOeaLU615pGiKU0OCKiMM_wFmakcDywQjItHY,298510
10
+ superposition_sdk-0.86.0.dist-info/METADATA,sha256=ZxBfZG2kEAjsEevMATCyX5_a2hKBE5eVnWxOw3Wa8oc,2280
11
+ superposition_sdk-0.86.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
12
+ superposition_sdk-0.86.0.dist-info/RECORD,,
@@ -1,31 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: superposition_sdk
3
- Version: 0.85.0
4
- Summary: superposition_sdk client
5
- License: Apache-2.0
6
- Keywords: smithy,superposition_sdk
7
- Classifier: Development Status :: 2 - Pre-Alpha
8
- Classifier: Intended Audience :: Developers
9
- Classifier: Intended Audience :: System Administrators
10
- Classifier: License :: OSI Approved :: Apache Software License
11
- Classifier: Natural Language :: English
12
- Classifier: Programming Language :: Python
13
- Classifier: Programming Language :: Python :: 3
14
- Classifier: Programming Language :: Python :: 3 :: Only
15
- Classifier: Programming Language :: Python :: 3.12
16
- Classifier: Programming Language :: Python :: 3.13
17
- Requires-Python: >=3.12
18
- Requires-Dist: smithy-core==0.0.1
19
- Requires-Dist: smithy-http[aiohttp]==0.0.1
20
- Requires-Dist: smithy-json==0.0.1
21
- Provides-Extra: docs
22
- Requires-Dist: pydata-sphinx-theme>=0.16.1; extra == 'docs'
23
- Requires-Dist: sphinx>=8.2.3; extra == 'docs'
24
- Provides-Extra: tests
25
- Requires-Dist: pytest-asyncio<0.21.0,>=0.20.3; extra == 'tests'
26
- Requires-Dist: pytest<8.0.0,>=7.2.0; extra == 'tests'
27
- Description-Content-Type: text/markdown
28
-
29
- ## Superposition Client
30
-
31
- superposition_sdk client