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.
- edsl/Base.py +0 -28
- edsl/__init__.py +1 -1
- edsl/__version__.py +1 -1
- edsl/agents/Agent.py +17 -9
- edsl/agents/Invigilator.py +14 -13
- edsl/agents/InvigilatorBase.py +1 -4
- edsl/agents/PromptConstructor.py +22 -42
- edsl/agents/QuestionInstructionPromptBuilder.py +1 -1
- edsl/auto/AutoStudy.py +5 -18
- edsl/auto/StageBase.py +40 -53
- edsl/auto/StageQuestions.py +1 -2
- edsl/auto/utilities.py +6 -0
- edsl/coop/coop.py +5 -21
- edsl/data/Cache.py +18 -29
- edsl/data/CacheHandler.py +2 -0
- edsl/data/RemoteCacheSync.py +46 -154
- edsl/enums.py +0 -7
- edsl/inference_services/AnthropicService.py +16 -38
- edsl/inference_services/AvailableModelFetcher.py +1 -7
- edsl/inference_services/GoogleService.py +1 -5
- edsl/inference_services/InferenceServicesCollection.py +2 -18
- edsl/inference_services/OpenAIService.py +31 -46
- edsl/inference_services/TestService.py +3 -1
- edsl/inference_services/TogetherAIService.py +3 -5
- edsl/inference_services/data_structures.py +2 -74
- edsl/jobs/AnswerQuestionFunctionConstructor.py +113 -148
- edsl/jobs/FetchInvigilator.py +3 -10
- edsl/jobs/InterviewsConstructor.py +4 -6
- edsl/jobs/Jobs.py +233 -299
- edsl/jobs/JobsChecks.py +2 -2
- edsl/jobs/JobsPrompts.py +1 -1
- edsl/jobs/JobsRemoteInferenceHandler.py +136 -160
- edsl/jobs/interviews/Interview.py +42 -80
- edsl/jobs/runners/JobsRunnerAsyncio.py +358 -88
- edsl/jobs/runners/JobsRunnerStatus.py +165 -133
- edsl/jobs/tasks/TaskHistory.py +3 -24
- edsl/language_models/LanguageModel.py +4 -59
- edsl/language_models/ModelList.py +8 -19
- edsl/language_models/__init__.py +1 -1
- edsl/language_models/registry.py +180 -0
- edsl/language_models/repair.py +1 -1
- edsl/questions/QuestionBase.py +26 -35
- edsl/questions/{question_base_gen_mixin.py → QuestionBaseGenMixin.py} +49 -52
- edsl/questions/QuestionBasePromptsMixin.py +1 -1
- edsl/questions/QuestionBudget.py +1 -1
- edsl/questions/QuestionCheckBox.py +2 -2
- edsl/questions/QuestionExtract.py +7 -5
- edsl/questions/QuestionFreeText.py +1 -1
- edsl/questions/QuestionList.py +15 -9
- edsl/questions/QuestionMatrix.py +1 -1
- edsl/questions/QuestionMultipleChoice.py +1 -1
- edsl/questions/QuestionNumerical.py +1 -1
- edsl/questions/QuestionRank.py +1 -1
- edsl/questions/{response_validator_abc.py → ResponseValidatorABC.py} +18 -6
- edsl/questions/{response_validator_factory.py → ResponseValidatorFactory.py} +1 -7
- edsl/questions/SimpleAskMixin.py +1 -1
- edsl/questions/__init__.py +1 -1
- edsl/results/DatasetExportMixin.py +119 -60
- edsl/results/Result.py +3 -109
- edsl/results/Results.py +39 -50
- edsl/scenarios/FileStore.py +0 -32
- edsl/scenarios/ScenarioList.py +7 -35
- edsl/scenarios/handlers/csv.py +0 -11
- edsl/surveys/Survey.py +20 -71
- {edsl-0.1.39.dist-info → edsl-0.1.39.dev2.dist-info}/METADATA +1 -1
- {edsl-0.1.39.dist-info → edsl-0.1.39.dev2.dist-info}/RECORD +78 -84
- {edsl-0.1.39.dist-info → edsl-0.1.39.dev2.dist-info}/WHEEL +1 -1
- edsl/jobs/async_interview_runner.py +0 -138
- edsl/jobs/check_survey_scenario_compatibility.py +0 -85
- edsl/jobs/data_structures.py +0 -120
- edsl/jobs/results_exceptions_handler.py +0 -98
- edsl/language_models/model.py +0 -256
- edsl/questions/data_structures.py +0 -20
- edsl/results/file_exports.py +0 -252
- /edsl/agents/{question_option_processor.py → QuestionOptionProcessor.py} +0 -0
- /edsl/questions/{answer_validator_mixin.py → AnswerValidatorMixin.py} +0 -0
- /edsl/questions/{loop_processor.py → LoopProcessor.py} +0 -0
- /edsl/questions/{register_questions_meta.py → RegisterQuestionsMeta.py} +0 -0
- /edsl/results/{results_fetch_mixin.py → ResultsFetchMixin.py} +0 -0
- /edsl/results/{results_tools_mixin.py → ResultsToolsMixin.py} +0 -0
- /edsl/results/{results_selector.py → Selector.py} +0 -0
- /edsl/scenarios/{directory_scanner.py → DirectoryScanner.py} +0 -0
- /edsl/scenarios/{scenario_join.py → ScenarioJoin.py} +0 -0
- /edsl/scenarios/{scenario_selector.py → ScenarioSelector.py} +0 -0
- {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
|
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=
|
5
|
-
edsl/__version__.py,sha256
|
6
|
-
edsl/agents/Agent.py,sha256
|
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=
|
9
|
-
edsl/agents/InvigilatorBase.py,sha256=
|
10
|
-
edsl/agents/PromptConstructor.py,sha256=
|
11
|
-
edsl/agents/QuestionInstructionPromptBuilder.py,sha256=
|
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/
|
17
|
-
edsl/auto/
|
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=
|
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=
|
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=
|
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=
|
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=
|
44
|
-
edsl/data/RemoteCacheSync.py,sha256=
|
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=
|
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=
|
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=
|
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=
|
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=
|
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=
|
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=
|
82
|
-
edsl/inference_services/TogetherAIService.py,sha256=
|
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=
|
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=
|
89
|
+
edsl/jobs/AnswerQuestionFunctionConstructor.py,sha256=nOTsy1_mNNFY5jah7EuaVGumEjWXXXhwohc00ynUvQY,7128
|
90
90
|
edsl/jobs/Answers.py,sha256=lZpbGAqYqMQw7MUsmpivqMZkHjHHOmCY32s9Km284pQ,1445
|
91
|
-
edsl/jobs/FetchInvigilator.py,sha256=
|
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=
|
94
|
-
edsl/jobs/Jobs.py,sha256=
|
95
|
-
edsl/jobs/JobsChecks.py,sha256=
|
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=
|
98
|
-
edsl/jobs/JobsRemoteInferenceHandler.py,sha256=
|
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=
|
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/
|
123
|
-
edsl/jobs/runners/
|
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=
|
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=
|
135
|
-
edsl/language_models/ModelList.py,sha256=
|
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=
|
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/
|
149
|
-
edsl/language_models/repair.py,sha256=
|
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/
|
159
|
-
edsl/questions/
|
160
|
-
edsl/questions/
|
161
|
-
edsl/questions/
|
162
|
-
edsl/questions/
|
163
|
-
edsl/questions/
|
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=
|
166
|
-
edsl/questions/QuestionMatrix.py,sha256=
|
167
|
-
edsl/questions/QuestionMultipleChoice.py,sha256=
|
168
|
-
edsl/questions/QuestionNumerical.py,sha256=
|
169
|
-
edsl/questions/QuestionRank.py,sha256=
|
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/
|
172
|
-
edsl/questions/
|
173
|
-
edsl/questions/
|
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=
|
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=
|
246
|
-
edsl/results/Results.py,sha256=
|
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=
|
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/
|
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=
|
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=
|
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=
|
357
|
-
edsl-0.1.39.dist-info/WHEEL,sha256=
|
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,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()
|