signwell-sdk-python 0.1.0__tar.gz → 0.2.0__tar.gz

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 (128) hide show
  1. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/PKG-INFO +15 -3
  2. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/README.md +12 -0
  3. signwell_sdk_python-0.2.0/pyproject.toml +121 -0
  4. signwell_sdk_python-0.1.0/pyproject.toml → signwell_sdk_python-0.2.0/pyproject.toml.orig +2 -2
  5. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/__init__.py +39 -1
  6. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/api/api_application_api.py +0 -6
  7. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/api/bulk_send_api.py +9 -27
  8. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/api/document_api.py +289 -54
  9. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/api/me_api.py +0 -3
  10. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/api/regional_api.py +0 -3
  11. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/api/template_api.py +0 -15
  12. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/api/webhooks_api.py +3 -12
  13. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/api_client.py +1 -1
  14. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/configuration.py +14 -2
  15. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/__init__.py +21 -0
  16. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/additional_fields_inner_inner.py +12 -0
  17. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/bulk_send_csv_request.py +4 -1
  18. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/checkbox_validation.py +7 -0
  19. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/completed_pdf_response.py +16 -16
  20. signwell_sdk_python-0.2.0/signwell_sdk/models/conditional_logic_decision_info.py +119 -0
  21. signwell_sdk_python-0.2.0/signwell_sdk/models/conditional_rule_info.py +130 -0
  22. signwell_sdk_python-0.2.0/signwell_sdk/models/conditional_rule_info_conditions_inner.py +145 -0
  23. signwell_sdk_python-0.2.0/signwell_sdk/models/conditional_rule_request.py +148 -0
  24. signwell_sdk_python-0.2.0/signwell_sdk/models/conditional_rule_request_conditions_inner.py +138 -0
  25. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/copied_placeholders_inner.py +1 -1
  26. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/create_bulk_send_request.py +7 -2
  27. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/create_webhook_request.py +4 -1
  28. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/date_format.py +7 -0
  29. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/document_from_template_request.py +51 -4
  30. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/document_from_template_response.py +68 -1
  31. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/document_from_template_response_fields_inner_inner.py +12 -0
  32. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/document_from_template_response_recipients_inner.py +34 -1
  33. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/document_request.py +35 -4
  34. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/document_response.py +68 -1
  35. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/document_response_fields_inner_inner.py +12 -0
  36. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/document_response_recipients_inner.py +34 -1
  37. signwell_sdk_python-0.2.0/signwell_sdk/models/document_response_recipients_inner_passcode_delivery.py +110 -0
  38. signwell_sdk_python-0.2.0/signwell_sdk/models/document_response_recipients_inner_sms.py +158 -0
  39. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/document_template_request.py +19 -3
  40. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/document_template_response.py +13 -0
  41. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/document_template_response_placeholders_inner.py +11 -0
  42. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/document_template_update_request.py +19 -3
  43. signwell_sdk_python-0.2.0/signwell_sdk/models/embedded_branding.py +107 -0
  44. signwell_sdk_python-0.2.0/signwell_sdk/models/embedded_branding_branding.py +127 -0
  45. signwell_sdk_python-0.2.0/signwell_sdk/models/embedded_branding_request.py +163 -0
  46. signwell_sdk_python-0.2.0/signwell_sdk/models/embedded_branding_request_company_logo.py +105 -0
  47. signwell_sdk_python-0.2.0/signwell_sdk/models/embedded_request.py +112 -0
  48. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/field_type.py +7 -0
  49. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/fields_inner_inner.py +12 -0
  50. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/file_format.py +8 -1
  51. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/file_info.py +7 -2
  52. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/placeholders_inner.py +16 -2
  53. signwell_sdk_python-0.2.0/signwell_sdk/models/placeholders_inner_passcode_delivery.py +124 -0
  54. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/recipients_inner.py +55 -4
  55. signwell_sdk_python-0.2.0/signwell_sdk/models/recipients_inner_passcode_delivery.py +124 -0
  56. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/reminder_recipients_inner.py +4 -1
  57. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/send_reminder_request.py +1 -1
  58. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/template_fields_inner_inner.py +12 -0
  59. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/template_recipients_inner.py +55 -4
  60. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/text_validation.py +8 -0
  61. signwell_sdk_python-0.2.0/signwell_sdk/models/update_authentication_request.py +117 -0
  62. signwell_sdk_python-0.2.0/signwell_sdk/models/update_authentication_request_recipients_inner.py +116 -0
  63. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/update_document_and_send_request.py +34 -3
  64. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/update_recipients_map_inner.py +13 -3
  65. signwell_sdk_python-0.2.0/signwell_sdk/models/update_recipients_map_inner_passcode_delivery.py +121 -0
  66. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/rest.py +31 -12
  67. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/LICENSE +0 -0
  68. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/api/__init__.py +0 -0
  69. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/api_response.py +0 -0
  70. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/embedded.py +0 -0
  71. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/exceptions.py +0 -0
  72. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/account_info_response.py +0 -0
  73. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/account_info_response_active_users_inner.py +0 -0
  74. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/account_info_response_preferences.py +0 -0
  75. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/additional_fields_inner_inner_value.py +0 -0
  76. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/additional_files_inner.py +0 -0
  77. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/api_application_response.py +0 -0
  78. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/api_application_response_owner.py +0 -0
  79. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/api_application_response_preferences.py +0 -0
  80. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/attachment_request_info.py +0 -0
  81. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/attachment_requests_inner.py +0 -0
  82. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/bulk_send_create_response.py +0 -0
  83. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/bulk_send_csv_template_response.py +0 -0
  84. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/bulk_send_documents_response.py +0 -0
  85. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/bulk_send_list_item.py +0 -0
  86. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/bulk_send_list_response.py +0 -0
  87. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/bulk_send_response.py +0 -0
  88. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/bulk_send_response_templates_inner.py +0 -0
  89. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/bulk_send_validate_csv_response.py +0 -0
  90. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/checkbox_group_info.py +0 -0
  91. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/checkbox_groups_inner.py +0 -0
  92. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/completed_pdf_url_response.py +0 -0
  93. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/copied_contact_info.py +0 -0
  94. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/copied_contacts_inner.py +0 -0
  95. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/detailed_option.py +0 -0
  96. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/document_from_template_response_fields_inner_inner_recipient.py +0 -0
  97. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/document_list_response.py +0 -0
  98. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/document_response_attachment_requests_inner.py +0 -0
  99. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/document_response_fields_inner_inner_options_inner.py +0 -0
  100. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/document_response_fields_inner_inner_recipient.py +0 -0
  101. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/document_response_fields_inner_inner_value.py +0 -0
  102. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/document_template_list_response.py +0 -0
  103. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/document_template_response_copied_placeholders_inner.py +0 -0
  104. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/dropdown_option.py +0 -0
  105. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/error_response.py +0 -0
  106. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/error_response_meta.py +0 -0
  107. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/files_inner.py +0 -0
  108. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/label_info.py +0 -0
  109. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/label_request.py +0 -0
  110. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/label_response.py +0 -0
  111. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/me_response.py +0 -0
  112. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/me_response_contact.py +0 -0
  113. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/me_response_user.py +0 -0
  114. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/me_response_user_preferences.py +0 -0
  115. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/nom151_certificate_response.py +0 -0
  116. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/nom151_certificate_response_nom151.py +0 -0
  117. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/nom151_url_response.py +0 -0
  118. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/pagination_meta.py +0 -0
  119. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/rate_limit_error_response.py +0 -0
  120. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/template_attachment_requests_inner.py +0 -0
  121. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/template_checkbox_groups_inner.py +0 -0
  122. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/template_field_values_inner.py +0 -0
  123. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/template_field_values_inner_value.py +0 -0
  124. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/update_recipients_request.py +0 -0
  125. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/validation_error_response.py +0 -0
  126. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/models/webhook_response.py +0 -0
  127. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/py.typed +0 -0
  128. {signwell_sdk_python-0.1.0 → signwell_sdk_python-0.2.0}/signwell_sdk/webhook.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: signwell-sdk-python
3
- Version: 0.1.0
3
+ Version: 0.2.0
4
4
  Summary: Python SDK for the SignWell API
5
5
  Keywords: signwell,esignature,api,sdk
6
6
  Author: SignWell
@@ -22,10 +22,10 @@ Requires-Dist: python-dateutil>=2.8.2,<3
22
22
  Requires-Dist: typing-extensions>=4.7.1
23
23
  Requires-Dist: urllib3>=1.26.18,<3
24
24
  Requires-Python: >=3.10
25
- Project-URL: Documentation, https://developers.signwell.com
26
25
  Project-URL: Homepage, https://www.signwell.com
27
- Project-URL: Issues, https://github.com/Bidsketch/signwell-sdk-python/issues
28
26
  Project-URL: Repository, https://github.com/Bidsketch/signwell-sdk-python
27
+ Project-URL: Issues, https://github.com/Bidsketch/signwell-sdk-python/issues
28
+ Project-URL: Documentation, https://developers.signwell.com
29
29
  Description-Content-Type: text/markdown
30
30
 
31
31
  # SignWell Python SDK
@@ -48,6 +48,18 @@ With uv:
48
48
  uv add signwell-sdk-python
49
49
  ```
50
50
 
51
+ ## Retries and future API values
52
+
53
+ Explicit HTTP 429 responses retry up to twice, including JSON POST requests and
54
+ downloads. Retry-After seconds or HTTP dates are honored; absent or invalid
55
+ headers use one then two seconds of backoff. A requested wait above 60 seconds
56
+ returns the rate-limit error immediately. Network failures and other status codes
57
+ are not retried by default. Disable SDK retries with `Configuration(max_rate_limit_retries=0)`.
58
+ An explicitly supplied `Configuration.retries` retains control of the underlying urllib3 policy.
59
+
60
+ Unknown enum strings returned by the API remain readable as `unknown_default_open_api`.
61
+ Known enum values keep their existing API strings.
62
+
51
63
  ## Quick Start
52
64
 
53
65
  ```python
@@ -18,6 +18,18 @@ With uv:
18
18
  uv add signwell-sdk-python
19
19
  ```
20
20
 
21
+ ## Retries and future API values
22
+
23
+ Explicit HTTP 429 responses retry up to twice, including JSON POST requests and
24
+ downloads. Retry-After seconds or HTTP dates are honored; absent or invalid
25
+ headers use one then two seconds of backoff. A requested wait above 60 seconds
26
+ returns the rate-limit error immediately. Network failures and other status codes
27
+ are not retried by default. Disable SDK retries with `Configuration(max_rate_limit_retries=0)`.
28
+ An explicitly supplied `Configuration.retries` retains control of the underlying urllib3 policy.
29
+
30
+ Unknown enum strings returned by the API remain readable as `unknown_default_open_api`.
31
+ Known enum values keep their existing API strings.
32
+
21
33
  ## Quick Start
22
34
 
23
35
  ```python
@@ -0,0 +1,121 @@
1
+ [project]
2
+ name = "signwell-sdk-python"
3
+ version = "0.2.0"
4
+ description = "Python SDK for the SignWell API"
5
+ readme = "README.md"
6
+ requires-python = ">=3.10"
7
+ license = "MIT"
8
+ license-files = ["LICENSE"]
9
+ keywords = [
10
+ "signwell",
11
+ "esignature",
12
+ "api",
13
+ "sdk",
14
+ ]
15
+ classifiers = [
16
+ "Development Status :: 4 - Beta",
17
+ "Intended Audience :: Developers",
18
+ "License :: OSI Approved :: MIT License",
19
+ "Programming Language :: Python :: 3",
20
+ "Programming Language :: Python :: 3 :: Only",
21
+ "Programming Language :: Python :: 3.10",
22
+ "Programming Language :: Python :: 3.11",
23
+ "Programming Language :: Python :: 3.12",
24
+ "Programming Language :: Python :: 3.13",
25
+ "Typing :: Typed",
26
+ ]
27
+ dependencies = [
28
+ "pydantic>=2,<3",
29
+ "python-dateutil>=2.8.2,<3",
30
+ "typing-extensions>=4.7.1",
31
+ "urllib3>=1.26.18,<3",
32
+ ]
33
+
34
+ [[project.authors]]
35
+ name = "SignWell"
36
+ email = "support@signwell.com"
37
+
38
+ [project.urls]
39
+ Homepage = "https://www.signwell.com"
40
+ Repository = "https://github.com/Bidsketch/signwell-sdk-python"
41
+ Issues = "https://github.com/Bidsketch/signwell-sdk-python/issues"
42
+ Documentation = "https://developers.signwell.com"
43
+
44
+ [dependency-groups]
45
+ dev = [
46
+ "mypy>=1.8",
47
+ "pytest>=8",
48
+ "ruff>=0.8",
49
+ "twine>=5",
50
+ "types-python-dateutil>=2.8.19.14",
51
+ ]
52
+
53
+ [build-system]
54
+ requires = ["uv_build>=0.12.24,<0.13.0"]
55
+ build-backend = "uv_build"
56
+
57
+ [tool.uv.build-backend]
58
+ module-name = "signwell_sdk"
59
+ module-root = ""
60
+
61
+ [tool.ruff]
62
+ line-length = 120
63
+ target-version = "py310"
64
+ extend-exclude = [
65
+ ".openapi-generator",
66
+ "docs",
67
+ "test",
68
+ ]
69
+
70
+ [tool.ruff.lint]
71
+ select = [
72
+ "B",
73
+ "C4",
74
+ "E",
75
+ "F",
76
+ "I",
77
+ "SIM",
78
+ "UP",
79
+ ]
80
+ ignore = [
81
+ "B008",
82
+ "B904",
83
+ "C409",
84
+ "C405",
85
+ "E721",
86
+ "E501",
87
+ "F401",
88
+ "F811",
89
+ "I001",
90
+ "SIM101",
91
+ "SIM105",
92
+ "SIM118",
93
+ "SIM108",
94
+ "UP030",
95
+ "UP031",
96
+ "UP006",
97
+ "UP007",
98
+ "UP035",
99
+ ]
100
+
101
+ [tool.pytest.ini_options]
102
+ testpaths = ["tests"]
103
+ addopts = "-q"
104
+
105
+ [tool.mypy]
106
+ python_version = "3.10"
107
+ files = [
108
+ "signwell_sdk",
109
+ "tests",
110
+ ]
111
+ exclude = ["^test/"]
112
+ ignore_missing_imports = true
113
+ follow_imports = "silent"
114
+ warn_unused_configs = true
115
+ warn_redundant_casts = true
116
+ warn_unused_ignores = true
117
+ check_untyped_defs = true
118
+ disallow_untyped_defs = false
119
+ disallow_any_generics = false
120
+ no_implicit_optional = true
121
+ strict_equality = true
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "signwell-sdk-python"
3
- version = "0.1.0"
3
+ version = "0.2.0"
4
4
  description = "Python SDK for the SignWell API"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
@@ -45,7 +45,7 @@ dev = [
45
45
  ]
46
46
 
47
47
  [build-system]
48
- requires = ["uv_build>=0.8.4,<0.9.0"]
48
+ requires = ["uv_build>=0.12.24,<0.13.0"]
49
49
  build-backend = "uv_build"
50
50
 
51
51
  [tool.uv.build-backend]
@@ -16,7 +16,7 @@ Do not edit the class manually.
16
16
 
17
17
  from types import SimpleNamespace
18
18
 
19
- __version__ = "0.1.0"
19
+ __version__ = "0.2.0"
20
20
 
21
21
  # import apis into sdk package
22
22
  from signwell_sdk.api.api_application_api import ApiApplicationApi
@@ -80,6 +80,11 @@ from signwell_sdk.models.checkbox_groups_inner import CheckboxGroupsInner
80
80
  from signwell_sdk.models.checkbox_validation import CheckboxValidation
81
81
  from signwell_sdk.models.completed_pdf_response import CompletedPdfResponse
82
82
  from signwell_sdk.models.completed_pdf_url_response import CompletedPdfUrlResponse
83
+ from signwell_sdk.models.conditional_logic_decision_info import ConditionalLogicDecisionInfo
84
+ from signwell_sdk.models.conditional_rule_info import ConditionalRuleInfo
85
+ from signwell_sdk.models.conditional_rule_info_conditions_inner import ConditionalRuleInfoConditionsInner
86
+ from signwell_sdk.models.conditional_rule_request import ConditionalRuleRequest
87
+ from signwell_sdk.models.conditional_rule_request_conditions_inner import ConditionalRuleRequestConditionsInner
83
88
  from signwell_sdk.models.copied_contact_info import CopiedContactInfo
84
89
  from signwell_sdk.models.copied_contacts_inner import CopiedContactsInner
85
90
  from signwell_sdk.models.copied_placeholders_inner import CopiedPlaceholdersInner
@@ -109,6 +114,10 @@ from signwell_sdk.models.document_response_fields_inner_inner_options_inner impo
109
114
  from signwell_sdk.models.document_response_fields_inner_inner_recipient import DocumentResponseFieldsInnerInnerRecipient
110
115
  from signwell_sdk.models.document_response_fields_inner_inner_value import DocumentResponseFieldsInnerInnerValue
111
116
  from signwell_sdk.models.document_response_recipients_inner import DocumentResponseRecipientsInner
117
+ from signwell_sdk.models.document_response_recipients_inner_passcode_delivery import (
118
+ DocumentResponseRecipientsInnerPasscodeDelivery,
119
+ )
120
+ from signwell_sdk.models.document_response_recipients_inner_sms import DocumentResponseRecipientsInnerSms
112
121
  from signwell_sdk.models.document_template_list_response import DocumentTemplateListResponse
113
122
  from signwell_sdk.models.document_template_request import DocumentTemplateRequest
114
123
  from signwell_sdk.models.document_template_response import DocumentTemplateResponse
@@ -118,6 +127,11 @@ from signwell_sdk.models.document_template_response_copied_placeholders_inner im
118
127
  from signwell_sdk.models.document_template_response_placeholders_inner import DocumentTemplateResponsePlaceholdersInner
119
128
  from signwell_sdk.models.document_template_update_request import DocumentTemplateUpdateRequest
120
129
  from signwell_sdk.models.dropdown_option import DropdownOption
130
+ from signwell_sdk.models.embedded_branding import EmbeddedBranding
131
+ from signwell_sdk.models.embedded_branding_branding import EmbeddedBrandingBranding
132
+ from signwell_sdk.models.embedded_branding_request import EmbeddedBrandingRequest
133
+ from signwell_sdk.models.embedded_branding_request_company_logo import EmbeddedBrandingRequestCompanyLogo
134
+ from signwell_sdk.models.embedded_request import EmbeddedRequest
121
135
  from signwell_sdk.models.error_response import ErrorResponse
122
136
  from signwell_sdk.models.error_response_meta import ErrorResponseMeta
123
137
  from signwell_sdk.models.field_type import FieldType
@@ -137,8 +151,10 @@ from signwell_sdk.models.nom151_certificate_response_nom151 import Nom151Certifi
137
151
  from signwell_sdk.models.nom151_url_response import Nom151UrlResponse
138
152
  from signwell_sdk.models.pagination_meta import PaginationMeta
139
153
  from signwell_sdk.models.placeholders_inner import PlaceholdersInner
154
+ from signwell_sdk.models.placeholders_inner_passcode_delivery import PlaceholdersInnerPasscodeDelivery
140
155
  from signwell_sdk.models.rate_limit_error_response import RateLimitErrorResponse
141
156
  from signwell_sdk.models.recipients_inner import RecipientsInner
157
+ from signwell_sdk.models.recipients_inner_passcode_delivery import RecipientsInnerPasscodeDelivery
142
158
  from signwell_sdk.models.reminder_recipients_inner import ReminderRecipientsInner
143
159
  from signwell_sdk.models.send_reminder_request import SendReminderRequest
144
160
  from signwell_sdk.models.template_attachment_requests_inner import TemplateAttachmentRequestsInner
@@ -148,8 +164,13 @@ from signwell_sdk.models.template_field_values_inner_value import TemplateFieldV
148
164
  from signwell_sdk.models.template_fields_inner_inner import TemplateFieldsInnerInner
149
165
  from signwell_sdk.models.template_recipients_inner import TemplateRecipientsInner
150
166
  from signwell_sdk.models.text_validation import TextValidation
167
+ from signwell_sdk.models.update_authentication_request import UpdateAuthenticationRequest
168
+ from signwell_sdk.models.update_authentication_request_recipients_inner import (
169
+ UpdateAuthenticationRequestRecipientsInner,
170
+ )
151
171
  from signwell_sdk.models.update_document_and_send_request import UpdateDocumentAndSendRequest
152
172
  from signwell_sdk.models.update_recipients_map_inner import UpdateRecipientsMapInner
173
+ from signwell_sdk.models.update_recipients_map_inner_passcode_delivery import UpdateRecipientsMapInnerPasscodeDelivery
153
174
  from signwell_sdk.models.update_recipients_request import UpdateRecipientsRequest
154
175
  from signwell_sdk.models.validation_error_response import ValidationErrorResponse
155
176
  from signwell_sdk.models.webhook_response import WebhookResponse
@@ -201,6 +222,11 @@ Models = SimpleNamespace(
201
222
  CheckboxValidation=CheckboxValidation,
202
223
  CompletedPdfResponse=CompletedPdfResponse,
203
224
  CompletedPdfUrlResponse=CompletedPdfUrlResponse,
225
+ ConditionalLogicDecisionInfo=ConditionalLogicDecisionInfo,
226
+ ConditionalRuleInfo=ConditionalRuleInfo,
227
+ ConditionalRuleInfoConditionsInner=ConditionalRuleInfoConditionsInner,
228
+ ConditionalRuleRequest=ConditionalRuleRequest,
229
+ ConditionalRuleRequestConditionsInner=ConditionalRuleRequestConditionsInner,
204
230
  CopiedContactInfo=CopiedContactInfo,
205
231
  CopiedContactsInner=CopiedContactsInner,
206
232
  CopiedPlaceholdersInner=CopiedPlaceholdersInner,
@@ -222,6 +248,8 @@ Models = SimpleNamespace(
222
248
  DocumentResponseFieldsInnerInnerRecipient=DocumentResponseFieldsInnerInnerRecipient,
223
249
  DocumentResponseFieldsInnerInnerValue=DocumentResponseFieldsInnerInnerValue,
224
250
  DocumentResponseRecipientsInner=DocumentResponseRecipientsInner,
251
+ DocumentResponseRecipientsInnerPasscodeDelivery=DocumentResponseRecipientsInnerPasscodeDelivery,
252
+ DocumentResponseRecipientsInnerSms=DocumentResponseRecipientsInnerSms,
225
253
  DocumentTemplateListResponse=DocumentTemplateListResponse,
226
254
  DocumentTemplateRequest=DocumentTemplateRequest,
227
255
  DocumentTemplateResponse=DocumentTemplateResponse,
@@ -229,6 +257,11 @@ Models = SimpleNamespace(
229
257
  DocumentTemplateResponsePlaceholdersInner=DocumentTemplateResponsePlaceholdersInner,
230
258
  DocumentTemplateUpdateRequest=DocumentTemplateUpdateRequest,
231
259
  DropdownOption=DropdownOption,
260
+ EmbeddedBranding=EmbeddedBranding,
261
+ EmbeddedBrandingBranding=EmbeddedBrandingBranding,
262
+ EmbeddedBrandingRequest=EmbeddedBrandingRequest,
263
+ EmbeddedBrandingRequestCompanyLogo=EmbeddedBrandingRequestCompanyLogo,
264
+ EmbeddedRequest=EmbeddedRequest,
232
265
  ErrorResponse=ErrorResponse,
233
266
  ErrorResponseMeta=ErrorResponseMeta,
234
267
  FieldType=FieldType,
@@ -248,8 +281,10 @@ Models = SimpleNamespace(
248
281
  Nom151UrlResponse=Nom151UrlResponse,
249
282
  PaginationMeta=PaginationMeta,
250
283
  PlaceholdersInner=PlaceholdersInner,
284
+ PlaceholdersInnerPasscodeDelivery=PlaceholdersInnerPasscodeDelivery,
251
285
  RateLimitErrorResponse=RateLimitErrorResponse,
252
286
  RecipientsInner=RecipientsInner,
287
+ RecipientsInnerPasscodeDelivery=RecipientsInnerPasscodeDelivery,
253
288
  ReminderRecipientsInner=ReminderRecipientsInner,
254
289
  SendReminderRequest=SendReminderRequest,
255
290
  TemplateAttachmentRequestsInner=TemplateAttachmentRequestsInner,
@@ -259,8 +294,11 @@ Models = SimpleNamespace(
259
294
  TemplateFieldsInnerInner=TemplateFieldsInnerInner,
260
295
  TemplateRecipientsInner=TemplateRecipientsInner,
261
296
  TextValidation=TextValidation,
297
+ UpdateAuthenticationRequest=UpdateAuthenticationRequest,
298
+ UpdateAuthenticationRequestRecipientsInner=UpdateAuthenticationRequestRecipientsInner,
262
299
  UpdateDocumentAndSendRequest=UpdateDocumentAndSendRequest,
263
300
  UpdateRecipientsMapInner=UpdateRecipientsMapInner,
301
+ UpdateRecipientsMapInnerPasscodeDelivery=UpdateRecipientsMapInnerPasscodeDelivery,
264
302
  UpdateRecipientsRequest=UpdateRecipientsRequest,
265
303
  ValidationErrorResponse=ValidationErrorResponse,
266
304
  WebhookResponse=WebhookResponse,
@@ -85,7 +85,6 @@ class ApiApplicationApi:
85
85
  "404": "ErrorResponse",
86
86
  "429": "RateLimitErrorResponse",
87
87
  }
88
-
89
88
  response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
90
89
  response_data.read()
91
90
  return self.api_client.response_deserialize(
@@ -144,7 +143,6 @@ class ApiApplicationApi:
144
143
  "404": "ErrorResponse",
145
144
  "429": "RateLimitErrorResponse",
146
145
  }
147
-
148
146
  response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
149
147
  response_data.read()
150
148
  return self.api_client.response_deserialize(
@@ -203,7 +201,6 @@ class ApiApplicationApi:
203
201
  "404": "ErrorResponse",
204
202
  "429": "RateLimitErrorResponse",
205
203
  }
206
-
207
204
  response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
208
205
  return response_data.response
209
206
 
@@ -308,7 +305,6 @@ class ApiApplicationApi:
308
305
  "404": "ErrorResponse",
309
306
  "429": "RateLimitErrorResponse",
310
307
  }
311
-
312
308
  response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
313
309
  response_data.read()
314
310
  return self.api_client.response_deserialize(
@@ -367,7 +363,6 @@ class ApiApplicationApi:
367
363
  "404": "ErrorResponse",
368
364
  "429": "RateLimitErrorResponse",
369
365
  }
370
-
371
366
  response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
372
367
  response_data.read()
373
368
  return self.api_client.response_deserialize(
@@ -426,7 +421,6 @@ class ApiApplicationApi:
426
421
  "404": "ErrorResponse",
427
422
  "429": "RateLimitErrorResponse",
428
423
  }
429
-
430
424
  response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
431
425
  return response_data.response
432
426
 
@@ -93,11 +93,10 @@ class BulkSendApi:
93
93
 
94
94
  _response_types_map: Dict[str, str | None] = {
95
95
  "201": "BulkSendCreateResponse",
96
- "422": "ValidationErrorResponse",
97
96
  "401": "ErrorResponse",
97
+ "422": "ValidationErrorResponse",
98
98
  "429": "RateLimitErrorResponse",
99
99
  }
100
-
101
100
  response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
102
101
  response_data.read()
103
102
  return self.api_client.response_deserialize(
@@ -157,11 +156,10 @@ class BulkSendApi:
157
156
 
158
157
  _response_types_map: Dict[str, str | None] = {
159
158
  "201": "BulkSendCreateResponse",
160
- "422": "ValidationErrorResponse",
161
159
  "401": "ErrorResponse",
160
+ "422": "ValidationErrorResponse",
162
161
  "429": "RateLimitErrorResponse",
163
162
  }
164
-
165
163
  response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
166
164
  response_data.read()
167
165
  return self.api_client.response_deserialize(
@@ -221,11 +219,10 @@ class BulkSendApi:
221
219
 
222
220
  _response_types_map: Dict[str, str | None] = {
223
221
  "201": "BulkSendCreateResponse",
224
- "422": "ValidationErrorResponse",
225
222
  "401": "ErrorResponse",
223
+ "422": "ValidationErrorResponse",
226
224
  "429": "RateLimitErrorResponse",
227
225
  }
228
-
229
226
  response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
230
227
  return response_data.response
231
228
 
@@ -339,7 +336,6 @@ class BulkSendApi:
339
336
  "404": "ErrorResponse",
340
337
  "429": "RateLimitErrorResponse",
341
338
  }
342
-
343
339
  response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
344
340
  response_data.read()
345
341
  return self.api_client.response_deserialize(
@@ -399,7 +395,6 @@ class BulkSendApi:
399
395
  "404": "ErrorResponse",
400
396
  "429": "RateLimitErrorResponse",
401
397
  }
402
-
403
398
  response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
404
399
  response_data.read()
405
400
  return self.api_client.response_deserialize(
@@ -459,7 +454,6 @@ class BulkSendApi:
459
454
  "404": "ErrorResponse",
460
455
  "429": "RateLimitErrorResponse",
461
456
  }
462
-
463
457
  response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
464
458
  return response_data.response
465
459
 
@@ -572,13 +566,12 @@ class BulkSendApi:
572
566
  _return_type = "bytes"
573
567
 
574
568
  _response_types_map: Dict[str, str | None] = {
575
- "200": "bytearray",
569
+ "200": "bytes",
576
570
  "401": "ErrorResponse",
577
571
  "404": "ErrorResponse",
578
572
  "429": "RateLimitErrorResponse",
579
573
  }
580
574
  _response_types_map["200"] = _return_type
581
-
582
575
  response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
583
576
  response_data.read()
584
577
  return self.api_client.response_deserialize(
@@ -645,13 +638,12 @@ class BulkSendApi:
645
638
  _return_type = "bytes"
646
639
 
647
640
  _response_types_map: Dict[str, str | None] = {
648
- "200": "bytearray",
641
+ "200": "bytes",
649
642
  "401": "ErrorResponse",
650
643
  "404": "ErrorResponse",
651
644
  "429": "RateLimitErrorResponse",
652
645
  }
653
646
  _response_types_map["200"] = _return_type
654
-
655
647
  response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
656
648
  response_data.read()
657
649
  return self.api_client.response_deserialize(
@@ -718,13 +710,12 @@ class BulkSendApi:
718
710
  _return_type = "bytes"
719
711
 
720
712
  _response_types_map: Dict[str, str | None] = {
721
- "200": "bytearray",
713
+ "200": "bytes",
722
714
  "401": "ErrorResponse",
723
715
  "404": "ErrorResponse",
724
716
  "429": "RateLimitErrorResponse",
725
717
  }
726
718
  _response_types_map["200"] = _return_type
727
-
728
719
  response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
729
720
  return response_data.response
730
721
 
@@ -852,7 +843,6 @@ class BulkSendApi:
852
843
  "404": "ErrorResponse",
853
844
  "429": "RateLimitErrorResponse",
854
845
  }
855
-
856
846
  response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
857
847
  response_data.read()
858
848
  return self.api_client.response_deserialize(
@@ -924,7 +914,6 @@ class BulkSendApi:
924
914
  "404": "ErrorResponse",
925
915
  "429": "RateLimitErrorResponse",
926
916
  }
927
-
928
917
  response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
929
918
  response_data.read()
930
919
  return self.api_client.response_deserialize(
@@ -996,7 +985,6 @@ class BulkSendApi:
996
985
  "404": "ErrorResponse",
997
986
  "429": "RateLimitErrorResponse",
998
987
  }
999
-
1000
988
  response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1001
989
  return response_data.response
1002
990
 
@@ -1125,7 +1113,6 @@ class BulkSendApi:
1125
1113
  "401": "ErrorResponse",
1126
1114
  "429": "RateLimitErrorResponse",
1127
1115
  }
1128
-
1129
1116
  response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1130
1117
  response_data.read()
1131
1118
  return self.api_client.response_deserialize(
@@ -1200,7 +1187,6 @@ class BulkSendApi:
1200
1187
  "401": "ErrorResponse",
1201
1188
  "429": "RateLimitErrorResponse",
1202
1189
  }
1203
-
1204
1190
  response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1205
1191
  response_data.read()
1206
1192
  return self.api_client.response_deserialize(
@@ -1275,7 +1261,6 @@ class BulkSendApi:
1275
1261
  "401": "ErrorResponse",
1276
1262
  "429": "RateLimitErrorResponse",
1277
1263
  }
1278
-
1279
1264
  response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1280
1265
  return response_data.response
1281
1266
 
@@ -1394,11 +1379,10 @@ class BulkSendApi:
1394
1379
 
1395
1380
  _response_types_map: Dict[str, str | None] = {
1396
1381
  "200": "BulkSendValidateCsvResponse",
1397
- "422": "ValidationErrorResponse",
1398
1382
  "401": "ErrorResponse",
1383
+ "422": "ValidationErrorResponse",
1399
1384
  "429": "RateLimitErrorResponse",
1400
1385
  }
1401
-
1402
1386
  response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1403
1387
  response_data.read()
1404
1388
  return self.api_client.response_deserialize(
@@ -1458,11 +1442,10 @@ class BulkSendApi:
1458
1442
 
1459
1443
  _response_types_map: Dict[str, str | None] = {
1460
1444
  "200": "BulkSendValidateCsvResponse",
1461
- "422": "ValidationErrorResponse",
1462
1445
  "401": "ErrorResponse",
1446
+ "422": "ValidationErrorResponse",
1463
1447
  "429": "RateLimitErrorResponse",
1464
1448
  }
1465
-
1466
1449
  response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1467
1450
  response_data.read()
1468
1451
  return self.api_client.response_deserialize(
@@ -1522,11 +1505,10 @@ class BulkSendApi:
1522
1505
 
1523
1506
  _response_types_map: Dict[str, str | None] = {
1524
1507
  "200": "BulkSendValidateCsvResponse",
1525
- "422": "ValidationErrorResponse",
1526
1508
  "401": "ErrorResponse",
1509
+ "422": "ValidationErrorResponse",
1527
1510
  "429": "RateLimitErrorResponse",
1528
1511
  }
1529
-
1530
1512
  response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1531
1513
  return response_data.response
1532
1514