pbesa 4.0.31__tar.gz → 4.0.33__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 (123) hide show
  1. {pbesa-4.0.31 → pbesa-4.0.33}/PKG-INFO +1 -1
  2. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/cognitive.py +22 -15
  3. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/social/dialog.py +1 -0
  4. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa.egg-info/PKG-INFO +1 -1
  5. {pbesa-4.0.31 → pbesa-4.0.33}/setup.py +1 -1
  6. {pbesa-4.0.31 → pbesa-4.0.33}/.gitignore +0 -0
  7. {pbesa-4.0.31 → pbesa-4.0.33}/LICENSE +0 -0
  8. {pbesa-4.0.31 → pbesa-4.0.33}/LICENSE.txt +0 -0
  9. {pbesa-4.0.31 → pbesa-4.0.33}/MANIFEST +0 -0
  10. {pbesa-4.0.31 → pbesa-4.0.33}/README.md +0 -0
  11. {pbesa-4.0.31 → pbesa-4.0.33}/examples/django/helloworld/db.sqlite3 +0 -0
  12. {pbesa-4.0.31 → pbesa-4.0.33}/examples/django/helloworld/helloworld/__init__.py +0 -0
  13. {pbesa-4.0.31 → pbesa-4.0.33}/examples/django/helloworld/helloworld/__pycache__/__init__.cpython-36.pyc +0 -0
  14. {pbesa-4.0.31 → pbesa-4.0.33}/examples/django/helloworld/helloworld/__pycache__/pbesa.cpython-36.pyc +0 -0
  15. {pbesa-4.0.31 → pbesa-4.0.33}/examples/django/helloworld/helloworld/__pycache__/settings.cpython-36.pyc +0 -0
  16. {pbesa-4.0.31 → pbesa-4.0.33}/examples/django/helloworld/helloworld/__pycache__/urls.cpython-36.pyc +0 -0
  17. {pbesa-4.0.31 → pbesa-4.0.33}/examples/django/helloworld/helloworld/__pycache__/wsgi.cpython-36.pyc +0 -0
  18. {pbesa-4.0.31 → pbesa-4.0.33}/examples/django/helloworld/helloworld/asgi.py +0 -0
  19. {pbesa-4.0.31 → pbesa-4.0.33}/examples/django/helloworld/helloworld/pbesa.py +0 -0
  20. {pbesa-4.0.31 → pbesa-4.0.33}/examples/django/helloworld/helloworld/settings.py +0 -0
  21. {pbesa-4.0.31 → pbesa-4.0.33}/examples/django/helloworld/helloworld/urls.py +0 -0
  22. {pbesa-4.0.31 → pbesa-4.0.33}/examples/django/helloworld/helloworld/wsgi.py +0 -0
  23. {pbesa-4.0.31 → pbesa-4.0.33}/examples/django/helloworld/manage.py +0 -0
  24. {pbesa-4.0.31 → pbesa-4.0.33}/examples/django/helloworld/translate/__init__.py +0 -0
  25. {pbesa-4.0.31 → pbesa-4.0.33}/examples/django/helloworld/translate/__pycache__/__init__.cpython-36.pyc +0 -0
  26. {pbesa-4.0.31 → pbesa-4.0.33}/examples/django/helloworld/translate/__pycache__/admin.cpython-36.pyc +0 -0
  27. {pbesa-4.0.31 → pbesa-4.0.33}/examples/django/helloworld/translate/__pycache__/apps.cpython-36.pyc +0 -0
  28. {pbesa-4.0.31 → pbesa-4.0.33}/examples/django/helloworld/translate/__pycache__/models.cpython-36.pyc +0 -0
  29. {pbesa-4.0.31 → pbesa-4.0.33}/examples/django/helloworld/translate/__pycache__/urls.cpython-36.pyc +0 -0
  30. {pbesa-4.0.31 → pbesa-4.0.33}/examples/django/helloworld/translate/__pycache__/views.cpython-36.pyc +0 -0
  31. {pbesa-4.0.31 → pbesa-4.0.33}/examples/django/helloworld/translate/admin.py +0 -0
  32. {pbesa-4.0.31 → pbesa-4.0.33}/examples/django/helloworld/translate/apps.py +0 -0
  33. {pbesa-4.0.31 → pbesa-4.0.33}/examples/django/helloworld/translate/mas/controller/__pycache__/translatecontroller.cpython-36.pyc +0 -0
  34. {pbesa-4.0.31 → pbesa-4.0.33}/examples/django/helloworld/translate/mas/controller/__pycache__/translatedelegate.cpython-36.pyc +0 -0
  35. {pbesa-4.0.31 → pbesa-4.0.33}/examples/django/helloworld/translate/mas/controller/__pycache__/translateresponse.cpython-36.pyc +0 -0
  36. {pbesa-4.0.31 → pbesa-4.0.33}/examples/django/helloworld/translate/mas/controller/translatecontroller.py +0 -0
  37. {pbesa-4.0.31 → pbesa-4.0.33}/examples/django/helloworld/translate/mas/controller/translatedelegate.py +0 -0
  38. {pbesa-4.0.31 → pbesa-4.0.33}/examples/django/helloworld/translate/mas/controller/translateresponse.py +0 -0
  39. {pbesa-4.0.31 → pbesa-4.0.33}/examples/django/helloworld/translate/mas/worker/__pycache__/translatetask.cpython-36.pyc +0 -0
  40. {pbesa-4.0.31 → pbesa-4.0.33}/examples/django/helloworld/translate/mas/worker/__pycache__/workeragent.cpython-36.pyc +0 -0
  41. {pbesa-4.0.31 → pbesa-4.0.33}/examples/django/helloworld/translate/mas/worker/translatetask.py +0 -0
  42. {pbesa-4.0.31 → pbesa-4.0.33}/examples/django/helloworld/translate/mas/worker/workeragent.py +0 -0
  43. {pbesa-4.0.31 → pbesa-4.0.33}/examples/django/helloworld/translate/migrations/__init__.py +0 -0
  44. {pbesa-4.0.31 → pbesa-4.0.33}/examples/django/helloworld/translate/migrations/__pycache__/__init__.cpython-36.pyc +0 -0
  45. {pbesa-4.0.31 → pbesa-4.0.33}/examples/django/helloworld/translate/models.py +0 -0
  46. {pbesa-4.0.31 → pbesa-4.0.33}/examples/django/helloworld/translate/tests.py +0 -0
  47. {pbesa-4.0.31 → pbesa-4.0.33}/examples/django/helloworld/translate/urls.py +0 -0
  48. {pbesa-4.0.31 → pbesa-4.0.33}/examples/django/helloworld/translate/views.py +0 -0
  49. {pbesa-4.0.31 → pbesa-4.0.33}/examples/remote/mas/controller/__pycache__/countercontroller.cpython-36.pyc +0 -0
  50. {pbesa-4.0.31 → pbesa-4.0.33}/examples/remote/mas/controller/__pycache__/counterdelegate.cpython-36.pyc +0 -0
  51. {pbesa-4.0.31 → pbesa-4.0.33}/examples/remote/mas/controller/__pycache__/counterresponse.cpython-36.pyc +0 -0
  52. {pbesa-4.0.31 → pbesa-4.0.33}/examples/remote/mas/controller/__pycache__/translatecontroller.cpython-36.pyc +0 -0
  53. {pbesa-4.0.31 → pbesa-4.0.33}/examples/remote/mas/controller/__pycache__/translatedelegate.cpython-36.pyc +0 -0
  54. {pbesa-4.0.31 → pbesa-4.0.33}/examples/remote/mas/controller/__pycache__/translateresponse.cpython-36.pyc +0 -0
  55. {pbesa-4.0.31 → pbesa-4.0.33}/examples/remote/mas/controller/countercontroller.py +0 -0
  56. {pbesa-4.0.31 → pbesa-4.0.33}/examples/remote/mas/controller/counterdelegate.py +0 -0
  57. {pbesa-4.0.31 → pbesa-4.0.33}/examples/remote/mas/controller/counterresponse.py +0 -0
  58. {pbesa-4.0.31 → pbesa-4.0.33}/examples/remote/mas/worker/__pycache__/counteragent.cpython-36.pyc +0 -0
  59. {pbesa-4.0.31 → pbesa-4.0.33}/examples/remote/mas/worker/__pycache__/countertask.cpython-36.pyc +0 -0
  60. {pbesa-4.0.31 → pbesa-4.0.33}/examples/remote/mas/worker/__pycache__/translatetask.cpython-36.pyc +0 -0
  61. {pbesa-4.0.31 → pbesa-4.0.33}/examples/remote/mas/worker/__pycache__/workeragent.cpython-36.pyc +0 -0
  62. {pbesa-4.0.31 → pbesa-4.0.33}/examples/remote/mas/worker/counteragent.py +0 -0
  63. {pbesa-4.0.31 → pbesa-4.0.33}/examples/remote/mas/worker/countertask.py +0 -0
  64. {pbesa-4.0.31 → pbesa-4.0.33}/examples/remote/remote_a.py +0 -0
  65. {pbesa-4.0.31 → pbesa-4.0.33}/examples/remote/remote_b.py +0 -0
  66. {pbesa-4.0.31 → pbesa-4.0.33}/examples/remote/remote_c.py +0 -0
  67. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/__init__.py +0 -0
  68. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/celulas/__init__.py +0 -0
  69. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/celulas/celula_casos.py +0 -0
  70. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/celulas/celula_consultas.py +0 -0
  71. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/celulas/celula_conversador.py +0 -0
  72. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/celulas/celula_cuestionador.py +0 -0
  73. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/celulas/celula_datos_identificables.py +0 -0
  74. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/celulas/celula_evaluador.py +0 -0
  75. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/celulas/celula_expertos.py +0 -0
  76. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/celulas/celula_extraccion.py +0 -0
  77. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/celulas/celula_generar_caso.py +0 -0
  78. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/celulas/celula_generar_documento.py +0 -0
  79. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/celulas/celula_instruccion.py +0 -0
  80. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/celulas/celula_parafraseo.py +0 -0
  81. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/celulas/celula_pertinencia.py +0 -0
  82. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/celulas/celula_preguntas.py +0 -0
  83. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/celulas/celula_respuesta.py +0 -0
  84. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/celulas/celula_saludos.py +0 -0
  85. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/celulas/celula_simulador_ciudadano.py +0 -0
  86. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/celulas/data_extraction_cel.py +0 -0
  87. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/celulas/web.py +0 -0
  88. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/kernel/__init__.py +0 -0
  89. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/kernel/adapter.py +0 -0
  90. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/kernel/agent.py +0 -0
  91. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/kernel/io/__init__.py +0 -0
  92. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/kernel/io/system_file.py +0 -0
  93. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/kernel/io/tcp_server.py +0 -0
  94. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/kernel/res/__init__.py +0 -0
  95. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/kernel/res/__pycache__/__init__.cpython-36.pyc +0 -0
  96. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/kernel/res/__pycache__/__init__.cpython-37.pyc +0 -0
  97. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/kernel/res/__pycache__/__init__.cpython-38.pyc +0 -0
  98. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/kernel/res/__pycache__/__init__.cpython-39.pyc +0 -0
  99. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/kernel/res/conf.json +0 -0
  100. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/kernel/util.py +0 -0
  101. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/kernel/world.py +0 -0
  102. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/mas.py +0 -0
  103. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/models.py +0 -0
  104. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/remote/__init__.py +0 -0
  105. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/remote/adm_listener.py +0 -0
  106. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/remote/adm_listener_handler.py +0 -0
  107. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/remote/exceptions.py +0 -0
  108. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/remote/remote_adm.py +0 -0
  109. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/remote/remote_adm_handler.py +0 -0
  110. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/social/__init__.py +0 -0
  111. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/social/collaborative_team.py +0 -0
  112. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/social/delegator.py +0 -0
  113. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/social/delegator_team.py +0 -0
  114. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/social/dispatcher_team.py +0 -0
  115. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/social/prompts.py +0 -0
  116. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/social/selected_dispatcher_team.py +0 -0
  117. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/social/templates.py +0 -0
  118. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa/social/worker.py +0 -0
  119. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa.egg-info/SOURCES.txt +0 -0
  120. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa.egg-info/dependency_links.txt +0 -0
  121. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa.egg-info/requires.txt +0 -0
  122. {pbesa-4.0.31 → pbesa-4.0.33}/pbesa.egg-info/top_level.txt +0 -0
  123. {pbesa-4.0.31 → pbesa-4.0.33}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: pbesa
3
- Version: 4.0.31
3
+ Version: 4.0.33
4
4
  License-File: LICENSE
5
5
  License-File: LICENSE.txt
6
6
  Requires-Dist: pymongo>=4.6.3
@@ -334,7 +334,7 @@ class AugmentedGeneration(ABC):
334
334
  traceback.print_exc()
335
335
  logging.info(f"------------RESET---------------")
336
336
  self.reset()
337
- return "Lo lamento, no puedo responder en este momento"
337
+ return DialogState.ERROR
338
338
 
339
339
  def derive(self, query, max_tokens=4096, temperature=0, top_p=0.9) -> str:
340
340
  """ Generate method
@@ -361,7 +361,7 @@ class AugmentedGeneration(ABC):
361
361
  traceback.print_exc()
362
362
  logging.info(f"------------RESET---------------")
363
363
  self.reset()
364
- return "Lo lamento, no puedo responder en este momento"
364
+ return DialogState.ERROR
365
365
 
366
366
  def get_role(self) -> Role:
367
367
  """ Get role method
@@ -575,7 +575,7 @@ class Dialog(ABC):
575
575
  "counter": 0
576
576
  }
577
577
  # Define recovery message
578
- self.RECOVERY_MSG = "Puede darme más detalles o reformular. O si desea puede recibir asistencia humana vía correo electrónico al ministerio@minjsuticia.gov.co"
578
+ self.RECOVERY_MSG = "Lo lamento, no puedo responder en este momento. O si desea puede recibir asistencia humana vía correo electrónico al ministerio@minjsuticia.gov.co"
579
579
  # Define vertices list
580
580
  self.__vertices = []
581
581
  # Define visited nodes
@@ -802,6 +802,7 @@ class Dialog(ABC):
802
802
 
803
803
  def recovery(self, session_id, query):
804
804
  try:
805
+ '''
805
806
  logging.info("\n\n\n")
806
807
  logging.info(f"------------RECOVERY---------------")
807
808
  logging.info("\n\n\n")
@@ -818,10 +819,17 @@ class Dialog(ABC):
818
819
  self.reset()
819
820
  self.notify(session_id, "STOP")
820
821
  return "Web", DialogState.START, self.RECOVERY_MSG, "Web"
822
+ '''
823
+ logging.info(f"------------RESET---------------")
824
+ logging.info(f"Recovery from: {self.__recovery['performative']}")
825
+ self.reset()
826
+ self.notify(session_id, "STOP")
827
+ return "Web", DialogState.START, DialogState.ERROR, "Web"
821
828
  except Exception as e:
822
829
  logging.error(f"Error en la recuperación: {e}")
823
- msg = "Lo lamento, no puedo responder en este momento."
830
+ msg = DialogState.ERROR
824
831
  return "Web", DialogState.START, msg, "Web"
832
+
825
833
 
826
834
  def stage_one_classification(self, session_id, messages, attemps, query):
827
835
  """ Stage one classification """
@@ -1042,7 +1050,7 @@ class Dialog(ABC):
1042
1050
  self.reset()
1043
1051
  self.notify(session['session_id'], "STOP")
1044
1052
  return "Web", DialogState.START, res, "Web"
1045
- query = res
1053
+ query = res
1046
1054
  #--------------------------
1047
1055
  # Obtiene los hijos del
1048
1056
  # nodo
@@ -1212,7 +1220,7 @@ class Dialog(ABC):
1212
1220
  logging.info(f"------------RESET---------------")
1213
1221
  self.reset()
1214
1222
  self.notify(session['session_id'], "STOP")
1215
- return owner, DialogState.START, "Lo lamento, no puedo responder en este momento", owner
1223
+ return owner, DialogState.START, DialogState.ERROR, owner
1216
1224
 
1217
1225
  def chek_user_interaction(self, children):
1218
1226
  """ Check user interaction method
@@ -1285,7 +1293,7 @@ class Dialog(ABC):
1285
1293
  if 'team-response' in conversation:
1286
1294
  res = conversation['team-response']
1287
1295
  else:
1288
- res = "Lo lamento, no puedo responder en este momento"
1296
+ res = DialogState.ERROR
1289
1297
  logging.info("[Node]:[Action]:[Call]:[Terminal]:[Consulta]: No hay respuesta de equipo")
1290
1298
  logging.info("[Node]:[Action]:[Call]:[Terminal]:[Consulta]: Especialistas")
1291
1299
  else:
@@ -1402,11 +1410,10 @@ class Dialog(ABC):
1402
1410
  if self.__visited_nodes > 3:
1403
1411
  self.__visited_nodes = 0
1404
1412
  logging.info(f"[Inferencia]:[Recursion]: Deep limit")
1405
- #return self.recovery(session['session_id'], "Lo lamento, no puedo responder en este momento")
1406
1413
  logging.info(f"------------RESET---------------")
1407
1414
  self.reset()
1408
1415
  self.notify(session['session_id'], "STOP")
1409
- res = "Lo lamento, no puedo responder en este momento. Intentelo más tarde desde el inicio."
1416
+ res = DialogState.ERROR
1410
1417
  return "Web", DialogState.START, res, "Web"
1411
1418
  logging.info(f"[Inferencia]:[Recursion]:[Performativa]: {node.performative}")
1412
1419
  self.notify(session['session_id'], "efectuando inferencia en profundidad")
@@ -1427,7 +1434,7 @@ class Dialog(ABC):
1427
1434
  logging.info(f"------------RESET---------------")
1428
1435
  self.reset()
1429
1436
  self.notify(session['session_id'], "STOP")
1430
- return owner, DialogState.START, "Lo lamento, no puedo responder en este momento", owner
1437
+ return owner, DialogState.START, DialogState.ERROR, owner
1431
1438
 
1432
1439
  def set_knowledge(self, knowledge) -> str:
1433
1440
  """ Set knowledge method
@@ -1559,7 +1566,7 @@ class Dialog(ABC):
1559
1566
  conversacion = self.parse_conversation()
1560
1567
  res = celula_conversador.derive(self.__ai_service, self.definitions, self.rules, conversacion, max_tkns=200)
1561
1568
  if not res and res == "":
1562
- res = "Lo lamento, no puedo responder en este momento."
1569
+ res = DialogState.ERROR
1563
1570
  res = res.replace("*", " ").strip()
1564
1571
  if 'Formulación de la pregunta' in res:
1565
1572
  res = res.split('Formulación de la pregunta: ')[1].strip()
@@ -1571,7 +1578,7 @@ class Dialog(ABC):
1571
1578
  else:
1572
1579
  logging.warning(f"Resultado inesperado: {result}")
1573
1580
  self.__evaluate_work_memory = []
1574
- return "Lo lamento, no puedo responder en este momento."
1581
+ return DialogState.ERROR
1575
1582
  else:
1576
1583
  logging.warning(f"Resultado de evaluación vacío o nulo: {result}")
1577
1584
  if _ < 2:
@@ -1580,13 +1587,13 @@ class Dialog(ABC):
1580
1587
  else:
1581
1588
  self.__evaluate_work_memory = []
1582
1589
  logging.error("No se pudo evaluar la consulta después de 3 intentos.")
1583
- return "Lo lamento, no puedo responder en este momento."
1590
+ return DialogState.ERROR
1584
1591
  self.__evaluate_work_memory = []
1585
- return "Lo lamento, no puedo responder en este momento."
1592
+ return DialogState.ERROR
1586
1593
  except Exception as e:
1587
1594
  logging.error(f"Error al evaluar la consulta: {query}")
1588
1595
  logging.error(e)
1589
- return "Lo lamento, no puedo responder en este momento."
1596
+ return DialogState.ERROR
1590
1597
 
1591
1598
  # --------------------------------------------------------
1592
1599
  # Define Special Dispatch
@@ -29,6 +29,7 @@ class DialogState:
29
29
  ASK_CONFIRMATION_NEGATIVE = "ask confirmation negative"
30
30
  ASK_CONFIRMATION_POSITIVE = "ask confirmation_positive"
31
31
  END = "end"
32
+ ERROR = "Lo lamento, no puedo responder en este momento, intente más tarde."
32
33
 
33
34
  #------------------------------------------
34
35
  # Define Node class
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: pbesa
3
- Version: 4.0.31
3
+ Version: 4.0.33
4
4
  License-File: LICENSE
5
5
  License-File: LICENSE.txt
6
6
  Requires-Dist: pymongo>=4.6.3
@@ -4,7 +4,7 @@ from setuptools import setup, find_packages
4
4
 
5
5
  setup(
6
6
  name='pbesa',
7
- version='4.0.31',
7
+ version='4.0.33',
8
8
  packages=find_packages(),
9
9
  install_requires=[
10
10
  'pymongo>=4.6.3',
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes