edsl 0.1.39__py3-none-any.whl → 0.1.39.dev2__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 (85) hide show
  1. edsl/Base.py +0 -28
  2. edsl/__init__.py +1 -1
  3. edsl/__version__.py +1 -1
  4. edsl/agents/Agent.py +17 -9
  5. edsl/agents/Invigilator.py +14 -13
  6. edsl/agents/InvigilatorBase.py +1 -4
  7. edsl/agents/PromptConstructor.py +22 -42
  8. edsl/agents/QuestionInstructionPromptBuilder.py +1 -1
  9. edsl/auto/AutoStudy.py +5 -18
  10. edsl/auto/StageBase.py +40 -53
  11. edsl/auto/StageQuestions.py +1 -2
  12. edsl/auto/utilities.py +6 -0
  13. edsl/coop/coop.py +5 -21
  14. edsl/data/Cache.py +18 -29
  15. edsl/data/CacheHandler.py +2 -0
  16. edsl/data/RemoteCacheSync.py +46 -154
  17. edsl/enums.py +0 -7
  18. edsl/inference_services/AnthropicService.py +16 -38
  19. edsl/inference_services/AvailableModelFetcher.py +1 -7
  20. edsl/inference_services/GoogleService.py +1 -5
  21. edsl/inference_services/InferenceServicesCollection.py +2 -18
  22. edsl/inference_services/OpenAIService.py +31 -46
  23. edsl/inference_services/TestService.py +3 -1
  24. edsl/inference_services/TogetherAIService.py +3 -5
  25. edsl/inference_services/data_structures.py +2 -74
  26. edsl/jobs/AnswerQuestionFunctionConstructor.py +113 -148
  27. edsl/jobs/FetchInvigilator.py +3 -10
  28. edsl/jobs/InterviewsConstructor.py +4 -6
  29. edsl/jobs/Jobs.py +233 -299
  30. edsl/jobs/JobsChecks.py +2 -2
  31. edsl/jobs/JobsPrompts.py +1 -1
  32. edsl/jobs/JobsRemoteInferenceHandler.py +136 -160
  33. edsl/jobs/interviews/Interview.py +42 -80
  34. edsl/jobs/runners/JobsRunnerAsyncio.py +358 -88
  35. edsl/jobs/runners/JobsRunnerStatus.py +165 -133
  36. edsl/jobs/tasks/TaskHistory.py +3 -24
  37. edsl/language_models/LanguageModel.py +4 -59
  38. edsl/language_models/ModelList.py +8 -19
  39. edsl/language_models/__init__.py +1 -1
  40. edsl/language_models/registry.py +180 -0
  41. edsl/language_models/repair.py +1 -1
  42. edsl/questions/QuestionBase.py +26 -35
  43. edsl/questions/{question_base_gen_mixin.py → QuestionBaseGenMixin.py} +49 -52
  44. edsl/questions/QuestionBasePromptsMixin.py +1 -1
  45. edsl/questions/QuestionBudget.py +1 -1
  46. edsl/questions/QuestionCheckBox.py +2 -2
  47. edsl/questions/QuestionExtract.py +7 -5
  48. edsl/questions/QuestionFreeText.py +1 -1
  49. edsl/questions/QuestionList.py +15 -9
  50. edsl/questions/QuestionMatrix.py +1 -1
  51. edsl/questions/QuestionMultipleChoice.py +1 -1
  52. edsl/questions/QuestionNumerical.py +1 -1
  53. edsl/questions/QuestionRank.py +1 -1
  54. edsl/questions/{response_validator_abc.py → ResponseValidatorABC.py} +18 -6
  55. edsl/questions/{response_validator_factory.py → ResponseValidatorFactory.py} +1 -7
  56. edsl/questions/SimpleAskMixin.py +1 -1
  57. edsl/questions/__init__.py +1 -1
  58. edsl/results/DatasetExportMixin.py +119 -60
  59. edsl/results/Result.py +3 -109
  60. edsl/results/Results.py +39 -50
  61. edsl/scenarios/FileStore.py +0 -32
  62. edsl/scenarios/ScenarioList.py +7 -35
  63. edsl/scenarios/handlers/csv.py +0 -11
  64. edsl/surveys/Survey.py +20 -71
  65. {edsl-0.1.39.dist-info → edsl-0.1.39.dev2.dist-info}/METADATA +1 -1
  66. {edsl-0.1.39.dist-info → edsl-0.1.39.dev2.dist-info}/RECORD +78 -84
  67. {edsl-0.1.39.dist-info → edsl-0.1.39.dev2.dist-info}/WHEEL +1 -1
  68. edsl/jobs/async_interview_runner.py +0 -138
  69. edsl/jobs/check_survey_scenario_compatibility.py +0 -85
  70. edsl/jobs/data_structures.py +0 -120
  71. edsl/jobs/results_exceptions_handler.py +0 -98
  72. edsl/language_models/model.py +0 -256
  73. edsl/questions/data_structures.py +0 -20
  74. edsl/results/file_exports.py +0 -252
  75. /edsl/agents/{question_option_processor.py → QuestionOptionProcessor.py} +0 -0
  76. /edsl/questions/{answer_validator_mixin.py → AnswerValidatorMixin.py} +0 -0
  77. /edsl/questions/{loop_processor.py → LoopProcessor.py} +0 -0
  78. /edsl/questions/{register_questions_meta.py → RegisterQuestionsMeta.py} +0 -0
  79. /edsl/results/{results_fetch_mixin.py → ResultsFetchMixin.py} +0 -0
  80. /edsl/results/{results_tools_mixin.py → ResultsToolsMixin.py} +0 -0
  81. /edsl/results/{results_selector.py → Selector.py} +0 -0
  82. /edsl/scenarios/{directory_scanner.py → DirectoryScanner.py} +0 -0
  83. /edsl/scenarios/{scenario_join.py → ScenarioJoin.py} +0 -0
  84. /edsl/scenarios/{scenario_selector.py → ScenarioSelector.py} +0 -0
  85. {edsl-0.1.39.dist-info → edsl-0.1.39.dev2.dist-info}/LICENSE +0 -0
@@ -1,30 +1,30 @@
1
- edsl/Base.py,sha256=-U6ngLZJDqImrAwF-TSmYzMESre0CG5rq9ZFxFh31sY,12864
1
+ edsl/Base.py,sha256=aqBiwcWP5IcSFu6YN461AGFH4TMYKY69_T1EGkHa0gg,11840
2
2
  edsl/BaseDiff.py,sha256=92BirXj2u3TEGHJWni9TBsvZjvq8wpb4wDL2vxX9Lb0,8253
3
3
  edsl/TemplateLoader.py,sha256=sDBlSMt7EfOduM7w3h6v03gvh_Rzn9hVrlS-iLSQdZA,849
4
- edsl/__init__.py,sha256=It2k2drMyde7O-xh0yesod2OxZ3W0yW21zZKRVifv6g,1896
5
- edsl/__version__.py,sha256=sfc5YqMhonehojmfXWQszjknUHF_Q-G6tt4E1pfsXOY,23
6
- edsl/agents/Agent.py,sha256=lF7GD_bCvRLP4hrtm3w451AUfuJln5jZHGYBH84CMVE,40741
4
+ edsl/__init__.py,sha256=Di-VuaWVhjgUETfp5rpf1-j5RkU_cDMTFCK6nlc8PiE,1899
5
+ edsl/__version__.py,sha256=-IWWuhf76EDmj0bPiOxXuxLtR2WTOpD_Wg-FtWQh9zU,28
6
+ edsl/agents/Agent.py,sha256=-j45ipyV-FAnuF0b_O4f2hYDgAEMbQfGEwK_kHR0GqY,41127
7
7
  edsl/agents/AgentList.py,sha256=iRfQfyUYtaJbJ3sRubPqPKRr77nKQgzhFEeZ0wcAEk0,18955
8
- edsl/agents/Invigilator.py,sha256=v9KkQ7yQfhwsrZB-7Bu4ZQ-zl_9Hwaxe0uQyxB-Wvss,11862
9
- edsl/agents/InvigilatorBase.py,sha256=JIRy7uogI8Hsv8nx8J2zMnd4XK-WQETlSAzkU6uIYNw,8967
10
- edsl/agents/PromptConstructor.py,sha256=orYFJI5Teh47cVJSJ63R8lfcAKSaDclSVX_OVTiqEgw,10752
11
- edsl/agents/QuestionInstructionPromptBuilder.py,sha256=t7Yuhvzq0cYbcRxzSOv_bvT3ihlmlyAOsScDMWg9A2M,4526
8
+ edsl/agents/Invigilator.py,sha256=pksM561BIN4ofM8d-PkZBSmjHcOjC5MMF-oDnlDSO8c,12027
9
+ edsl/agents/InvigilatorBase.py,sha256=0uuy0g1u4ahwBbR914xJc__ILdox24-TDSDQYG9joiU,8811
10
+ edsl/agents/PromptConstructor.py,sha256=04imRG1d45ktz_lx2loHDEaRbSQ6E1e6B9xh94A_9Mg,10016
11
+ edsl/agents/QuestionInstructionPromptBuilder.py,sha256=IEC7H2GGEJRXabenBRv1CJwC3H5-rPp5fKsCiuaPpyM,4524
12
+ edsl/agents/QuestionOptionProcessor.py,sha256=q6g5B3E4Q9gWBtFCRqcXHaSxaGfWLqbKB2EXxqzihRk,6345
12
13
  edsl/agents/QuestionTemplateReplacementsBuilder.py,sha256=1vOt_zsreGRJaO9c6NO82WRIULxHUHButUd_MzpYCnE,5317
13
14
  edsl/agents/__init__.py,sha256=a3H1lxDwu9HR8fwh79C5DgxPSFv_bE2rzQ6y1D8Ba5c,80
14
15
  edsl/agents/descriptors.py,sha256=JxM_ckzhDmfZT1igSUdCxgyQcCK0o9MhU5jbLIned9g,3189
15
16
  edsl/agents/prompt_helpers.py,sha256=Ylo0Y1UVl34ImP76DnMchdL4PTzpYQUWWbtQwDlE_s4,5028
16
- edsl/agents/question_option_processor.py,sha256=q6g5B3E4Q9gWBtFCRqcXHaSxaGfWLqbKB2EXxqzihRk,6345
17
- edsl/auto/AutoStudy.py,sha256=XniD-g7jg19vbD5CWqq0QAiMsIz2CboKAAIluDODqzo,4326
18
- edsl/auto/StageBase.py,sha256=7ZjV0T-8FQBL-r5LeAozNQY_0RJ_GySdX48ToM7-dLc,8254
17
+ edsl/auto/AutoStudy.py,sha256=yNnhfJPO6oxbgVaYbRftJa8DluKhajfgLCh9o9E3YmU,3843
18
+ edsl/auto/StageBase.py,sha256=6Ve0cMmc-wdK7tgk7_cOopnvvggEOSkNWfLLWXny7QU,7933
19
19
  edsl/auto/StageGenerateSurvey.py,sha256=_lC1-hhFjqd6md1-RE9uEOPtZp7dZHxJn0ERpszSfow,7394
20
20
  edsl/auto/StageLabelQuestions.py,sha256=8uHrDi6t-o_NgumfguiCENsNU3rmYF4nmanTMEtbkYI,4663
21
21
  edsl/auto/StagePersona.py,sha256=1oqHedJGmT1E0F5F-5uq36SudkP7d4FHDd8mbmb5hOw,1886
22
22
  edsl/auto/StagePersonaDimensionValueRanges.py,sha256=z_fJJK4vydId13IVQnI92RUoDQkl6Tr9XxUOMNrKyYI,2933
23
23
  edsl/auto/StagePersonaDimensionValues.py,sha256=o6xUVkYLa1wooY5mDmy1j8bGQbK4EzUZ-Zqi7Lfv1hI,2313
24
24
  edsl/auto/StagePersonaDimensions.py,sha256=9tjZJGA1ytTgMlTspRrYKRXj0QYvkWx9Yg5Comf_x8k,2069
25
- edsl/auto/StageQuestions.py,sha256=f2h0z-1slFDxdriM9Wxb9BiGLmQLL-VTHu3MK0XEIig,2209
25
+ edsl/auto/StageQuestions.py,sha256=TyUSnfeFEbuQKG_KZT9rk43flRt0ZyzQDqYzBa_858c,2198
26
26
  edsl/auto/SurveyCreatorPipeline.py,sha256=b1rvJ1u_snPzdXIotfv_Zq3LV7OQVpIicudiFpny-S4,660
27
- edsl/auto/utilities.py,sha256=Wfl0VYxnarhFB2NrJYwmswG_JwJ2AyqOPpS3smVoEFU,7402
27
+ edsl/auto/utilities.py,sha256=jNRccPq5e-Eya4dlLT6oa6WAYi45bSeQb8zRsD2e_IU,7608
28
28
  edsl/base/Base.py,sha256=dTXYSNcmNbkUVe6cv5kskJOmY1bbTRgQw0OGdtH_Dck,8534
29
29
  edsl/config.py,sha256=iL5r-JAFGN7-05p3NX4FKICEBb_gOG7CWmVd1C_ZkhQ,6951
30
30
  edsl/conversation/Conversation.py,sha256=GDGEq_2_ni1hEUM__2x2MBoaw4GZ1Nl5RqyvLiA5wzs,9589
@@ -36,17 +36,17 @@ edsl/coop/CoopFunctionsMixin.py,sha256=RS79ADEbYUK-frf_WY-YnozVbM3ZaBufv1jxjF96G
36
36
  edsl/coop/ExpectedParrotKeyHandler.py,sha256=1lriainznM1FfQ7GEvTiI1EW8uNi8Sms3Vt5UDxso3U,4456
37
37
  edsl/coop/PriceFetcher.py,sha256=J5EaM-bPqnd2B0ZBVVqXJ-UQK-D4SdjmddYepnN7jz4,1777
38
38
  edsl/coop/__init__.py,sha256=4iZCwJSzJVyjBYk8ggGxY2kZjq9dXVT1jhyPDNyew4I,115
39
- edsl/coop/coop.py,sha256=9aJod721k_BOPHV_257YsFLxFKRgTbUqmi9ludvYGPc,39678
39
+ edsl/coop/coop.py,sha256=LRQRHALKgD89cJAhqn5DNznz1nwBJ92Zr4Alg9J9gbw,39017
40
40
  edsl/coop/utils.py,sha256=SBV76sk5_2rhP3RKGkJsOkrx9Qr-jD0puqYhVR_MgSY,3900
41
- edsl/data/Cache.py,sha256=EEzfpAyYKeBuCZ4iryUsktVmuk95uu_L047Lr3yWEyE,18270
41
+ edsl/data/Cache.py,sha256=KF7vFZX0a2MafOZMsHTDskON6fQmfRAWp_mv14VgKV0,17712
42
42
  edsl/data/CacheEntry.py,sha256=mTc-WG_dWc4s9s3MrOl3yUqao2Q_igCerNcluM4XCSQ,7376
43
- edsl/data/CacheHandler.py,sha256=wy2AdKkk_pmwP71htdmLV9UzXM4AuHm5pn1qscJlX9s,5150
44
- edsl/data/RemoteCacheSync.py,sha256=qgvh2w0c-Ak7poGNucWRd4ze8ncMQYh36a9yp3ib0IU,6062
43
+ edsl/data/CacheHandler.py,sha256=ONbqaDFf3VVo86-i_Uo4afagbNDc3iLvelRhAOpVR-A,5228
44
+ edsl/data/RemoteCacheSync.py,sha256=qA2RymUcnhM2-g8PuzzaD99zQnb0zNUr9OQ0TlOFz-M,2878
45
45
  edsl/data/SQLiteDict.py,sha256=V5Nfnxctgh4Iblqcw1KmbnkjtfmWrrombROSQ3mvg6A,8979
46
46
  edsl/data/__init__.py,sha256=i_bbYBc-vrdASBpDMcpIcfhbLKYOkvqA57R3ysBcQ6o,177
47
47
  edsl/data/orm.py,sha256=Jz6rvw5SrlxwysTL0QI9r68EflKxeEBmf6j6himHDS8,238
48
48
  edsl/data_transfer_models.py,sha256=r7Nl2ZyR0FZhzqQg8tz2jxonTVBboK9W3qMicts69qc,1960
49
- edsl/enums.py,sha256=foBiWLk82b_ve9v9NpGCbM6tQDYsVCGvoIJ5PCzwbjo,6043
49
+ edsl/enums.py,sha256=gjI238kfVEBA1o1S0qp7JJZ9cM9Ze25VjVZpeIjhneI,5743
50
50
  edsl/exceptions/BaseException.py,sha256=eP30DOYtssbKt0qarfDkNOKDW-aG0DLaHtx42bp5dVQ,811
51
51
  edsl/exceptions/__init__.py,sha256=guZX0w_IGt-fYBuK_xVKACfJfQU6AYXM2kscbPp8Yrw,1532
52
52
  edsl/exceptions/agents.py,sha256=E_r9bHUQEPWTjy5D-CmDvFMgFe34aPtwo4ApYN71mDg,1626
@@ -63,52 +63,49 @@ edsl/exceptions/questions.py,sha256=ct3lfbhOyvbfzC7OgxVye1ROMUvtlUPsGDxX3nltT_Q,
63
63
  edsl/exceptions/results.py,sha256=NfY-IWroZsEKpprAipIxjJ2hxJKWgBS-Qa-zubDhAoE,509
64
64
  edsl/exceptions/scenarios.py,sha256=j4OE9xrSrLKdRMwmr3webIRHBwBgvx0DL0uDThRW7yY,855
65
65
  edsl/exceptions/surveys.py,sha256=BJUKFVkj6nrsq3TyvaZfEE-zjy3BCAM-s1lsdcrv_MM,677
66
- edsl/inference_services/AnthropicService.py,sha256=Xr1MQmBYYKKaMd9IRBYvK357i7vrxUm73nxxNZGCCCQ,3761
66
+ edsl/inference_services/AnthropicService.py,sha256=5YfI5AG2yAvui05mfoOEPg_xVxCTMDSiJ45dLA46vr0,2844
67
67
  edsl/inference_services/AvailableModelCacheHandler.py,sha256=9zGT1Huz0VTOZyN5GpakcMAe6pZyYmZcdSzuqPUZ09g,6179
68
- edsl/inference_services/AvailableModelFetcher.py,sha256=RU_mYHOGOQ7hCQN552EEse0piRrfKiz_Uy1YoP4Xwbc,7774
68
+ edsl/inference_services/AvailableModelFetcher.py,sha256=sx7uZj9dRMrEdZwX4QePXJTvESdVRxoTY-nzyLCLH3k,7577
69
69
  edsl/inference_services/AwsBedrock.py,sha256=aOJ7n_05cdh2EkTWfd9mhOJiPdaqEtmBJBHKmT_Ds5A,4001
70
70
  edsl/inference_services/AzureAI.py,sha256=8ymXCAWqa4NkYEGi6_AvcSRN1WLPXueAWk-W8w_T6AI,8817
71
71
  edsl/inference_services/DeepInfraService.py,sha256=fWlH5sCNxf8eHPHxPPxJMEVWpCM9sDenkC8IZYqtXfA,515
72
- edsl/inference_services/GoogleService.py,sha256=SZYEGZXsEcCgvGpc59vFVL382_MeCee9ZnFhJwg4kSo,4945
72
+ edsl/inference_services/GoogleService.py,sha256=Tq0kA1hjItWTopWhNGgwFq5vXr50kUy1gtc_qjR5Kbg,4862
73
73
  edsl/inference_services/GroqService.py,sha256=eDMq8d7YAlJ2689ywaoaPGvMgFfOiX1KYlF_vr97N6I,510
74
74
  edsl/inference_services/InferenceServiceABC.py,sha256=tbdaJgPeKIe3n4RGhifBFTpyKHxJnccn-YpHGyafgpE,2019
75
- edsl/inference_services/InferenceServicesCollection.py,sha256=cgGuixJopkwEb8QU6F_zUiTD8Nxcd6SKUUg05epuNuk,5051
75
+ edsl/inference_services/InferenceServicesCollection.py,sha256=VzTIJcOR8RefendfuTjTL6OCyRdT5-oHfUFzeSRtfd0,4269
76
76
  edsl/inference_services/MistralAIService.py,sha256=_cgcWKHcvTPyjYgvjsrPkwGro7zhi9YljDTN7ENDIdw,3805
77
77
  edsl/inference_services/OllamaService.py,sha256=oro9CRl8IUE2Ro-zE69Cr4Zaf6Gdw29XW5CFU-46E0k,498
78
- edsl/inference_services/OpenAIService.py,sha256=56DitvQVi7aD7MelP_r_hrg73_yaOIr8cxl2mVehAEQ,8250
78
+ edsl/inference_services/OpenAIService.py,sha256=E5oXRT0p8_fFUoY6WmGtvtyxyHXZeeyU5qDx58ml5sc,7562
79
79
  edsl/inference_services/PerplexityService.py,sha256=PWe8R0dT9aMOtrgBg_qIycVeqQCDlEmniGFhWBYi4U0,5657
80
80
  edsl/inference_services/ServiceAvailability.py,sha256=z2GaZ7Qt2qILcRTVl1X7zZVlPFOP3THntB5WSgbbesQ,4741
81
- edsl/inference_services/TestService.py,sha256=wfRQ3VfRG-yiT-laZ71OTGMji22hEpNxN3UEDvty3Fk,2954
82
- edsl/inference_services/TogetherAIService.py,sha256=fe349fdJQw-9OHz5mDGa5qxdC9Nccz0MtkisNIZjBkI,6360
81
+ edsl/inference_services/TestService.py,sha256=XErKkAo9D66swgpK0gF9lawa_fWXoboTGHn70aNiY3Y,3056
82
+ edsl/inference_services/TogetherAIService.py,sha256=p_31ccrfN25kZF2xlAlUkb7w1EL4lGjmkSv-5qZ7TtY,6301
83
83
  edsl/inference_services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
84
- edsl/inference_services/data_structures.py,sha256=IqxATICnHYE5csSUQl6qbzz3KcUask5pZk78-gijms4,3850
84
+ edsl/inference_services/data_structures.py,sha256=m1laZOMWE4BBHs7L_xrQkugC778ZYXIejBNilLy9vwA,1736
85
85
  edsl/inference_services/models_available_cache.py,sha256=bOvevfRn2HlmBcHalaDkjFLxiw0JJhsXVUHZo_OhgjA,4061
86
86
  edsl/inference_services/rate_limits_cache.py,sha256=HYslviz7mxF9U4CUTPAkoyBsiXjSju-YCp4HHir6e34,1398
87
87
  edsl/inference_services/registry.py,sha256=Rkjfe4iABQc7aiY73bGnbRAgLXY0osni22hYnmMEI2c,1335
88
88
  edsl/inference_services/write_available.py,sha256=NNwhATlaMp8IYY635MSx-oYxt5X15acjAfaqYCo_I1Y,285
89
- edsl/jobs/AnswerQuestionFunctionConstructor.py,sha256=NZk9_9d2u8f_bK-qFFCJyM3KNMYNiedW4Ju7uQyPQxc,7973
89
+ edsl/jobs/AnswerQuestionFunctionConstructor.py,sha256=nOTsy1_mNNFY5jah7EuaVGumEjWXXXhwohc00ynUvQY,7128
90
90
  edsl/jobs/Answers.py,sha256=lZpbGAqYqMQw7MUsmpivqMZkHjHHOmCY32s9Km284pQ,1445
91
- edsl/jobs/FetchInvigilator.py,sha256=83tbrqY_1qK0biNF1x51N0sFx49FFmuOi3o5HmFuCIY,1785
91
+ edsl/jobs/FetchInvigilator.py,sha256=9I_i_zda_X7h0wXsZiLOrzMcS9-ZvC0g3fOJRXBpFfI,1591
92
92
  edsl/jobs/InterviewTaskManager.py,sha256=I1GShC2CrBFnGOcWn3q2YUU0SJbesmeLrrM2_nkuhZo,3748
93
- edsl/jobs/InterviewsConstructor.py,sha256=MyRgygmi4318PgERjhhZZXlNUju2lB1CBu8LJJjYNSs,1853
94
- edsl/jobs/Jobs.py,sha256=NeHSyzLRXDp3elct9U0DngVwVt6o3JK_aNrOAYDN15E,29570
95
- edsl/jobs/JobsChecks.py,sha256=v1sgdjKQTYMoZu-uobM9USn1KaF6QBoOfNSGH7ueZjU,5403
93
+ edsl/jobs/InterviewsConstructor.py,sha256=qKoy5T2Za9UwJM5_24D3-YkY3iOmv16Q8mW2t4SXKcc,1717
94
+ edsl/jobs/Jobs.py,sha256=QWX9JzuxfxMtakFYGl4aow66zQGGENsNMAbxRSFSoHo,28336
95
+ edsl/jobs/JobsChecks.py,sha256=Gsdt-ZGJT5PZ0rGhgFuhB_jZdE5MP_YRwfKc5BDvpv4,5409
96
96
  edsl/jobs/JobsComponentConstructor.py,sha256=yzjBFQx1oK8CN2taniB82kpXo6W712dIG1E9ouwkujg,6969
97
- edsl/jobs/JobsPrompts.py,sha256=OtLWuTPs6dncNyrXXVskpSCoKOUav4msxoa9uDtP2LM,9755
98
- edsl/jobs/JobsRemoteInferenceHandler.py,sha256=NOCEihkk8sTicfn25F78BTLje7t6LmwGDJG1w-cI4QI,10937
97
+ edsl/jobs/JobsPrompts.py,sha256=Becd-67fofnzftKXFL5T7wJdYNWuf29yUaFhkK7s7T4,9750
98
+ edsl/jobs/JobsRemoteInferenceHandler.py,sha256=Ii3WZY-iR4YhwHgfiKX8X2yrP6V_tPAmNB7BXNn0qY4,10940
99
99
  edsl/jobs/JobsRemoteInferenceLogger.py,sha256=VN0WaRqS7mb7tbVTfzIzQBTM-tAgjKn8wnrnLUL9kKk,9260
100
100
  edsl/jobs/RequestTokenEstimator.py,sha256=IF2sb1Tt_exzNyWnuvd8mm81gfyZsv-rUP-GUHBX32E,1183
101
101
  edsl/jobs/__init__.py,sha256=aKuAyd_GoalGj-k7djOoVwEbFUE2XLPlikXaA1_8yAg,32
102
- edsl/jobs/async_interview_runner.py,sha256=FdkfhazuRZjDUPjSYPqNGdfoYG538PzCa62rwdnKTmc,5226
103
102
  edsl/jobs/buckets/BucketCollection.py,sha256=KaeTB-sXWwzAo33SyfwCeBo4YXezlHmH69vQo8x5tqw,3687
104
103
  edsl/jobs/buckets/ModelBuckets.py,sha256=hxw_tzc0V42CiB7mh5jIxlgwDVJ-zFZhlLtKrHEg8ho,2419
105
104
  edsl/jobs/buckets/TokenBucket.py,sha256=DNv5aOO8kwq3PvCXg84HCBhYFkzSiOqLBLiEJRFuCGQ,10082
106
105
  edsl/jobs/buckets/TokenBucketAPI.py,sha256=ht0b-xZvzaR9ymhjin4c1AZwapuLPOoJ2N9hViSPuA4,6847
107
106
  edsl/jobs/buckets/TokenBucketClient.py,sha256=Jx20nDAdUSh3USUX9B4PHd1uAFMdyOHtRa2phzFnh-w,7095
108
- edsl/jobs/check_survey_scenario_compatibility.py,sha256=dU1IUPb1FFm0P1ievzTmtgcRxH2soCdPaG5GZ1Zd4fA,3816
109
- edsl/jobs/data_structures.py,sha256=1kLN6goMLcOIT20vrDW2Wq-sA-cfygb_qgplW4-o090,3727
110
107
  edsl/jobs/decorators.py,sha256=vpeSgI3EP4RFz5V_OclFdnhiSrswihavAN8C9ygRhGE,1135
111
- edsl/jobs/interviews/Interview.py,sha256=Zmi0_gNkpMWaho2fvSoCNITrJDfSEmfw7yqKCW3JeK0,15255
108
+ edsl/jobs/interviews/Interview.py,sha256=ZyoIOcVf8D8bVB3OhVjBESDXF3eOp1wzHpiSsKSjPyE,13834
112
109
  edsl/jobs/interviews/InterviewExceptionCollection.py,sha256=ZIe9nnI8pznxp1D0K2Ii9SHorc9-f0k_lQV-Giq41P8,3666
113
110
  edsl/jobs/interviews/InterviewExceptionEntry.py,sha256=JMLcftRItQRCo8cOWH5S2H02wa-157l1TCFGVDXfViY,5685
114
111
  edsl/jobs/interviews/InterviewStatistic.py,sha256=hY5d2EkIJ96NilPpZAvZZzZoxLXM7ss3xx5MIcKtTPs,1856
@@ -119,25 +116,24 @@ edsl/jobs/interviews/ReportErrors.py,sha256=xmzppVqNI93-NjL-BCBOBgBFkU3tuBJiw-FH
119
116
  edsl/jobs/interviews/interview_status_enum.py,sha256=KJ-1yLAHdX-p8TiFnM0M3v1tnBwkq4aMCuBX6-ytrI8,229
120
117
  edsl/jobs/jobs_status_enums.py,sha256=li94KU-DHNEq7ksR2ikQxms6W-J7sfiRlmlgGQX3F-E,172
121
118
  edsl/jobs/loggers/HTMLTableJobLogger.py,sha256=0s47WYqT9JK7dF22U_fVDke6_cDjUKxn-KW6JJTwvYg,11717
122
- edsl/jobs/results_exceptions_handler.py,sha256=5meG_S2SXehcMbmBks6QC2RRaR79eHAclDwMCbl_6Rs,3258
123
- edsl/jobs/runners/JobsRunnerAsyncio.py,sha256=cGGB2wDvdI33y64-VgYj9UZKrRkecmxfpXw5L5kl8_k,5505
124
- edsl/jobs/runners/JobsRunnerStatus.py,sha256=1aySPXQ0ijCvv6Bqvddqe6Hlr-wAlTvxBV6D3Gvveqw,10466
119
+ edsl/jobs/runners/JobsRunnerAsyncio.py,sha256=XR5dxvc8ogHy8sa7-2b9uyZLmc-242COiHAHBh2QliM,16133
120
+ edsl/jobs/runners/JobsRunnerStatus.py,sha256=XoUGd5Y501JSo98NRvqbP9aV9Ye01HVxI65UcMXmAzs,11007
125
121
  edsl/jobs/runners/JobsRunnerStatusData.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
126
122
  edsl/jobs/tasks/QuestionTaskCreator.py,sha256=Bx7x2_Tc6hQvaAQNtnxvoF52bTCZH7AhiVWg_gSajmo,9934
127
123
  edsl/jobs/tasks/TaskCreators.py,sha256=XqAbNU33378Z4PQncokbfJwnKt3KHR9aqa5fKYRDpfg,2694
128
- edsl/jobs/tasks/TaskHistory.py,sha256=aFp6PZSwoh2xtl3lXx848CLiXTibgE3PgUq1h9d0Wfo,15764
124
+ edsl/jobs/tasks/TaskHistory.py,sha256=3I6vR-6NcdHYm1TH3-j0D4MK-KNwU54_uTMGbyntifI,14896
129
125
  edsl/jobs/tasks/TaskStatusLog.py,sha256=bqH36a32F12fjX-M-4lNOhHaK2-WLFzKE-r0PxZPRjI,546
130
126
  edsl/jobs/tasks/task_status_enum.py,sha256=FLmfSgHSbB921UyC-mvKpBLg5HLRf_NbHKXF4f57kdw,5264
131
127
  edsl/jobs/tokens/InterviewTokenUsage.py,sha256=u_6-IHpGFwZ6qMEXr24-jyLVUSSp4dSs_4iAZsBv7O4,1100
132
128
  edsl/jobs/tokens/TokenUsage.py,sha256=odj2-wDNEbHl9noyFAQ0DSKV0D9cv3aDOpmXufKZ8O4,1323
133
129
  edsl/language_models/ComputeCost.py,sha256=SLP_tQiZwMonlIVAsOseWpN4Gd3zVirSxN2WJsO5kzs,2310
134
- edsl/language_models/LanguageModel.py,sha256=MpUs-71767RwVy0thutiltnGNNQ2eeRlePx26ZfGiS8,21611
135
- edsl/language_models/ModelList.py,sha256=IKh-Xxp6iBzHZmzcjVsOHhyQ-4GO8CKd0trhQxcl8F0,4683
130
+ edsl/language_models/LanguageModel.py,sha256=J5xdYF7ynNBX2AATt1DJuZT9d_mXneS46PIAdhW-nl0,19819
131
+ edsl/language_models/ModelList.py,sha256=DkDzr3zDhSnVC1IJ2p1YW0Z88CSzR0XKuvGiBBhfZoM,4248
136
132
  edsl/language_models/PriceManager.py,sha256=4dN8L1qn8KEhqqHVy_50yLAahrJKlesAm6jtE3pzMcw,4432
137
133
  edsl/language_models/RawResponseHandler.py,sha256=4ekXsNlDUOb_cfzmfJLS-KIjQXjf6xGgGdDgloqANxI,3904
138
134
  edsl/language_models/RegisterLanguageModelsMeta.py,sha256=eMtBSAnlRnC4c-0_o2QkSNyzv-uAce4BEGMXq2PLj2E,7523
139
135
  edsl/language_models/ServiceDataSources.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
140
- edsl/language_models/__init__.py,sha256=DkG3ZDEFOP1JQlhAuKTotxj4WfkWenzNJwr4WQpqq2Y,106
136
+ edsl/language_models/__init__.py,sha256=bvY7Gy6VkX1gSbNkRbGPS-M1kUnb0EohL0FSagaEaTs,109
141
137
  edsl/language_models/fake_openai_call.py,sha256=dxbL5e4NLF-eTk9IduPyGwLiVCX_-eGCJDaLYPlQTqc,364
142
138
  edsl/language_models/fake_openai_service.py,sha256=2AAsAinELbMZRqiepwBkWhWcLuMe5ORXUBNarrdl1ug,1714
143
139
  edsl/language_models/key_management/KeyLookup.py,sha256=bKmSrvivKtUrrSR2CX-uBi82mJKCwbhdRhPYTgLO4bs,2058
@@ -145,34 +141,38 @@ edsl/language_models/key_management/KeyLookupBuilder.py,sha256=sykgASMHvbj9az3-u
145
141
  edsl/language_models/key_management/KeyLookupCollection.py,sha256=OU6jPZoJ54fAtkTfxwsD2lw_ZVha92G_T0LpCq1r-js,1205
146
142
  edsl/language_models/key_management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
147
143
  edsl/language_models/key_management/models.py,sha256=n5H76iH6mWCsjVLmFwwVPhcB81jNkfa9hLwIgKVxeQI,2594
148
- edsl/language_models/model.py,sha256=H_0JtAkI6S6psX8h_hUwp2nEZNOMLPV3Dl33jnaj5A4,8784
149
- edsl/language_models/repair.py,sha256=TnYY6-rTQFeZaeGOymT0UkIjfZrxs4JK0v2h9UY4m48,5401
144
+ edsl/language_models/registry.py,sha256=VIYyv90B-fNTVojeZr3UXA30Giu9nhufpae5EfSijIs,5842
145
+ edsl/language_models/repair.py,sha256=oiJbIm-IVXXEIALWXY1W5vpqD4QSUNX41CEbUyuqRC8,5404
150
146
  edsl/language_models/utilities.py,sha256=0dXHl74OlGKf1224fo5wYsawdBvxqMAB87nY_tJ0VYY,2295
151
147
  edsl/notebooks/Notebook.py,sha256=j1W_sGp5Oa6tY4FlR2KthOU_ZzCFlRShkHYcpciIt94,8217
152
148
  edsl/notebooks/NotebookToLaTeX.py,sha256=94gewtyE9PHeZuMHkMm38Bv571vk0Scd5jmQFpVOBNY,4512
153
149
  edsl/notebooks/__init__.py,sha256=VNUA3nNq04slWNbYaNrzOhQJu3AZANpvBniyCJSzJ7U,45
154
150
  edsl/prompts/Prompt.py,sha256=SwvOVnw0SaSsYBjJgV11_hrrpgBlWbHxXKhM3d-0gG4,11409
155
151
  edsl/prompts/__init__.py,sha256=wrtkH7JW72U93_pnmTvqQx_NoadH5OPRNfrZ5AaD7Co,87
152
+ edsl/questions/AnswerValidatorMixin.py,sha256=kJQ7lePSt8vIDtZpS0-5NDf_APA7GAR1ufgUulovLvk,13306
156
153
  edsl/questions/ExceptionExplainer.py,sha256=BgM80FRPJjS_TrY6XaVmlT666MzY9DEagviGQj9-WEQ,2868
157
154
  edsl/questions/HTMLQuestion.py,sha256=mRzVpfFLZ2RYBSDbLHeXTyAXbUHorpiwhNf-nuUSC5M,3431
158
- edsl/questions/QuestionBase.py,sha256=vyMOvEfMtka-k9Lkx07e36Ui00wM0sjBLUMxI6mi82c,18504
159
- edsl/questions/QuestionBasePromptsMixin.py,sha256=PFzqZKyLhtwKebzakFnbCIN1_GzSzxsHxsRfttsSSEA,7949
160
- edsl/questions/QuestionBudget.py,sha256=Q5jMspdN0sm85bmwoX83KvtgNtogR6nnNgPcLoDlE3I,8133
161
- edsl/questions/QuestionCheckBox.py,sha256=ho_tyr3a6gHcA2kWlfz0dSW_-2yd6ifdC3niPPPQJAY,12847
162
- edsl/questions/QuestionExtract.py,sha256=42gz1nghFybqrmI3sUHUXB2wKtZtYM5NNFrWOU36fEI,6052
163
- edsl/questions/QuestionFreeText.py,sha256=yxs9H8y4RHUcmEjV02-_Pu_DjA2FizG9B3gd_hZQD2I,3377
155
+ edsl/questions/LoopProcessor.py,sha256=h2t8Sn71JBBpim3MaVcZtPTcUsPCBR2aJIpzDFzam5k,4553
156
+ edsl/questions/QuestionBase.py,sha256=K3wkT6JrPV02A2vlos6H-uNifnVcqz9D5yugO3tAvJs,17835
157
+ edsl/questions/QuestionBaseGenMixin.py,sha256=Xn_Akw_4k5PjK-ugMvCl4-49ONgD4a8O9sxErwkeRFc,6368
158
+ edsl/questions/QuestionBasePromptsMixin.py,sha256=D6A_cAVJrUYjoHjx_zXW2pZ8H7YohhirYg9shxP1DTM,7952
159
+ edsl/questions/QuestionBudget.py,sha256=TJgPsyqafJdJw5if0zVxh7zHloourINUqUWfWIlRq9Y,8131
160
+ edsl/questions/QuestionCheckBox.py,sha256=5FftMoV5qx6EtLqZepmeLr8iScVjST6nR3SjLYlIRgs,12850
161
+ edsl/questions/QuestionExtract.py,sha256=4Ti6huc-JS9D3OeC5w2EpVuJZWvMzuJJYW9H9i80VI0,6033
162
+ edsl/questions/QuestionFreeText.py,sha256=ywoatxmWZFUzbPclGXUCvOkyP8TyilsDK5wflzuOe5A,3375
164
163
  edsl/questions/QuestionFunctional.py,sha256=APuTZ5QNBTLvwv_iNcgFFV81qImiUL3qHMMHjArREf0,5581
165
- edsl/questions/QuestionList.py,sha256=YWCtqzo0JnYhNH0yOfU_iheL_3xQLiZm2L8i744B6Vo,7093
166
- edsl/questions/QuestionMatrix.py,sha256=AYmFkgsWoWIa83w9ByhYBzYmocO2Q7B5D_qFPE9nJbU,9207
167
- edsl/questions/QuestionMultipleChoice.py,sha256=5QyfLhMFFrzVpweP0U3bl0sluBf8qNiyZkx5On84l64,12328
168
- edsl/questions/QuestionNumerical.py,sha256=IBA8X3BuJ0q2sXrhcG1Px1FF1Hz7NOB9jvvtHGYUm8c,4873
169
- edsl/questions/QuestionRank.py,sha256=Fqs7Zwv5fzRV5UdBsC7xBR6qzOINJftaCjAtKneSh8w,11283
164
+ edsl/questions/QuestionList.py,sha256=5n2Rm3fS8uxtlFT4xm1TMICXEkzPdtr0dEGRotZ_Lyc,7174
165
+ edsl/questions/QuestionMatrix.py,sha256=XyIxRrvXdHOS5tu5V8Lz_OIxIfZbJmtjknYmH8Uu-A4,9205
166
+ edsl/questions/QuestionMultipleChoice.py,sha256=blCWsEAQV3r7vACxUmZSzyII2DGgN7wFW6pRPWXpj3E,12326
167
+ edsl/questions/QuestionNumerical.py,sha256=sJBzJSnvnvbB7BpjeLjR1QIMlL5mZaAR1XBj0dzoqeI,4871
168
+ edsl/questions/QuestionRank.py,sha256=XkTereYy-0uiDG7ioxeysEmJkWPl8EhxAwhECERFjkk,11281
170
169
  edsl/questions/Quick.py,sha256=h6h4fEvIkLIFJX2JiqfOUEXzku9azWxEpI5o2A4RmVs,1731
171
- edsl/questions/SimpleAskMixin.py,sha256=rbiKvNiH0-Fe5-hWSRqi1Yz0RbmwJ5bgU17z8Zf8oXc,2258
172
- edsl/questions/__init__.py,sha256=TasdJQxi0hPlR_icXqkMG6fJMwPi0peOzZMIEyB5ljg,1220
173
- edsl/questions/answer_validator_mixin.py,sha256=kJQ7lePSt8vIDtZpS0-5NDf_APA7GAR1ufgUulovLvk,13306
170
+ edsl/questions/RegisterQuestionsMeta.py,sha256=2h_9iZt3cjr_7JRmveTqbmEBBCvjtefMDfhM7Pgd_zg,2598
171
+ edsl/questions/ResponseValidatorABC.py,sha256=m8y-os6VfYy0mHTUOIW8UQHa4e60zHLdPQmhdWJtx4M,6994
172
+ edsl/questions/ResponseValidatorFactory.py,sha256=had1cPpGdgRNmJaQLyiRa3pooE68cAW2VC4eWm_AYlQ,1104
173
+ edsl/questions/SimpleAskMixin.py,sha256=D1lNPsuAXwiO4Y6dyU4WPJcEND1Ni04CQ93zv5zh3VE,2261
174
+ edsl/questions/__init__.py,sha256=CQMq_get7-c8SJtem9PPTfnuPUy_uTCUM55hVZCKNhI,1218
174
175
  edsl/questions/compose_questions.py,sha256=ZcLkwNaofk-o0-skGXEDGZAj6DumOhVhyIUjqEnKrbg,3380
175
- edsl/questions/data_structures.py,sha256=PbIML8388sHogUHGamz21DXKEpfU8zwyiGflc1y0cHE,432
176
176
  edsl/questions/decorators.py,sha256=ZijaRYUntAcg0JEztCiOEpcDvvVie___85Zx5ogBQXY,596
177
177
  edsl/questions/derived/QuestionLikertFive.py,sha256=XCpmwlk2qyCxEkiG3UwPqVpS5-k4d4uWyMaxfJg5wkw,2585
178
178
  edsl/questions/derived/QuestionLinearScale.py,sha256=7A1VQc_ECIX8UgkH_usySEMMDThFiqKtrGJakL8mPdY,3420
@@ -180,7 +180,6 @@ edsl/questions/derived/QuestionTopK.py,sha256=IAmW1kUA1rvW_NH3yxroLfarhl6_QyTEwW
180
180
  edsl/questions/derived/QuestionYesNo.py,sha256=KWJyaXSNPNxELtK0nWvIqNtpAF05MMAC0ILUjxXkVwo,2735
181
181
  edsl/questions/derived/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
182
182
  edsl/questions/descriptors.py,sha256=tPWOseUxmHUrL0rPcBcYmg-0gyzwvxGLAo3Jh3-apCQ,16606
183
- edsl/questions/loop_processor.py,sha256=h2t8Sn71JBBpim3MaVcZtPTcUsPCBR2aJIpzDFzam5k,4553
184
183
  edsl/questions/prompt_templates/question_budget.jinja,sha256=-ekZYCa_KRc-xLcpf3j-YmXV0WSyIK_laOp2x3li-tA,737
185
184
  edsl/questions/prompt_templates/question_checkbox.jinja,sha256=V-Dn2VJhfXyIILWIhMviTfQ5WuXh1YZerwicaA6Okzc,1136
186
185
  edsl/questions/prompt_templates/question_extract.jinja,sha256=27b8iMJaA2h5UOrHPMiBCapMnJou4vSkZzkZndK2s1U,343
@@ -189,11 +188,7 @@ edsl/questions/prompt_templates/question_linear_scale.jinja,sha256=VB9bFPeLGGb5a
189
188
  edsl/questions/prompt_templates/question_list.jinja,sha256=MAkNv88E79jXK9TxKdnf5KgA77CWz9vXc2TZm2r-g-A,495
190
189
  edsl/questions/prompt_templates/question_multiple_choice.jinja,sha256=sSyAhnexZF6oWqHL-45r7o69vrFcCbbYXLZ3zu7q76U,761
191
190
  edsl/questions/prompt_templates/question_numerical.jinja,sha256=c20sp3HfFonfaRwwmnF7HjAEugU15QlgpNAIkNHasl0,1218
192
- edsl/questions/question_base_gen_mixin.py,sha256=UNgYVmQvX_adD9FxQEd0peTzhW6-lf9iDocmkNplZhY,6182
193
191
  edsl/questions/question_registry.py,sha256=zfXrHu8nJGLgp-ExIVy9whMwvCEcobSgxw7hvwEawEk,6344
194
- edsl/questions/register_questions_meta.py,sha256=2h_9iZt3cjr_7JRmveTqbmEBBCvjtefMDfhM7Pgd_zg,2598
195
- edsl/questions/response_validator_abc.py,sha256=410DIb8Z5uF_xu1lG32OF6X7aoOtL6gG3UIMY83kfeo,6838
196
- edsl/questions/response_validator_factory.py,sha256=IzRHHcr2CjWFLgCHXHojwWa5Erc6E8pilTLys1M-5zE,1301
197
192
  edsl/questions/settings.py,sha256=er_z0ZW_dgmC5CHLWkaqBJiuWgAYzIund85M5YZFQAI,291
198
193
  edsl/questions/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
199
194
  edsl/questions/templates/budget/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -238,41 +233,42 @@ edsl/questions/templates/yes_no/answering_instructions.jinja,sha256=UAcssfcYeW8z
238
233
  edsl/questions/templates/yes_no/question_presentation.jinja,sha256=hoEVj4GQD3EYnR2AStXkMFOJeqISNoEVzBd8-cx2yWg,273
239
234
  edsl/results/CSSParameterizer.py,sha256=vI3VTgTihJeCYGfmGp7fOhTitHZ17jrDGbq46Sa2rd8,3677
240
235
  edsl/results/Dataset.py,sha256=5mpxMKUqqv-593lF5fEgi2aORUj2iIbIMEZnPrTP33M,20401
241
- edsl/results/DatasetExportMixin.py,sha256=6U1IN1Nb_bwgDZtQx9mhUV63Topkvv3ssxyqBEcG848,21267
236
+ edsl/results/DatasetExportMixin.py,sha256=gAWw8U1JFczR6MzMt9vgIa3xLmRDwWG1eA1Fwo8TCF4,23015
242
237
  edsl/results/DatasetTree.py,sha256=nvNCF9psLcQ65qsxze7qkrhLn-U-N8OJ327Nf-sFskQ,10178
243
238
  edsl/results/MarkdownToDocx.py,sha256=e8kdDPoqS6Zvd8OTldP9AXbjtmr8BZnro7f0-g1ENi4,4123
244
239
  edsl/results/MarkdownToPDF.py,sha256=RgQ8V86AD_h0HlohUiTWcbL8zOpI8xFC4FK-aOh26HE,3608
245
- edsl/results/Result.py,sha256=B3rlgryviGkLiXYNRmT1F2HnYYZo-9cyC_UYIIWDu6A,20548
246
- edsl/results/Results.py,sha256=uQbmwPCyb027iZSY_9SYLD5M2NhbZkKpl3U_I9Tc4Ao,41490
240
+ edsl/results/Result.py,sha256=bL3A7qJOcnu2rH3K9Hp1YwrEF0CyrEXyVwXM5oFXlQU,15997
241
+ edsl/results/Results.py,sha256=z8Qlz4lL3bjX2zm9GzB5eQjKIyyA5yP-vQDcI-XfGNs,40900
247
242
  edsl/results/ResultsExportMixin.py,sha256=v9N4pUMrycmKIDzdWn1grmx7F8lxIPAOjfV6OScYSwc,1379
243
+ edsl/results/ResultsFetchMixin.py,sha256=VEa0TKDcXbnTinSKs9YaE4WjOSLmlp9Po1_9kklFvSo,848
248
244
  edsl/results/ResultsGGMixin.py,sha256=SAYz8p4wb1g8x6KhBVz9NHOGib2c2XsqtTclpADrFeM,4344
245
+ edsl/results/ResultsToolsMixin.py,sha256=mseEFxJCf9sjXdIxpjITt_UZBwdXxw2o2VLg5jMrALA,3017
246
+ edsl/results/Selector.py,sha256=tLz6OxUnyNCJF6WWOfsY2AFIrdbK0FqqvhTVGyJs-Lc,5271
249
247
  edsl/results/TableDisplay.py,sha256=xGJcotgUqWrmCkQLeD9YIwLrNv7su4VDce3EnllfrLQ,3725
250
248
  edsl/results/TextEditor.py,sha256=8lG6Dh1PDE3Yq_oDvu2zOQHpcQEfLfflSzd04BjHciw,1370
251
249
  edsl/results/__init__.py,sha256=cGvJx1BvGCspUPTKYxKwQDRIoWxFSwHUAfOfuVVti4E,82
252
- edsl/results/file_exports.py,sha256=usanzUuUO2TzS8kM0yZJvrRFCUg5VeeCCuJNXJIcHuI,7912
253
- edsl/results/results_fetch_mixin.py,sha256=VEa0TKDcXbnTinSKs9YaE4WjOSLmlp9Po1_9kklFvSo,848
254
- edsl/results/results_selector.py,sha256=tLz6OxUnyNCJF6WWOfsY2AFIrdbK0FqqvhTVGyJs-Lc,5271
255
- edsl/results/results_tools_mixin.py,sha256=mseEFxJCf9sjXdIxpjITt_UZBwdXxw2o2VLg5jMrALA,3017
256
250
  edsl/results/smart_objects.py,sha256=_mfO0OXWTAbeZr-lGj6TUskfkqKa6ztgdHWmLBaFjow,2462
257
251
  edsl/results/table_data_class.py,sha256=XQ1kHoBtbx-QBB-05FDwh2rip-XCZBex8dTkA1haLBs,254
258
252
  edsl/results/table_display.css,sha256=d9HuZYpGvgpDItjYYB0SI88qEPZ4pLgxbhzty_o5DoY,2106
259
253
  edsl/results/table_renderers.py,sha256=t3ELBYTFLcNJ6iGuQdMwQCxTe9j189AawDMA9YLrTgc,4387
260
254
  edsl/results/tree_explore.py,sha256=hQjiO4E71rIOPDgEHgK8T8ukxqoNdgX_tvyiDlG4_9U,4624
261
255
  edsl/scenarios/ConstructDownloadLink.py,sha256=DGfF6hoCUovpTQ_GWiEndc--fXe9St6UdiaPhj7ZJZw,3529
256
+ edsl/scenarios/DirectoryScanner.py,sha256=eJHPx6pc_No-I-old0vwrNRwNxmgnn3Fr6mht5mp8Fw,3312
262
257
  edsl/scenarios/DocumentChunker.py,sha256=LZXh_yx507LMNQ-i2VnSHZiPpRI0XQUECO8e3xAKAjI,3545
263
258
  edsl/scenarios/DocxScenario.py,sha256=ul3nkX826m_T6LFptswqtnH5czP_yxMlLWgbTmFIZI4,482
264
- edsl/scenarios/FileStore.py,sha256=onFZAqkdqzyQeQ9_2zn1qGY40SqmRG9X8DvtcbXW39o,17418
259
+ edsl/scenarios/FileStore.py,sha256=c4Mzco_xpcyVGywHHAyPuu53OzRQD_9W9fyyPsYQKtc,16202
265
260
  edsl/scenarios/PdfExtractor.py,sha256=ATJ_QOJ3yE7SkdAu3nQdQ-Z9dSjkBZyrEgeuDNtU_ZQ,1310
266
261
  edsl/scenarios/Scenario.py,sha256=670xmH15K0YZovouw4EQc1fdGerY96gtfgfAOOjSxno,17021
267
262
  edsl/scenarios/ScenarioHtmlMixin.py,sha256=5H8MnPPWqlGZ0_Ojv1WjkFaNNRrr-JpCRwlABDBfPXs,2111
268
- edsl/scenarios/ScenarioList.py,sha256=xFn6LqixMsSJQk33Zk49rdGgKmq_K06SqhCQTE3pCuU,54341
263
+ edsl/scenarios/ScenarioJoin.py,sha256=HO4ITQTDvFLLTuxjAgT7eLWbXGKfVtGJg4T3QfpvmgY,4902
264
+ edsl/scenarios/ScenarioList.py,sha256=SwWkkloPm3JkHeoZAad-RJOgN0Pg83-wl-4mkW5n6p8,53115
269
265
  edsl/scenarios/ScenarioListExportMixin.py,sha256=eghBPIi4CmvkPbHV2hpFyE08jtOzuHiKAlt4JC9D81w,1475
270
266
  edsl/scenarios/ScenarioListPdfMixin.py,sha256=DjDbWdEz8VarVZXs5KCXZ66-74Ac4Xz515AwhPnZua0,7578
267
+ edsl/scenarios/ScenarioSelector.py,sha256=Z47VwSkz57-u3-QRC8yAaQGTf0oIy3gtAK8MMYelX2g,5899
271
268
  edsl/scenarios/__init__.py,sha256=CQXwTNTIG9jg_pLkDPZgapUFY0_LwZFVQ8HaYvof0Nc,145
272
- edsl/scenarios/directory_scanner.py,sha256=eJHPx6pc_No-I-old0vwrNRwNxmgnn3Fr6mht5mp8Fw,3312
273
269
  edsl/scenarios/file_methods.py,sha256=HeusyoXOi2Bb0Bfp8MVDWKMFpe_ipP-cxENiRrSKZQU,2621
274
270
  edsl/scenarios/handlers/__init__.py,sha256=4GdEfrAk5a7mUfbwnf0TCcrvp1_aAYZPAnd433NmiGM,384
275
- edsl/scenarios/handlers/csv.py,sha256=5W2fWa6FAL_QGTYTVLFaiEr28f6W7FaF-a9drsklSfc,1383
271
+ edsl/scenarios/handlers/csv.py,sha256=6wKJwTWqMbVOX5ZgjKmo6fh3P1Y-2QJJ79KJ18hRAnk,1129
276
272
  edsl/scenarios/handlers/docx.py,sha256=e6POWp3Xs-XCVr8TKMtDka1ZRySXZf17TcSimvw6owY,2203
277
273
  edsl/scenarios/handlers/html.py,sha256=zXipNAYcQE4LRBrKZC9L_tkY1snxQe8ciJ2S1diyMcM,927
278
274
  edsl/scenarios/handlers/json.py,sha256=hlZMHYwwuFrV9bGdbn8MNAjgBFue6l5W2TwCfyxSjZ0,3682
@@ -285,8 +281,6 @@ edsl/scenarios/handlers/py.py,sha256=XF5QTZeDTS85N0qgrchNiFA6XH4i9NKIw1K6oF-33dE
285
281
  edsl/scenarios/handlers/sql.py,sha256=wjs4GUrudZJKjPqnDIYXzPJI907pH9W9NXWISOjIQys,9705
286
282
  edsl/scenarios/handlers/sqlite.py,sha256=GArwjxOscS9iNXIWTimRA2ZWU4ZmN5TgmYjQYZzcEF0,4982
287
283
  edsl/scenarios/handlers/txt.py,sha256=aj6nPDP9tq0MrUXcswahKmAAa5d9OFB9k2QTtr8QtEM,998
288
- edsl/scenarios/scenario_join.py,sha256=HO4ITQTDvFLLTuxjAgT7eLWbXGKfVtGJg4T3QfpvmgY,4902
289
- edsl/scenarios/scenario_selector.py,sha256=Z47VwSkz57-u3-QRC8yAaQGTf0oIy3gtAK8MMYelX2g,5899
290
284
  edsl/shared.py,sha256=lgLa-mCk2flIhxXarXLtfXZjXG_6XHhC2A3O8yRTjXc,20
291
285
  edsl/study/ObjectEntry.py,sha256=Jtg8V_63BXKKMAOMBqhuHFBjuNqFdkHen8gS2LAWc8Q,5811
292
286
  edsl/study/ProofOfWork.py,sha256=FaqYtLgeiTEQXWKukPgPUTWMcIN5t1FR7h7Re8QEtgc,3433
@@ -304,7 +298,7 @@ edsl/surveys/Rule.py,sha256=Hou5_sSpvIfBdZNQk8tHFf-q4JT0wrV_kPMGbmLBfgA,12403
304
298
  edsl/surveys/RuleCollection.py,sha256=UC300EOPhjrMc-88eWt5kKBg1pVvKzzwgda2hjHW_sk,14790
305
299
  edsl/surveys/RuleManager.py,sha256=8k1XfTWaJbgjLLJsryBxVSiZ2_YuJPqE750jZEEtVwI,6216
306
300
  edsl/surveys/Simulator.py,sha256=I4_vHNnwe43SAbw7CK1xa45tahAKHfNRbRxGTRXdHuA,2586
307
- edsl/surveys/Survey.py,sha256=DyJGHUftEybU70WKYu891mJEcjVKETxw6fmFnJ7d3zg,47818
301
+ edsl/surveys/Survey.py,sha256=cIwEgWctOAUNpKEL3x0DaF7UF3cXgSOBDhidObDcZso,45909
308
302
  edsl/surveys/SurveyCSS.py,sha256=fIdiLuXTUq6KuoXXAU_LTHTTe6RchnCmZpj3j7qnt5Y,8796
309
303
  edsl/surveys/SurveyExportMixin.py,sha256=Kvkd2ku2Kemsn2Nw-Yt8GTnGFcUqfEiKznmisAeO7ck,8339
310
304
  edsl/surveys/SurveyFlowVisualization.py,sha256=OLdVZstVuzR_DFulTosRBhpUa9wQ6XJjKbOpvTUCgJw,6467
@@ -352,7 +346,7 @@ edsl/utilities/remove_edsl_version.py,sha256=3n2RoXvZ4pH3k-_lc7B-vkeUyHXHX6vKHQS
352
346
  edsl/utilities/repair_functions.py,sha256=tftmklAqam6LOQQu_-9U44N-llycffhW8LfO63vBmNw,929
353
347
  edsl/utilities/restricted_python.py,sha256=5-_zUhrNbos7pLhDl9nr8d24auRlquR6w-vKkmNjPiA,2060
354
348
  edsl/utilities/utilities.py,sha256=FbI9QYGD4eaHrwZ6ePx51jjpatZqwSPHJhimx-h6HyA,12660
355
- edsl-0.1.39.dist-info/LICENSE,sha256=_qszBDs8KHShVYcYzdMz3HNMtH-fKN_p5zjoVAVumFc,1111
356
- edsl-0.1.39.dist-info/METADATA,sha256=c89ovMcF9TwOlLKVkXRT2V7JACEcgj2Swsvbq8QP_Sc,4760
357
- edsl-0.1.39.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
358
- edsl-0.1.39.dist-info/RECORD,,
349
+ edsl-0.1.39.dev2.dist-info/LICENSE,sha256=_qszBDs8KHShVYcYzdMz3HNMtH-fKN_p5zjoVAVumFc,1111
350
+ edsl-0.1.39.dev2.dist-info/METADATA,sha256=s-RAWhOUF2DcyqHQWaSea1TRaww8vQgnRF7K7CBUNsc,4765
351
+ edsl-0.1.39.dev2.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
352
+ edsl-0.1.39.dev2.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 1.9.1
2
+ Generator: poetry-core 1.9.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
@@ -1,138 +0,0 @@
1
- from collections.abc import AsyncGenerator
2
- from typing import List, TypeVar, Generator, Tuple, TYPE_CHECKING
3
- from dataclasses import dataclass
4
- import asyncio
5
- from contextlib import asynccontextmanager
6
- from edsl.data_transfer_models import EDSLResultObjectInput
7
-
8
- from edsl.results.Result import Result
9
- from edsl.jobs.interviews.Interview import Interview
10
-
11
- if TYPE_CHECKING:
12
- from edsl.jobs.Jobs import Jobs
13
-
14
-
15
- @dataclass
16
- class InterviewResult:
17
- result: Result
18
- interview: Interview
19
- order: int
20
-
21
-
22
- from edsl.jobs.data_structures import RunConfig
23
-
24
-
25
- class AsyncInterviewRunner:
26
- MAX_CONCURRENT = 5
27
-
28
- def __init__(self, jobs: "Jobs", run_config: RunConfig):
29
- self.jobs = jobs
30
- self.run_config = run_config
31
- self._initialized = asyncio.Event()
32
-
33
- def _expand_interviews(self) -> Generator["Interview", None, None]:
34
- """Populates self.total_interviews with n copies of each interview.
35
-
36
- It also has to set the cache for each interview.
37
-
38
- :param n: how many times to run each interview.
39
- """
40
- for interview in self.jobs.generate_interviews():
41
- for iteration in range(self.run_config.parameters.n):
42
- if iteration > 0:
43
- yield interview.duplicate(
44
- iteration=iteration, cache=self.run_config.environment.cache
45
- )
46
- else:
47
- interview.cache = self.run_config.environment.cache
48
- yield interview
49
-
50
- async def _conduct_interview(
51
- self, interview: "Interview"
52
- ) -> Tuple["Result", "Interview"]:
53
- """Conducts an interview and returns the result object, along with the associated interview.
54
-
55
- We return the interview because it is not populated with exceptions, if any.
56
-
57
- :param interview: the interview to conduct
58
- :return: the result of the interview
59
-
60
- 'extracted_answers' is a dictionary of the answers to the questions in the interview.
61
- This is not the same as the generated_tokens---it can include substantial cleaning and processing / validation.
62
- """
63
- # the model buckets are used to track usage rates
64
- # model_buckets = self.bucket_collection[interview.model]
65
- # model_buckets = self.run_config.environment.bucket_collection[interview.model]
66
-
67
- # get the results of the interview e.g., {'how_are_you':"Good" 'how_are_you_generated_tokens': "Good"}
68
- extracted_answers: dict[str, str]
69
- model_response_objects: List[EDSLResultObjectInput]
70
-
71
- extracted_answers, model_response_objects = (
72
- await interview.async_conduct_interview(self.run_config)
73
- )
74
- result = Result.from_interview(
75
- interview=interview,
76
- extracted_answers=extracted_answers,
77
- model_response_objects=model_response_objects,
78
- )
79
- return result, interview
80
-
81
- async def run(
82
- self,
83
- ) -> AsyncGenerator[tuple[Result, Interview], None]:
84
- """Creates and processes tasks asynchronously, yielding results as they complete.
85
-
86
- Uses TaskGroup for structured concurrency and automated cleanup.
87
- Results are yielded as they become available while maintaining controlled concurrency.
88
- """
89
- interviews = list(self._expand_interviews())
90
- self._initialized.set()
91
-
92
- async def _process_single_interview(
93
- interview: Interview, idx: int
94
- ) -> InterviewResult:
95
- try:
96
- result, interview = await self._conduct_interview(interview)
97
- self.run_config.environment.jobs_runner_status.add_completed_interview(
98
- result
99
- )
100
- result.order = idx
101
- return InterviewResult(result, interview, idx)
102
- except Exception as e:
103
- # breakpoint()
104
- if self.run_config.parameters.stop_on_exception:
105
- raise
106
- # logger.error(f"Task failed with error: {e}")
107
- return None
108
-
109
- # Process interviews in chunks
110
- for i in range(0, len(interviews), self.MAX_CONCURRENT):
111
- chunk = interviews[i : i + self.MAX_CONCURRENT]
112
- tasks = [
113
- asyncio.create_task(_process_single_interview(interview, idx))
114
- for idx, interview in enumerate(chunk, start=i)
115
- ]
116
-
117
- try:
118
- # Wait for all tasks in the chunk to complete
119
- results = await asyncio.gather(
120
- *tasks,
121
- return_exceptions=not self.run_config.parameters.stop_on_exception
122
- )
123
-
124
- # Process successful results
125
- for result in (r for r in results if r is not None):
126
- yield result.result, result.interview
127
-
128
- except Exception as e:
129
- if self.run_config.parameters.stop_on_exception:
130
- raise
131
- # logger.error(f"Chunk processing failed with error: {e}")
132
- continue
133
-
134
- finally:
135
- # Clean up any remaining tasks
136
- for task in tasks:
137
- if not task.done():
138
- task.cancel()
@@ -1,85 +0,0 @@
1
- import warnings
2
- from typing import TYPE_CHECKING
3
-
4
- if TYPE_CHECKING:
5
- from edsl.surveys.Survey import Survey
6
- from edsl.scenarios.ScenarioList import ScenarioList
7
-
8
-
9
- class CheckSurveyScenarioCompatibility:
10
-
11
- def __init__(self, survey: "Survey", scenarios: "ScenarioList"):
12
- self.survey = survey
13
- self.scenarios = scenarios
14
-
15
- def check(self, strict: bool = False, warn: bool = False) -> None:
16
- """Check if the parameters in the survey and scenarios are consistent.
17
-
18
- >>> from edsl.jobs.Jobs import Jobs
19
- >>> from edsl.questions.QuestionFreeText import QuestionFreeText
20
- >>> from edsl.surveys.Survey import Survey
21
- >>> from edsl.scenarios.Scenario import Scenario
22
- >>> q = QuestionFreeText(question_text = "{{poo}}", question_name = "ugly_question")
23
- >>> j = Jobs(survey = Survey(questions=[q]))
24
- >>> cs = CheckSurveyScenarioCompatibility(j.survey, j.scenarios)
25
- >>> with warnings.catch_warnings(record=True) as w:
26
- ... cs.check(warn = True)
27
- ... assert len(w) == 1
28
- ... assert issubclass(w[-1].category, UserWarning)
29
- ... assert "The following parameters are in the survey but not in the scenarios" in str(w[-1].message)
30
-
31
- >>> q = QuestionFreeText(question_text = "{{poo}}", question_name = "ugly_question")
32
- >>> s = Scenario({'plop': "A", 'poo': "B"})
33
- >>> j = Jobs(survey = Survey(questions=[q])).by(s)
34
- >>> cs = CheckSurveyScenarioCompatibility(j.survey, j.scenarios)
35
- >>> cs.check(strict = True)
36
- Traceback (most recent call last):
37
- ...
38
- ValueError: The following parameters are in the scenarios but not in the survey: {'plop'}
39
-
40
- >>> q = QuestionFreeText(question_text = "Hello", question_name = "ugly_question")
41
- >>> s = Scenario({'ugly_question': "B"})
42
- >>> from edsl.scenarios.ScenarioList import ScenarioList
43
- >>> cs = CheckSurveyScenarioCompatibility(Survey(questions=[q]), ScenarioList([s]))
44
- >>> cs.check()
45
- Traceback (most recent call last):
46
- ...
47
- ValueError: The following names are in both the survey question_names and the scenario keys: {'ugly_question'}. This will create issues.
48
- """
49
- survey_parameters: set = self.survey.parameters
50
- scenario_parameters: set = self.scenarios.parameters
51
-
52
- msg0, msg1, msg2 = None, None, None
53
-
54
- # look for key issues
55
- if intersection := set(self.scenarios.parameters) & set(
56
- self.survey.question_names
57
- ):
58
- msg0 = f"The following names are in both the survey question_names and the scenario keys: {intersection}. This will create issues."
59
-
60
- raise ValueError(msg0)
61
-
62
- if in_survey_but_not_in_scenarios := survey_parameters - scenario_parameters:
63
- msg1 = f"The following parameters are in the survey but not in the scenarios: {in_survey_but_not_in_scenarios}"
64
- if in_scenarios_but_not_in_survey := scenario_parameters - survey_parameters:
65
- msg2 = f"The following parameters are in the scenarios but not in the survey: {in_scenarios_but_not_in_survey}"
66
-
67
- if msg1 or msg2:
68
- message = "\n".join(filter(None, [msg1, msg2]))
69
- if strict:
70
- raise ValueError(message)
71
- else:
72
- if warn:
73
- warnings.warn(message)
74
-
75
- if self.scenarios.has_jinja_braces:
76
- warnings.warn(
77
- "The scenarios have Jinja braces ({{ and }}). Converting to '<<' and '>>'. If you want a different conversion, use the convert_jinja_braces method first to modify the scenario."
78
- )
79
- self.scenarios = self.scenarios._convert_jinja_braces()
80
-
81
-
82
- if __name__ == "__main__":
83
- import doctest
84
-
85
- doctest.testmod()