dub 0.34.1__py3-none-any.whl → 0.35.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.
Files changed (93) hide show
  1. dub/_version.py +3 -3
  2. dub/basesdk.py +20 -6
  3. dub/models/components/__init__.py +108 -26
  4. dub/models/components/analyticsbrowsers.py +18 -1
  5. dub/models/components/analyticscities.py +18 -1
  6. dub/models/components/analyticscontinents.py +18 -1
  7. dub/models/components/analyticscount.py +18 -1
  8. dub/models/components/analyticscountries.py +20 -1
  9. dub/models/components/analyticsdevices.py +18 -1
  10. dub/models/components/analyticsos.py +18 -1
  11. dub/models/components/analyticsreferers.py +18 -1
  12. dub/models/components/analyticsrefererurls.py +18 -1
  13. dub/models/components/analyticsregions.py +18 -1
  14. dub/models/components/analyticstimeseries.py +18 -1
  15. dub/models/components/analyticstoplinks.py +16 -26
  16. dub/models/components/analyticstopurls.py +18 -1
  17. dub/models/components/analyticstriggers.py +18 -1
  18. dub/models/components/commissioncreatedevent.py +96 -64
  19. dub/models/components/domainschema.py +31 -50
  20. dub/models/components/folderschema.py +18 -19
  21. dub/models/components/leadcreatedevent.py +151 -134
  22. dub/models/components/linkclickedevent.py +57 -70
  23. dub/models/components/linkschema.py +63 -64
  24. dub/models/components/linkwebhookevent.py +43 -51
  25. dub/models/components/partneranalyticscount.py +18 -1
  26. dub/models/components/partneranalyticstimeseries.py +18 -1
  27. dub/models/components/partneranalyticstoplinks.py +16 -27
  28. dub/models/components/partnerapplicationsubmittedevent.py +42 -75
  29. dub/models/components/partnerenrolledevent.py +477 -83
  30. dub/models/components/salecreatedevent.py +152 -151
  31. dub/models/errors/badrequest.py +18 -1
  32. dub/models/errors/conflict.py +18 -1
  33. dub/models/errors/forbidden.py +18 -1
  34. dub/models/errors/internalservererror.py +18 -1
  35. dub/models/errors/inviteexpired.py +18 -1
  36. dub/models/errors/notfound.py +18 -1
  37. dub/models/errors/ratelimitexceeded.py +18 -1
  38. dub/models/errors/unauthorized.py +18 -1
  39. dub/models/errors/unprocessableentity.py +18 -1
  40. dub/models/operations/__init__.py +230 -19
  41. dub/models/operations/approvebountysubmission.py +71 -45
  42. dub/models/operations/banpartner.py +14 -19
  43. dub/models/operations/bulkcreatelinks.py +86 -87
  44. dub/models/operations/bulkupdatelinks.py +97 -82
  45. dub/models/operations/checkdomainstatus.py +1 -17
  46. dub/models/operations/createdomain.py +33 -34
  47. dub/models/operations/createfolder.py +18 -19
  48. dub/models/operations/createlink.py +86 -87
  49. dub/models/operations/createpartner.py +560 -168
  50. dub/models/operations/createpartnerlink.py +74 -85
  51. dub/models/operations/createreferralsembedtoken.py +99 -87
  52. dub/models/operations/createtag.py +18 -1
  53. dub/models/operations/deactivatepartner.py +65 -0
  54. dub/models/operations/getcustomer.py +106 -105
  55. dub/models/operations/getcustomers.py +123 -105
  56. dub/models/operations/getlinkinfo.py +18 -1
  57. dub/models/operations/getlinks.py +36 -1
  58. dub/models/operations/getlinkscount.py +32 -1
  59. dub/models/operations/getqrcode.py +29 -1
  60. dub/models/operations/gettags.py +20 -1
  61. dub/models/operations/listbountysubmissions.py +63 -26
  62. dub/models/operations/listcommissions.py +129 -64
  63. dub/models/operations/listdomains.py +18 -1
  64. dub/models/operations/listevents.py +414 -389
  65. dub/models/operations/listfolders.py +18 -1
  66. dub/models/operations/listpartners.py +510 -84
  67. dub/models/operations/registerdomain.py +1 -17
  68. dub/models/operations/rejectbountysubmission.py +71 -26
  69. dub/models/operations/retrieveanalytics.py +65 -66
  70. dub/models/operations/retrievelinks.py +30 -19
  71. dub/models/operations/retrievepartneranalytics.py +25 -28
  72. dub/models/operations/tracklead.py +38 -83
  73. dub/models/operations/tracksale.py +52 -95
  74. dub/models/operations/updatecommission.py +126 -64
  75. dub/models/operations/updatecustomer.py +122 -131
  76. dub/models/operations/updatedomain.py +50 -35
  77. dub/models/operations/updatefolder.py +34 -19
  78. dub/models/operations/updatelink.py +101 -86
  79. dub/models/operations/updatetag.py +34 -1
  80. dub/models/operations/upsertlink.py +86 -87
  81. dub/models/operations/upsertpartnerlink.py +72 -78
  82. dub/partners.py +288 -0
  83. dub/sdk.py +0 -3
  84. dub/utils/__init__.py +10 -1
  85. {dub-0.34.1.dist-info → dub-0.35.0.dist-info}/METADATA +4 -8
  86. dub-0.35.0.dist-info/RECORD +143 -0
  87. dub/models/components/workspaceschema.py +0 -328
  88. dub/models/operations/getworkspace.py +0 -21
  89. dub/models/operations/updateworkspace.py +0 -78
  90. dub/workspaces.py +0 -561
  91. dub-0.34.1.dist-info/RECORD +0 -146
  92. {dub-0.34.1.dist-info → dub-0.35.0.dist-info}/WHEEL +0 -0
  93. {dub-0.34.1.dist-info → dub-0.35.0.dist-info}/licenses/LICENSE +0 -0
dub/partners.py CHANGED
@@ -1939,3 +1939,291 @@ class Partners(BaseSDK):
1939
1939
  raise errors.SDKError("API error occurred", http_res, http_res_text)
1940
1940
 
1941
1941
  raise errors.SDKError("Unexpected response received", http_res)
1942
+
1943
+ def deactivate(
1944
+ self,
1945
+ *,
1946
+ request: Optional[
1947
+ Union[
1948
+ operations.DeactivatePartnerRequestBody,
1949
+ operations.DeactivatePartnerRequestBodyTypedDict,
1950
+ ]
1951
+ ] = None,
1952
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
1953
+ server_url: Optional[str] = None,
1954
+ timeout_ms: Optional[int] = None,
1955
+ http_headers: Optional[Mapping[str, str]] = None,
1956
+ ) -> operations.DeactivatePartnerResponseBody:
1957
+ r"""Deactivate a partner
1958
+
1959
+ This will deactivate the partner from your program and disable all their active links. Their commissions and payouts will remain intact. You can reactivate them later if needed.
1960
+
1961
+ :param request: The request object to send.
1962
+ :param retries: Override the default retry configuration for this method
1963
+ :param server_url: Override the default server URL for this method
1964
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
1965
+ :param http_headers: Additional headers to set or replace on requests.
1966
+ """
1967
+ base_url = None
1968
+ url_variables = None
1969
+ if timeout_ms is None:
1970
+ timeout_ms = self.sdk_configuration.timeout_ms
1971
+
1972
+ if server_url is not None:
1973
+ base_url = server_url
1974
+ else:
1975
+ base_url = self._get_url(base_url, url_variables)
1976
+
1977
+ if not isinstance(request, BaseModel):
1978
+ request = utils.unmarshal(
1979
+ request, Optional[operations.DeactivatePartnerRequestBody]
1980
+ )
1981
+ request = cast(Optional[operations.DeactivatePartnerRequestBody], request)
1982
+
1983
+ req = self._build_request(
1984
+ method="POST",
1985
+ path="/partners/deactivate",
1986
+ base_url=base_url,
1987
+ url_variables=url_variables,
1988
+ request=request,
1989
+ request_body_required=False,
1990
+ request_has_path_params=False,
1991
+ request_has_query_params=True,
1992
+ user_agent_header="user-agent",
1993
+ accept_header_value="application/json",
1994
+ http_headers=http_headers,
1995
+ security=self.sdk_configuration.security,
1996
+ get_serialized_body=lambda: utils.serialize_request_body(
1997
+ request,
1998
+ False,
1999
+ True,
2000
+ "json",
2001
+ Optional[operations.DeactivatePartnerRequestBody],
2002
+ ),
2003
+ allow_empty_value=None,
2004
+ timeout_ms=timeout_ms,
2005
+ )
2006
+
2007
+ if retries == UNSET:
2008
+ if self.sdk_configuration.retry_config is not UNSET:
2009
+ retries = self.sdk_configuration.retry_config
2010
+
2011
+ retry_config = None
2012
+ if isinstance(retries, utils.RetryConfig):
2013
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
2014
+
2015
+ http_res = self.do_request(
2016
+ hook_ctx=HookContext(
2017
+ config=self.sdk_configuration,
2018
+ base_url=base_url or "",
2019
+ operation_id="deactivatePartner",
2020
+ oauth2_scopes=None,
2021
+ security_source=self.sdk_configuration.security,
2022
+ ),
2023
+ request=req,
2024
+ error_status_codes=[
2025
+ "400",
2026
+ "401",
2027
+ "403",
2028
+ "404",
2029
+ "409",
2030
+ "410",
2031
+ "422",
2032
+ "429",
2033
+ "4XX",
2034
+ "500",
2035
+ "5XX",
2036
+ ],
2037
+ retry_config=retry_config,
2038
+ )
2039
+
2040
+ response_data: Any = None
2041
+ if utils.match_response(http_res, "200", "application/json"):
2042
+ return unmarshal_json_response(
2043
+ operations.DeactivatePartnerResponseBody, http_res
2044
+ )
2045
+ if utils.match_response(http_res, "400", "application/json"):
2046
+ response_data = unmarshal_json_response(errors.BadRequestData, http_res)
2047
+ raise errors.BadRequest(response_data, http_res)
2048
+ if utils.match_response(http_res, "401", "application/json"):
2049
+ response_data = unmarshal_json_response(errors.UnauthorizedData, http_res)
2050
+ raise errors.Unauthorized(response_data, http_res)
2051
+ if utils.match_response(http_res, "403", "application/json"):
2052
+ response_data = unmarshal_json_response(errors.ForbiddenData, http_res)
2053
+ raise errors.Forbidden(response_data, http_res)
2054
+ if utils.match_response(http_res, "404", "application/json"):
2055
+ response_data = unmarshal_json_response(errors.NotFoundData, http_res)
2056
+ raise errors.NotFound(response_data, http_res)
2057
+ if utils.match_response(http_res, "409", "application/json"):
2058
+ response_data = unmarshal_json_response(errors.ConflictData, http_res)
2059
+ raise errors.Conflict(response_data, http_res)
2060
+ if utils.match_response(http_res, "410", "application/json"):
2061
+ response_data = unmarshal_json_response(errors.InviteExpiredData, http_res)
2062
+ raise errors.InviteExpired(response_data, http_res)
2063
+ if utils.match_response(http_res, "422", "application/json"):
2064
+ response_data = unmarshal_json_response(
2065
+ errors.UnprocessableEntityData, http_res
2066
+ )
2067
+ raise errors.UnprocessableEntity(response_data, http_res)
2068
+ if utils.match_response(http_res, "429", "application/json"):
2069
+ response_data = unmarshal_json_response(
2070
+ errors.RateLimitExceededData, http_res
2071
+ )
2072
+ raise errors.RateLimitExceeded(response_data, http_res)
2073
+ if utils.match_response(http_res, "500", "application/json"):
2074
+ response_data = unmarshal_json_response(
2075
+ errors.InternalServerErrorData, http_res
2076
+ )
2077
+ raise errors.InternalServerError(response_data, http_res)
2078
+ if utils.match_response(http_res, "4XX", "*"):
2079
+ http_res_text = utils.stream_to_text(http_res)
2080
+ raise errors.SDKError("API error occurred", http_res, http_res_text)
2081
+ if utils.match_response(http_res, "5XX", "*"):
2082
+ http_res_text = utils.stream_to_text(http_res)
2083
+ raise errors.SDKError("API error occurred", http_res, http_res_text)
2084
+
2085
+ raise errors.SDKError("Unexpected response received", http_res)
2086
+
2087
+ async def deactivate_async(
2088
+ self,
2089
+ *,
2090
+ request: Optional[
2091
+ Union[
2092
+ operations.DeactivatePartnerRequestBody,
2093
+ operations.DeactivatePartnerRequestBodyTypedDict,
2094
+ ]
2095
+ ] = None,
2096
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
2097
+ server_url: Optional[str] = None,
2098
+ timeout_ms: Optional[int] = None,
2099
+ http_headers: Optional[Mapping[str, str]] = None,
2100
+ ) -> operations.DeactivatePartnerResponseBody:
2101
+ r"""Deactivate a partner
2102
+
2103
+ This will deactivate the partner from your program and disable all their active links. Their commissions and payouts will remain intact. You can reactivate them later if needed.
2104
+
2105
+ :param request: The request object to send.
2106
+ :param retries: Override the default retry configuration for this method
2107
+ :param server_url: Override the default server URL for this method
2108
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
2109
+ :param http_headers: Additional headers to set or replace on requests.
2110
+ """
2111
+ base_url = None
2112
+ url_variables = None
2113
+ if timeout_ms is None:
2114
+ timeout_ms = self.sdk_configuration.timeout_ms
2115
+
2116
+ if server_url is not None:
2117
+ base_url = server_url
2118
+ else:
2119
+ base_url = self._get_url(base_url, url_variables)
2120
+
2121
+ if not isinstance(request, BaseModel):
2122
+ request = utils.unmarshal(
2123
+ request, Optional[operations.DeactivatePartnerRequestBody]
2124
+ )
2125
+ request = cast(Optional[operations.DeactivatePartnerRequestBody], request)
2126
+
2127
+ req = self._build_request_async(
2128
+ method="POST",
2129
+ path="/partners/deactivate",
2130
+ base_url=base_url,
2131
+ url_variables=url_variables,
2132
+ request=request,
2133
+ request_body_required=False,
2134
+ request_has_path_params=False,
2135
+ request_has_query_params=True,
2136
+ user_agent_header="user-agent",
2137
+ accept_header_value="application/json",
2138
+ http_headers=http_headers,
2139
+ security=self.sdk_configuration.security,
2140
+ get_serialized_body=lambda: utils.serialize_request_body(
2141
+ request,
2142
+ False,
2143
+ True,
2144
+ "json",
2145
+ Optional[operations.DeactivatePartnerRequestBody],
2146
+ ),
2147
+ allow_empty_value=None,
2148
+ timeout_ms=timeout_ms,
2149
+ )
2150
+
2151
+ if retries == UNSET:
2152
+ if self.sdk_configuration.retry_config is not UNSET:
2153
+ retries = self.sdk_configuration.retry_config
2154
+
2155
+ retry_config = None
2156
+ if isinstance(retries, utils.RetryConfig):
2157
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
2158
+
2159
+ http_res = await self.do_request_async(
2160
+ hook_ctx=HookContext(
2161
+ config=self.sdk_configuration,
2162
+ base_url=base_url or "",
2163
+ operation_id="deactivatePartner",
2164
+ oauth2_scopes=None,
2165
+ security_source=self.sdk_configuration.security,
2166
+ ),
2167
+ request=req,
2168
+ error_status_codes=[
2169
+ "400",
2170
+ "401",
2171
+ "403",
2172
+ "404",
2173
+ "409",
2174
+ "410",
2175
+ "422",
2176
+ "429",
2177
+ "4XX",
2178
+ "500",
2179
+ "5XX",
2180
+ ],
2181
+ retry_config=retry_config,
2182
+ )
2183
+
2184
+ response_data: Any = None
2185
+ if utils.match_response(http_res, "200", "application/json"):
2186
+ return unmarshal_json_response(
2187
+ operations.DeactivatePartnerResponseBody, http_res
2188
+ )
2189
+ if utils.match_response(http_res, "400", "application/json"):
2190
+ response_data = unmarshal_json_response(errors.BadRequestData, http_res)
2191
+ raise errors.BadRequest(response_data, http_res)
2192
+ if utils.match_response(http_res, "401", "application/json"):
2193
+ response_data = unmarshal_json_response(errors.UnauthorizedData, http_res)
2194
+ raise errors.Unauthorized(response_data, http_res)
2195
+ if utils.match_response(http_res, "403", "application/json"):
2196
+ response_data = unmarshal_json_response(errors.ForbiddenData, http_res)
2197
+ raise errors.Forbidden(response_data, http_res)
2198
+ if utils.match_response(http_res, "404", "application/json"):
2199
+ response_data = unmarshal_json_response(errors.NotFoundData, http_res)
2200
+ raise errors.NotFound(response_data, http_res)
2201
+ if utils.match_response(http_res, "409", "application/json"):
2202
+ response_data = unmarshal_json_response(errors.ConflictData, http_res)
2203
+ raise errors.Conflict(response_data, http_res)
2204
+ if utils.match_response(http_res, "410", "application/json"):
2205
+ response_data = unmarshal_json_response(errors.InviteExpiredData, http_res)
2206
+ raise errors.InviteExpired(response_data, http_res)
2207
+ if utils.match_response(http_res, "422", "application/json"):
2208
+ response_data = unmarshal_json_response(
2209
+ errors.UnprocessableEntityData, http_res
2210
+ )
2211
+ raise errors.UnprocessableEntity(response_data, http_res)
2212
+ if utils.match_response(http_res, "429", "application/json"):
2213
+ response_data = unmarshal_json_response(
2214
+ errors.RateLimitExceededData, http_res
2215
+ )
2216
+ raise errors.RateLimitExceeded(response_data, http_res)
2217
+ if utils.match_response(http_res, "500", "application/json"):
2218
+ response_data = unmarshal_json_response(
2219
+ errors.InternalServerErrorData, http_res
2220
+ )
2221
+ raise errors.InternalServerError(response_data, http_res)
2222
+ if utils.match_response(http_res, "4XX", "*"):
2223
+ http_res_text = await utils.stream_to_text_async(http_res)
2224
+ raise errors.SDKError("API error occurred", http_res, http_res_text)
2225
+ if utils.match_response(http_res, "5XX", "*"):
2226
+ http_res_text = await utils.stream_to_text_async(http_res)
2227
+ raise errors.SDKError("API error occurred", http_res, http_res_text)
2228
+
2229
+ raise errors.SDKError("Unexpected response received", http_res)
dub/sdk.py CHANGED
@@ -29,7 +29,6 @@ if TYPE_CHECKING:
29
29
  from dub.qr_codes import QRCodes
30
30
  from dub.tags import Tags
31
31
  from dub.track import Track
32
- from dub.workspaces import Workspaces
33
32
 
34
33
 
35
34
  class Dub(BaseSDK):
@@ -45,7 +44,6 @@ class Dub(BaseSDK):
45
44
  customers: "Customers"
46
45
  partners: "Partners"
47
46
  commissions: "Commissions"
48
- workspaces: "Workspaces"
49
47
  embed_tokens: "EmbedTokens"
50
48
  qr_codes: "QRCodes"
51
49
  bounties: "Bounties"
@@ -60,7 +58,6 @@ class Dub(BaseSDK):
60
58
  "customers": ("dub.customers", "Customers"),
61
59
  "partners": ("dub.partners", "Partners"),
62
60
  "commissions": ("dub.commissions", "Commissions"),
63
- "workspaces": ("dub.workspaces", "Workspaces"),
64
61
  "embed_tokens": ("dub.embed_tokens", "EmbedTokens"),
65
62
  "qr_codes": ("dub.qr_codes", "QRCodes"),
66
63
  "bounties": ("dub.bounties", "Bounties"),
dub/utils/__init__.py CHANGED
@@ -1,10 +1,19 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
- from typing import TYPE_CHECKING
3
+ from typing import TYPE_CHECKING, Callable, TypeVar
4
4
  from importlib import import_module
5
+ import asyncio
5
6
  import builtins
6
7
  import sys
7
8
 
9
+ _T = TypeVar("_T")
10
+
11
+
12
+ async def run_sync_in_thread(func: Callable[..., _T], *args) -> _T:
13
+ """Run a synchronous function in a thread pool to avoid blocking the event loop."""
14
+ return await asyncio.to_thread(func, *args)
15
+
16
+
8
17
  if TYPE_CHECKING:
9
18
  from .annotations import get_discriminator
10
19
  from .datetimes import parse_datetime
@@ -1,10 +1,10 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dub
3
- Version: 0.34.1
3
+ Version: 0.35.0
4
4
  Summary: Python Client SDK Generated by Speakeasy
5
5
  License-File: LICENSE
6
6
  Author: Speakeasy
7
- Requires-Python: >=3.9.2
7
+ Requires-Python: >=3.10
8
8
  Classifier: Programming Language :: Python :: 3
9
9
  Classifier: Programming Language :: Python :: 3.10
10
10
  Classifier: Programming Language :: Python :: 3.11
@@ -104,7 +104,7 @@ It's also possible to write a standalone Python script without needing to set up
104
104
  ```python
105
105
  #!/usr/bin/env -S uv run --script
106
106
  # /// script
107
- # requires-python = ">=3.9"
107
+ # requires-python = ">=3.10"
108
108
  # dependencies = [
109
109
  # "dub",
110
110
  # ]
@@ -345,6 +345,7 @@ asyncio.run(main())
345
345
  * [upsert_link](https://github.com/dubinc/dub-python/blob/master/docs/sdks/partners/README.md#upsert_link) - Upsert a link for a partner
346
346
  * [analytics](https://github.com/dubinc/dub-python/blob/master/docs/sdks/partners/README.md#analytics) - Retrieve analytics for a partner
347
347
  * [ban](https://github.com/dubinc/dub-python/blob/master/docs/sdks/partners/README.md#ban) - Ban a partner
348
+ * [deactivate](https://github.com/dubinc/dub-python/blob/master/docs/sdks/partners/README.md#deactivate) - Deactivate a partner
348
349
 
349
350
  ### [QRCodes](https://github.com/dubinc/dub-python/blob/master/docs/sdks/qrcodes/README.md)
350
351
 
@@ -362,11 +363,6 @@ asyncio.run(main())
362
363
  * [lead](https://github.com/dubinc/dub-python/blob/master/docs/sdks/track/README.md#lead) - Track a lead
363
364
  * [sale](https://github.com/dubinc/dub-python/blob/master/docs/sdks/track/README.md#sale) - Track a sale
364
365
 
365
- ### [Workspaces](https://github.com/dubinc/dub-python/blob/master/docs/sdks/workspaces/README.md)
366
-
367
- * [get](https://github.com/dubinc/dub-python/blob/master/docs/sdks/workspaces/README.md#get) - Retrieve a workspace
368
- * [update](https://github.com/dubinc/dub-python/blob/master/docs/sdks/workspaces/README.md#update) - Update a workspace
369
-
370
366
  </details>
371
367
  <!-- End Available Resources and Operations [operations] -->
372
368
 
@@ -0,0 +1,143 @@
1
+ dub/__init__.py,sha256=w2u919V3Tzv4zEPQ-OYJ79gQ_4_SyW7GOFFoHtqXDFA,401
2
+ dub/_hooks/__init__.py,sha256=9_7W5jAYw8rcO8Kfc-Ty-lB82BHfksAJJpVFb_UeU1c,146
3
+ dub/_hooks/registration.py,sha256=tT-1Cjp5ax1DL-84HBNWPy4wAwgP-0aI4-asLfnkIlw,625
4
+ dub/_hooks/sdkhooks.py,sha256=2rLEjSz1xFGWabNs1voFn0lXSCqkS38bdKVFdnBJufE,2553
5
+ dub/_hooks/types.py,sha256=5vcNbFBNpCxqI7ZebiBtut7T_Gz2i36L5MjTqGvxV7Y,3035
6
+ dub/_version.py,sha256=-_xJEVpSg59BfoQe632SMUljbjBVsVE9r4WOjpdwps4,450
7
+ dub/analytics.py,sha256=kGVnAwy8_umekoDNb-1j9b0YH9VLW2SI-6fD7j2oEXc,12378
8
+ dub/basesdk.py,sha256=rshahN8_FLZ_nuJx-hV7jY3ZUfHspUBx2_Rm9hQ5fLk,12624
9
+ dub/bounties.py,sha256=VKS2qsRZelAmC8qdgQVS1t6dDeTPvrNGmfKk38pAV4Q,37179
10
+ dub/commissions.py,sha256=RbPTHbLCGdXPk9_HgLohtIgsNSIgF8O6IG2Pg7d1xVI,24418
11
+ dub/customers.py,sha256=TOe2QSn7FsQJwh749EsarMO0__aEPwXrHxSkfaDLKSM,47196
12
+ dub/domains.py,sha256=kPjJtov4Hwuz63eX8IdLb0K87S8QoepsdapbUq8FpBA,74116
13
+ dub/embed_tokens.py,sha256=IzoHuFt41ozjIIj4r5W_fSZ1JNoiRK0y3lxRK4P9VSE,13060
14
+ dub/events.py,sha256=olT8XarbAFjng4U4H-03XBHQWjcLKGuxu_F__ne_vtQ,12025
15
+ dub/folders.py,sha256=Z2F98lTYldER9HDJkrEKbgHQv8M3t26XFWdF-A_SxLc,47686
16
+ dub/httpclient.py,sha256=dqTPONDBpRn4ktXfcetQiRXnG93f0pJkFhqsYFhLUac,3945
17
+ dub/links.py,sha256=XaP0xU4_4wFzqWsKjdhro8JGcMrzfDVjJ45682pc3Gw,122004
18
+ dub/models/__init__.py,sha256=wIW9sbvSKlrGyoPY4mXvHqw-_Inpl6zqpN6U6j-w6SU,83
19
+ dub/models/components/__init__.py,sha256=AV-uBtLmh3eJwNrbbtW20T98nZzv5ZvE--PeyX7uET8,23236
20
+ dub/models/components/analyticsbrowsers.py,sha256=kNW7jhsQ4zNoR7ZGJjo76BFLtKT7key37PW1eplvMhk,1697
21
+ dub/models/components/analyticscities.py,sha256=59YI3TpdpxEivfKT3jOE44MPLSq4weX8wpvKo_xBOfM,2191
22
+ dub/models/components/analyticscontinents.py,sha256=_IVB_bldwS7xcru4_Uylr1r-sIvVrxYgaSy0o52SIUk,2141
23
+ dub/models/components/analyticscount.py,sha256=dYVUbtGoXvMBC0rXEeaRUNd0_B-s3AJKBseWx-3jMiA,1478
24
+ dub/models/components/analyticscountries.py,sha256=sJxT7tt3p93IGyuQ1ER_iVjKJDr7nhDdEO6sRxx-JVc,2121
25
+ dub/models/components/analyticsdevices.py,sha256=rCDjvho27rGntlEUy51FRrrZM29T3SMM14ihy3NHPAE,1683
26
+ dub/models/components/analyticsos.py,sha256=tdtN4srnkfQy1YVzOqvK4BpVJUhIxXF9gkGD-4c07aQ,1625
27
+ dub/models/components/analyticsreferers.py,sha256=OTCViswU6Wg1CW2hQfgZqNGQB7rZQ62bKWf2Z5FxuOc,1771
28
+ dub/models/components/analyticsrefererurls.py,sha256=OFrvQ6lEb5de4mhrpFWCzCI5cmeonfAoyzS_d8BqrWY,1936
29
+ dub/models/components/analyticsregions.py,sha256=kxoNSHxt4l3Yh3YUldQ0It2r7HgwLJjmehtEW1fw3KU,2170
30
+ dub/models/components/analyticstimeseries.py,sha256=ZxdwmZaxOADys792I2sjl19vt2E5ZQJAb06TL0NvYoI,1711
31
+ dub/models/components/analyticstoplinks.py,sha256=HsDxtS4FaO64XXlJgaLX2ndnbu9gy4mcNxOhNqzAj90,3471
32
+ dub/models/components/analyticstopurls.py,sha256=jvmxjbwJPjzxkDFeUQMm9RlvLZ2osv3uZkQuvVMC9d8,1715
33
+ dub/models/components/analyticstriggers.py,sha256=ULO-4JY0YPe_oktbmpKT4JaJkacqAokyXOyKQp0FE0Y,2009
34
+ dub/models/components/commissioncreatedevent.py,sha256=5eNztlgB_LooqGRn7Q-FeburE5_FI1ZvHld_PqpjPX4,12078
35
+ dub/models/components/domainschema.py,sha256=FGa5MgnLXISJMbHu6eLmDHCSKrS4m8MpTFO_F4uLFeg,6114
36
+ dub/models/components/folderschema.py,sha256=kSsTBxJEXP0IhKhnex23Q1XfaavfPkz3TeR3za52R2o,2584
37
+ dub/models/components/leadcreatedevent.py,sha256=Rd5qV9oVt04f-KweAN3RuSFLJeQE6m9TIe-mOxBwv5Y,23181
38
+ dub/models/components/linkclickedevent.py,sha256=j1p0zTIZwjiDNHEXdbr52pwbaSuxpPOBbgkGmgw-GV4,14623
39
+ dub/models/components/linkerrorschema.py,sha256=gIZYPls99I3JN64El09qGRmN9_cS1c7FhF2YAT2LMOI,1061
40
+ dub/models/components/linkschema.py,sha256=L3COFTPOUUGjsJMfcanjulIjbVq11qKP7MlLvHuHDP4,15721
41
+ dub/models/components/linktagschema.py,sha256=WN32a7KiIDn5lo2ntTI5slgnUkPjdGVQ1l5pLY7Xxo0,806
42
+ dub/models/components/linktagschemaoutput.py,sha256=GBGnG40dTLHTyWLc7TorBu540d9RUZSUgx-toUjfNPc,779
43
+ dub/models/components/linkwebhookevent.py,sha256=RZV4W15WmoX5G04sZ9vZ7VQ1kPKKLuDdFBJTKRsN4v4,13256
44
+ dub/models/components/partneranalyticscount.py,sha256=Z6ufKCC_elQFFEaSb64wX216aTGbgmu_Z0eh9575Dxg,1572
45
+ dub/models/components/partneranalyticstimeseries.py,sha256=kieLsvHLAy4povTBSXhmBxbEO6nz3g8lRpLVTjPhku0,1805
46
+ dub/models/components/partneranalyticstoplinks.py,sha256=Jg7vwJDj5jF20N33WuK9yKXFDP-ApSwyIf_ivGPVxwQ,3565
47
+ dub/models/components/partnerapplicationsubmittedevent.py,sha256=CUSzBFx3GqWA0oeQvJRjksO-SvmC3mx8BtSAdPWxpiQ,7292
48
+ dub/models/components/partnerenrolledevent.py,sha256=GUxaeINDHtWnnFAtgDJHjujGmQAJ0ZuIS-Q6UEMXwkY,25363
49
+ dub/models/components/salecreatedevent.py,sha256=MUAIBg9AZYgPFy0wCXRS4JDGThiAcc8zCs7Jq8Idjgw,24025
50
+ dub/models/components/security.py,sha256=be_cng1n5ULto_xGGPBKH1ZE5LrtmBTg6kX2uPJqJOw,599
51
+ dub/models/components/webhookevent.py,sha256=2yVpFqxevDgyJi5MLBynfo_B3E8FZhp_FsMHmJpmyrU,1496
52
+ dub/models/errors/__init__.py,sha256=puGRbwSI00uEfD5rs_zvN4GtHhVFXRqrkK60R_nSI24,6462
53
+ dub/models/errors/badrequest.py,sha256=b-5wRQHo_HD8VJxqEcu_UFNkakXeH16A9jdKHF9ogPo,2252
54
+ dub/models/errors/conflict.py,sha256=bs1RXjTbemP6RH9p-JGFtHAnOQ3uKaQxs5wUMx4IHxo,2168
55
+ dub/models/errors/duberror.py,sha256=w0vFGmvPhytkwtItd4V-YczFZmVUl5DPX7t2sV-ri10,952
56
+ dub/models/errors/forbidden.py,sha256=htzPH26nVtxG39WcpliTP76lZ9zpszXV0rQTgjh3qPU,2308
57
+ dub/models/errors/internalservererror.py,sha256=qDAA4KtCzdU4dNUHoCppj1eQ7HLOuPM_DxXlHH8ITFw,2290
58
+ dub/models/errors/inviteexpired.py,sha256=-p-zvIehG7LC2cQJOEjSq_-rkIEpxIr6qGyqaTeVqi8,2264
59
+ dub/models/errors/no_response_error.py,sha256=DaZukP5ManflzAN-11MtmBitfTIct37sRvfszvfM13o,467
60
+ dub/models/errors/notfound.py,sha256=877HKA9h8FvM4G9RLjfmo5aDXmZYvcmEjcDghKKztBo,2132
61
+ dub/models/errors/ratelimitexceeded.py,sha256=Pej14u9Ctan_ypcW7MtSEn9sjGB6RNEm8YgynKEK9oM,2277
62
+ dub/models/errors/responsevalidationerror.py,sha256=ODuGOuGulVoPYKLAXuKF4HWDZ7uqw8mJcovorUeofTI,746
63
+ dub/models/errors/sdkerror.py,sha256=K1Fk_HkOwYdNxWGY0XTOzCz4o0XeDqwFLNAmXeO2zQg,1279
64
+ dub/models/errors/unauthorized.py,sha256=T5WP3FPCXEHTERhipzMto1_sMm2wrN4YaRl0N5vn6qM,2316
65
+ dub/models/errors/unprocessableentity.py,sha256=tZA8W1xFThohlMdd74EiEEqWYNb2KdiJBzhGr96NLEw,2299
66
+ dub/models/operations/__init__.py,sha256=I36UXf1u5tU1CwGPYvNr4fem6PAeSjsW1R9ql9u4Bbo,58864
67
+ dub/models/operations/approvebountysubmission.py,sha256=zveO1Z0rMRi-snBMkb-6t3BI2MR_5s5-9A9zi7VdEu0,6739
68
+ dub/models/operations/banpartner.py,sha256=L0fB359j4M7--RHTP1lWcsO6Iq-vwxbBsYmWRC4ScZ8,2592
69
+ dub/models/operations/bulkcreatelinks.py,sha256=ijTkW-0a8tW-59jMBpkTFCNyzBuF6pKHsMs-6bGsjpc,18069
70
+ dub/models/operations/bulkdeletelinks.py,sha256=u_hEFC9TZ1UnGGgLhQ-Mf3HNDO98Ur49MtdBnNVIRsE,1151
71
+ dub/models/operations/bulkupdatelinks.py,sha256=HvcFo6Mo9EER8-Xp91CEeJ80NOPk9pDF-vkgfkKsDFM,16513
72
+ dub/models/operations/checkdomainstatus.py,sha256=kTHIRfYuA7ZQ50aBY9sQc-OjmELn8qO7M7aeAjP_5o8,1957
73
+ dub/models/operations/createdomain.py,sha256=BQmoUSO2fDm8cPAktDtNVxfV5I7NX78zg804qQInDiY,3887
74
+ dub/models/operations/createfolder.py,sha256=XKS6JFEOxTJmmQiHOnsf3zYDDqwpTiAgWRQ1NcWedNg,2104
75
+ dub/models/operations/createlink.py,sha256=s-9zcnNdzdXl07OfF0yXPS0rTTpFzNgKj6yhakqseUk,17407
76
+ dub/models/operations/createpartner.py,sha256=foDiFUDW0zzWWPWHtq46vP06XKbQKQ_DBpNga47GbHY,40380
77
+ dub/models/operations/createpartnerlink.py,sha256=g5bUYVd-qNdtPAoXs498PL-pbK1AyZoStXei6LQ3w2k,14329
78
+ dub/models/operations/createreferralsembedtoken.py,sha256=Mjsuz4PM0h5fzjrBsGVZHpFHbjZwocpe23DDXoTjw-Y,17236
79
+ dub/models/operations/createtag.py,sha256=023-KPbwg80gXvciqT8-eoPWGMCLKmHY_momdhf50OM,1986
80
+ dub/models/operations/deactivatepartner.py,sha256=uWFKjg8Yj4Ma4WpEKnnYAGRLggpeJ274TWYqMVNUlfQ,2360
81
+ dub/models/operations/deletecustomer.py,sha256=sq1efo3bhCzQnVacAo9tg7JoHs68IbeheNp1uAlD8AU,1529
82
+ dub/models/operations/deletedomain.py,sha256=VtuDxUCmAcEmNn1vmrdlSKmASHSFwoho-CoJeGtyBBI,769
83
+ dub/models/operations/deletefolder.py,sha256=lpetbObqu9jd-XLl-unlvmSTuztW8Ecn-dhGNxN60Yc,815
84
+ dub/models/operations/deletelink.py,sha256=o3Uia06QBrKb--6OkShjKkcqaK0dpt_Jw3AClUqTQq4,1062
85
+ dub/models/operations/deletetag.py,sha256=UJz-O6oTuvOdzuUXUQktw699hEv0cs1eJW9C3wQBQBc,785
86
+ dub/models/operations/getcustomer.py,sha256=lJEdGD8t0o3g4JvHfTxf1IDhsSBl5vYmwxLwQpZQmLI,11885
87
+ dub/models/operations/getcustomers.py,sha256=JwIowNl53QnbEHq43a35xSTH1Rou24EH-Dhgr5e2wsc,16097
88
+ dub/models/operations/getlinkinfo.py,sha256=0NIqhk2IvNL5n6NYG_pLwyJMun_yqbCXSvKlwnUsu60,1876
89
+ dub/models/operations/getlinks.py,sha256=kIObALvCgdcx3ozSAJWir9-B49mFGgy9Qg06sFsQyfw,8398
90
+ dub/models/operations/getlinkscount.py,sha256=rIPLLWpji1VHt1CtfZw1SgnRi8hVH69JtO_kt4qM8hA,6673
91
+ dub/models/operations/getqrcode.py,sha256=2fnpvq2vYXgw3A63yfgOCp5q9gpnOCYSUgdlbJgbzP4,4583
92
+ dub/models/operations/gettags.py,sha256=L3AhYqfSUFjuP6V6NK2ahtiy7cnBK6ftVriaWTpB1Wk,3229
93
+ dub/models/operations/listbountysubmissions.py,sha256=5PBLWZVNRspJj6Gv8XcV1tQ59u9DI5wJz74zx-TY1Mk,7813
94
+ dub/models/operations/listcommissions.py,sha256=SXMg_irXbieJVhm3HytfRrXYAmJAAjw0p0bUwtu-KbY,17246
95
+ dub/models/operations/listdomains.py,sha256=FTrcT-V_dj42MVmWkFM_dTu69zaDUaXoBZ9IRQ1xmVI,2462
96
+ dub/models/operations/listevents.py,sha256=11bVs_3W_RUAUQQd2VNksKLsGXamxrQj8TMmq9nclas,90438
97
+ dub/models/operations/listfolders.py,sha256=xu2nVcDIMPWxCI9zEeOHLWnLNMA1dxXIAJESXkGT1_4,1722
98
+ dub/models/operations/listpartners.py,sha256=9PQ1iRBzQGb-mFoc6Eq_qPWqqFXv7rbGb0xLxqKtnFk,31184
99
+ dub/models/operations/registerdomain.py,sha256=SSKZzTpTwd_C-1ZLDwQ7TxQbVR0ZtIJChd1snA6jgNU,1483
100
+ dub/models/operations/rejectbountysubmission.py,sha256=h6K-kVs4b7ZP9Fkmn1acJvaJPXqLQXxztwZeZj_XqIw,6777
101
+ dub/models/operations/retrieveanalytics.py,sha256=eRd217KEDXBsWYzYLQTf604iODixX0VCaAfTZtjfK4o,21425
102
+ dub/models/operations/retrievelinks.py,sha256=2tSmHjWu6WStksyGZGbCPHdo1ohhvBdFiofoIkmiptY,5003
103
+ dub/models/operations/retrievepartneranalytics.py,sha256=JzErOy_nM2Qw5tdHRd52a4ZP2HDpk42FXXWUtAwIEw0,6697
104
+ dub/models/operations/tracklead.py,sha256=l03ptP8u74O77VVk9XOW0Xd1nIFHlrz3UEYJRDft3AQ,10274
105
+ dub/models/operations/tracksale.py,sha256=BUI1vt7ARawP1ApgS-xCXYgqyeGxVDUlJyUvEc-1Udc,9576
106
+ dub/models/operations/updatecommission.py,sha256=e4XZ0Loe8Aj_-Vf6mMk2Q6jUDv1ciVjjX4AtaIfyL2U,13625
107
+ dub/models/operations/updatecustomer.py,sha256=5YH9uQ1cGowAn857J0GoDrNABcyZ5vLPqBQrtvvMqzM,15382
108
+ dub/models/operations/updatedomain.py,sha256=D2y-O-j7nuAyubdwT1qXRBzPg8y70H7KHXxSNQbrGgk,4954
109
+ dub/models/operations/updatefolder.py,sha256=ZWVXYZAfGdIBbY86XT9UDgPoeYTDzybLrEEAim1eFGw,3245
110
+ dub/models/operations/updatelink.py,sha256=X6Kqg0DIXlbJzXvA0HaqoXZeQNz8dKbg-EBFQQH8TKg,17352
111
+ dub/models/operations/updatetag.py,sha256=fp_oBrTT5IO0EnU9PNj7rsMKAOEk8LFxQ9Z6KCivSTY,3034
112
+ dub/models/operations/upsertlink.py,sha256=t0OA4AoJWiBvikRNZ0qVhzsX9ht9Fazv2cuhqzMSRxQ,17530
113
+ dub/models/operations/upsertpartnerlink.py,sha256=dbivM3mIbIqaT0vR3dOo-9Tsiy0-UKwk-qI6ldgg8p4,14134
114
+ dub/partners.py,sha256=j2ggV_7Y8WdnCYmQ6XpkNy0vqx3jnG8c0lE0oExaLLg,98267
115
+ dub/py.typed,sha256=zrp19r0G21lr2yRiMC0f8MFkQFGj9wMpSbboePMg8KM,59
116
+ dub/qr_codes.py,sha256=js4MM0s37vYZyrPuf9mGUoCWfk-vmS5SGOF0Tykv1wc,11628
117
+ dub/sdk.py,sha256=sTSXldmpfZ8aLYCSqjz30Ucr-zr_IyVn29W6YPq7e4c,8113
118
+ dub/sdkconfiguration.py,sha256=2aIgzM94TIYQe5zkQmHhDsdlxJdV6cfhWX0pspYMHow,1605
119
+ dub/tags.py,sha256=I_siAFeFoPjVPPFOuyzuAINO-8lSMQdbnb_cV9z-SyM,47367
120
+ dub/track.py,sha256=kRCww0JSL8kJC0YYXEtTj4GRk5tX5bIaG9u3ebm4OCI,24462
121
+ dub/types/__init__.py,sha256=RArOwSgeeTIva6h-4ttjXwMUeCkz10nAFBL9D-QljI4,377
122
+ dub/types/basemodel.py,sha256=MULDVywSVxR0lo8h5wMnXnkBFXLK5DXmBKD1eXAVKgE,2879
123
+ dub/utils/__init__.py,sha256=CKGfcLeSDY7TDVtguMGFobOS6iR5f5Y8_NH8bx9k5Fs,5931
124
+ dub/utils/annotations.py,sha256=FvfvVTUj8TUclm4HbGgY5yi2Ap7EzGmu2UPFU4FwC1w,2755
125
+ dub/utils/datetimes.py,sha256=oppAA5e3V35pQov1-FNLKxAaNF1_XWi-bQtyjjql3H8,855
126
+ dub/utils/enums.py,sha256=wAgjjw7USk6IRpN2UJE5Sl8rfmEFiRwyrwMhhznnDIc,5147
127
+ dub/utils/eventstreaming.py,sha256=SgFqMcUOYKlrTQ4gAp_dNcKLvDXukeiEMNU3DP8mXk8,6692
128
+ dub/utils/forms.py,sha256=HzltKnYH5-ULoEz8JYfIUcw13I9dMZjw-1lQKNkH5fw,7178
129
+ dub/utils/headers.py,sha256=cPxWSmUILrefTGDzTH1Hdj7_Hlsj-EY6K5Tyc4iH4dk,3663
130
+ dub/utils/logger.py,sha256=9nUtlKHo3RFsIVyMw5jq3wEKZMVwHnZMSc6xLp-otC0,520
131
+ dub/utils/metadata.py,sha256=Per2KFXXOqOtoUWXrlIfjrSrBg199KrRW0nKQDgHIBU,3136
132
+ dub/utils/queryparams.py,sha256=dxtFQDJ8dlbm_hh_fhdFC1qMWOOHR2MszNycKmME8bQ,6326
133
+ dub/utils/requestbodies.py,sha256=7bi6slrGKAbmfg4BoOUjSVGrbg9NvIFvCKUEgjwyJEw,2108
134
+ dub/utils/retries.py,sha256=stPJEFtmK8gOM6aT0DpEJp9Z39oXX1-8I69jpa2n3Ww,8130
135
+ dub/utils/security.py,sha256=ktep3HKwbFs-MLxUYTM8Jd4v-ZBum5_Z0u1PFIdYBX0,5516
136
+ dub/utils/serializers.py,sha256=ueUga5yv_08r10eQiaVIk0o726j0TRno8603jUksasA,5585
137
+ dub/utils/unmarshal_json_response.py,sha256=bq-O_sDTisDOcbllFkpH0hAUh0nkOvc-ORF_73pUgr8,875
138
+ dub/utils/url.py,sha256=BgGPgcTA6MRK4bF8fjP2dUopN3NzEzxWMXPBVg8NQUA,5254
139
+ dub/utils/values.py,sha256=CcaCXEa3xHhkUDROyXZocN8f0bdITftv9Y0P9lTf0YM,3517
140
+ dub-0.35.0.dist-info/METADATA,sha256=oGkV6vRsLM-lQMo9W2ULXjfjC_P7Wupeo726dNPm8DA,30777
141
+ dub-0.35.0.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
142
+ dub-0.35.0.dist-info/licenses/LICENSE,sha256=kc_aZ6YHHcdSsRy-mGsT0Ehji0ZgR_zevXiUt05V2KY,1079
143
+ dub-0.35.0.dist-info/RECORD,,