pangea-sdk 6.0.0__py3-none-any.whl → 6.1.1__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.
pangea/services/authz.py CHANGED
@@ -51,6 +51,8 @@ class Tuple(PangeaResponseResult):
51
51
  resource: Resource
52
52
  relation: str
53
53
  subject: Subject
54
+ expires_at: Optional[str] = None
55
+ """A time in ISO-8601 format"""
54
56
 
55
57
 
56
58
  class TupleCreateRequest(APIRequestModel):
@@ -63,23 +65,51 @@ class TupleCreateResult(PangeaResponseResult):
63
65
 
64
66
  class TupleListFilter(APIRequestModel):
65
67
  resource_type: Optional[str] = None
68
+ """Only records where resource type equals this value."""
66
69
  resource_type__contains: Optional[List[str]] = None
70
+ """Only records where resource type includes each substring."""
67
71
  resource_type__in: Optional[List[str]] = None
72
+ """Only records where resource type equals one of the provided substrings."""
68
73
  resource_id: Optional[str] = None
74
+ """Only records where resource id equals this value."""
69
75
  resource_id__contains: Optional[List[str]] = None
76
+ """Only records where resource id includes each substring."""
70
77
  resource_id__in: Optional[List[str]] = None
78
+ """Only records where resource id equals one of the provided substrings."""
71
79
  relation: Optional[str] = None
80
+ """Only records where relation equals this value."""
72
81
  relation__contains: Optional[List[str]] = None
82
+ """Only records where relation includes each substring."""
73
83
  relation__in: Optional[List[str]] = None
84
+ """Only records where relation equals one of the provided substrings."""
74
85
  subject_type: Optional[str] = None
86
+ """Only records where subject type equals this value."""
75
87
  subject_type__contains: Optional[List[str]] = None
88
+ """Only records where subject type includes each substring."""
76
89
  subject_type__in: Optional[List[str]] = None
90
+ """Only records where subject type equals one of the provided substrings."""
77
91
  subject_id: Optional[str] = None
92
+ """Only records where subject id equals this value."""
78
93
  subject_id__contains: Optional[List[str]] = None
94
+ """Only records where subject id includes each substring."""
79
95
  subject_id__in: Optional[List[str]] = None
96
+ """Only records where subject id equals one of the provided substrings."""
80
97
  subject_action: Optional[str] = None
98
+ """Only records where subject action equals this value."""
81
99
  subject_action__contains: Optional[List[str]] = None
100
+ """Only records where subject action includes each substring."""
82
101
  subject_action__in: Optional[List[str]] = None
102
+ """Only records where subject action equals one of the provided substrings."""
103
+ expires_at: Optional[str] = None
104
+ """Only records where expires_at equals this value."""
105
+ expires_at__gt: Optional[str] = None
106
+ """Only records where expires_at is greater than this value."""
107
+ expires_at__gte: Optional[str] = None
108
+ """Only records where expires_at is greater than or equal to this value."""
109
+ expires_at__lt: Optional[str] = None
110
+ """Only records where expires_at is less than this value."""
111
+ expires_at__lte: Optional[str] = None
112
+ """Only records where expires_at is less than or equal to this value."""
83
113
 
84
114
 
85
115
  class TupleListRequest(APIRequestModel):
@@ -109,7 +139,9 @@ class CheckRequest(APIRequestModel):
109
139
  action: str
110
140
  subject: Subject
111
141
  debug: Optional[bool] = None
142
+ """In the event of an allowed check, return a path that granted access."""
112
143
  attributes: Optional[Dict[str, Any]] = None
144
+ """A JSON object of attribute data."""
113
145
 
114
146
 
115
147
  class DebugPath(APIResponseModel):
@@ -145,6 +177,8 @@ class ListSubjectsRequest(APIRequestModel):
145
177
  resource: Resource
146
178
  action: str
147
179
  attributes: Optional[Dict[str, Any]] = None
180
+ debug: Optional[bool] = None
181
+ """Return a path for each found subject"""
148
182
 
149
183
 
150
184
  class ListSubjectsResult(PangeaResponseResult):
@@ -194,14 +228,14 @@ class AuthZ(ServiceBase):
194
228
 
195
229
  super().__init__(token, config, logger_name, config_id=config_id)
196
230
 
197
- def tuple_create(self, tuples: List[Tuple]) -> PangeaResponse[TupleCreateResult]:
231
+ def tuple_create(self, tuples: list[Tuple]) -> PangeaResponse[TupleCreateResult]:
198
232
  """Create tuples.
199
233
 
200
234
  Create tuples in the AuthZ Service. The request will fail if there is no schema
201
235
  or the tuples do not validate against the schema.
202
236
 
203
237
  Args:
204
- tuples (List[Tuple]): List of tuples to be created.
238
+ tuples: Tuples to be created.
205
239
 
206
240
  Raises:
207
241
  PangeaAPIException: If an API Error happens.
@@ -209,7 +243,7 @@ class AuthZ(ServiceBase):
209
243
  Returns:
210
244
  Pangea Response with empty result.
211
245
  Available response fields can be found in our
212
- [API Documentation](https://pangea.cloud/docs/api/authz#/v1/tuple/create).
246
+ [API Documentation](https://pangea.cloud/docs/api/authz#/v1/tuple/create-post).
213
247
 
214
248
  Examples:
215
249
  response = authz.tuple_create(
@@ -229,10 +263,10 @@ class AuthZ(ServiceBase):
229
263
  def tuple_list(
230
264
  self,
231
265
  filter: TupleListFilter,
232
- size: Optional[int] = None,
233
- last: Optional[str] = None,
234
- order: Optional[ItemOrder] = None,
235
- order_by: Optional[TupleOrderBy] = None,
266
+ size: int | None = None,
267
+ last: str | None = None,
268
+ order: ItemOrder | None = None,
269
+ order_by: TupleOrderBy | None = None,
236
270
  ) -> PangeaResponse[TupleListResult]:
237
271
  """List tuples.
238
272
 
@@ -241,11 +275,11 @@ class AuthZ(ServiceBase):
241
275
  is empty it will return all the tuples.
242
276
 
243
277
  Args:
244
- filter (TupleListFilter): The filter for listing tuples.
245
- size (Optional[int]): The size of the result set. Default is None.
246
- last (Optional[str]): The last token from a previous response. Default is None.
247
- order (Optional[ItemOrder]): Order results asc(ending) or desc(ending).
248
- order_by (Optional[TupleOrderBy]): Which field to order results by.
278
+ filter: The filter for listing tuples.
279
+ size: The size of the result set. Default is None.
280
+ last: The last token from a previous response. Default is None.
281
+ order: Order results asc(ending) or desc(ending).
282
+ order_by: Which field to order results by.
249
283
 
250
284
  Raises:
251
285
  PangeaAPIException: If an API Error happens.
@@ -253,7 +287,7 @@ class AuthZ(ServiceBase):
253
287
  Returns:
254
288
  Pangea Response with a list of tuples and the last token.
255
289
  Available response fields can be found in our
256
- [API Documentation](https://pangea.cloud/docs/api/authz#/v1/tuple/list).
290
+ [API Documentation](https://pangea.cloud/docs/api/authz#/v1/tuple/list-post).
257
291
 
258
292
  Examples:
259
293
  authz.tuple_list(TupleListFilter(subject_type="user", subject_id="user_1"))
@@ -263,13 +297,13 @@ class AuthZ(ServiceBase):
263
297
  )
264
298
  return self.request.post("v1/tuple/list", TupleListResult, data=input_data.model_dump(exclude_none=True))
265
299
 
266
- def tuple_delete(self, tuples: List[Tuple]) -> PangeaResponse[TupleDeleteResult]:
300
+ def tuple_delete(self, tuples: list[Tuple]) -> PangeaResponse[TupleDeleteResult]:
267
301
  """Delete tuples.
268
302
 
269
303
  Delete tuples in the AuthZ Service.
270
304
 
271
305
  Args:
272
- tuples (List[Tuple]): List of tuples to be deleted.
306
+ tuples: Tuples to be deleted.
273
307
 
274
308
  Raises:
275
309
  PangeaAPIException: If an API Error happens.
@@ -277,7 +311,7 @@ class AuthZ(ServiceBase):
277
311
  Returns:
278
312
  Pangea Response with empty result.
279
313
  Available response fields can be found in our
280
- [API Documentation](https://pangea.cloud/docs/api/authz#/v1/tuple/delete).
314
+ [API Documentation](https://pangea.cloud/docs/api/authz#/v1/tuple/delete-post).
281
315
 
282
316
  Examples:
283
317
  response = authz.tuple_delete(
@@ -299,19 +333,19 @@ class AuthZ(ServiceBase):
299
333
  resource: Resource,
300
334
  action: str,
301
335
  subject: Subject,
302
- debug: Optional[bool] = None,
303
- attributes: Optional[Dict[str, Any]] = None,
336
+ debug: bool | None = None,
337
+ attributes: dict[str, Any] | None = None,
304
338
  ) -> PangeaResponse[CheckResult]:
305
339
  """Perform a check request.
306
340
 
307
341
  Check if a subject has permission to perform an action on the resource.
308
342
 
309
343
  Args:
310
- resource (Resource): The resource to check.
311
- action (str): The action to check.
312
- subject (Subject): The subject to check.
313
- debug (Optional[bool]): Setting this value to True will provide a detailed analysis of the check.
314
- attributes (Optional[Dict[str, Any]]): Additional attributes for the check.
344
+ resource: The resource to check.
345
+ action: The action to check.
346
+ subject: The subject to check.
347
+ debug: In the event of an allowed check, return a path that granted access.
348
+ attributes: Additional attributes for the check.
315
349
 
316
350
  Raises:
317
351
  PangeaAPIException: If an API Error happens.
@@ -319,7 +353,7 @@ class AuthZ(ServiceBase):
319
353
  Returns:
320
354
  Pangea Response with the result of the check.
321
355
  Available response fields can be found in our
322
- [API Documentation](https://pangea.cloud/docs/api/authz#/v1/check).
356
+ [API Documentation](https://pangea.cloud/docs/api/authz#/v1/check-post).
323
357
 
324
358
  Examples:
325
359
  response = authz.check(
@@ -334,7 +368,7 @@ class AuthZ(ServiceBase):
334
368
  return self.request.post("v1/check", CheckResult, data=input_data.model_dump(exclude_none=True))
335
369
 
336
370
  def list_resources(
337
- self, type: str, action: str, subject: Subject, attributes: Optional[Dict[str, Any]] = None
371
+ self, type: str, action: str, subject: Subject, attributes: dict[str, Any] | None = None
338
372
  ) -> PangeaResponse[ListResourcesResult]:
339
373
  """List resources.
340
374
 
@@ -342,10 +376,10 @@ class AuthZ(ServiceBase):
342
376
  type that the subject has access to the action with.
343
377
 
344
378
  Args:
345
- type (str): The type to filter resources.
346
- action (str): The action to filter resources.
347
- subject (Subject): The subject to filter resources.
348
- attributes (Optional[Dict[str, Any]]): A JSON object of attribute data.
379
+ type: The type to filter resources.
380
+ action: The action to filter resources.
381
+ subject: The subject to filter resources.
382
+ attributes: A JSON object of attribute data.
349
383
 
350
384
  Raises:
351
385
  PangeaAPIException: If an API Error happens.
@@ -353,7 +387,7 @@ class AuthZ(ServiceBase):
353
387
  Returns:
354
388
  Pangea Response with a list of resource IDs.
355
389
  Available response fields can be found in our
356
- [API Documentation](https://pangea.cloud/docs/api/authz#/v1/list-resources).
390
+ [API Documentation](https://pangea.cloud/docs/api/authz#/v1/list-resources-post).
357
391
 
358
392
  Examples:
359
393
  authz.list_resources(
@@ -369,7 +403,7 @@ class AuthZ(ServiceBase):
369
403
  )
370
404
 
371
405
  def list_subjects(
372
- self, resource: Resource, action: str, attributes: Optional[Dict[str, Any]] = None
406
+ self, resource: Resource, action: str, attributes: dict[str, Any] | None = None, *, debug: bool | None = None
373
407
  ) -> PangeaResponse[ListSubjectsResult]:
374
408
  """List subjects.
375
409
 
@@ -377,9 +411,10 @@ class AuthZ(ServiceBase):
377
411
  access to the action for the given resource.
378
412
 
379
413
  Args:
380
- resource (Resource): The resource to filter subjects.
381
- action (str): The action to filter subjects.
382
- attributes (Optional[Dict[str, Any]]): A JSON object of attribute data.
414
+ resource: The resource to filter subjects.
415
+ action: The action to filter subjects.
416
+ attributes: A JSON object of attribute data.
417
+ debug: Return a path for each found subject.
383
418
 
384
419
  Raises:
385
420
  PangeaAPIException: If an API Error happens.
@@ -387,7 +422,7 @@ class AuthZ(ServiceBase):
387
422
  Returns:
388
423
  Pangea Response with a list of subjects.
389
424
  Available response fields can be found in our
390
- [API Documentation](https://pangea.cloud/docs/api/authz#/v1/list-subjects).
425
+ [API Documentation](https://pangea.cloud/docs/api/authz#/v1/list-subjects-post).
391
426
 
392
427
  Examples:
393
428
  response = authz.list_subjects(
@@ -396,5 +431,5 @@ class AuthZ(ServiceBase):
396
431
  )
397
432
  """
398
433
 
399
- input_data = ListSubjectsRequest(resource=resource, action=action, attributes=attributes)
434
+ input_data = ListSubjectsRequest(resource=resource, action=action, attributes=attributes, debug=debug)
400
435
  return self.request.post("v1/list-subjects", ListSubjectsResult, data=input_data.model_dump(exclude_none=True))
@@ -52,7 +52,7 @@ class FileScan(ServiceBase):
52
52
  """FileScan service client.
53
53
 
54
54
  Provides methods to interact with Pangea FileScan Service:
55
- https://pangea.cloud/docs/api/embargo
55
+ https://pangea.cloud/docs/api/file-scan
56
56
 
57
57
  The following information is needed:
58
58
  PANGEA_TOKEN - service token which can be found on the Pangea User
pangea/services/redact.py CHANGED
@@ -276,7 +276,7 @@ class Redact(ServiceBase):
276
276
  Returns:
277
277
  Pangea Response with redacted text in the response.result property,
278
278
  available response fields can be found in our
279
- [API Documentation](https://pangea.cloud/docs/api/redact#redact).
279
+ [API Documentation](https://pangea.cloud/docs/api/redact#redact-post).
280
280
 
281
281
  Examples:
282
282
  response = redact.redact(text="Jenny Jenny... 555-867-5309")
@@ -335,7 +335,7 @@ class Redact(ServiceBase):
335
335
  Returns:
336
336
  Pangea Response with redacted data in the response.result field,
337
337
  available response fields can be found in our
338
- [API Documentation](https://pangea.cloud/docs/api/redact#redact-structured)
338
+ [API Documentation](https://pangea.cloud/docs/api/redact#redact-structured-post)
339
339
 
340
340
  Examples:
341
341
  data = {
@@ -378,7 +378,7 @@ class Redact(ServiceBase):
378
378
  Returns:
379
379
  Pangea Response with redacted data in the response.result field,
380
380
  available response fields can be found in our
381
- [API Documentation](https://pangea.cloud/docs/api/redact#unredact)
381
+ [API Documentation](https://pangea.cloud/docs/api/redact#unredact-post)
382
382
  """
383
383
  input = UnredactRequest(redacted_data=redacted_data, fpe_context=fpe_context)
384
384
  return self.request.post("v1/unredact", UnredactResult, data=input.model_dump(exclude_none=True))
@@ -164,7 +164,7 @@ class Vault(ServiceBase):
164
164
  Returns:
165
165
  A PangeaResponse where the id of the deleted secret or key
166
166
  is returned in the response.result field.
167
- Available response fields can be found in our [API documentation](https://pangea.cloud/docs/api/vault#delete).
167
+ Available response fields can be found in our [API documentation](https://pangea.cloud/docs/api/vault/v1-general#/v1/delete-post).
168
168
 
169
169
  Raises:
170
170
  PangeaAPIException: If an API Error happens
@@ -197,7 +197,7 @@ class Vault(ServiceBase):
197
197
  Returns:
198
198
  A PangeaResponse where the secret or key
199
199
  is returned in the response.result field.
200
- Available response fields can be found in our [API documentation](https://pangea.cloud/docs/api/vault#retrieve).
200
+ Available response fields can be found in our [API documentation](https://pangea.cloud/docs/api/vault/v1-general#/v1/get-post).
201
201
 
202
202
  Raises:
203
203
  PangeaAPIException: If an API Error happens
@@ -285,7 +285,7 @@ class Vault(ServiceBase):
285
285
  Returns:
286
286
  A PangeaResponse where a list of secrets or keys
287
287
  is returned in the response.result field.
288
- Available response fields can be found in our [API documentation](https://pangea.cloud/docs/api/vault#list).
288
+ Available response fields can be found in our [API documentation](https://pangea.cloud/docs/api/vault/v1-general#/v1/list-post).
289
289
 
290
290
  Examples:
291
291
  response = vault.list(
@@ -344,7 +344,7 @@ class Vault(ServiceBase):
344
344
  Returns:
345
345
  A PangeaResponse where the item ID is returned in the
346
346
  response.result field. Available response fields can be found in our
347
- [API documentation](https://pangea.cloud/docs/api/vault#update).
347
+ [API documentation](https://pangea.cloud/docs/api/vault/v1-general#/v1/update-post).
348
348
 
349
349
  Raises:
350
350
  PangeaAPIException: If an API Error happens
@@ -1679,7 +1679,7 @@ class Vault(ServiceBase):
1679
1679
  Returns:
1680
1680
  A PangeaResponse where the encrypted message in base64 is returned
1681
1681
  in the response.result field. Available response fields can be found
1682
- in our [API documentation](https://pangea.cloud/docs/api/vault#encrypt).
1682
+ in our [API documentation](https://pangea.cloud/docs/api/vault/v1-keys#/v1/key/encrypt-post).
1683
1683
 
1684
1684
  Raises:
1685
1685
  PangeaAPIException: If an API Error happens
@@ -1715,7 +1715,7 @@ class Vault(ServiceBase):
1715
1715
 
1716
1716
  Returns:
1717
1717
  A PangeaResponse where the decrypted message in base64 is returned
1718
- in the response.result field. Available response fields can be found in our [API documentation](https://pangea.cloud/docs/api/vault#decrypt).
1718
+ in the response.result field. Available response fields can be found in our [API documentation](https://pangea.cloud/docs/api/vault/v1-keys#/v1/key/decrypt-post).
1719
1719
 
1720
1720
  Raises:
1721
1721
  PangeaAPIException: If an API Error happens
@@ -1749,7 +1749,7 @@ class Vault(ServiceBase):
1749
1749
  Returns:
1750
1750
  A PangeaResponse where the signature of the message in base64 is
1751
1751
  returned in the response.result field. Available response fields can
1752
- be found in our [API documentation](https://pangea.cloud/docs/api/vault#sign).
1752
+ be found in our [API documentation](https://pangea.cloud/docs/api/vault/v1-keys#/v1/key/sign-post).
1753
1753
 
1754
1754
  Raises:
1755
1755
  PangeaAPIException: If an API Error happens
@@ -1785,7 +1785,7 @@ class Vault(ServiceBase):
1785
1785
  Returns:
1786
1786
  A PangeaResponse where the signature is valid
1787
1787
  is returned in the response.result field.
1788
- Available response fields can be found in our [API documentation](https://pangea.cloud/docs/api/vault#verify).
1788
+ Available response fields can be found in our [API documentation](https://pangea.cloud/docs/api/vault/v1-keys#/v1/key/verify-post).
1789
1789
 
1790
1790
  Examples:
1791
1791
  response = vault.verify(
@@ -1823,7 +1823,7 @@ class Vault(ServiceBase):
1823
1823
  Returns:
1824
1824
  A PangeaResponse where the signature is valid
1825
1825
  is returned in the response.result field.
1826
- Available response fields can be found in our [API documentation](https://pangea.cloud/docs/api/vault#verify-jwt).
1826
+ Available response fields can be found in our [API documentation](https://pangea.cloud/docs/api/vault/v1-jwt#/v1/key/verify/jwt-post).
1827
1827
 
1828
1828
  Examples:
1829
1829
  response = vault.jwt_verify(jws="ewogICJhbGciO...")
@@ -1848,7 +1848,7 @@ class Vault(ServiceBase):
1848
1848
  Returns:
1849
1849
  A PangeaResponse where the signed JSON Web Token (JWS) is returned
1850
1850
  in the response.result field. Available response fields can be found
1851
- in our [API documentation](https://pangea.cloud/docs/api/vault#sign-a-jwt).
1851
+ in our [API documentation](https://pangea.cloud/docs/api/vault/v1-jwt#/v1/key/sign/jwt-post).
1852
1852
 
1853
1853
  Examples:
1854
1854
  response = vault.jwt_sign(
@@ -1878,7 +1878,7 @@ class Vault(ServiceBase):
1878
1878
  Returns:
1879
1879
  A PangeaResponse where the JSON Web Key Set (JWKS) object is
1880
1880
  returned in the response.result field. Available response fields can
1881
- be found in our [API documentation](https://pangea.cloud/docs/api/vault#retrieve-jwk).
1881
+ be found in our [API documentation](https://pangea.cloud/docs/api/vault/v1-jwt#/v1/get/jwk-post).
1882
1882
 
1883
1883
  Examples:
1884
1884
  response = vault.jwk_get("pvi_p6g5i3gtbvqvc3u6zugab6qs6r63tqf5")
@@ -1910,7 +1910,7 @@ class Vault(ServiceBase):
1910
1910
  Returns:
1911
1911
  A PangeaResponse where the state change object is returned in the
1912
1912
  response.result field. Available response fields can be found in our
1913
- [API documentation](https://pangea.cloud/docs/api/vault#change-state).
1913
+ [API documentation](https://pangea.cloud/docs/api/vault/v1-general#/v1/state/change-post).
1914
1914
 
1915
1915
  Raises:
1916
1916
  PangeaAPIException: If an API Error happens
@@ -2011,7 +2011,7 @@ class Vault(ServiceBase):
2011
2011
  Returns:
2012
2012
  A `PangeaResponse` where the encrypted object is returned in the
2013
2013
  `response.result` field. Available response fields can be found in
2014
- our [API documentation](https://pangea.cloud/docs/api/vault#encrypt-structured).
2014
+ our [API documentation](https://pangea.cloud/docs/api/vault/v1-keys#/v1/key/encrypt/structured-post).
2015
2015
 
2016
2016
  Raises:
2017
2017
  PangeaAPIException: If an API error happens.
@@ -2067,7 +2067,7 @@ class Vault(ServiceBase):
2067
2067
  Returns:
2068
2068
  A `PangeaResponse` where the decrypted object is returned in the
2069
2069
  `response.result` field. Available response fields can be found in
2070
- our [API documentation](https://pangea.cloud/docs/api/vault#decrypt-structured).
2070
+ our [API documentation](https://pangea.cloud/docs/api/vault/v1-keys#/v1/key/decrypt/structured-post).
2071
2071
 
2072
2072
  Examples:
2073
2073
  data = {"field1": [1, 2, "kxcbC9E9IlgVaSCChPWUMgUC3ko=", "6FfI/LCzatLRLNAc8SuBK/TDnGxp"], "field2": "data2"}
@@ -2211,7 +2211,7 @@ class Vault(ServiceBase):
2211
2211
  Returns:
2212
2212
  A `PangeaResponse` where the exported key is returned in the
2213
2213
  `response.result` field. Available response fields can be found in
2214
- our [API documentation](https://pangea.cloud/docs/api/vault#export).
2214
+ our [API documentation](https://pangea.cloud/docs/api/vault/v1-general#/v1/export-post).
2215
2215
 
2216
2216
  Raises:
2217
2217
  PangeaAPIException: If an API error happens.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pangea-sdk
3
- Version: 6.0.0
3
+ Version: 6.1.1
4
4
  Summary: Pangea API SDK
5
5
  License: MIT
6
6
  Keywords: Pangea,SDK,Audit
@@ -9,11 +9,11 @@ Author-email: glenn.gallien@pangea.cloud
9
9
  Requires-Python: >=3.9.2,<4.0.0
10
10
  Classifier: Topic :: Software Development
11
11
  Classifier: Topic :: Software Development :: Libraries
12
- Requires-Dist: aiohttp (>=3.11.16,<4.0.0)
13
- Requires-Dist: cryptography (>=44.0.2,<44.0.3)
12
+ Requires-Dist: aiohttp (>=3.11.18,<4.0.0)
13
+ Requires-Dist: cryptography (>=44.0.3,<44.0.4)
14
14
  Requires-Dist: deprecated (>=1.2.18,<2.0.0)
15
15
  Requires-Dist: google-crc32c (>=1.7.1,<2.0.0)
16
- Requires-Dist: pydantic (>=2.11.3,<3.0.0)
16
+ Requires-Dist: pydantic (>=2.11.4,<3.0.0)
17
17
  Requires-Dist: python-dateutil (>=2.9.0.post0,<3.0.0)
18
18
  Requires-Dist: requests (>=2.32.3,<3.0.0)
19
19
  Requires-Dist: requests-toolbelt (>=1.0.0,<2.0.0)
@@ -1,21 +1,21 @@
1
- pangea/__init__.py,sha256=WlZa15dkqzwfQrtPRyiGS0sYP9wBJcaBvWFl_kcNUjs,246
1
+ pangea/__init__.py,sha256=4r063L50S_8ns4K9xQd4q4RNoY5giqoor2iJjA1M3Xo,246
2
2
  pangea/asyncio/__init__.py,sha256=kjEMkqMQ521LlMSu5jn3_WgweyArwVZ2C-s3x7mR6Pk,45
3
3
  pangea/asyncio/file_uploader.py,sha256=wI7epib7Rc5jtZw4eJ1L1SlmutDG6CPv59C8N2UPhtY,1436
4
- pangea/asyncio/request.py,sha256=lpLY-o405r3-VUfrAE5uxYxI8UjM4hjPqUzAUtOGE5o,18040
4
+ pangea/asyncio/request.py,sha256=TXBCCDHdjh9z0dWn21Jvj0itlBRzZzrJHarfx7fVAr4,18059
5
5
  pangea/asyncio/services/__init__.py,sha256=L6Tdhjfx_ZECHskhLMPaCcOefi-r-imw6q_zlU4j-FY,464
6
6
  pangea/asyncio/services/ai_guard.py,sha256=rFksT8LQkyioW3QOq4fLCEZbW5SXiYWpWjLbVovRouE,6294
7
- pangea/asyncio/services/audit.py,sha256=Ue3KDmTn-a2KsqlzxbakLQJAWiRyLaJrYVi1hO7a6sw,26030
8
- pangea/asyncio/services/authn.py,sha256=rPeLJweL8mYH_t4ebcQn4n_Wglr3kClKNnCXNCimZU4,46622
9
- pangea/asyncio/services/authz.py,sha256=B_0_nhDMJcjNpjpCx3Vi2LDRhlmfV9325GKbUZ8reos,10025
7
+ pangea/asyncio/services/audit.py,sha256=KPX_wTIidQRUEfek90owO5dCEc1m7OyxsSZMGX6tNF0,26040
8
+ pangea/asyncio/services/authn.py,sha256=ZZIYu3lM-hP750BY7hAEKb8GGkE2hZUdLQpVq-pRuuI,52205
9
+ pangea/asyncio/services/authz.py,sha256=3T0D97ACTx7RuGsopglm8G2Bg4GGNgvoAq3o8OP4lRc,9721
10
10
  pangea/asyncio/services/base.py,sha256=vRFVcO_uEAGJte3OUUBLD43RoiiFB1vC7SPyN6yEMoA,3158
11
11
  pangea/asyncio/services/embargo.py,sha256=ctzj3kip6xos-Eu3JuOskrCGYC8T3JlsgAopZHiPSXM,3068
12
- pangea/asyncio/services/file_scan.py,sha256=PLG1O-PL4Yk9uY9D6NbMrZ5LHg70Z311s7bFe46UMZA,7108
12
+ pangea/asyncio/services/file_scan.py,sha256=01vWZztp25At34Zi0soiu5A_hxScsCk3XH3LXvDKoZg,7110
13
13
  pangea/asyncio/services/intel.py,sha256=BcxGKSoZ1nJiEHyZM9yOwKSSPJUrB6ibJ19KR27VlgQ,40261
14
14
  pangea/asyncio/services/prompt_guard.py,sha256=NbYt-0tRtO5VH7kLmC1lJ5JSV-ztlb9dNFaKKs_fZUM,2553
15
- pangea/asyncio/services/redact.py,sha256=JPJcmeKFloMZRpkjAHAZbpZJpO993WsTfEwA-S5ov18,7951
15
+ pangea/asyncio/services/redact.py,sha256=NyreCHuZjNlOjr21V-tOWuqGCVXOx_LnKctSQ9U6iG0,7966
16
16
  pangea/asyncio/services/sanitize.py,sha256=EbSdq_v9yZWce9xEYWvZharE9bJcxw8cg5Pv8LVxdxc,8627
17
17
  pangea/asyncio/services/share.py,sha256=Qd2Oh4UsLwu7Zo4Xy1KABHuP4TJ9AtcN-XzldvilFVo,30773
18
- pangea/asyncio/services/vault.py,sha256=VqrJGSEdq6MlZRI6cJpkthhIsqLClSQdgVxwYCbIwEk,77079
18
+ pangea/asyncio/services/vault.py,sha256=jkTwsQtoibx_6ob-ykDIjqloeLtyp3e6E2_BYMd9f1I,77369
19
19
  pangea/audit_logger.py,sha256=gRkCfUUT5LDNaycwxkhZUySgY47jDfn1ZeKOul4XCQI,3842
20
20
  pangea/config.py,sha256=Z2WT_UG0qBQzzVzBfloXYFxS21mSg1YXQ36cAVCqrJk,1963
21
21
  pangea/crypto/rsa.py,sha256=mwSiNy571KAGr3F6oEM0CXWkl9D023ch8ldbZZeLj_4,4747
@@ -25,24 +25,24 @@ pangea/dump_audit.py,sha256=IevqaUUh7GDepdIW7slSxeZbkPrWIVbcX3sr4DgpJXI,7090
25
25
  pangea/exceptions.py,sha256=OBtzUECpNa6vNp8ySkHC-tm4QjFRCOAHBkMHqzAlOu8,5656
26
26
  pangea/file_uploader.py,sha256=4RQ44xt-faApC61nn2PlwHT7XYrJ4GeQA8Ug4tySEAg,1227
27
27
  pangea/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
28
- pangea/request.py,sha256=4ZVD1F3CS4XdLM45vfhlCazZ5NQF1jUzu4j31yjH3KE,24689
28
+ pangea/request.py,sha256=QyTS3nY4rpmPQ1xEHnj5ND0aPL3x5PIrE4fFOAwyLaM,24708
29
29
  pangea/response.py,sha256=lPAcYsF9Xg166CiyhCofVmQA-W4jevh0MQXxUa8Re68,7737
30
30
  pangea/services/__init__.py,sha256=h36HzyIGaI5kO6l3UCwKHx_Kd-m_9mYVwn5MLRVzblI,408
31
31
  pangea/services/ai_guard.py,sha256=X1DR1JTYZnLqBFFAHgmRk4xqyGF3GQMO1B3_cqLLVfU,15774
32
- pangea/services/audit/audit.py,sha256=TbDiO5eAHWCWAynQ4PChonTEN7z7ehZaR-duxbIFZ6Q,39068
32
+ pangea/services/audit/audit.py,sha256=41GVKkOH3ex8KMi6oOf_mCNwFqICpnoCH8jZpkvReXI,39098
33
33
  pangea/services/audit/exceptions.py,sha256=bhVuYe4ammacOVxwg98CChxvwZf5FKgR2DcgqILOcwc,471
34
34
  pangea/services/audit/models.py,sha256=1h1B9eSYQMYG3f8WNi1UcDX2-impRrET_ErjJYUnj7M,14678
35
35
  pangea/services/audit/signing.py,sha256=5A4hvPtpfP2kMz8bsiiKUACriXbh5dv9gb_rbqiUtuI,5583
36
36
  pangea/services/audit/util.py,sha256=Zq1qvfeplYfhCP_ud5YMvntSB0UvnCdsuYbOzZkHbjg,7620
37
- pangea/services/authn/authn.py,sha256=cZKl2Ixc6HwHnkRecpSaAGTQUgaZUtxfLa0T3S03HMs,45478
38
- pangea/services/authn/models.py,sha256=HH5su6jx3O9AwVGzASXZ99-eIWjgXEP5LhIVdewM13s,22394
39
- pangea/services/authz.py,sha256=bB0ZEUuXLT7Xjs5kZef1hZK6Du6VUusHe5aekNaxamw,12746
37
+ pangea/services/authn/authn.py,sha256=lx_j92WCkyGV9G4EUYIIrhdisNNkSk8zAg-WUSWCErM,51126
38
+ pangea/services/authn/models.py,sha256=EOoseAWVhr7Gy2HHqxqtvyUNimoi6OVc-x9OMxEeRX8,25253
39
+ pangea/services/authz.py,sha256=tava276eskCtiz_GwOQQ4HVw71Zbz2xftLWTU8x7DWk,14611
40
40
  pangea/services/base.py,sha256=43pWQcR9CeT4sGzgctF3Sy4M_h7DaUzkuZD2Z7CcDUU,3845
41
41
  pangea/services/embargo.py,sha256=9Wfku4td5ORaIENKmnGmS5jxJJIRfWp6Q51L36Jsy0I,3897
42
- pangea/services/file_scan.py,sha256=QiO80uKqB_BnAOiYQKznXfxpa5j40qqETE3-zBRT_QE,7813
42
+ pangea/services/file_scan.py,sha256=Q0VGzRqBhE7OnrrunX7JQbcVmldybxZN_Trrpeoq4VA,7815
43
43
  pangea/services/intel.py,sha256=y1EX2ctYIxQc52lmHp6-Q_UIDM--t3fOpXDssWiRPfo,56474
44
44
  pangea/services/prompt_guard.py,sha256=Cq8ume2_YPfHre4iN6FYkyTV7NrdwLXlr_wnilfKotE,3446
45
- pangea/services/redact.py,sha256=ZTZgx3w4X923ZjWcBpI4c0gVh9cpJpcUpWuTNVVuHeY,13143
45
+ pangea/services/redact.py,sha256=PWIeW2W5lC9DHLdzXBgOInie0AR2aCxmBPUXuAMEkvg,13158
46
46
  pangea/services/sanitize.py,sha256=eAN1HhObiKqygy6HHcfl0NmxYfPMvqSKepwEAVVIIEE,12936
47
47
  pangea/services/share/file_format.py,sha256=1svO1ee_aenA9zoO_AaU-Rk5Ulp7kcPOc_KwNoluyQE,2797
48
48
  pangea/services/share/share.py,sha256=hlhkIr6ScJ5oMFUs9no4HtHNoUEbYU4KoLkiGLxex30,52343
@@ -51,10 +51,10 @@ pangea/services/vault/models/common.py,sha256=PSZRFqHTUtEMJJGwywEFM2AU3aV8S-sbco
51
51
  pangea/services/vault/models/keys.py,sha256=duAuTiOby_D7MloRvN4gNj0P-b-jx9sdtplAWFxsShw,2786
52
52
  pangea/services/vault/models/secret.py,sha256=ItGdkulM-SEySfcm4a5yGxMvo_omjC7kChv6gdbFnn8,1142
53
53
  pangea/services/vault/models/symmetric.py,sha256=t8xCM1wGGKDBpOqTggFueO4-4-2IFmyxqcs7_PDr7U0,2562
54
- pangea/services/vault/vault.py,sha256=ow-Zm7PYzfWIfUcA4UNnpeL2DHfZM4C7inRDmNR3zQU,76196
54
+ pangea/services/vault/vault.py,sha256=2pg3oQrG3OnPeBJDgz6KJxGighifnsI4SUXXY0miXIg,76486
55
55
  pangea/tools.py,sha256=icHduOfZLi02UYdGb5Xl1fQqu-PBRB4tiDPT_nL2Q8E,6380
56
56
  pangea/utils.py,sha256=dZ6MwFVEWXUgXvvDg-k6JnvVfsgslvtaBd7ez7afrqk,4983
57
57
  pangea/verify_audit.py,sha256=nSP17OzoSPdvezRExwfcf45H8ZPZnxZu-CbEp3qFJO0,17354
58
- pangea_sdk-6.0.0.dist-info/METADATA,sha256=X9QYxYoEw53LK2rdWTOvEs9I24--d27P7Xeft4DTGzM,6886
59
- pangea_sdk-6.0.0.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
60
- pangea_sdk-6.0.0.dist-info/RECORD,,
58
+ pangea_sdk-6.1.1.dist-info/METADATA,sha256=3NPp98heFZoHGZpELl9kzt5Put7X_u-G6xz0yB4MKeg,6886
59
+ pangea_sdk-6.1.1.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
60
+ pangea_sdk-6.1.1.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 2.1.2
2
+ Generator: poetry-core 2.1.3
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any