nebu 0.1.128__py3-none-any.whl → 0.1.130__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.
@@ -227,7 +227,7 @@ def extract_definition_source_from_string(
227
227
  )
228
228
  return last_found_source # Found last definition, return immediately
229
229
 
230
- except (SyntaxError, ValueError) as e:
230
+ except (SyntaxError, ValueError):
231
231
  # logger.debug(f"extract: Skipping cell #{cell_num} due to parse error: {e}") # Can be verbose
232
232
  continue
233
233
  except Exception as e:
@@ -405,7 +405,7 @@ class Processor(Generic[InputType, OutputType]):
405
405
  )
406
406
 
407
407
  individual_poll_timeout = max(10.0, poll_interval_seconds * 2)
408
- logger.debug(
408
+ logger.info(
409
409
  f"Processor {processor_name}: Making polling attempt for {message_id}, attempt timeout: {individual_poll_timeout}s"
410
410
  )
411
411
  try:
@@ -421,14 +421,28 @@ class Processor(Generic[InputType, OutputType]):
421
421
  f"Processor {processor_name}: Successfully retrieved message {message_id} via polling. Status: 200."
422
422
  )
423
423
  try:
424
- polled_data = poll_response.json()
425
- if isinstance(polled_data, (dict, list, str)):
426
- raw_content = polled_data
424
+ polled_data_full = poll_response.json()
425
+ if (
426
+ isinstance(polled_data_full, dict)
427
+ and "content" in polled_data_full
428
+ ):
429
+ # Extract the nested content for Pydantic validation
430
+ raw_content = polled_data_full.get("content")
431
+ logger.debug(
432
+ f"Processor {processor_name}: Extracted nested 'content' from polled data for {message_id}. Nested content: {str(raw_content)[:200]}..."
433
+ )
434
+ elif isinstance(polled_data_full, (dict, list, str)):
435
+ # Fallback: use the full polled data if 'content' key is not present in a dict, or if it's not a dict itself.
436
+ raw_content = polled_data_full
437
+ logger.warning(
438
+ f"Processor {processor_name}: Polled data for {message_id} did not contain a 'content' key as expected, or was not a dict. Using full polled data. Type: {type(polled_data_full)}. Data: {str(polled_data_full)[:200]}..."
439
+ )
427
440
  else:
441
+ # Unexpected type for polled_data_full
442
+ raw_content = polled_data_full
428
443
  logger.warning(
429
- f"Processor {processor_name}: Polled data for {message_id} is of unexpected type: {type(polled_data)}. Content: {polled_data}"
444
+ f"Processor {processor_name}: Polled data for {message_id} is of an unexpected type: {type(polled_data_full)}. Content: {str(polled_data_full)[:200]}..."
430
445
  )
431
- raw_content = polled_data
432
446
  except json.JSONDecodeError:
433
447
  logger.error(
434
448
  f"Processor {processor_name}: Failed to decode JSON from polling response for {message_id}. Response text: {poll_response.text[:200]}..."
@@ -439,11 +453,11 @@ class Processor(Generic[InputType, OutputType]):
439
453
  break # Exit polling loop
440
454
 
441
455
  elif poll_response.status_code == 404:
442
- logger.debug(
456
+ logger.info(
443
457
  f"Processor {processor_name}: Message {message_id} not yet ready (404). Retrying in {poll_interval_seconds}s..."
444
458
  )
445
459
  elif poll_response.status_code == 202:
446
- logger.debug(
460
+ logger.info(
447
461
  f"Processor {processor_name}: Message {message_id} processing (202). Retrying in {poll_interval_seconds}s..."
448
462
  )
449
463
  else:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nebu
3
- Version: 0.1.128
3
+ Version: 0.1.130
4
4
  Summary: A globally distributed container runtime
5
5
  Requires-Python: >=3.10.14
6
6
  Description-Content-Type: text/markdown
@@ -16,14 +16,14 @@ nebu/namespaces/namespace.py,sha256=oeZyGqsIGIrppyjif1ZONsdTmqRgd9oSLFE1BChXTTE,
16
16
  nebu/processors/consumer.py,sha256=RoQqpE8ee7-dV68dYLZTX3c7W373txNs7qsJF-NK8Oo,78541
17
17
  nebu/processors/consumer_health_worker.py,sha256=XJaLNNBxkHmkBap_XeQrxFV9JKcXp21ATudV25r3l7g,15096
18
18
  nebu/processors/consumer_process_worker.py,sha256=h--eNFKaLbUayxn88mB8oGGdrU2liE1dnwm_TPlewX8,36960
19
- nebu/processors/decorate.py,sha256=5p9pQrk_H8-Fj0UjsgSVCYx7Jk7KFuhMZtNhkKvpmkQ,61306
19
+ nebu/processors/decorate.py,sha256=v7CIXe1JQee9Ocz_Xb1DlXhpS-8j56xtZzQ03NzoAgc,61301
20
20
  nebu/processors/default.py,sha256=cy4ETMdbdRGkrvbYec1o60h7mGDlGN5JsuUph0ENtDU,364
21
21
  nebu/processors/models.py,sha256=8-TmKha2_QAnPlXcZxYjrCSPDCX7FFcMDMcHK77jK0U,4223
22
- nebu/processors/processor.py,sha256=2KAWGki6hfAD9Mg-0phEt6N45lz-cQQp8XQzvD92tF4,36047
22
+ nebu/processors/processor.py,sha256=6XWkdA5Yw82qHGWwmC7D-sHEvGcrMhtECZ15ge-JiA0,37256
23
23
  nebu/redis/models.py,sha256=coPovAcVXnOU1Xh_fpJL4PO3QctgK9nBe5QYoqEcnxg,1230
24
24
  nebu/services/service.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
- nebu-0.1.128.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
26
- nebu-0.1.128.dist-info/METADATA,sha256=iNDy7WL9XqkL00UFNTjheMFFigGJ9cloYvsxOqFGwmI,1798
27
- nebu-0.1.128.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
28
- nebu-0.1.128.dist-info/top_level.txt,sha256=uLIbEKJeGSHWOAJN5S0i5XBGwybALlF9bYoB1UhdEgQ,5
29
- nebu-0.1.128.dist-info/RECORD,,
25
+ nebu-0.1.130.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
26
+ nebu-0.1.130.dist-info/METADATA,sha256=LXsSwpf-5_5fR35F321dUWIqDjd1B-ue-UyaTNCfAkA,1798
27
+ nebu-0.1.130.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
28
+ nebu-0.1.130.dist-info/top_level.txt,sha256=uLIbEKJeGSHWOAJN5S0i5XBGwybALlF9bYoB1UhdEgQ,5
29
+ nebu-0.1.130.dist-info/RECORD,,
File without changes