sf-queue-sdk 0.2.0b25__tar.gz → 0.2.0b34__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 (24) hide show
  1. {sf_queue_sdk-0.2.0b25 → sf_queue_sdk-0.2.0b34}/PKG-INFO +1 -1
  2. {sf_queue_sdk-0.2.0b25 → sf_queue_sdk-0.2.0b34}/pyproject.toml +1 -1
  3. {sf_queue_sdk-0.2.0b25 → sf_queue_sdk-0.2.0b34}/queue_sdk/__init__.py +1 -1
  4. {sf_queue_sdk-0.2.0b25 → sf_queue_sdk-0.2.0b34}/queue_sdk/generated/queue/email/v1/email_pb2.py +6 -6
  5. {sf_queue_sdk-0.2.0b25 → sf_queue_sdk-0.2.0b34}/queue_sdk/generated/queue/email/v1/email_pb2.pyi +14 -4
  6. {sf_queue_sdk-0.2.0b25 → sf_queue_sdk-0.2.0b34}/queue_sdk/queues/email_queue.py +14 -4
  7. {sf_queue_sdk-0.2.0b25 → sf_queue_sdk-0.2.0b34}/queue_sdk/types.py +2 -0
  8. {sf_queue_sdk-0.2.0b25 → sf_queue_sdk-0.2.0b34}/.gitignore +0 -0
  9. {sf_queue_sdk-0.2.0b25 → sf_queue_sdk-0.2.0b34}/README.md +0 -0
  10. {sf_queue_sdk-0.2.0b25 → sf_queue_sdk-0.2.0b34}/queue_sdk/client.py +0 -0
  11. {sf_queue_sdk-0.2.0b25 → sf_queue_sdk-0.2.0b34}/queue_sdk/generated/__init__.py +0 -0
  12. {sf_queue_sdk-0.2.0b25 → sf_queue_sdk-0.2.0b34}/queue_sdk/generated/queue/tool_assignment/v1/tool_assignment_pb2.py +0 -0
  13. {sf_queue_sdk-0.2.0b25 → sf_queue_sdk-0.2.0b34}/queue_sdk/generated/queue/tool_assignment/v1/tool_assignment_pb2.pyi +0 -0
  14. {sf_queue_sdk-0.2.0b25 → sf_queue_sdk-0.2.0b34}/queue_sdk/generated/queue/topic_assignment/v1/topic_assignment_pb2.py +0 -0
  15. {sf_queue_sdk-0.2.0b25 → sf_queue_sdk-0.2.0b34}/queue_sdk/generated/queue/topic_assignment/v1/topic_assignment_pb2.pyi +0 -0
  16. {sf_queue_sdk-0.2.0b25 → sf_queue_sdk-0.2.0b34}/queue_sdk/query.py +0 -0
  17. {sf_queue_sdk-0.2.0b25 → sf_queue_sdk-0.2.0b34}/queue_sdk/queues/__init__.py +0 -0
  18. {sf_queue_sdk-0.2.0b25 → sf_queue_sdk-0.2.0b34}/queue_sdk/queues/base_queue.py +0 -0
  19. {sf_queue_sdk-0.2.0b25 → sf_queue_sdk-0.2.0b34}/queue_sdk/queues/pdf_to_image_queue.py +0 -0
  20. {sf_queue_sdk-0.2.0b25 → sf_queue_sdk-0.2.0b34}/queue_sdk/queues/recommendation_queue.py +0 -0
  21. {sf_queue_sdk-0.2.0b25 → sf_queue_sdk-0.2.0b34}/queue_sdk/queues/tool_assignment_queue.py +0 -0
  22. {sf_queue_sdk-0.2.0b25 → sf_queue_sdk-0.2.0b34}/queue_sdk/queues/topic_assignment_queue.py +0 -0
  23. {sf_queue_sdk-0.2.0b25 → sf_queue_sdk-0.2.0b34}/queue_sdk/redis_client.py +0 -0
  24. {sf_queue_sdk-0.2.0b25 → sf_queue_sdk-0.2.0b34}/queue_sdk/sanitize.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sf-queue-sdk
3
- Version: 0.2.0b25
3
+ Version: 0.2.0b34
4
4
  Summary: Python SDK for sf-queue - Redis-based queue system
5
5
  Requires-Python: >=3.11
6
6
  Requires-Dist: redis>=5.0.0
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "sf-queue-sdk"
3
- version = "0.2.0b25"
3
+ version = "0.2.0b34"
4
4
  description = "Python SDK for sf-queue - Redis-based queue system"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
@@ -1,6 +1,6 @@
1
1
  """sf-queue Python SDK - Redis-based queue system."""
2
2
 
3
- __version__ = "0.2.0b25"
3
+ __version__ = "0.2.0b34"
4
4
 
5
5
  from queue_sdk.client import QueueClient
6
6
  from queue_sdk.query import QueryClient
@@ -24,7 +24,7 @@ _sym_db = _symbol_database.Default()
24
24
 
25
25
 
26
26
 
27
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1aqueue/email/v1/email.proto\x12\x0equeue.email.v1\"5\n\x0b\x45mailButton\x12\x12\n\x04text\x18\x01 \x01(\tR\x04text\x12\x12\n\x04href\x18\x02 \x01(\tR\x04href\"^\n\nEmailImage\x12\x10\n\x03src\x18\x01 \x01(\tR\x03src\x12\x10\n\x03\x61lt\x18\x02 \x01(\tR\x03\x61lt\x12\x14\n\x05width\x18\x03 \x01(\x05R\x05width\x12\x16\n\x06height\x18\x04 \x01(\x05R\x06height\"\xaa\x02\n\x0c\x45mailRequest\x12\x0e\n\x02to\x18\x01 \x01(\tR\x02to\x12\x18\n\x07preview\x18\x02 \x01(\tR\x07preview\x12\x18\n\x07subject\x18\x03 \x01(\tR\x07subject\x12\x1e\n\nparagraphs\x18\x04 \x03(\tR\nparagraphs\x12\x33\n\x06\x62utton\x18\x05 \x01(\x0b\x32\x1b.queue.email.v1.EmailButtonR\x06\x62utton\x12\x19\n\x08reply_to\x18\x06 \x01(\tR\x07replyTo\x12\x30\n\x05image\x18\x07 \x01(\x0b\x32\x1a.queue.email.v1.EmailImageR\x05image\x12\x18\n\x07service\x18\x08 \x01(\tR\x07service\x12\x1a\n\x08template\x18\t \x01(\tR\x08template\"\xaf\x02\n\x11\x42\x61tchEmailRequest\x12\x0e\n\x02to\x18\x01 \x03(\tR\x02to\x12\x18\n\x07preview\x18\x02 \x01(\tR\x07preview\x12\x18\n\x07subject\x18\x03 \x01(\tR\x07subject\x12\x1e\n\nparagraphs\x18\x04 \x03(\tR\nparagraphs\x12\x33\n\x06\x62utton\x18\x05 \x01(\x0b\x32\x1b.queue.email.v1.EmailButtonR\x06\x62utton\x12\x19\n\x08reply_to\x18\x06 \x01(\tR\x07replyTo\x12\x30\n\x05image\x18\x07 \x01(\x0b\x32\x1a.queue.email.v1.EmailImageR\x05image\x12\x18\n\x07service\x18\x08 \x01(\tR\x07service\x12\x1a\n\x08template\x18\t \x01(\tR\x08template\"^\n\rEmailResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\x1d\n\nmessage_id\x18\x02 \x01(\tR\tmessageId\x12\x14\n\x05\x65rror\x18\x03 \x01(\tR\x05\x65rrorBLZJgithub.com/StudyFetch/sf-queue/packages/go/proto-go/queue/email/v1;emailv1b\x06proto3')
27
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1aqueue/email/v1/email.proto\x12\x0equeue.email.v1\"5\n\x0b\x45mailButton\x12\x12\n\x04text\x18\x01 \x01(\tR\x04text\x12\x12\n\x04href\x18\x02 \x01(\tR\x04href\"^\n\nEmailImage\x12\x10\n\x03src\x18\x01 \x01(\tR\x03src\x12\x10\n\x03\x61lt\x18\x02 \x01(\tR\x03\x61lt\x12\x14\n\x05width\x18\x03 \x01(\x05R\x05width\x12\x16\n\x06height\x18\x04 \x01(\x05R\x06height\"\xf1\x02\n\x0c\x45mailRequest\x12\x0e\n\x02to\x18\x01 \x01(\tR\x02to\x12\x18\n\x07preview\x18\x02 \x01(\tR\x07preview\x12\x18\n\x07subject\x18\x03 \x01(\tR\x07subject\x12\x1e\n\nparagraphs\x18\x04 \x03(\tR\nparagraphs\x12\x33\n\x06\x62utton\x18\x05 \x01(\x0b\x32\x1b.queue.email.v1.EmailButtonR\x06\x62utton\x12\x19\n\x08reply_to\x18\x06 \x01(\tR\x07replyTo\x12\x30\n\x05image\x18\x07 \x01(\x0b\x32\x1a.queue.email.v1.EmailImageR\x05image\x12\x18\n\x07service\x18\x08 \x01(\tR\x07service\x12\x1a\n\x08template\x18\t \x01(\tR\x08template\x12\x12\n\x04html\x18\n \x01(\tR\x04html\x12\x12\n\x04\x66rom\x18\x0b \x01(\tR\x04\x66rom\x12\x1d\n\nresend_key\x18\x0c \x01(\tR\tresendKey\"\xf6\x02\n\x11\x42\x61tchEmailRequest\x12\x0e\n\x02to\x18\x01 \x03(\tR\x02to\x12\x18\n\x07preview\x18\x02 \x01(\tR\x07preview\x12\x18\n\x07subject\x18\x03 \x01(\tR\x07subject\x12\x1e\n\nparagraphs\x18\x04 \x03(\tR\nparagraphs\x12\x33\n\x06\x62utton\x18\x05 \x01(\x0b\x32\x1b.queue.email.v1.EmailButtonR\x06\x62utton\x12\x19\n\x08reply_to\x18\x06 \x01(\tR\x07replyTo\x12\x30\n\x05image\x18\x07 \x01(\x0b\x32\x1a.queue.email.v1.EmailImageR\x05image\x12\x18\n\x07service\x18\x08 \x01(\tR\x07service\x12\x1a\n\x08template\x18\t \x01(\tR\x08template\x12\x12\n\x04html\x18\n \x01(\tR\x04html\x12\x12\n\x04\x66rom\x18\x0b \x01(\tR\x04\x66rom\x12\x1d\n\nresend_key\x18\x0c \x01(\tR\tresendKey\"^\n\rEmailResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\x1d\n\nmessage_id\x18\x02 \x01(\tR\tmessageId\x12\x14\n\x05\x65rror\x18\x03 \x01(\tR\x05\x65rrorBLZJgithub.com/StudyFetch/sf-queue/packages/go/proto-go/queue/email/v1;emailv1b\x06proto3')
28
28
 
29
29
  _globals = globals()
30
30
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -37,9 +37,9 @@ if not _descriptor._USE_C_DESCRIPTORS:
37
37
  _globals['_EMAILIMAGE']._serialized_start=101
38
38
  _globals['_EMAILIMAGE']._serialized_end=195
39
39
  _globals['_EMAILREQUEST']._serialized_start=198
40
- _globals['_EMAILREQUEST']._serialized_end=496
41
- _globals['_BATCHEMAILREQUEST']._serialized_start=499
42
- _globals['_BATCHEMAILREQUEST']._serialized_end=802
43
- _globals['_EMAILRESPONSE']._serialized_start=804
44
- _globals['_EMAILRESPONSE']._serialized_end=898
40
+ _globals['_EMAILREQUEST']._serialized_end=567
41
+ _globals['_BATCHEMAILREQUEST']._serialized_start=570
42
+ _globals['_BATCHEMAILREQUEST']._serialized_end=944
43
+ _globals['_EMAILRESPONSE']._serialized_start=946
44
+ _globals['_EMAILRESPONSE']._serialized_end=1040
45
45
  # @@protoc_insertion_point(module_scope)
@@ -27,7 +27,7 @@ class EmailImage(_message.Message):
27
27
  def __init__(self, src: _Optional[str] = ..., alt: _Optional[str] = ..., width: _Optional[int] = ..., height: _Optional[int] = ...) -> None: ...
28
28
 
29
29
  class EmailRequest(_message.Message):
30
- __slots__ = ("to", "preview", "subject", "paragraphs", "button", "reply_to", "image", "service", "template")
30
+ __slots__ = ("to", "preview", "subject", "paragraphs", "button", "reply_to", "image", "service", "template", "html", "resend_key")
31
31
  TO_FIELD_NUMBER: _ClassVar[int]
32
32
  PREVIEW_FIELD_NUMBER: _ClassVar[int]
33
33
  SUBJECT_FIELD_NUMBER: _ClassVar[int]
@@ -37,6 +37,9 @@ class EmailRequest(_message.Message):
37
37
  IMAGE_FIELD_NUMBER: _ClassVar[int]
38
38
  SERVICE_FIELD_NUMBER: _ClassVar[int]
39
39
  TEMPLATE_FIELD_NUMBER: _ClassVar[int]
40
+ HTML_FIELD_NUMBER: _ClassVar[int]
41
+ FROM_FIELD_NUMBER: _ClassVar[int]
42
+ RESEND_KEY_FIELD_NUMBER: _ClassVar[int]
40
43
  to: str
41
44
  preview: str
42
45
  subject: str
@@ -46,10 +49,12 @@ class EmailRequest(_message.Message):
46
49
  image: EmailImage
47
50
  service: str
48
51
  template: str
49
- def __init__(self, to: _Optional[str] = ..., preview: _Optional[str] = ..., subject: _Optional[str] = ..., paragraphs: _Optional[_Iterable[str]] = ..., button: _Optional[_Union[EmailButton, _Mapping]] = ..., reply_to: _Optional[str] = ..., image: _Optional[_Union[EmailImage, _Mapping]] = ..., service: _Optional[str] = ..., template: _Optional[str] = ...) -> None: ...
52
+ html: str
53
+ resend_key: str
54
+ def __init__(self, to: _Optional[str] = ..., preview: _Optional[str] = ..., subject: _Optional[str] = ..., paragraphs: _Optional[_Iterable[str]] = ..., button: _Optional[_Union[EmailButton, _Mapping]] = ..., reply_to: _Optional[str] = ..., image: _Optional[_Union[EmailImage, _Mapping]] = ..., service: _Optional[str] = ..., template: _Optional[str] = ..., html: _Optional[str] = ..., resend_key: _Optional[str] = ..., **kwargs) -> None: ...
50
55
 
51
56
  class BatchEmailRequest(_message.Message):
52
- __slots__ = ("to", "preview", "subject", "paragraphs", "button", "reply_to", "image", "service", "template")
57
+ __slots__ = ("to", "preview", "subject", "paragraphs", "button", "reply_to", "image", "service", "template", "html", "resend_key")
53
58
  TO_FIELD_NUMBER: _ClassVar[int]
54
59
  PREVIEW_FIELD_NUMBER: _ClassVar[int]
55
60
  SUBJECT_FIELD_NUMBER: _ClassVar[int]
@@ -59,6 +64,9 @@ class BatchEmailRequest(_message.Message):
59
64
  IMAGE_FIELD_NUMBER: _ClassVar[int]
60
65
  SERVICE_FIELD_NUMBER: _ClassVar[int]
61
66
  TEMPLATE_FIELD_NUMBER: _ClassVar[int]
67
+ HTML_FIELD_NUMBER: _ClassVar[int]
68
+ FROM_FIELD_NUMBER: _ClassVar[int]
69
+ RESEND_KEY_FIELD_NUMBER: _ClassVar[int]
62
70
  to: _containers.RepeatedScalarFieldContainer[str]
63
71
  preview: str
64
72
  subject: str
@@ -68,7 +76,9 @@ class BatchEmailRequest(_message.Message):
68
76
  image: EmailImage
69
77
  service: str
70
78
  template: str
71
- def __init__(self, to: _Optional[_Iterable[str]] = ..., preview: _Optional[str] = ..., subject: _Optional[str] = ..., paragraphs: _Optional[_Iterable[str]] = ..., button: _Optional[_Union[EmailButton, _Mapping]] = ..., reply_to: _Optional[str] = ..., image: _Optional[_Union[EmailImage, _Mapping]] = ..., service: _Optional[str] = ..., template: _Optional[str] = ...) -> None: ...
79
+ html: str
80
+ resend_key: str
81
+ def __init__(self, to: _Optional[_Iterable[str]] = ..., preview: _Optional[str] = ..., subject: _Optional[str] = ..., paragraphs: _Optional[_Iterable[str]] = ..., button: _Optional[_Union[EmailButton, _Mapping]] = ..., reply_to: _Optional[str] = ..., image: _Optional[_Union[EmailImage, _Mapping]] = ..., service: _Optional[str] = ..., template: _Optional[str] = ..., html: _Optional[str] = ..., resend_key: _Optional[str] = ..., **kwargs) -> None: ...
72
82
 
73
83
  class EmailResponse(_message.Message):
74
84
  __slots__ = ("success", "message_id", "error")
@@ -30,10 +30,11 @@ class EmailQueue(BaseQueue):
30
30
  image: Optional[dict[str, Any]] = None,
31
31
  service: Optional[str] = None,
32
32
  template: Optional[str] = None,
33
+ html: Optional[str] = None,
33
34
  ) -> SendResult:
34
35
  """Enqueue an email for processing (fire and forget)."""
35
36
  payload = self._build_payload(
36
- to, preview, subject, paragraphs, button, reply_to, image, service, template
37
+ to, preview, subject, paragraphs, button, reply_to, image, service, template, html
37
38
  )
38
39
  message_id = self._enqueue(payload)
39
40
  return SendResult(message_id=message_id)
@@ -50,10 +51,11 @@ class EmailQueue(BaseQueue):
50
51
  timeout: Optional[int] = None,
51
52
  service: Optional[str] = None,
52
53
  template: Optional[str] = None,
54
+ html: Optional[str] = None,
53
55
  ) -> EmailResponse:
54
56
  """Enqueue an email and wait for processing confirmation."""
55
57
  payload = self._build_payload(
56
- to, preview, subject, paragraphs, button, reply_to, image, service, template
58
+ to, preview, subject, paragraphs, button, reply_to, image, service, template, html
57
59
  )
58
60
  return self._enqueue_and_wait(payload, timeout)
59
61
 
@@ -68,11 +70,12 @@ class EmailQueue(BaseQueue):
68
70
  image: Optional[dict[str, Any]] = None,
69
71
  service: Optional[str] = None,
70
72
  template: Optional[str] = None,
73
+ html: Optional[str] = None,
71
74
  ) -> SendResult:
72
75
  """Enqueue a batch email for processing (fire and forget)."""
73
76
  self._validate_batch(to)
74
77
  payload = self._build_batch_payload(
75
- to, preview, subject, paragraphs, button, reply_to, image, service, template
78
+ to, preview, subject, paragraphs, button, reply_to, image, service, template, html
76
79
  )
77
80
  message_id = self._enqueue(payload)
78
81
  return SendResult(message_id=message_id)
@@ -89,11 +92,12 @@ class EmailQueue(BaseQueue):
89
92
  timeout: Optional[int] = None,
90
93
  service: Optional[str] = None,
91
94
  template: Optional[str] = None,
95
+ html: Optional[str] = None,
92
96
  ) -> BatchEmailResponse:
93
97
  """Enqueue a batch email and wait for processing confirmation."""
94
98
  self._validate_batch(to)
95
99
  payload = self._build_batch_payload(
96
- to, preview, subject, paragraphs, button, reply_to, image, service, template
100
+ to, preview, subject, paragraphs, button, reply_to, image, service, template, html
97
101
  )
98
102
  response = self._enqueue_and_wait(payload, timeout)
99
103
 
@@ -118,6 +122,7 @@ class EmailQueue(BaseQueue):
118
122
  image: Optional[dict[str, Any]],
119
123
  service: Optional[str] = None,
120
124
  template: Optional[str] = None,
125
+ html: Optional[str] = None,
121
126
  ) -> dict[str, Any]:
122
127
  """Build and sanitize the email payload."""
123
128
  payload: dict[str, Any] = {
@@ -150,6 +155,9 @@ class EmailQueue(BaseQueue):
150
155
  if template:
151
156
  payload["template"] = template
152
157
 
158
+ if html:
159
+ payload["html"] = html
160
+
153
161
  return payload
154
162
 
155
163
  def _build_batch_payload(
@@ -163,6 +171,7 @@ class EmailQueue(BaseQueue):
163
171
  image: Optional[dict[str, Any]],
164
172
  service: Optional[str] = None,
165
173
  template: Optional[str] = None,
174
+ html: Optional[str] = None,
166
175
  ) -> dict[str, Any]:
167
176
  """Build and sanitize the batch email payload."""
168
177
  payload = self._build_payload(
@@ -175,6 +184,7 @@ class EmailQueue(BaseQueue):
175
184
  image=image,
176
185
  service=service,
177
186
  template=template,
187
+ html=html,
178
188
  )
179
189
  payload["to"] = to
180
190
  payload["batch"] = True
@@ -44,6 +44,7 @@ class EmailData:
44
44
  image: Optional[EmailImage] = None
45
45
  service: Optional[str] = None
46
46
  template: Optional[str] = None
47
+ html: Optional[str] = None
47
48
 
48
49
 
49
50
  @dataclass
@@ -59,6 +60,7 @@ class BatchEmailData:
59
60
  image: Optional[EmailImage] = None
60
61
  service: Optional[str] = None
61
62
  template: Optional[str] = None
63
+ html: Optional[str] = None
62
64
 
63
65
 
64
66
  @dataclass