dub 0.29.2__py3-none-any.whl → 0.31.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.
dub/utils/annotations.py CHANGED
@@ -3,6 +3,7 @@
3
3
  from enum import Enum
4
4
  from typing import Any, Optional
5
5
 
6
+
6
7
  def get_discriminator(model: Any, fieldname: str, key: str) -> str:
7
8
  """
8
9
  Recursively search for the discriminator attribute in a model.
@@ -25,31 +26,54 @@ def get_discriminator(model: Any, fieldname: str, key: str) -> str:
25
26
 
26
27
  if isinstance(field, dict):
27
28
  if key in field:
28
- return f'{field[key]}'
29
+ return f"{field[key]}"
29
30
 
30
31
  if hasattr(field, fieldname):
31
32
  attr = getattr(field, fieldname)
32
33
  if isinstance(attr, Enum):
33
- return f'{attr.value}'
34
- return f'{attr}'
34
+ return f"{attr.value}"
35
+ return f"{attr}"
35
36
 
36
37
  if hasattr(field, upper_fieldname):
37
38
  attr = getattr(field, upper_fieldname)
38
39
  if isinstance(attr, Enum):
39
- return f'{attr.value}'
40
- return f'{attr}'
40
+ return f"{attr.value}"
41
+ return f"{attr}"
41
42
 
42
43
  return None
43
44
 
45
+ def search_nested_discriminator(obj: Any) -> Optional[str]:
46
+ """Recursively search for discriminator in nested structures."""
47
+ # First try direct field lookup
48
+ discriminator = get_field_discriminator(obj)
49
+ if discriminator is not None:
50
+ return discriminator
51
+
52
+ # If it's a dict, search in nested values
53
+ if isinstance(obj, dict):
54
+ for value in obj.values():
55
+ if isinstance(value, list):
56
+ # Search in list items
57
+ for item in value:
58
+ nested_discriminator = search_nested_discriminator(item)
59
+ if nested_discriminator is not None:
60
+ return nested_discriminator
61
+ elif isinstance(value, dict):
62
+ # Search in nested dict
63
+ nested_discriminator = search_nested_discriminator(value)
64
+ if nested_discriminator is not None:
65
+ return nested_discriminator
66
+
67
+ return None
44
68
 
45
69
  if isinstance(model, list):
46
70
  for field in model:
47
- discriminator = get_field_discriminator(field)
71
+ discriminator = search_nested_discriminator(field)
48
72
  if discriminator is not None:
49
73
  return discriminator
50
74
 
51
- discriminator = get_field_discriminator(model)
75
+ discriminator = search_nested_discriminator(model)
52
76
  if discriminator is not None:
53
77
  return discriminator
54
78
 
55
- raise ValueError(f'Could not find discriminator field {fieldname} in {model}')
79
+ raise ValueError(f"Could not find discriminator field {fieldname} in {model}")
@@ -1,7 +1,8 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: dub
3
- Version: 0.29.2
3
+ Version: 0.31.0
4
4
  Summary: Python Client SDK Generated by Speakeasy
5
+ License-File: LICENSE
5
6
  Author: Speakeasy
6
7
  Requires-Python: >=3.9.2
7
8
  Classifier: Programming Language :: Python :: 3
@@ -9,6 +10,7 @@ Classifier: Programming Language :: Python :: 3.10
9
10
  Classifier: Programming Language :: Python :: 3.11
10
11
  Classifier: Programming Language :: Python :: 3.12
11
12
  Classifier: Programming Language :: Python :: 3.13
13
+ Classifier: Programming Language :: Python :: 3.14
12
14
  Requires-Dist: httpcore (>=1.0.9)
13
15
  Requires-Dist: httpx (>=0.28.1)
14
16
  Requires-Dist: jsonpath-python (>=1.0.6)
@@ -162,6 +164,7 @@ with Dub(
162
164
  </br>
163
165
 
164
166
  The same SDK client can also be used to make asynchronous requests by importing asyncio.
167
+
165
168
  ```python
166
169
  # Asynchronous Example
167
170
  import asyncio
@@ -237,6 +240,7 @@ with Dub(
237
240
  </br>
238
241
 
239
242
  The same SDK client can also be used to make asynchronous requests by importing asyncio.
243
+
240
244
  ```python
241
245
  # Asynchronous Example
242
246
  import asyncio
@@ -338,7 +342,7 @@ asyncio.run(main())
338
342
 
339
343
  ### [partners](https://github.com/dubinc/dub-python/blob/master/docs/sdks/partners/README.md)
340
344
 
341
- * [create](https://github.com/dubinc/dub-python/blob/master/docs/sdks/partners/README.md#create) - Create a partner
345
+ * [create](https://github.com/dubinc/dub-python/blob/master/docs/sdks/partners/README.md#create) - Create or update a partner
342
346
  * [list](https://github.com/dubinc/dub-python/blob/master/docs/sdks/partners/README.md#list) - List all partners
343
347
  * [create_link](https://github.com/dubinc/dub-python/blob/master/docs/sdks/partners/README.md#create_link) - Create a link for a partner
344
348
  * [retrieve_links](https://github.com/dubinc/dub-python/blob/master/docs/sdks/partners/README.md#retrieve_links) - Retrieve a partner's links.
@@ -3,7 +3,7 @@ dub/_hooks/__init__.py,sha256=9_7W5jAYw8rcO8Kfc-Ty-lB82BHfksAJJpVFb_UeU1c,146
3
3
  dub/_hooks/registration.py,sha256=tT-1Cjp5ax1DL-84HBNWPy4wAwgP-0aI4-asLfnkIlw,625
4
4
  dub/_hooks/sdkhooks.py,sha256=2rLEjSz1xFGWabNs1voFn0lXSCqkS38bdKVFdnBJufE,2553
5
5
  dub/_hooks/types.py,sha256=5vcNbFBNpCxqI7ZebiBtut7T_Gz2i36L5MjTqGvxV7Y,3035
6
- dub/_version.py,sha256=N29ZAEFk7UwmXSFi--vcG2_xxJF0xBgDwKTbsgSYFpU,450
6
+ dub/_version.py,sha256=5I5tNDHpFoeeSzQ4LrlD_49_92ZDmMfpyFuaa-iqUP4,450
7
7
  dub/analytics.py,sha256=D4s6aPCiCVxwbG2bIvanBiaDtYZgN1xMwu5DOnuRrVg,12342
8
8
  dub/basesdk.py,sha256=ZpolQ0D1eZ93wq3jecXpg7RHj8NuFodyWkk9l4eIcqY,12108
9
9
  dub/commissions.py,sha256=OzDAs372f4VszeKJNkR4pR7q5SNI4JiCwz-bzny0YMc,24346
@@ -12,10 +12,10 @@ dub/domains.py,sha256=cH01GZMhvJHULm7cJxXII--vcDR7DuSginIcKkbpp7M,73956
12
12
  dub/embed_tokens.py,sha256=vw3Sa5618PNFlGbDSDPF_jsXFaGuhddFMJrjdaYv0I8,13024
13
13
  dub/events.py,sha256=R96iJet5NYizw32ahAI-fMfgetXveDybuZ7zYlBT7Rs,11989
14
14
  dub/folders.py,sha256=6hlJheqGnEu8noq3A-iahury-TxtLJ3e_YiIPr8NDl8,47602
15
- dub/httpclient.py,sha256=Eu73urOAiZQtdUIyOUnPccxCiBbWEKrXG-JrRG3SLM4,3946
15
+ dub/httpclient.py,sha256=dqTPONDBpRn4ktXfcetQiRXnG93f0pJkFhqsYFhLUac,3945
16
16
  dub/links.py,sha256=vnP7Uu41PtsOr2mqzROSNxQB3InnOoxq4_zNw3_q5L8,121880
17
17
  dub/models/__init__.py,sha256=wIW9sbvSKlrGyoPY4mXvHqw-_Inpl6zqpN6U6j-w6SU,83
18
- dub/models/components/__init__.py,sha256=xlsKHs_fvV-8wF-pLFpT5x7XH6jjjDvrj4-Z4F3c9aU,20822
18
+ dub/models/components/__init__.py,sha256=0BI3rzIRN_9frB9vMtKIKHTR3J9ZfrVx1b5nvicMhfM,21376
19
19
  dub/models/components/analyticsbrowsers.py,sha256=f6qMrkPFf38u3_PIovvdIc0hsX1YpYEaPxNwbXzkoeY,1172
20
20
  dub/models/components/analyticscities.py,sha256=zef22QucFtrOCkPDrpvpNlrbX465_0dFHyZ5va_LRRI,1666
21
21
  dub/models/components/analyticscontinents.py,sha256=D_SQTm1Xp_pOt7qZTLJVo2B3RQUP8k3MQmsYRQYbjlI,1616
@@ -31,11 +31,11 @@ dub/models/components/analyticstoplinks.py,sha256=RvhyKQcmDT47F-4sPojhhDgvFYRZCA
31
31
  dub/models/components/analyticstopurls.py,sha256=WN4oF32SSXUlFPpWvx7jKype0SfdBsX1BvrkaKjClRM,1122
32
32
  dub/models/components/analyticstriggers.py,sha256=reWQ1cQDNgPc_cDhGrMv5EplFviiyWZ0nYTvU7bm3C0,1484
33
33
  dub/models/components/clickevent.py,sha256=0n1Cwbq9A12Dw8sUIYoHLtsMIFsAUXJ0PH8fPIjzrsQ,18709
34
- dub/models/components/commissioncreatedevent.py,sha256=JGQ862mEC9CqSt03JX5pzrM36DacHYNiDhAY1tp95qg,9193
34
+ dub/models/components/commissioncreatedevent.py,sha256=GzBgeYaoV3w5Js9QfqJdn9HyJev7_wv_CIVbFlZcE30,9281
35
35
  dub/models/components/continentcode.py,sha256=YFw3_x0w7CxCQijsbfiiOoS9FbNATeHyGLcw-LEsXYw,315
36
36
  dub/models/components/domainschema.py,sha256=m0QHTiOcO20Ne77d1VanWGSdOxdi5Zt4kIgtQFpXbgI,6688
37
37
  dub/models/components/folderschema.py,sha256=tfVy46SHPHMKl-_bOTr6_j5KHtx6aOJiFniYntBOVe4,2415
38
- dub/models/components/leadcreatedevent.py,sha256=HzgsTjqEIDO-xSa0Y87xRCx_dn-koCUqSb5dvuFvbEU,18047
38
+ dub/models/components/leadcreatedevent.py,sha256=QKajAogswENkcco0D2lIoR5O3DHbQGiGi9Yx8OdKXuc,21766
39
39
  dub/models/components/leadevent.py,sha256=G21I9c3dEx0dhuU3hTqQ0OS1Y6Hp-tDdXEmj_xAuNcc,22953
40
40
  dub/models/components/linkclickedevent.py,sha256=jNJO37xuefH8yJqFcIRd2VkduQ6HAEIz4HPXc9yWJVY,14850
41
41
  dub/models/components/linkerrorschema.py,sha256=BHHLHZv1ojPYUO78d8kCKIjgq68uuMMhW7LbyLMbzqo,1114
@@ -44,13 +44,13 @@ dub/models/components/linkwebhookevent.py,sha256=KluSsxIKkFSZYnb_TdNQIMOV_pP2Eg7
44
44
  dub/models/components/partneranalyticscount.py,sha256=hJOuFVUTFOuXWviLxExwXDZVgPLBcgmqt8VxeHv7JAw,1035
45
45
  dub/models/components/partneranalyticstimeseries.py,sha256=Bh431YfEd8v6TD9o9DPCAwGCDo5Rrf1xR1pccm7q5aw,1268
46
46
  dub/models/components/partneranalyticstoplinks.py,sha256=xy1F1vueaBX93Gj2AYqqa7jbEueJy-FAVD5GdnjPva8,3755
47
- dub/models/components/partnerenrolledevent.py,sha256=GoGLX2KX6aKbtyk0PgsI5cpDnWqV5_Zb1l7pUNjuWxw,16542
48
- dub/models/components/salecreatedevent.py,sha256=B1rj2KvfX4bbReMicWefT_zx2PAbwZWVC84DJZYqLmE,19401
47
+ dub/models/components/partnerenrolledevent.py,sha256=e1LrpKG_syGpniJgooqXoP9KFp_xMgTAw7GQqIJKkRo,14901
48
+ dub/models/components/salecreatedevent.py,sha256=Hd9VF8PwbIpn1O2NGr5FyYJ2PxinhqlGmVTfjjbHhaM,23184
49
49
  dub/models/components/saleevent.py,sha256=5PQKE60YPCS5wqNpi5DDxoWeZGHYGd-7RrrndrrTx_U,26568
50
50
  dub/models/components/security.py,sha256=be_cng1n5ULto_xGGPBKH1ZE5LrtmBTg6kX2uPJqJOw,599
51
51
  dub/models/components/tagschema.py,sha256=jZ2MFrE9ctCqR18S0GV-czRTcViglbpl-9h7pUt81VQ,759
52
52
  dub/models/components/webhookevent.py,sha256=12SgBns1nVcb0Efs8JR9JO8vmvK25bXMROCT-s0Ue5c,1268
53
- dub/models/components/workspaceschema.py,sha256=hS846LkmNv5ZdYZvT1eY7wCQ6-xs_5XMAc2VmdBjPtk,10898
53
+ dub/models/components/workspaceschema.py,sha256=YGNcYy1BFIPhD_b_TeCr85meGVooNdr-HUtZLvlPufk,11202
54
54
  dub/models/errors/__init__.py,sha256=puGRbwSI00uEfD5rs_zvN4GtHhVFXRqrkK60R_nSI24,6462
55
55
  dub/models/errors/badrequest.py,sha256=3QLoIWGXDFBY874Y6yAyWKWLG6VAC8T60ofw7ipM-mU,1753
56
56
  dub/models/errors/conflict.py,sha256=Or-nd9nyQjst4kdPqXAkC2SvcY62ubeWmJdyOjSzZvk,1669
@@ -70,11 +70,11 @@ dub/models/operations/bulkcreatelinks.py,sha256=OZNtpJ96LE_33GGD3XsaXN43w3GxA2Oq
70
70
  dub/models/operations/bulkdeletelinks.py,sha256=u_hEFC9TZ1UnGGgLhQ-Mf3HNDO98Ur49MtdBnNVIRsE,1151
71
71
  dub/models/operations/bulkupdatelinks.py,sha256=TCkPBC7wD-EZdJm0m9XSznY7sNF8pixyXPXokb3S4XY,15879
72
72
  dub/models/operations/checkdomainstatus.py,sha256=W085WT-gUgU73qDi4LlXppdiPVC0Pm1CpPXTqTM56sI,2538
73
- dub/models/operations/createcustomer.py,sha256=gAwfJB7hXlbCKbfypCYxshq7LnWkTqAPdMIl1d5UOZQ,12006
73
+ dub/models/operations/createcustomer.py,sha256=U84gPtRbF6ODG75Ila8h5p7CtB0RWH6VjY9-7J3AjNQ,12485
74
74
  dub/models/operations/createdomain.py,sha256=dHRvCzE6knsndN4FTFjfijHVmTi8NXKpURz8cM_C-bk,3900
75
75
  dub/models/operations/createfolder.py,sha256=j9z0CIsc22VsWAwlCGNwxo6a3VsetD6t4T2LdCELYGE,1884
76
76
  dub/models/operations/createlink.py,sha256=aziKXHSXYXrANYB8bFK_BwmSW48kMGF3mOed5TsZUck,17170
77
- dub/models/operations/createpartner.py,sha256=9-KuHL2AFbSYGi7iwuLi2G7g7BZXuFst1qhXsYQ6ztQ,34072
77
+ dub/models/operations/createpartner.py,sha256=3EhgFhKafesEql9SsOLfP2UUBlgcPkcNx3yTdbI7E1o,32453
78
78
  dub/models/operations/createpartnerlink.py,sha256=rOlnyEQdBk2jb5T3ryzvboWney3cRXIG9rCxuwQO58I,17091
79
79
  dub/models/operations/createreferralsembedtoken.py,sha256=wu1piQus6oCum3m8etYP6zKKy6pks3pj36x_04Hbfp8,19414
80
80
  dub/models/operations/createtag.py,sha256=g0iRXZ4_w-608SLWjU4SvI4paKVpNehvJVYeoWm4NZc,1479
@@ -83,27 +83,27 @@ dub/models/operations/deletedomain.py,sha256=VtuDxUCmAcEmNn1vmrdlSKmASHSFwoho-Co
83
83
  dub/models/operations/deletefolder.py,sha256=lpetbObqu9jd-XLl-unlvmSTuztW8Ecn-dhGNxN60Yc,815
84
84
  dub/models/operations/deletelink.py,sha256=o3Uia06QBrKb--6OkShjKkcqaK0dpt_Jw3AClUqTQq4,1062
85
85
  dub/models/operations/deletetag.py,sha256=UJz-O6oTuvOdzuUXUQktw699hEv0cs1eJW9C3wQBQBc,785
86
- dub/models/operations/getcustomer.py,sha256=tiV2Ra9_AR7u6NRPJ1WUS-W-m0hRMKVpJANN_Ur0CQc,11197
87
- dub/models/operations/getcustomers.py,sha256=2cy-M111P4Iok1plmB5UHQK-tKmJMXUUP83-9dqTW7w,14389
86
+ dub/models/operations/getcustomer.py,sha256=3e2rlxI1sHyR0scjg9vScgEPm9sTsJCsz46FDsf_Rrc,11197
87
+ dub/models/operations/getcustomers.py,sha256=utoJHhk1F2JnD6mpfrsFYIKxfE3bnd1yWmIxylblYEw,14389
88
88
  dub/models/operations/getlinkinfo.py,sha256=I4bhM6HeW7IFg1J-68Uou5-OHA7XdQcM8I_lRBtXAJI,1530
89
89
  dub/models/operations/getlinks.py,sha256=zO_sZyl2REBpy9VlCkgDd9gfq8GiIyDfkcmS2JVnv3w,7472
90
90
  dub/models/operations/getlinkscount.py,sha256=PR5EPwhjTTpnlPnWqZX42U7HIT7wtygtIFVQeDhtlWE,5851
91
91
  dub/models/operations/getqrcode.py,sha256=ynCPJc8vy_QEt5FP8OU2s-u6UIt1BhmFSNZC-XPmO4I,3848
92
92
  dub/models/operations/gettags.py,sha256=c9p_JrHFnTDJURyR5iiKFKpXFHlzJDt3R5X1U-anyYg,2664
93
93
  dub/models/operations/getworkspace.py,sha256=V4-NfsEg3M1BTeoE13sDyazefb2_kI4yFxnzgvHPv4s,625
94
- dub/models/operations/listcommissions.py,sha256=zSHnd-WaLkCyKO7omfwKpCF9_U2cKlwj-ovZ2HmX2TE,13937
94
+ dub/models/operations/listcommissions.py,sha256=u0Qggw_eE76vgYogAhJ3gLidukT2As2zpPBTu2YkAS8,14493
95
95
  dub/models/operations/listdomains.py,sha256=gbQrJyBIvTGKSeqJo0Jb08iE44Xu39NS9zbfetx4p-s,1936
96
- dub/models/operations/listevents.py,sha256=YCLd_HZuBEdZUL3gTfWOJm3MHI06VFVXsnecen-lFAU,19183
96
+ dub/models/operations/listevents.py,sha256=7uU9cbHk5Ewwxl4rwGqBwHitevKQ7pkEbHel1yrI8r8,19476
97
97
  dub/models/operations/listfolders.py,sha256=5FGf62ZTjquVXjq5axlzQgYGfEnrEwDn8QLlgGH_7jQ,1209
98
- dub/models/operations/listpartners.py,sha256=nUb6urMlKR4ThYvZ_LDr_lJxIMa0H0zoZIGacALoUSM,20487
98
+ dub/models/operations/listpartners.py,sha256=sIxMukXcLfC7GioMhwKj13doQH5xLBUA3sZUZyeJ5uc,19295
99
99
  dub/models/operations/registerdomain.py,sha256=fjozn1tFU-cNarHdAqN_flQoGAE498ob-f4A2bIAiOc,2058
100
- dub/models/operations/retrieveanalytics.py,sha256=4dRnXcathBqM34MPZV6pE_fMYe3P3CVIb53-i8TRemo,20421
101
- dub/models/operations/retrievelinks.py,sha256=rMp0VPEdwLT5ekQ3g2eAHwlr8-4EaEw699yLzDqTXzk,2855
100
+ dub/models/operations/retrieveanalytics.py,sha256=xZhvnqkvQ9tJBxR6DQYYkB-F8o-9PSXUAXpg1srFoXU,20714
101
+ dub/models/operations/retrievelinks.py,sha256=kuMoY11IcxC0B2suLFqUzhKU9IQnj_6nFotCkHpfmfo,3063
102
102
  dub/models/operations/retrievepartneranalytics.py,sha256=up_lKTeJBLQBmVaPOU9r06t-TysfnePx9eM5h6sFci4,5328
103
103
  dub/models/operations/tracklead.py,sha256=PU8PalO8wE3EzcgA8BFg4BuYwqcMpF6tDj0xt-Q1UAg,11931
104
104
  dub/models/operations/tracksale.py,sha256=F604McUWJ-cjNeXDV-bvUKD7pEnsbOUdbzTsWt8vfFk,11172
105
105
  dub/models/operations/updatecommission.py,sha256=N_okp7jc6jqI4CnGRvTEKTw-QPb5DEwGVGfKmOSRQrY,11019
106
- dub/models/operations/updatecustomer.py,sha256=xlW-W99WgdlAsKD4fNhIEw3f1Sipnb4ahPnZFOcisSY,13517
106
+ dub/models/operations/updatecustomer.py,sha256=zEX_PDLybrFOFn7dqNjhEUsWnj92graAKnmedeTPb5E,13996
107
107
  dub/models/operations/updatedomain.py,sha256=rexCga7uNxgBZLPiCMcaudc2cQGB0E_qX2HI0DgG_3M,4519
108
108
  dub/models/operations/updatefolder.py,sha256=dNvSPY67g58SWynB8ic5rcgT-h7THRmyxuzuFdO42GQ,2581
109
109
  dub/models/operations/updatelink.py,sha256=yka9fDd7uixr4QbbWm5V0bFhB5hqaXCyTRtoatit6HI,16977
@@ -111,17 +111,17 @@ dub/models/operations/updatetag.py,sha256=_cQx77PnR9Jqz9xJ3q3ZwQwpntSibcnlkFFcRb
111
111
  dub/models/operations/updateworkspace.py,sha256=CKxZZGfgJJeKgWIllyBGmQIPjgfxF0BQMRxNu-c91is,2429
112
112
  dub/models/operations/upsertlink.py,sha256=qLnY-MD1KdYroYyV2hbegaZKWwnmbVrSy_FgrHycygg,17293
113
113
  dub/models/operations/upsertpartnerlink.py,sha256=Z0xtZHGzePne4wM2XaouR8f_pJrHA6avCmczxEo-9p0,17091
114
- dub/partners.py,sha256=y-lObDvW0e7UMFkmF2bjrikimU0zb1Lf2U-KSANCvnU,72639
114
+ dub/partners.py,sha256=vXPngMTnHdroYfgsRR_w6mQDk-N12N52gSwlFx-xb70,73037
115
115
  dub/py.typed,sha256=zrp19r0G21lr2yRiMC0f8MFkQFGj9wMpSbboePMg8KM,59
116
116
  dub/qr_codes.py,sha256=r1kxjwW54UDxdVZ74l5U1bxbkvMcrSC9nlPUHDZYBsI,11572
117
- dub/sdk.py,sha256=fu-8vmD6fO8Qoj4O_0z1fXel6nMRT5YwY1RIURt_7EE,8085
117
+ dub/sdk.py,sha256=5CYWxNW6k-XRskdIwLZ_xhpXtGi8rXgfx_aB0RM7Wtg,8127
118
118
  dub/sdkconfiguration.py,sha256=2aIgzM94TIYQe5zkQmHhDsdlxJdV6cfhWX0pspYMHow,1605
119
119
  dub/tags.py,sha256=qpa2kajz07L6MiaEKlrGAOE55wF1M3eSWAx2J6X04l4,47163
120
120
  dub/track.py,sha256=y42M2SOOiM0fboywGCEvkcZJDrZp0x9Ck4GInfx-5zw,24510
121
121
  dub/types/__init__.py,sha256=RArOwSgeeTIva6h-4ttjXwMUeCkz10nAFBL9D-QljI4,377
122
122
  dub/types/basemodel.py,sha256=L79WXvTECbSqaJzs8D3ud_KdIWkU7Cx2wbohDAktE9E,1127
123
123
  dub/utils/__init__.py,sha256=88uXYJ3d7C29IuuhPMgWfu4i00tNl555vaqrLA61hds,5766
124
- dub/utils/annotations.py,sha256=aR7mZG34FzgRdew7WZPYEu9QGBerpuKxCF4sek5Z_5Y,1699
124
+ dub/utils/annotations.py,sha256=FvfvVTUj8TUclm4HbGgY5yi2Ap7EzGmu2UPFU4FwC1w,2755
125
125
  dub/utils/datetimes.py,sha256=oppAA5e3V35pQov1-FNLKxAaNF1_XWi-bQtyjjql3H8,855
126
126
  dub/utils/enums.py,sha256=REU6ydF8gsVL3xaeGX4sMNyiL3q5P9h29-f6Sa6luAE,2633
127
127
  dub/utils/eventstreaming.py,sha256=SgFqMcUOYKlrTQ4gAp_dNcKLvDXukeiEMNU3DP8mXk8,6692
@@ -138,7 +138,7 @@ dub/utils/unmarshal_json_response.py,sha256=FcgE-IWPMAHWDdw6QEZeLeD5G_rflScZbT10
138
138
  dub/utils/url.py,sha256=BgGPgcTA6MRK4bF8fjP2dUopN3NzEzxWMXPBVg8NQUA,5254
139
139
  dub/utils/values.py,sha256=CcaCXEa3xHhkUDROyXZocN8f0bdITftv9Y0P9lTf0YM,3517
140
140
  dub/workspaces.py,sha256=qqg3JuPFsC14D9OqUeMxYvXHOoIJOJ9To1faAG7x8kM,24373
141
- dub-0.29.2.dist-info/LICENSE,sha256=kc_aZ6YHHcdSsRy-mGsT0Ehji0ZgR_zevXiUt05V2KY,1079
142
- dub-0.29.2.dist-info/METADATA,sha256=-POgUVwf4HFaPufvEWbFnY_oAA3eewMiw94cClaoV2k,30669
143
- dub-0.29.2.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
144
- dub-0.29.2.dist-info/RECORD,,
141
+ dub-0.31.0.dist-info/METADATA,sha256=VLBCmAWFhmqzcnIY_juw2qDh1tw3wyoBVQpakfOP6EE,30754
142
+ dub-0.31.0.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
143
+ dub-0.31.0.dist-info/licenses/LICENSE,sha256=kc_aZ6YHHcdSsRy-mGsT0Ehji0ZgR_zevXiUt05V2KY,1079
144
+ dub-0.31.0.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 2.1.3
2
+ Generator: poetry-core 2.2.1
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any