edsl 0.1.33.dev2__py3-none-any.whl → 0.1.33.dev3__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 (63) hide show
  1. edsl/Base.py +9 -3
  2. edsl/__init__.py +1 -0
  3. edsl/__version__.py +1 -1
  4. edsl/agents/Agent.py +6 -6
  5. edsl/agents/Invigilator.py +6 -3
  6. edsl/agents/InvigilatorBase.py +8 -27
  7. edsl/agents/{PromptConstructionMixin.py → PromptConstructor.py} +101 -29
  8. edsl/config.py +26 -34
  9. edsl/coop/coop.py +11 -2
  10. edsl/data_transfer_models.py +27 -73
  11. edsl/enums.py +2 -0
  12. edsl/inference_services/GoogleService.py +1 -1
  13. edsl/inference_services/InferenceServiceABC.py +44 -13
  14. edsl/inference_services/OpenAIService.py +7 -4
  15. edsl/inference_services/TestService.py +24 -15
  16. edsl/inference_services/TogetherAIService.py +170 -0
  17. edsl/inference_services/registry.py +2 -0
  18. edsl/jobs/Jobs.py +18 -8
  19. edsl/jobs/buckets/BucketCollection.py +24 -15
  20. edsl/jobs/buckets/TokenBucket.py +64 -10
  21. edsl/jobs/interviews/Interview.py +115 -47
  22. edsl/jobs/interviews/{interview_exception_tracking.py → InterviewExceptionCollection.py} +16 -0
  23. edsl/jobs/interviews/InterviewExceptionEntry.py +2 -0
  24. edsl/jobs/runners/JobsRunnerAsyncio.py +86 -161
  25. edsl/jobs/runners/JobsRunnerStatus.py +331 -0
  26. edsl/jobs/tasks/TaskHistory.py +17 -0
  27. edsl/language_models/LanguageModel.py +26 -31
  28. edsl/language_models/registry.py +13 -9
  29. edsl/questions/QuestionBase.py +64 -16
  30. edsl/questions/QuestionBudget.py +93 -41
  31. edsl/questions/QuestionFreeText.py +6 -0
  32. edsl/questions/QuestionMultipleChoice.py +11 -26
  33. edsl/questions/QuestionNumerical.py +5 -4
  34. edsl/questions/Quick.py +41 -0
  35. edsl/questions/ResponseValidatorABC.py +6 -5
  36. edsl/questions/derived/QuestionLinearScale.py +4 -1
  37. edsl/questions/derived/QuestionTopK.py +4 -1
  38. edsl/questions/derived/QuestionYesNo.py +8 -2
  39. edsl/questions/templates/budget/__init__.py +0 -0
  40. edsl/questions/templates/budget/answering_instructions.jinja +7 -0
  41. edsl/questions/templates/budget/question_presentation.jinja +7 -0
  42. edsl/questions/templates/extract/__init__.py +0 -0
  43. edsl/questions/templates/rank/__init__.py +0 -0
  44. edsl/results/DatasetExportMixin.py +5 -1
  45. edsl/results/Result.py +1 -1
  46. edsl/results/Results.py +4 -1
  47. edsl/scenarios/FileStore.py +71 -10
  48. edsl/scenarios/Scenario.py +86 -21
  49. edsl/scenarios/ScenarioImageMixin.py +2 -2
  50. edsl/scenarios/ScenarioList.py +13 -0
  51. edsl/scenarios/ScenarioListPdfMixin.py +150 -4
  52. edsl/study/Study.py +32 -0
  53. edsl/surveys/Rule.py +10 -1
  54. edsl/surveys/RuleCollection.py +19 -3
  55. edsl/surveys/Survey.py +7 -0
  56. edsl/templates/error_reporting/interview_details.html +6 -1
  57. edsl/utilities/utilities.py +9 -1
  58. {edsl-0.1.33.dev2.dist-info → edsl-0.1.33.dev3.dist-info}/METADATA +2 -1
  59. {edsl-0.1.33.dev2.dist-info → edsl-0.1.33.dev3.dist-info}/RECORD +61 -55
  60. edsl/jobs/interviews/retry_management.py +0 -39
  61. edsl/jobs/runners/JobsRunnerStatusMixin.py +0 -333
  62. {edsl-0.1.33.dev2.dist-info → edsl-0.1.33.dev3.dist-info}/LICENSE +0 -0
  63. {edsl-0.1.33.dev2.dist-info → edsl-0.1.33.dev3.dist-info}/WHEEL +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: edsl
3
- Version: 0.1.33.dev2
3
+ Version: 0.1.33.dev3
4
4
  Summary: Create and analyze LLM-based surveys
5
5
  Home-page: https://www.expectedparrot.com/
6
6
  License: MIT
@@ -45,6 +45,7 @@ Requires-Dist: setuptools (<72.0)
45
45
  Requires-Dist: simpleeval (>=0.9.13,<0.10.0)
46
46
  Requires-Dist: sqlalchemy (>=2.0.23,<3.0.0)
47
47
  Requires-Dist: tenacity (>=8.2.3,<9.0.0)
48
+ Requires-Dist: urllib3 (>=1.25.4,<1.27)
48
49
  Project-URL: Documentation, https://docs.expectedparrot.com
49
50
  Description-Content-Type: text/markdown
50
51
 
@@ -1,13 +1,13 @@
1
- edsl/Base.py,sha256=ttNxUotSd9LSEJl2w6LdMtT78d0nMQvYDJ0q4JkqBfg,8945
1
+ edsl/Base.py,sha256=8T9p-MMUACtgEi6MQY0XvSI_wRToQlMob42E31FCgdg,9124
2
2
  edsl/BaseDiff.py,sha256=RoVEh52UJs22yMa7k7jv8se01G62jJNWnBzaZngo-Ug,8260
3
3
  edsl/TemplateLoader.py,sha256=sDBlSMt7EfOduM7w3h6v03gvh_Rzn9hVrlS-iLSQdZA,849
4
- edsl/__init__.py,sha256=ekExbypJgORR-Dy05mby7GWunhjAwe7HzYsXdeslep4,1730
5
- edsl/__version__.py,sha256=X6lFB08-Y7atQgG3fk8iymIvdiZo3YA8OnNvAv2d2Zc,28
6
- edsl/agents/Agent.py,sha256=lDbG1QSdHPwXdnC4dGWeDbKXauGl_b6rAhEVUrNnrrE,28477
4
+ edsl/__init__.py,sha256=UZcx9RHSi3Dslh2lWvCOeppdMW9Xzw_YLs-kFaNW1MU,1770
5
+ edsl/__version__.py,sha256=ZNenyV-pawXAWnSfwnFv6zGQe_a7xJ6k-kujFJCD97E,28
6
+ edsl/agents/Agent.py,sha256=ww6DK177eHQUlYkzgnt1b-MBDKXCdhVx3HezAZZ7TKk,28473
7
7
  edsl/agents/AgentList.py,sha256=qo8VK3Ov0YOSbsBcHmlwLZBH81CcDfy5IEcx9AVH78M,10963
8
- edsl/agents/Invigilator.py,sha256=gJC33jMYcqwt_DV47ZQ1QQUjV-szPuf-qeG4Z3Wfeyk,8079
9
- edsl/agents/InvigilatorBase.py,sha256=-Z9tKMpV9-jGtVljdOXnr0SzYAi0DBbCaNj8GL3_L0M,11278
10
- edsl/agents/PromptConstructionMixin.py,sha256=8vDiguHox16z1WsUbbUYY2Bm3hLNvNwt-ErAlnHRALE,15815
8
+ edsl/agents/Invigilator.py,sha256=Of6R2zWoEzx-_NxQG1G7qNbNt4leb544kRBidSjeIJE,8126
9
+ edsl/agents/InvigilatorBase.py,sha256=qIdAiriXAbnJH_SN9w2UAXHcDgQvk8Ar3QerKFjtPwM,10341
10
+ edsl/agents/PromptConstructor.py,sha256=VOxZsILgC60zOxK4kEauO6XKCz3tyM0ddxND5o1QDN8,18533
11
11
  edsl/agents/__init__.py,sha256=B1dWfV4QWOo8cc2KeuetdFGeNhZ8XHc0Q8YhQW9k7BE,136
12
12
  edsl/agents/descriptors.py,sha256=m8ND3-2-JbgNX1HGakBNLIeemwsgYa1mQxYO9GW33hw,2934
13
13
  edsl/auto/AutoStudy.py,sha256=yNnhfJPO6oxbgVaYbRftJa8DluKhajfgLCh9o9E3YmU,3843
@@ -22,7 +22,7 @@ edsl/auto/StageQuestions.py,sha256=TyUSnfeFEbuQKG_KZT9rk43flRt0ZyzQDqYzBa_858c,2
22
22
  edsl/auto/SurveyCreatorPipeline.py,sha256=s5S_RPFM3Ia8Dzdv52_576BxfsFq9GwXEVWxJId5Fuo,658
23
23
  edsl/auto/utilities.py,sha256=DDngZCGlzjWeJUvPHhMEZ5ZoVm4KgGYtgyRA1mfUfmA,7606
24
24
  edsl/base/Base.py,sha256=DShsfI6A2ojg42muPFpVtUgTX33pnqT5vtN0SRlr-9Q,8866
25
- edsl/config.py,sha256=Z8dDfmPqmnhlvdxa7UI0Uo2X8WyoXdkThChZ4922oH4,6123
25
+ edsl/config.py,sha256=IfEm07QvhV5B2baNg6SrhME82BHBGwNZSLmYnx9ERxM,5875
26
26
  edsl/conjure/AgentConstructionMixin.py,sha256=qLLYJH02HotVwBUYzaHs4QW0t5nsC3NX15qxQLzEwLI,5702
27
27
  edsl/conjure/Conjure.py,sha256=JaCuAm3rmqjh11_X8PXgvPsVHGql3yTn9JEzVlzOUVU,2019
28
28
  edsl/conjure/InputData.py,sha256=RdFgkzzayddSTd6vcwBB8LC796YBj94pciwrQx9nBtg,22003
@@ -45,7 +45,7 @@ edsl/conversation/mug_negotiation.py,sha256=mjvAqErD4AjN3G2za2c-X-3axOShW-zAJUei
45
45
  edsl/conversation/next_speaker_utilities.py,sha256=bqr5JglCd6bdLc9IZ5zGOAsmN2F4ERiubSMYvZIG7qk,3629
46
46
  edsl/coop/PriceFetcher.py,sha256=7q8r1FqE9ap1CMi6WiE_pZQhYxEqG9_tgPgGxLQYVX8,1894
47
47
  edsl/coop/__init__.py,sha256=4iZCwJSzJVyjBYk8ggGxY2kZjq9dXVT1jhyPDNyew4I,115
48
- edsl/coop/coop.py,sha256=FGfGMs8jW9l6b-vVzbqucT2QyOs1erePRDxEDQfeHFU,28117
48
+ edsl/coop/coop.py,sha256=nXb5JHuqfEQTnUEgS0NHv3E5MYpuA9U972FDzdgTm1g,28456
49
49
  edsl/coop/utils.py,sha256=UZwljKYW_Yjw7RYcjOg3SW7fn1pyHQfJ1fM48TBNoss,3601
50
50
  edsl/data/Cache.py,sha256=jDt0LoZjLpGnM8-CraQEcsQaVg--U3BiBR1zHj0nDn8,16536
51
51
  edsl/data/CacheEntry.py,sha256=_5UiFaJQu_U-Z1_lEPt-h6Gaidp2Eunk02wOd3Ni3MQ,7252
@@ -53,8 +53,8 @@ edsl/data/CacheHandler.py,sha256=DxbfeT2nZGRu8yQkbWr2tyEnhNiClevMsd5KZMCq2f0,479
53
53
  edsl/data/SQLiteDict.py,sha256=V5Nfnxctgh4Iblqcw1KmbnkjtfmWrrombROSQ3mvg6A,8979
54
54
  edsl/data/__init__.py,sha256=KBNGGEuGHq--D-TlpAQmvv_If906dJc1Gsy028zOx78,170
55
55
  edsl/data/orm.py,sha256=Jz6rvw5SrlxwysTL0QI9r68EflKxeEBmf6j6himHDS8,238
56
- edsl/data_transfer_models.py,sha256=xLkc5cix3pa5cqvQa-t1jfUVFMkSEZk5LjUOlQRDzRk,3119
57
- edsl/enums.py,sha256=oicyopRfrZrbtIWsE5_fqdcAjDXj4wZEy2Q94d4RrXg,5160
56
+ edsl/data_transfer_models.py,sha256=ibey234Y8Y34TCoadh7MVlx_RHLmAYvhO5LsTReRl4E,1952
57
+ edsl/enums.py,sha256=Z6nhaP8p3z0UJSfsCGb6VQUtGUKw3AK6yC0UDwOi05c,5247
58
58
  edsl/exceptions/__init__.py,sha256=HVg-U-rJ0fRoG9Rws6gnK5S9B68SkPWDPsoD6KpMZ-A,1370
59
59
  edsl/exceptions/agents.py,sha256=3SORFwFbMGrF6-vAL2GrKEVdPcXo7md_k2oYufnVXHA,673
60
60
  edsl/exceptions/configuration.py,sha256=qH2sInNTndKlCLAaNgaXHyRFdKQHL7-dElB_j8wz9g4,351
@@ -71,55 +71,55 @@ edsl/inference_services/AnthropicService.py,sha256=OV6miOC8mzPmalNouTmzk7eqqzUUH
71
71
  edsl/inference_services/AwsBedrock.py,sha256=Tf_g4vNDJXDWpYOmUxGrMRfoqN5bUJRf2NZCBucmb4U,3813
72
72
  edsl/inference_services/AzureAI.py,sha256=1o257vsZLDTvJ5VnL65gE2qpFg4lzP835E3SySFTGcA,8776
73
73
  edsl/inference_services/DeepInfraService.py,sha256=fWlH5sCNxf8eHPHxPPxJMEVWpCM9sDenkC8IZYqtXfA,515
74
- edsl/inference_services/GoogleService.py,sha256=VOe1bF6eD9I2zr2jLqVfah75LAtpPFoMhGQhMBShwhM,2901
74
+ edsl/inference_services/GoogleService.py,sha256=2OKQmV2SB5pWgK3YBBuAyRrOInPArMirmfM9ihnUNq8,2903
75
75
  edsl/inference_services/GroqService.py,sha256=eDMq8d7YAlJ2689ywaoaPGvMgFfOiX1KYlF_vr97N6I,510
76
- edsl/inference_services/InferenceServiceABC.py,sha256=VWxeBL8ICi8VGCDaKNV0PIfeZO8xcxpsire-qcvIIXA,2684
76
+ edsl/inference_services/InferenceServiceABC.py,sha256=rXqorwbKqzlwui2cxum8_TRrBcfOkgB9s0xULHYGQ1Y,3709
77
77
  edsl/inference_services/InferenceServicesCollection.py,sha256=EDyxnoSjGXhWob_ost7U8WUYjn1jgL_noB0-VlXBnOo,2810
78
78
  edsl/inference_services/MistralAIService.py,sha256=MIdvroQcfMJLx5wOXItLZpie-MXid4pvIYV9y4xLOWY,3771
79
79
  edsl/inference_services/OllamaService.py,sha256=oro9CRl8IUE2Ro-zE69Cr4Zaf6Gdw29XW5CFU-46E0k,498
80
- edsl/inference_services/OpenAIService.py,sha256=WYzz1AjXJouHbogNBKO_IXzseLTcS_hKa11UcLZwjgE,7034
81
- edsl/inference_services/TestService.py,sha256=Psz9tViuRbbx87BNlQRfh2QNjNZXetIIp2Hv0TBmFIw,2410
80
+ edsl/inference_services/OpenAIService.py,sha256=Io84AC-_QGRze1PbllaoYI2li00YMtONhfluK8f_po0,7179
81
+ edsl/inference_services/TestService.py,sha256=Y9dBFE35Y089I3E4LXqG2RdccD4IP2eFG49EoHQ9b5g,2600
82
+ edsl/inference_services/TogetherAIService.py,sha256=DIyYs2OoUi44xynwezT4EscOPL0ySl8_f3og5stOkQw,6291
82
83
  edsl/inference_services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
83
84
  edsl/inference_services/models_available_cache.py,sha256=HtGNaYgrxY2oPy-QruKhjj6LUzhGNqBhLHFWMoMi1E4,3312
84
85
  edsl/inference_services/rate_limits_cache.py,sha256=HYslviz7mxF9U4CUTPAkoyBsiXjSju-YCp4HHir6e34,1398
85
- edsl/inference_services/registry.py,sha256=XTtAcJkp6Xb1AIMQh2UM_pWwrdmuJmRum2MxNvFljbA,1042
86
+ edsl/inference_services/registry.py,sha256=CwdaQ-A5PTb5lFKMQdOfl8IqCw2SVJ8HlC-_2uZf11k,1141
86
87
  edsl/inference_services/write_available.py,sha256=NNwhATlaMp8IYY635MSx-oYxt5X15acjAfaqYCo_I1Y,285
87
88
  edsl/jobs/Answers.py,sha256=c4LpigQjdnMr7iJu8571C4FggGPVudfT7hbJgmgKW40,1821
88
89
  edsl/jobs/FailedQuestion.py,sha256=3D5Vcmv1t2_dzBWbkUUIia3_jXHdzQDdyg-4TEIWU2Q,2701
89
- edsl/jobs/Jobs.py,sha256=PDNL_QEaBQJMgaVJ8PpfdxW9bqNYjW618ELSJUosDp0,33537
90
+ edsl/jobs/Jobs.py,sha256=a2Y-goWT9vGi00OqW7t9L8Oi6SXXiSllymd3s1frX1g,34035
90
91
  edsl/jobs/__init__.py,sha256=aKuAyd_GoalGj-k7djOoVwEbFUE2XLPlikXaA1_8yAg,32
91
- edsl/jobs/buckets/BucketCollection.py,sha256=LA8DBVwMdeTFCbSDI0S2cDzfi_Qo6kRizwrG64tE8S4,1844
92
+ edsl/jobs/buckets/BucketCollection.py,sha256=11CRisE1WAPcAlI3YJK3DVvu0AqSvv8KskXo4Q1waSk,2286
92
93
  edsl/jobs/buckets/ModelBuckets.py,sha256=hxw_tzc0V42CiB7mh5jIxlgwDVJ-zFZhlLtKrHEg8ho,2419
93
- edsl/jobs/buckets/TokenBucket.py,sha256=nUirycT1mo7Yys4e5VSEuA65QlicLTIrX7c68czhCCs,7488
94
- edsl/jobs/interviews/Interview.py,sha256=GwUdNzVw4CizC4gwPvazC5DIdJao5qGUI6oM2RH0Dkg,21177
95
- edsl/jobs/interviews/InterviewExceptionEntry.py,sha256=pmsL0q9I3hNLgD1z3Vv78wPR4lYZfA0bBnA-D17iDk4,4850
94
+ edsl/jobs/buckets/TokenBucket.py,sha256=7fG4omzTcj5xC2iJLO9bfBkdAGs6Y3weXzlA3BgPr0E,9090
95
+ edsl/jobs/interviews/Interview.py,sha256=OsIcz6wmVmkoJNnA8PN8tCD1DKq-HwLmSwo5UUkyvbU,23264
96
+ edsl/jobs/interviews/InterviewExceptionCollection.py,sha256=Ez8BCZUD3odqoY9h-gzYKKM8yaHynQ-eYw2uMDh7t98,3279
97
+ edsl/jobs/interviews/InterviewExceptionEntry.py,sha256=BGGjj0sb1wJJ0QmYklt1DyEYKD8mUGygllGfN2WXKbY,4903
96
98
  edsl/jobs/interviews/InterviewStatistic.py,sha256=hY5d2EkIJ96NilPpZAvZZzZoxLXM7ss3xx5MIcKtTPs,1856
97
99
  edsl/jobs/interviews/InterviewStatisticsCollection.py,sha256=_ZZ0fnZBQiIywP9Q_wWjpWhlfcPe2cn32GKut10t5RI,788
98
100
  edsl/jobs/interviews/InterviewStatusDictionary.py,sha256=MSyys4hOWe1d8gfsUvAPbcKrs8YiPnz8jpufBSJL7SU,2485
99
101
  edsl/jobs/interviews/InterviewStatusLog.py,sha256=6u0F8gf5tha39VQL-IK_QPkCsQAYVOx_IesX7TDDX_A,3252
100
102
  edsl/jobs/interviews/InterviewStatusMixin.py,sha256=VV0Pel-crUsLoGpTifeIIkXsLGj0bfuO--UtpRnH-dU,1251
101
103
  edsl/jobs/interviews/ReportErrors.py,sha256=RSzDU2rWwtjfztj7sqaMab0quCiY-X2bG3AEOxhTim8,1745
102
- edsl/jobs/interviews/interview_exception_tracking.py,sha256=cHGUCOYi2VUYPkOqLsQRTOOzv2i2XieOn5zfdcLGmZY,2715
103
104
  edsl/jobs/interviews/interview_status_enum.py,sha256=KJ-1yLAHdX-p8TiFnM0M3v1tnBwkq4aMCuBX6-ytrI8,229
104
- edsl/jobs/interviews/retry_management.py,sha256=M2qVUeK_Unn0BVNARVU-xIw37qZ3VAkDWwN-WmlUGck,1452
105
- edsl/jobs/runners/JobsRunnerAsyncio.py,sha256=sDAdM9mDj76cKYBtxHTlDvTDKzPVnEWm7EUIvkcwrJM,14846
105
+ edsl/jobs/runners/JobsRunnerAsyncio.py,sha256=QBmZvjsQ5XdR3HuI_-D4qzQbO9x5KE2QBaBvGMM49SU,12092
106
+ edsl/jobs/runners/JobsRunnerStatus.py,sha256=Rhy3Jfa0VK9QqtwtVzX5sF-9Zyg139OeuM-r4psl2UM,12054
106
107
  edsl/jobs/runners/JobsRunnerStatusData.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
107
- edsl/jobs/runners/JobsRunnerStatusMixin.py,sha256=TAkU-abV8XN9CfBmkpomzAER54JeN9b-FMYnoOTIpX0,13407
108
108
  edsl/jobs/tasks/QuestionTaskCreator.py,sha256=8d-rduM4i2Zpd66_NeMkHvkQLhV7SQjLIks2A_nKRoM,10655
109
109
  edsl/jobs/tasks/TaskCreators.py,sha256=XqAbNU33378Z4PQncokbfJwnKt3KHR9aqa5fKYRDpfg,2694
110
- edsl/jobs/tasks/TaskHistory.py,sha256=hHwzm1mEt89yBlNlJa9AoY44phV1_2620ladRGJ5Ojs,13775
110
+ edsl/jobs/tasks/TaskHistory.py,sha256=xRSo22ipyUSJ15w_k2Jc3dZ04VLwft8zfvm3smAIYrA,14227
111
111
  edsl/jobs/tasks/TaskStatusLog.py,sha256=bqH36a32F12fjX-M-4lNOhHaK2-WLFzKE-r0PxZPRjI,546
112
112
  edsl/jobs/tasks/task_management.py,sha256=KMToZuXzMlnHRHUF_VHL0-lHMTGhklf2GHVuwEEHtzA,301
113
113
  edsl/jobs/tasks/task_status_enum.py,sha256=DOyrz61YlIS8R1W7izJNphcLrJ7I_ReUlfdRmk23h0Q,5333
114
114
  edsl/jobs/tokens/InterviewTokenUsage.py,sha256=u_6-IHpGFwZ6qMEXr24-jyLVUSSp4dSs_4iAZsBv7O4,1100
115
115
  edsl/jobs/tokens/TokenUsage.py,sha256=odj2-wDNEbHl9noyFAQ0DSKV0D9cv3aDOpmXufKZ8O4,1323
116
- edsl/language_models/LanguageModel.py,sha256=_Vwdaobkbh-318LoIXJCdEw0R4BDGHXlDBLPSGNRSKs,25156
116
+ edsl/language_models/LanguageModel.py,sha256=r80s-9P7icYDz7yABCdfl78vTv-SDF1qlWCJHXb9RiU,25102
117
117
  edsl/language_models/ModelList.py,sha256=GhjRV7y1jRvP_Yjgwv6fxksTVb8sFPBiiRRfdqW-hgg,2852
118
118
  edsl/language_models/RegisterLanguageModelsMeta.py,sha256=eMtBSAnlRnC4c-0_o2QkSNyzv-uAce4BEGMXq2PLj2E,7523
119
119
  edsl/language_models/__init__.py,sha256=bvY7Gy6VkX1gSbNkRbGPS-M1kUnb0EohL0FSagaEaTs,109
120
120
  edsl/language_models/fake_openai_call.py,sha256=dxbL5e4NLF-eTk9IduPyGwLiVCX_-eGCJDaLYPlQTqc,364
121
121
  edsl/language_models/fake_openai_service.py,sha256=2AAsAinELbMZRqiepwBkWhWcLuMe5ORXUBNarrdl1ug,1714
122
- edsl/language_models/registry.py,sha256=f-LJxCKviA5VXxtLGpC9axNWSe__jd1NFSh9pIJ7XxE,4143
122
+ edsl/language_models/registry.py,sha256=hfOlKbTkXrXGpZHQQPKE9uyyUCgOxoUyyIaKL2kf53U,4369
123
123
  edsl/language_models/repair.py,sha256=d0i2S3kJfX7JtuCYhlIyT0QP8hcZkRPLanC09lOW_xo,5353
124
124
  edsl/language_models/unused/ReplicateBase.py,sha256=J1oqf7mEyyKhRwNUomnptVqAsVFYCbS3iTW0EXpKtXo,3331
125
125
  edsl/language_models/utilities.py,sha256=iPnzYfN-Qxc-iYmwf-JPA0zr6ZGnRDHmudI_y4OSRdk,2187
@@ -142,28 +142,29 @@ edsl/prompts/library/question_rank.py,sha256=WDgXyph0EKWJrSgsW2eqcx3xdU-WA1LEvB2
142
142
  edsl/prompts/prompt_config.py,sha256=O3Y5EvBsCeKs9m9IjXiRXOcHWlWvQV0yqsNb2oSR1ow,974
143
143
  edsl/prompts/registry.py,sha256=XOsqGsvNOmIG83jqoszqI72yNZkkszKR4FrEhwSzj_Q,8093
144
144
  edsl/questions/AnswerValidatorMixin.py,sha256=t_ABep50KP02GSc48Y8VAEjp35drVOngfrWXU5aVhgk,11505
145
- edsl/questions/QuestionBase.py,sha256=blftdx1j_t5WwkV6gMdKMpUfV6CDEwlJTrArsF2kgic,19476
145
+ edsl/questions/QuestionBase.py,sha256=5l6Mze61IidmKzXGN5TD-O-fQ5gcOVBUiZNGWigEiX0,20877
146
146
  edsl/questions/QuestionBaseGenMixin.py,sha256=v5oquCGPDKklLTlMStrnqeTU5PaFFl98tFkZJCQmLEo,5006
147
147
  edsl/questions/QuestionBasePromptsMixin.py,sha256=Km1P6PpkVJ9O3dS8pJZHNJ6aQABhYGLwdef4Z2vSrqk,9516
148
- edsl/questions/QuestionBudget.py,sha256=FNMDyW1tGCMvJsjTZSYqd3mar6pW7yw90Tr66hKHW_k,6264
148
+ edsl/questions/QuestionBudget.py,sha256=TJgPsyqafJdJw5if0zVxh7zHloourINUqUWfWIlRq9Y,8131
149
149
  edsl/questions/QuestionCheckBox.py,sha256=TJjmrjbRYmRX4ZNoGpkgLdasWcWavl9uvJDV6AZ5fz0,12835
150
150
  edsl/questions/QuestionExtract.py,sha256=PlXwMeZgPAFBXIHSXpFMYTToag-HwA9C7u6-Z3bQMek,6103
151
- edsl/questions/QuestionFreeText.py,sha256=PYL2DMr6TjQGGRF5D94G8mJKoFJNc0dWRm7EUXVBScc,3180
151
+ edsl/questions/QuestionFreeText.py,sha256=uXJxrrAGCq0-J6WpO6TBNFBNOC2ztoEVa-2UMXuwlak,3384
152
152
  edsl/questions/QuestionFunctional.py,sha256=yZQFLQAxfNsAIETffFoBr-Ltb2oFPeywu-nhm9qjYRc,5133
153
153
  edsl/questions/QuestionList.py,sha256=vs2AE8OnbwVsly-sorb9dfIibdF1BpOaCRYyvwXYSzY,7209
154
- edsl/questions/QuestionMultipleChoice.py,sha256=ibmD6Qhoq-D6UQCbG6_6t5F6xF7RrRpOXHLa73-9J2s,10322
155
- edsl/questions/QuestionNumerical.py,sha256=wudsDH-oWVrR2xxEhArn0fDdQORUt00CN5FOZlQoE8o,4957
154
+ edsl/questions/QuestionMultipleChoice.py,sha256=oLEQqLpSho1c3AgQacbUXvMEddUKZEM5pMULH54eXP8,10074
155
+ edsl/questions/QuestionNumerical.py,sha256=_jMZ28DZHYAv_g3Y3vCnmzerMs995on0Ng6j4pDcfHo,4959
156
156
  edsl/questions/QuestionRank.py,sha256=kYHTYXU88X2Uv-zeCiI9w5aEFYTxvg2p7DoGaaER4ik,11596
157
+ edsl/questions/Quick.py,sha256=h6h4fEvIkLIFJX2JiqfOUEXzku9azWxEpI5o2A4RmVs,1731
157
158
  edsl/questions/RegisterQuestionsMeta.py,sha256=2h_9iZt3cjr_7JRmveTqbmEBBCvjtefMDfhM7Pgd_zg,2598
158
- edsl/questions/ResponseValidatorABC.py,sha256=bdF0kQZw87CCCkl4ksmItycBORkD6shM9vhQxkrwhe8,6074
159
+ edsl/questions/ResponseValidatorABC.py,sha256=TN0AMbPo2mc4_XP0r6BY-5YBZ0ZEyvInHFgMp4citbY,6033
159
160
  edsl/questions/SimpleAskMixin.py,sha256=YRLiHA6TPMKyLWvdAi7Mfnxcqtw7Kem6tH28YNb8n4U,2227
160
161
  edsl/questions/__init__.py,sha256=PYChrB0dHhHAKsL3QUqYa3_ZBgxHmR9bs67pUE9h0Eg,1161
161
162
  edsl/questions/compose_questions.py,sha256=ZcLkwNaofk-o0-skGXEDGZAj6DumOhVhyIUjqEnKrbg,3380
162
163
  edsl/questions/decorators.py,sha256=ZijaRYUntAcg0JEztCiOEpcDvvVie___85Zx5ogBQXY,596
163
164
  edsl/questions/derived/QuestionLikertFive.py,sha256=XCpmwlk2qyCxEkiG3UwPqVpS5-k4d4uWyMaxfJg5wkw,2585
164
- edsl/questions/derived/QuestionLinearScale.py,sha256=Lnrhm6nrjC-Py5sihIwDoVT1VriC25Mu6Ik6Cnqo47w,3136
165
- edsl/questions/derived/QuestionTopK.py,sha256=HG_Xe0e19_f1p6JBs91mdTq_L21xK0q6umaAxc65OYQ,3044
166
- edsl/questions/derived/QuestionYesNo.py,sha256=W94aJbjIR0OLrqTOqlu06aQcEXnH68GTVl-Ccg8BMBc,2532
165
+ edsl/questions/derived/QuestionLinearScale.py,sha256=tj_RszK9WumaKRVMS1Fy63-Q6ip4FGBpNU2AtQrWlp8,3304
166
+ edsl/questions/derived/QuestionTopK.py,sha256=HT8NlbT8YBTmVNVPVIP1EyqGsiN3bu4SbFp29CVT0a4,3212
167
+ edsl/questions/derived/QuestionYesNo.py,sha256=KWJyaXSNPNxELtK0nWvIqNtpAF05MMAC0ILUjxXkVwo,2735
167
168
  edsl/questions/derived/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
168
169
  edsl/questions/descriptors.py,sha256=48Hin8AEZVRltIV37TjGtKI0xyoD0C0pjK51UVkJnxA,16365
169
170
  edsl/questions/prompt_templates/question_budget.jinja,sha256=-ekZYCa_KRc-xLcpf3j-YmXV0WSyIK_laOp2x3li-tA,737
@@ -177,9 +178,13 @@ edsl/questions/prompt_templates/question_numerical.jinja,sha256=c20sp3HfFonfaRww
177
178
  edsl/questions/question_registry.py,sha256=sDr909j6jEulK_uXPuvgvYVytPsrpZz_eqKvG0rsbMo,5365
178
179
  edsl/questions/settings.py,sha256=er_z0ZW_dgmC5CHLWkaqBJiuWgAYzIund85M5YZFQAI,291
179
180
  edsl/questions/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
181
+ edsl/questions/templates/budget/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
182
+ edsl/questions/templates/budget/answering_instructions.jinja,sha256=tF3bNv9_vIOjsWeZeRsMdgprpNrAKhUreQ53LUh1DP4,352
183
+ edsl/questions/templates/budget/question_presentation.jinja,sha256=wrZnM5ZbNhPZsvbtflfKrYpR3lH5ELDI7NM2l8pW8Ro,198
180
184
  edsl/questions/templates/checkbox/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
181
185
  edsl/questions/templates/checkbox/answering_instructions.jinja,sha256=UCPWWsnaAW3oB05IZDLQtofHXBesbqQxguXMfykUTQU,441
182
186
  edsl/questions/templates/checkbox/question_presentation.jinja,sha256=2u8XIkFPWzOuhbeoIvYBm6zUWnTHF66cGJXIznxVobw,807
187
+ edsl/questions/templates/extract/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
183
188
  edsl/questions/templates/extract/answering_instructions.jinja,sha256=sjHH4mBdoi6fdpHtRNWG0q3E4ZihvBpVUf08TNnwad4,253
184
189
  edsl/questions/templates/extract/question_presentation.jinja,sha256=OLDuxUc6BjT4InCtAkK_e-D5qbsDmtxw1Spp9pWFYhU,17
185
190
  edsl/questions/templates/free_text/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -201,6 +206,7 @@ edsl/questions/templates/multiple_choice/question_presentation.jinja,sha256=hoEV
201
206
  edsl/questions/templates/numerical/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
202
207
  edsl/questions/templates/numerical/answering_instructions.jinja,sha256=BfGAeKFJWEzzvB91x8DrpRUERSvDv6kXf3Y0szL27LY,373
203
208
  edsl/questions/templates/numerical/question_presentation.jinja,sha256=8lMUWtEPHD4XOAyVEfCmWSwRFrdUa3lo8sxzogDyzWE,183
209
+ edsl/questions/templates/rank/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
204
210
  edsl/questions/templates/rank/answering_instructions.jinja,sha256=-LWrhVJ0ZwQW_DXhARh5GweqlarWbhZzoqwr6tE-33s,433
205
211
  edsl/questions/templates/rank/question_presentation.jinja,sha256=9Vbm88_nDl5Xnb09V4QEw6jTp-ryXBoJV6DCFDMyPI4,334
206
212
  edsl/questions/templates/top_k/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -210,10 +216,10 @@ edsl/questions/templates/yes_no/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm
210
216
  edsl/questions/templates/yes_no/answering_instructions.jinja,sha256=aJVZ_SDdN4SkcHr4KtPU9YwCKZLL1_XtUVqEjiRyn0o,171
211
217
  edsl/questions/templates/yes_no/question_presentation.jinja,sha256=hoEVj4GQD3EYnR2AStXkMFOJeqISNoEVzBd8-cx2yWg,273
212
218
  edsl/results/Dataset.py,sha256=XeCWNcni1rde9iVzmC1WTIne2cip4-f2gQL5iaJfXNw,9202
213
- edsl/results/DatasetExportMixin.py,sha256=SyBPWX73SXwyZkK9ijODNiVERFuUttIOM2XDhTMo8_g,25752
219
+ edsl/results/DatasetExportMixin.py,sha256=-YR-UeuIW_8u0a8HnQ9R6V41DxCq22_AlsD48fXv0sw,25890
214
220
  edsl/results/DatasetTree.py,sha256=nwEgnWBqRXUxagSCEgqwikmIo8ztUxaF-QH-m-8myyQ,4985
215
- edsl/results/Result.py,sha256=FUCGxd_MXdTL7QysJMsuJH4vB-pvjW5hMQEPvKLbLog,15471
216
- edsl/results/Results.py,sha256=X7UCT45YlNoy8UlbvKREpihWHweIfhEP27ST9GgBPDI,40726
221
+ edsl/results/Result.py,sha256=o3Tg07loDcwNTb6wPgV_qS7_REkwcMVouc9t_-zwkpw,15469
222
+ edsl/results/Results.py,sha256=zp4yDt-rPqgEPpv2xCGppQIzzwiKX-BbUpnJtY739L4,40807
217
223
  edsl/results/ResultsDBMixin.py,sha256=Hc08aOiArBf9jbxI5uV4VL4wT6BLOkaaEgTMb3zyTUI,7922
218
224
  edsl/results/ResultsExportMixin.py,sha256=XizBsPNxziyffirMA4kS7UHpYM1WIE4s1K-B7TqTfDw,1266
219
225
  edsl/results/ResultsFetchMixin.py,sha256=VEa0TKDcXbnTinSKs9YaE4WjOSLmlp9Po1_9kklFvSo,848
@@ -222,26 +228,26 @@ edsl/results/ResultsToolsMixin.py,sha256=mseEFxJCf9sjXdIxpjITt_UZBwdXxw2o2VLg5jM
222
228
  edsl/results/Selector.py,sha256=4AsFD71FKTFY1a0_AImsYWcYKx-RXPG6RgwsAvuNW3k,4403
223
229
  edsl/results/__init__.py,sha256=2YcyiVtXi-3vIV0ZzOy1PqBLm2gaziufJVi4fdNrAt8,80
224
230
  edsl/results/tree_explore.py,sha256=hQjiO4E71rIOPDgEHgK8T8ukxqoNdgX_tvyiDlG4_9U,4624
225
- edsl/scenarios/FileStore.py,sha256=AevvU1qdLSmL4Q7cb1PhUiaJk1i5T0sgkTKBYf0KDN4,8722
226
- edsl/scenarios/Scenario.py,sha256=lty-3I2nTELylQARawj1MaboNaQuHF3LiUAew_KUll8,15522
231
+ edsl/scenarios/FileStore.py,sha256=87WVSU-MFRj2iPAH9-ffvYiD3ycSqxhumhCGcY7IJes,10391
232
+ edsl/scenarios/Scenario.py,sha256=UdfmjJpm2cTLNza7EhYZtIhEtMO20ZzUD5mQOv_X0lI,17543
227
233
  edsl/scenarios/ScenarioHtmlMixin.py,sha256=EmugmbPJYW5eZS30rM6pDMDQD9yrrvHjmgZWB1qBfq4,1882
228
- edsl/scenarios/ScenarioImageMixin.py,sha256=VJ5FqyPrL5-ieORlWMpnjmOAFIau8QFZCIZyEBKgb6I,3530
229
- edsl/scenarios/ScenarioList.py,sha256=lHYd0y2CBb6G2jqIwQsvsG_LExi1CVtZfozngcKiKA8,39949
234
+ edsl/scenarios/ScenarioImageMixin.py,sha256=EpUoFa5gFrB8NlLB9m8dX2uEQfGd9KVFXT9ynyVx6XA,3468
235
+ edsl/scenarios/ScenarioList.py,sha256=2sTTV4i0XTijItuODNhIBbC2mVwpREY2LMct73UALOE,40506
230
236
  edsl/scenarios/ScenarioListExportMixin.py,sha256=wfffY9xy_1QyIM-1xnisr64izSLjmyuotUYY5iDLodc,1681
231
- edsl/scenarios/ScenarioListPdfMixin.py,sha256=dt7GzC2UZZpQjjilS7_eBm0BmqU6bDWWbBP7ejkhgHM,3830
237
+ edsl/scenarios/ScenarioListPdfMixin.py,sha256=z_H2sZn5SCSq6nRLSU5jefaOlh4sqJLyOY_Ld0XCR18,8332
232
238
  edsl/scenarios/__init__.py,sha256=KRwZCLf2R0qyJvv1NGbd8M51Bt6Ia6Iylg-Xq_2Fa6M,98
233
239
  edsl/shared.py,sha256=lgLa-mCk2flIhxXarXLtfXZjXG_6XHhC2A3O8yRTjXc,20
234
240
  edsl/study/ObjectEntry.py,sha256=e3xRPH8wCN8Pum5HZsQRYgnSoauSvjXunIEH79wu5A8,5788
235
241
  edsl/study/ProofOfWork.py,sha256=FaqYtLgeiTEQXWKukPgPUTWMcIN5t1FR7h7Re8QEtgc,3433
236
242
  edsl/study/SnapShot.py,sha256=BY9NP_HRTuOSvCncuE-q5OwMcTEtnBS8bFn_PhF7OcU,2678
237
- edsl/study/Study.py,sha256=zLy2mMvsX_QgZ6D4dcgYJoEacyajkRnARYjIFvyCO1o,16939
243
+ edsl/study/Study.py,sha256=Ytm15XIWgT716scM3HKFSfdBHxRwX6mfMn3l8dgdY1c,18462
238
244
  edsl/study/__init__.py,sha256=YAvPLTPG3hK_eN9Ar3d1_d-E3laXpSya879A25-JAxU,170
239
245
  edsl/surveys/DAG.py,sha256=ozQuHo9ZQ8Eet5nDXtp7rFpiSocvvfxIHtyTnztvodg,2380
240
246
  edsl/surveys/Memory.py,sha256=-ikOtkkQldGB_BkPCW3o7AYwV5B_pIwlREw7aVCSHaQ,1113
241
247
  edsl/surveys/MemoryPlan.py,sha256=BeLuqS5Q8G2jSluHYFCAxVmj7cNPK-rDQ3mUsuDjikQ,7979
242
- edsl/surveys/Rule.py,sha256=FnTCEWlbHDH_wOmnN1fiuqwrJzEEhPG4jibLXhRq03M,11104
243
- edsl/surveys/RuleCollection.py,sha256=PQY-oo1W8DyzIvHiwrGRlMQl-l9XG6Ide3Bs-gu-mOM,13379
244
- edsl/surveys/Survey.py,sha256=suJJiQGMLPl0XQoMPrdtAI3ZdxgmC4ImOeUw69VB9mo,65066
248
+ edsl/surveys/Rule.py,sha256=BWWz3IYN10t2TAO1uch2p9DQM13kPozCJr-ywZN0_LU,11399
249
+ edsl/surveys/RuleCollection.py,sha256=amnyDclcBoaoSVgZ33Okx_GOli3mw5QCkvDmisrMvxg,14091
250
+ edsl/surveys/Survey.py,sha256=yBYvCUllH0fxR2F_SxKH8EACPsfZhUT-UeOA9ZJigoA,65263
245
251
  edsl/surveys/SurveyCSS.py,sha256=NjJezs2sTlgFprN6IukjGKwNYmNdXnLjzV2w5K4z4RI,8415
246
252
  edsl/surveys/SurveyExportMixin.py,sha256=Kvkd2ku2Kemsn2Nw-Yt8GTnGFcUqfEiKznmisAeO7ck,8339
247
253
  edsl/surveys/SurveyFlowVisualizationMixin.py,sha256=dEG_f-L0ZAyWU5Ta584IX5GZurjVt1tbIISo5z61Jvg,4004
@@ -257,7 +263,7 @@ edsl/templates/error_reporting/base.html,sha256=IkV24ZaUCNX303ZqVTWkFsJOnu5BG_SU
257
263
  edsl/templates/error_reporting/exceptions_by_model.html,sha256=7uAWGfhUMey-29Vh6YkN_Qx1lfhC92fsTMxJEVXWPDs,792
258
264
  edsl/templates/error_reporting/exceptions_by_question_name.html,sha256=_q6hSwtO_WhjXLZNLZhRj-qbPzStqYSzT0iECKUAFlg,454
259
265
  edsl/templates/error_reporting/exceptions_by_type.html,sha256=TVsNCAz_G53LSZ-YslM51TUsbwtw7wzCqPwVYO6TVEw,415
260
- edsl/templates/error_reporting/interview_details.html,sha256=khKhf6KybSo9yItZvuJHwxTSDKYY0rDdIHGaG1jreis,3910
266
+ edsl/templates/error_reporting/interview_details.html,sha256=_3AZfDu7ZOrZZPQAE-odcSRkv7QuOPZQTsiK97MDY6g,4043
261
267
  edsl/templates/error_reporting/interviews.html,sha256=jaPrrtUGs8Rs26H3k1QLqNRpIGAZEWrJR4OF83gDCj8,393
262
268
  edsl/templates/error_reporting/overview.html,sha256=1oTYQpi03OnguG-iudO8FZC7mwR6GryeslDbl0w9ksw,405
263
269
  edsl/templates/error_reporting/performance_plot.html,sha256=NTXFj51VEwew59gLzbR83Lybh88WmFR-fhxm5rmz0Ms,53
@@ -282,8 +288,8 @@ edsl/utilities/gcp_bucket/cloud_storage.py,sha256=dStHsG181YP9ALW-bkyO-sgMWuLV5a
282
288
  edsl/utilities/interface.py,sha256=AaKpWiwWBwP2swNXmnFlIf3ZFsjfsR5bjXQAW47tD-8,19656
283
289
  edsl/utilities/repair_functions.py,sha256=tftmklAqam6LOQQu_-9U44N-llycffhW8LfO63vBmNw,929
284
290
  edsl/utilities/restricted_python.py,sha256=5-_zUhrNbos7pLhDl9nr8d24auRlquR6w-vKkmNjPiA,2060
285
- edsl/utilities/utilities.py,sha256=2KwKc1J0lu6_CjIAKaufvfLOJ4j3XGKyClwJ6TjKLxM,11157
286
- edsl-0.1.33.dev2.dist-info/LICENSE,sha256=_qszBDs8KHShVYcYzdMz3HNMtH-fKN_p5zjoVAVumFc,1111
287
- edsl-0.1.33.dev2.dist-info/METADATA,sha256=3CVZ1Yh-iLWtSBONoGMzTIHvNJ35y8i1UlrWElnB5B0,4384
288
- edsl-0.1.33.dev2.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
289
- edsl-0.1.33.dev2.dist-info/RECORD,,
291
+ edsl/utilities/utilities.py,sha256=gqMtWWNEZkWLiRR9vHW-VRNy2bStEPlJ-I2aK9CwFiQ,11367
292
+ edsl-0.1.33.dev3.dist-info/LICENSE,sha256=_qszBDs8KHShVYcYzdMz3HNMtH-fKN_p5zjoVAVumFc,1111
293
+ edsl-0.1.33.dev3.dist-info/METADATA,sha256=HQjufTZnJ8VDOZPYZOxdtYOTXvBu_AojIE1Q1iB1beI,4424
294
+ edsl-0.1.33.dev3.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
295
+ edsl-0.1.33.dev3.dist-info/RECORD,,
@@ -1,39 +0,0 @@
1
- from edsl import CONFIG
2
-
3
- from tenacity import (
4
- retry,
5
- wait_exponential,
6
- stop_after_attempt,
7
- retry_if_exception_type,
8
- before_sleep,
9
- )
10
-
11
- EDSL_BACKOFF_START_SEC = float(CONFIG.get("EDSL_BACKOFF_START_SEC"))
12
- EDSL_MAX_BACKOFF_SEC = float(CONFIG.get("EDSL_MAX_BACKOFF_SEC"))
13
- EDSL_MAX_ATTEMPTS = int(CONFIG.get("EDSL_MAX_ATTEMPTS"))
14
-
15
-
16
- def print_retry(retry_state, print_to_terminal=True):
17
- "Prints details on tenacity retries."
18
- attempt_number = retry_state.attempt_number
19
- exception = retry_state.outcome.exception()
20
- wait_time = retry_state.next_action.sleep
21
- exception_name = type(exception).__name__
22
- if print_to_terminal:
23
- print(
24
- f"Attempt {attempt_number} failed with exception '{exception_name}':"
25
- f"{exception}",
26
- f"now waiting {wait_time:.2f} seconds before retrying."
27
- f"Parameters: start={EDSL_BACKOFF_START_SEC}, max={EDSL_MAX_BACKOFF_SEC}, max_attempts={EDSL_MAX_ATTEMPTS}."
28
- "\n\n",
29
- )
30
-
31
-
32
- retry_strategy = retry(
33
- wait=wait_exponential(
34
- multiplier=EDSL_BACKOFF_START_SEC, max=EDSL_MAX_BACKOFF_SEC
35
- ), # Exponential back-off starting at 1s, doubling, maxing out at 60s
36
- stop=stop_after_attempt(EDSL_MAX_ATTEMPTS), # Stop after 5 attempts
37
- # retry=retry_if_exception_type(Exception), # Customize this as per your specific retry-able exception
38
- before_sleep=print_retry, # Use custom print function for retries
39
- )