edsl 0.1.38.dev1__py3-none-any.whl → 0.1.38.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 (263) hide show
  1. edsl/Base.py +303 -303
  2. edsl/BaseDiff.py +260 -260
  3. edsl/TemplateLoader.py +24 -24
  4. edsl/__init__.py +49 -48
  5. edsl/__version__.py +1 -1
  6. edsl/agents/Agent.py +858 -855
  7. edsl/agents/AgentList.py +362 -350
  8. edsl/agents/Invigilator.py +222 -222
  9. edsl/agents/InvigilatorBase.py +284 -284
  10. edsl/agents/PromptConstructor.py +353 -353
  11. edsl/agents/__init__.py +3 -3
  12. edsl/agents/descriptors.py +99 -99
  13. edsl/agents/prompt_helpers.py +129 -129
  14. edsl/auto/AutoStudy.py +117 -117
  15. edsl/auto/StageBase.py +230 -230
  16. edsl/auto/StageGenerateSurvey.py +178 -178
  17. edsl/auto/StageLabelQuestions.py +125 -125
  18. edsl/auto/StagePersona.py +61 -61
  19. edsl/auto/StagePersonaDimensionValueRanges.py +88 -88
  20. edsl/auto/StagePersonaDimensionValues.py +74 -74
  21. edsl/auto/StagePersonaDimensions.py +69 -69
  22. edsl/auto/StageQuestions.py +73 -73
  23. edsl/auto/SurveyCreatorPipeline.py +21 -21
  24. edsl/auto/utilities.py +224 -224
  25. edsl/base/Base.py +279 -289
  26. edsl/config.py +149 -149
  27. edsl/conversation/Conversation.py +290 -290
  28. edsl/conversation/car_buying.py +58 -58
  29. edsl/conversation/chips.py +95 -95
  30. edsl/conversation/mug_negotiation.py +81 -81
  31. edsl/conversation/next_speaker_utilities.py +93 -93
  32. edsl/coop/PriceFetcher.py +54 -54
  33. edsl/coop/__init__.py +2 -2
  34. edsl/coop/coop.py +961 -958
  35. edsl/coop/utils.py +131 -131
  36. edsl/data/Cache.py +530 -527
  37. edsl/data/CacheEntry.py +228 -228
  38. edsl/data/CacheHandler.py +149 -149
  39. edsl/data/RemoteCacheSync.py +97 -97
  40. edsl/data/SQLiteDict.py +292 -292
  41. edsl/data/__init__.py +4 -4
  42. edsl/data/orm.py +10 -10
  43. edsl/data_transfer_models.py +73 -73
  44. edsl/enums.py +173 -173
  45. edsl/exceptions/BaseException.py +21 -21
  46. edsl/exceptions/__init__.py +54 -54
  47. edsl/exceptions/agents.py +42 -38
  48. edsl/exceptions/cache.py +5 -0
  49. edsl/exceptions/configuration.py +16 -16
  50. edsl/exceptions/coop.py +10 -10
  51. edsl/exceptions/data.py +14 -14
  52. edsl/exceptions/general.py +34 -34
  53. edsl/exceptions/jobs.py +33 -33
  54. edsl/exceptions/language_models.py +63 -63
  55. edsl/exceptions/prompts.py +15 -15
  56. edsl/exceptions/questions.py +91 -91
  57. edsl/exceptions/results.py +29 -29
  58. edsl/exceptions/scenarios.py +22 -22
  59. edsl/exceptions/surveys.py +37 -37
  60. edsl/inference_services/AnthropicService.py +87 -87
  61. edsl/inference_services/AwsBedrock.py +120 -120
  62. edsl/inference_services/AzureAI.py +217 -217
  63. edsl/inference_services/DeepInfraService.py +18 -18
  64. edsl/inference_services/GoogleService.py +156 -156
  65. edsl/inference_services/GroqService.py +20 -20
  66. edsl/inference_services/InferenceServiceABC.py +147 -147
  67. edsl/inference_services/InferenceServicesCollection.py +97 -97
  68. edsl/inference_services/MistralAIService.py +123 -123
  69. edsl/inference_services/OllamaService.py +18 -18
  70. edsl/inference_services/OpenAIService.py +224 -224
  71. edsl/inference_services/TestService.py +89 -89
  72. edsl/inference_services/TogetherAIService.py +170 -170
  73. edsl/inference_services/models_available_cache.py +118 -118
  74. edsl/inference_services/rate_limits_cache.py +25 -25
  75. edsl/inference_services/registry.py +39 -39
  76. edsl/inference_services/write_available.py +10 -10
  77. edsl/jobs/Answers.py +56 -56
  78. edsl/jobs/Jobs.py +1358 -1347
  79. edsl/jobs/__init__.py +1 -1
  80. edsl/jobs/buckets/BucketCollection.py +63 -63
  81. edsl/jobs/buckets/ModelBuckets.py +65 -65
  82. edsl/jobs/buckets/TokenBucket.py +251 -248
  83. edsl/jobs/interviews/Interview.py +661 -661
  84. edsl/jobs/interviews/InterviewExceptionCollection.py +99 -99
  85. edsl/jobs/interviews/InterviewExceptionEntry.py +186 -186
  86. edsl/jobs/interviews/InterviewStatistic.py +63 -63
  87. edsl/jobs/interviews/InterviewStatisticsCollection.py +25 -25
  88. edsl/jobs/interviews/InterviewStatusDictionary.py +78 -78
  89. edsl/jobs/interviews/InterviewStatusLog.py +92 -92
  90. edsl/jobs/interviews/ReportErrors.py +66 -66
  91. edsl/jobs/interviews/interview_status_enum.py +9 -9
  92. edsl/jobs/runners/JobsRunnerAsyncio.py +361 -338
  93. edsl/jobs/runners/JobsRunnerStatus.py +332 -332
  94. edsl/jobs/tasks/QuestionTaskCreator.py +242 -242
  95. edsl/jobs/tasks/TaskCreators.py +64 -64
  96. edsl/jobs/tasks/TaskHistory.py +451 -442
  97. edsl/jobs/tasks/TaskStatusLog.py +23 -23
  98. edsl/jobs/tasks/task_status_enum.py +163 -163
  99. edsl/jobs/tokens/InterviewTokenUsage.py +27 -27
  100. edsl/jobs/tokens/TokenUsage.py +34 -34
  101. edsl/language_models/KeyLookup.py +30 -30
  102. edsl/language_models/LanguageModel.py +708 -706
  103. edsl/language_models/ModelList.py +109 -102
  104. edsl/language_models/RegisterLanguageModelsMeta.py +184 -184
  105. edsl/language_models/__init__.py +3 -3
  106. edsl/language_models/fake_openai_call.py +15 -15
  107. edsl/language_models/fake_openai_service.py +61 -61
  108. edsl/language_models/registry.py +137 -137
  109. edsl/language_models/repair.py +156 -156
  110. edsl/language_models/unused/ReplicateBase.py +83 -83
  111. edsl/language_models/utilities.py +64 -64
  112. edsl/notebooks/Notebook.py +258 -259
  113. edsl/notebooks/__init__.py +1 -1
  114. edsl/prompts/Prompt.py +357 -357
  115. edsl/prompts/__init__.py +2 -2
  116. edsl/questions/AnswerValidatorMixin.py +289 -289
  117. edsl/questions/QuestionBase.py +660 -656
  118. edsl/questions/QuestionBaseGenMixin.py +161 -161
  119. edsl/questions/QuestionBasePromptsMixin.py +217 -234
  120. edsl/questions/QuestionBudget.py +227 -227
  121. edsl/questions/QuestionCheckBox.py +359 -359
  122. edsl/questions/QuestionExtract.py +183 -183
  123. edsl/questions/QuestionFreeText.py +114 -114
  124. edsl/questions/QuestionFunctional.py +166 -159
  125. edsl/questions/QuestionList.py +231 -231
  126. edsl/questions/QuestionMultipleChoice.py +286 -286
  127. edsl/questions/QuestionNumerical.py +153 -153
  128. edsl/questions/QuestionRank.py +324 -324
  129. edsl/questions/Quick.py +41 -41
  130. edsl/questions/RegisterQuestionsMeta.py +71 -71
  131. edsl/questions/ResponseValidatorABC.py +174 -174
  132. edsl/questions/SimpleAskMixin.py +73 -73
  133. edsl/questions/__init__.py +26 -26
  134. edsl/questions/compose_questions.py +98 -98
  135. edsl/questions/decorators.py +21 -21
  136. edsl/questions/derived/QuestionLikertFive.py +76 -76
  137. edsl/questions/derived/QuestionLinearScale.py +87 -87
  138. edsl/questions/derived/QuestionTopK.py +93 -91
  139. edsl/questions/derived/QuestionYesNo.py +82 -82
  140. edsl/questions/descriptors.py +413 -413
  141. edsl/questions/prompt_templates/question_budget.jinja +13 -13
  142. edsl/questions/prompt_templates/question_checkbox.jinja +32 -32
  143. edsl/questions/prompt_templates/question_extract.jinja +11 -11
  144. edsl/questions/prompt_templates/question_free_text.jinja +3 -3
  145. edsl/questions/prompt_templates/question_linear_scale.jinja +11 -11
  146. edsl/questions/prompt_templates/question_list.jinja +17 -17
  147. edsl/questions/prompt_templates/question_multiple_choice.jinja +33 -33
  148. edsl/questions/prompt_templates/question_numerical.jinja +36 -36
  149. edsl/questions/question_registry.py +147 -147
  150. edsl/questions/settings.py +12 -12
  151. edsl/questions/templates/budget/answering_instructions.jinja +7 -7
  152. edsl/questions/templates/budget/question_presentation.jinja +7 -7
  153. edsl/questions/templates/checkbox/answering_instructions.jinja +10 -10
  154. edsl/questions/templates/checkbox/question_presentation.jinja +22 -22
  155. edsl/questions/templates/extract/answering_instructions.jinja +7 -7
  156. edsl/questions/templates/likert_five/answering_instructions.jinja +10 -10
  157. edsl/questions/templates/likert_five/question_presentation.jinja +11 -11
  158. edsl/questions/templates/linear_scale/answering_instructions.jinja +5 -5
  159. edsl/questions/templates/linear_scale/question_presentation.jinja +5 -5
  160. edsl/questions/templates/list/answering_instructions.jinja +3 -3
  161. edsl/questions/templates/list/question_presentation.jinja +5 -5
  162. edsl/questions/templates/multiple_choice/answering_instructions.jinja +9 -9
  163. edsl/questions/templates/multiple_choice/question_presentation.jinja +11 -11
  164. edsl/questions/templates/numerical/answering_instructions.jinja +6 -6
  165. edsl/questions/templates/numerical/question_presentation.jinja +6 -6
  166. edsl/questions/templates/rank/answering_instructions.jinja +11 -11
  167. edsl/questions/templates/rank/question_presentation.jinja +15 -15
  168. edsl/questions/templates/top_k/answering_instructions.jinja +8 -8
  169. edsl/questions/templates/top_k/question_presentation.jinja +22 -22
  170. edsl/questions/templates/yes_no/answering_instructions.jinja +6 -6
  171. edsl/questions/templates/yes_no/question_presentation.jinja +11 -11
  172. edsl/results/Dataset.py +293 -293
  173. edsl/results/DatasetExportMixin.py +717 -717
  174. edsl/results/DatasetTree.py +145 -145
  175. edsl/results/Result.py +456 -450
  176. edsl/results/Results.py +1071 -1071
  177. edsl/results/ResultsDBMixin.py +238 -238
  178. edsl/results/ResultsExportMixin.py +43 -43
  179. edsl/results/ResultsFetchMixin.py +33 -33
  180. edsl/results/ResultsGGMixin.py +121 -121
  181. edsl/results/ResultsToolsMixin.py +98 -98
  182. edsl/results/Selector.py +135 -135
  183. edsl/results/__init__.py +2 -2
  184. edsl/results/tree_explore.py +115 -115
  185. edsl/scenarios/FileStore.py +458 -458
  186. edsl/scenarios/Scenario.py +544 -546
  187. edsl/scenarios/ScenarioHtmlMixin.py +64 -64
  188. edsl/scenarios/ScenarioList.py +1112 -1112
  189. edsl/scenarios/ScenarioListExportMixin.py +52 -52
  190. edsl/scenarios/ScenarioListPdfMixin.py +261 -261
  191. edsl/scenarios/__init__.py +4 -4
  192. edsl/shared.py +1 -1
  193. edsl/study/ObjectEntry.py +173 -173
  194. edsl/study/ProofOfWork.py +113 -113
  195. edsl/study/SnapShot.py +80 -80
  196. edsl/study/Study.py +528 -528
  197. edsl/study/__init__.py +4 -4
  198. edsl/surveys/DAG.py +148 -148
  199. edsl/surveys/Memory.py +31 -31
  200. edsl/surveys/MemoryPlan.py +244 -244
  201. edsl/surveys/Rule.py +326 -330
  202. edsl/surveys/RuleCollection.py +387 -387
  203. edsl/surveys/Survey.py +1787 -1795
  204. edsl/surveys/SurveyCSS.py +261 -261
  205. edsl/surveys/SurveyExportMixin.py +259 -259
  206. edsl/surveys/SurveyFlowVisualizationMixin.py +121 -121
  207. edsl/surveys/SurveyQualtricsImport.py +284 -284
  208. edsl/surveys/__init__.py +3 -3
  209. edsl/surveys/base.py +53 -53
  210. edsl/surveys/descriptors.py +56 -56
  211. edsl/surveys/instructions/ChangeInstruction.py +49 -47
  212. edsl/surveys/instructions/Instruction.py +53 -51
  213. edsl/surveys/instructions/InstructionCollection.py +77 -77
  214. edsl/templates/error_reporting/base.html +23 -23
  215. edsl/templates/error_reporting/exceptions_by_model.html +34 -34
  216. edsl/templates/error_reporting/exceptions_by_question_name.html +16 -16
  217. edsl/templates/error_reporting/exceptions_by_type.html +16 -16
  218. edsl/templates/error_reporting/interview_details.html +115 -115
  219. edsl/templates/error_reporting/interviews.html +9 -9
  220. edsl/templates/error_reporting/overview.html +4 -4
  221. edsl/templates/error_reporting/performance_plot.html +1 -1
  222. edsl/templates/error_reporting/report.css +73 -73
  223. edsl/templates/error_reporting/report.html +117 -117
  224. edsl/templates/error_reporting/report.js +25 -25
  225. edsl/tools/__init__.py +1 -1
  226. edsl/tools/clusters.py +192 -192
  227. edsl/tools/embeddings.py +27 -27
  228. edsl/tools/embeddings_plotting.py +118 -118
  229. edsl/tools/plotting.py +112 -112
  230. edsl/tools/summarize.py +18 -18
  231. edsl/utilities/SystemInfo.py +28 -28
  232. edsl/utilities/__init__.py +22 -22
  233. edsl/utilities/ast_utilities.py +25 -25
  234. edsl/utilities/data/Registry.py +6 -6
  235. edsl/utilities/data/__init__.py +1 -1
  236. edsl/utilities/data/scooter_results.json +1 -1
  237. edsl/utilities/decorators.py +77 -77
  238. edsl/utilities/gcp_bucket/cloud_storage.py +96 -96
  239. edsl/utilities/interface.py +627 -627
  240. edsl/{conjure → utilities}/naming_utilities.py +263 -263
  241. edsl/utilities/repair_functions.py +28 -28
  242. edsl/utilities/restricted_python.py +70 -70
  243. edsl/utilities/utilities.py +409 -409
  244. {edsl-0.1.38.dev1.dist-info → edsl-0.1.38.dev3.dist-info}/LICENSE +21 -21
  245. {edsl-0.1.38.dev1.dist-info → edsl-0.1.38.dev3.dist-info}/METADATA +1 -1
  246. edsl-0.1.38.dev3.dist-info/RECORD +269 -0
  247. edsl/conjure/AgentConstructionMixin.py +0 -160
  248. edsl/conjure/Conjure.py +0 -62
  249. edsl/conjure/InputData.py +0 -659
  250. edsl/conjure/InputDataCSV.py +0 -48
  251. edsl/conjure/InputDataMixinQuestionStats.py +0 -182
  252. edsl/conjure/InputDataPyRead.py +0 -91
  253. edsl/conjure/InputDataSPSS.py +0 -8
  254. edsl/conjure/InputDataStata.py +0 -8
  255. edsl/conjure/QuestionOptionMixin.py +0 -76
  256. edsl/conjure/QuestionTypeMixin.py +0 -23
  257. edsl/conjure/RawQuestion.py +0 -65
  258. edsl/conjure/SurveyResponses.py +0 -7
  259. edsl/conjure/__init__.py +0 -9
  260. edsl/conjure/examples/placeholder.txt +0 -0
  261. edsl/conjure/utilities.py +0 -201
  262. edsl-0.1.38.dev1.dist-info/RECORD +0 -283
  263. {edsl-0.1.38.dev1.dist-info → edsl-0.1.38.dev3.dist-info}/WHEEL +0 -0
@@ -1,21 +1,21 @@
1
- The MIT License
2
-
3
- Copyright (c) Apostolos Filippas, John Joseph Horton, Roberta Horton.
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in
13
- all copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
- THE SOFTWARE.
1
+ The MIT License
2
+
3
+ Copyright (c) Apostolos Filippas, John Joseph Horton, Roberta Horton.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: edsl
3
- Version: 0.1.38.dev1
3
+ Version: 0.1.38.dev3
4
4
  Summary: Create and analyze LLM-based surveys
5
5
  Home-page: https://www.expectedparrot.com/
6
6
  License: MIT
@@ -0,0 +1,269 @@
1
+ edsl/__init__.py,sha256=KPXY5GPtA2d6pkyrSj_3taJ0U3ZLSE9fx9o_PErWskw,1869
2
+ edsl/__version__.py,sha256=hRW_MXw4zx6Uz0QRjsS7KwG4Yck_phCXzD9-B9zwsWw,29
3
+ edsl/agents/__init__.py,sha256=Jw2EmdckbcROk_4tRPcJ2i-YEutApOs8BCohy3IHzqY,139
4
+ edsl/agents/Agent.py,sha256=tZtY3iCTPVe5_MJtePgYdAvvyi606KBXbAdRLg7O7As,32535
5
+ edsl/agents/AgentList.py,sha256=CwgCTe7c2B_b9sejKpiphkZYCGnYkdwQiwLH3gULjV8,12342
6
+ edsl/agents/descriptors.py,sha256=FxjJUjxlvMn2PMbbMXw9BVTGE_IkGEsJ6RYAGY5bYkI,3288
7
+ edsl/agents/Invigilator.py,sha256=FTGgnXAEn1oTWQHHeZ32Rq4t7qgX01XZoYhVKsqWQE8,9302
8
+ edsl/agents/InvigilatorBase.py,sha256=LJqQ_1eZa2dmIx_Fe_27Nl9vUBAy8iWTp9KiCCh-vdE,10038
9
+ edsl/agents/prompt_helpers.py,sha256=oBuv6vWyP3na8qmBV_uYMB2Aq0_FEHzCYFhpEzt8leE,5152
10
+ edsl/agents/PromptConstructor.py,sha256=kqiYQFVUgLEKGpY9qOvsIcc8WFFstG8VFGDheYQMZ7o,14144
11
+ edsl/auto/AutoStudy.py,sha256=bUhIvpDzQdYgDpAc8jCpNdCh6cI6brdJU8DaoScxkTo,3960
12
+ edsl/auto/StageBase.py,sha256=BUcIdH5O2nsoSjlNyBM61dGTnKV-09N6-5HO0ykmbTU,8163
13
+ edsl/auto/StageGenerateSurvey.py,sha256=4xe7PVTXSP-i3O9NSmX-an2OkRoyxCBygWaT-nslBsA,7572
14
+ edsl/auto/StageLabelQuestions.py,sha256=1QSkI-eZALNsPdqkuna6jfLC4unqQ8sQMI-UTFo9ugA,4788
15
+ edsl/auto/StagePersona.py,sha256=XF2mmIZIXQzCUD38VD0N_zsvo6IhDhoAh3sq1PArFK8,1947
16
+ edsl/auto/StagePersonaDimensions.py,sha256=dmggym7c1DpRoIKnJ688CUIUteETB2opHCS791O7pW8,2138
17
+ edsl/auto/StagePersonaDimensionValueRanges.py,sha256=sOzULRQ3jSlx2Aur2PbLUjG3We7p9kUw_I_yVSiOBKk,3021
18
+ edsl/auto/StagePersonaDimensionValues.py,sha256=WcYqgKdGVhYScLoMu-_5aChy7aWGa5xvXjG3txV2fWo,2387
19
+ edsl/auto/StageQuestions.py,sha256=BKluv3d_fs8EoZgkuC0RnBJEAsmmvs5arwS_y2wp9wY,2271
20
+ edsl/auto/SurveyCreatorPipeline.py,sha256=AnCjlEIucObqqSVgizhyqqvgiYA6RnDCMDzBDmlYb_I,681
21
+ edsl/auto/utilities.py,sha256=oPV_CoW53fYF3epzV-F5h7ALGDxwhMCwH4TkyEfHTls,7832
22
+ edsl/base/Base.py,sha256=eQrvIHYa4bxkrvbtwQT1Gpc13nyPDKfr8qva-NJKxoM,8813
23
+ edsl/Base.py,sha256=bWkRl-ymTvC5EpWwciSOUxcLSmyz57XBOdF-e5vS7bY,9731
24
+ edsl/BaseDiff.py,sha256=WWt5tI0IL0Ps9EDt7i1U054p4REfsIanUz8aGcSQqrU,8513
25
+ edsl/config.py,sha256=v-YghDlA7V28YTXAtQP76rJdlqMfDlTloXCotGlayIk,6024
26
+ edsl/conversation/car_buying.py,sha256=cY2y7wGiZiXWsat0F0Bh6MJBfVxcuKlZIMlJSpmTbH8,2008
27
+ edsl/conversation/chips.py,sha256=Q-6tlCFrU98d5Hstmy2YUzHJmwIWGdxRrsLNYp0D_28,3418
28
+ edsl/conversation/Conversation.py,sha256=mJJJH6KQgDOW-GYqe-V-42Bqe_SaXq1qjxVgXnke4l0,9879
29
+ edsl/conversation/mug_negotiation.py,sha256=WhdhN6dCiZ8bvpptudEnIEObkUQuy4y52-ysQSPuk54,2697
30
+ edsl/conversation/next_speaker_utilities.py,sha256=EpGlZ_J9-vSNzezpngC58EFCfxOoN8tZ3DHBKcT3h80,3722
31
+ edsl/coop/__init__.py,sha256=XqMfFaHIeyAb_dfDw7VaKf6wCPdahh19ye4w6XAY3R4,117
32
+ edsl/coop/coop.py,sha256=j6mp1flpMcVyxDEhmsmS8P-ERNV-X194cvbySIelmPY,35249
33
+ edsl/coop/PriceFetcher.py,sha256=CALznFyhdyiOylBuZFPfWg66iNVGG_q72CQMGCicfxU,1824
34
+ edsl/coop/utils.py,sha256=r3FKAsNYnJ_bTTDKrq_TDubJrXnbW5lN3JzNExYHzuM,3732
35
+ edsl/data/__init__.py,sha256=LW9OLfpkTtUZFpAnB-_E72dXdhsOew53BbcgYlDcU6A,174
36
+ edsl/data/Cache.py,sha256=tC3I0kNYR-Tx99YYx-0M6NnksybtCHn1WrP5oQE0iWQ,17241
37
+ edsl/data/CacheEntry.py,sha256=tmb-sxIT8KYG-fvwbBf-qZA85VR3y3HX9m8AXPzhoeo,7480
38
+ edsl/data/CacheHandler.py,sha256=z2qPvL4iMLjcoTek_WrwJ416qMBQtUK5XIZ16QMqjsw,4942
39
+ edsl/data/orm.py,sha256=NbFg8cZPUGQWlv7DJQ77NCTEdhV361XEvqLGUZGWavY,248
40
+ edsl/data/RemoteCacheSync.py,sha256=dDOPC0kqAcuaeQKNL8DretAB5NiZnt0ZeT2YY20EU3Q,3725
41
+ edsl/data/SQLiteDict.py,sha256=ksUt6z6THDnv1GrffUSbuKXWBFR3K2oHCqX7IPRjn4Q,9271
42
+ edsl/data_transfer_models.py,sha256=yUz0rWlC7tMIiSoRzaOPUFB0G_JTURtQC4JrnM2-8Qk,2024
43
+ edsl/enums.py,sha256=DoCOnZGagM-2y6nSk1DBncvHgD2TbLYVyjvTuB7L8Ts,5420
44
+ edsl/exceptions/__init__.py,sha256=QGT5ZgBfhUH8dCjGvqRBCxd9cBh-2-qLiYoy4rdeguY,1486
45
+ edsl/exceptions/agents.py,sha256=IVk3F_Vlc6E9KDed_1EZ0-DOVjl3ZD8GN9WopM0lCF4,1388
46
+ edsl/exceptions/BaseException.py,sha256=0LxiXxXqhznuouIJqlBKpmqjpNyOuoIr_WSO9iCd0lA,832
47
+ edsl/exceptions/cache.py,sha256=chlVbjSF8ascMJmVWvURK5_CTYBs1sWVMMwZSD2kyOU,183
48
+ edsl/exceptions/configuration.py,sha256=-LABNiw__bGvMER6iSaQpm_mLgwFCcz4qzwNgROtipU,367
49
+ edsl/exceptions/coop.py,sha256=-hzXQgUtCNdo91DgGO-zXrJC-4loE4NuPwCNvOhOKYs,148
50
+ edsl/exceptions/data.py,sha256=UTYecRpjOar6n4HuE0oDxHYhzkDNf7twIsB6v01kDxc,223
51
+ edsl/exceptions/general.py,sha256=jiwNKeI0o7pVcEB5_vrNv3KzPhO860xcnthRgIydlJs,1148
52
+ edsl/exceptions/jobs.py,sha256=TV0BFLstkINj3ASa1HfqLicKfloVfc3mA8fDQaoq9_w,836
53
+ edsl/exceptions/language_models.py,sha256=KWcukaP6-07kG9XLJebaLfI6AGrgcNPLOiTRk70r-ss,1877
54
+ edsl/exceptions/prompts.py,sha256=Amg8wbzVMN-8JeqQcCFsHdZKsohzejb-YBEUmrz1mb8,262
55
+ edsl/exceptions/questions.py,sha256=k4zat-LP1e5TYGxjK0dKRQNfta8geW7of--HIrzGYd4,2600
56
+ edsl/exceptions/results.py,sha256=vWmeDmZBpCLPD3ATke1QD1CMLHdT5ATByzyNX7Vb3nA,538
57
+ edsl/exceptions/scenarios.py,sha256=D89_g9WsbsbIODf9BPjgWOT8q1a45y6fvpyLGMvUlM4,730
58
+ edsl/exceptions/surveys.py,sha256=_2pvzU0YG16k50V7iAvfkaXzWDGKx_SKcuznUe5yIyg,714
59
+ edsl/inference_services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
60
+ edsl/inference_services/AnthropicService.py,sha256=lm12W-vHUOByZMjz8CXuLO0vwpypI-KBumRRuWptXPo,3004
61
+ edsl/inference_services/AwsBedrock.py,sha256=xhh8k0judjum-iQd9Ez1cBNovAbi3i5N5pyev7MVxaY,4193
62
+ edsl/inference_services/AzureAI.py,sha256=NCjmm0yggie8HClcal7Gi_n4lTKM1QvW10uhs4L8ILY,9106
63
+ edsl/inference_services/DeepInfraService.py,sha256=OKpc9E9nyJu-mOqUHs_dBwOHh9xhDHksGfsvVwJHBf8,533
64
+ edsl/inference_services/GoogleService.py,sha256=8nQIlnKNlfP_FNtc0aZGJq1mnAW9aFnU0x8k8YMvTU4,5578
65
+ edsl/inference_services/GroqService.py,sha256=D2E6lnOjeJNSApo1_ndvHJnUUwXn4nOPmmFgt0CzTYs,530
66
+ edsl/inference_services/InferenceServiceABC.py,sha256=u5L56F9iecukMaU5KnXmEjfGipNB466aluuaQl4g3as,4841
67
+ edsl/inference_services/InferenceServicesCollection.py,sha256=xSOZoG0IPYuFAXGWhds4LOjVZsXmUWowRys2ynO1ZgY,3836
68
+ edsl/inference_services/MistralAIService.py,sha256=42nQ_yh6hZpu9zSEdm0uJxi4sQI9i5YV3p2iK7omCr4,4001
69
+ edsl/inference_services/models_available_cache.py,sha256=y159MaMtHWQd7Ia7140-dL5zSVKeHRzz1U7y7RAZtL0,4179
70
+ edsl/inference_services/OllamaService.py,sha256=ewT2SKDXnKcc4wHmMaSlVyJDA9uGLLEWcNTifnz31-g,516
71
+ edsl/inference_services/OpenAIService.py,sha256=BKEWhgfHAASn1_YDiGTX5Bg4FReEAAycyOQ_HlgKm50,7845
72
+ edsl/inference_services/rate_limits_cache.py,sha256=lJXqvZneyBvAQDq81BWUUKXmRdtgXk13klSii91m_Kw,1423
73
+ edsl/inference_services/registry.py,sha256=1YqFmiVpvg0y5YYzOdG4t42LJapKW_xS13jy2nkZ278,1279
74
+ edsl/inference_services/TestService.py,sha256=RiNvBoKN1xK-nLXloEppDZG5sl6vAlKiGj_HJjQFWvg,3098
75
+ edsl/inference_services/TogetherAIService.py,sha256=i07XMCokfg30U1yPB9eMr02ew8cxDZKFa19u8xrqi5M,6471
76
+ edsl/inference_services/write_available.py,sha256=rYDB5pT0RT7nYITAAXb-FDITTNRiyz43MiYVntnAeDk,295
77
+ edsl/jobs/__init__.py,sha256=q8D9OOwX69FBXAqkPgONsnTnk1HwJWM_YuIO8X799AA,33
78
+ edsl/jobs/Answers.py,sha256=v1aqWXwSwmra3da3JOYYzU2C1IXkAuYxcrxA4jhxqDw,1877
79
+ edsl/jobs/buckets/BucketCollection.py,sha256=X843JvQ2Ii_85Z10dpBSq5kIhyUbwTJ3e1iacyvilX8,2349
80
+ edsl/jobs/buckets/ModelBuckets.py,sha256=Lma0kQ8FvZ1FkB8PkBE2nunU27uDeMxBs1GVAbXrtmo,2484
81
+ edsl/jobs/buckets/TokenBucket.py,sha256=4ed1YJ5YH9BY4692EeCa4z9TSNruwyhBRKl7fieCwtA,9417
82
+ edsl/jobs/interviews/Interview.py,sha256=T5pMmflcumtH3zq1RrpvHqXfcvygOvv_0F3KPIizl3Q,26838
83
+ edsl/jobs/interviews/interview_status_enum.py,sha256=p9Nqw2mcKqx3JMOyDQ7wQNnRkM03HVCA8YUPmKaRBrU,238
84
+ edsl/jobs/interviews/InterviewExceptionCollection.py,sha256=bswnDHRMGK0Gi2PpOWcf6hHd27TK3Dq6-DRqrB6T-vA,3765
85
+ edsl/jobs/interviews/InterviewExceptionEntry.py,sha256=Uskp5oE7e5RHq0kqBq8Y4RDERbKLIGB8qBd9f6Wov0k,5871
86
+ edsl/jobs/interviews/InterviewStatistic.py,sha256=U-tgtvE6vReExlzMqbb5XzNT8aA3BpwcQ2KOXvI6Yi0,1919
87
+ edsl/jobs/interviews/InterviewStatisticsCollection.py,sha256=gAUQ77j1tTpBrhnGo4l2l_AD3cvYa7JH_CfdmMVljtM,813
88
+ edsl/jobs/interviews/InterviewStatusDictionary.py,sha256=mxNuG6rVtiqhaeN7r7z_A0ikAqOha-nzKztsPE8YV-4,2563
89
+ edsl/jobs/interviews/InterviewStatusLog.py,sha256=ygccC-5G58-X9rYv6kJQA0hPHMdYhSYkeRmPcT7OGLQ,3344
90
+ edsl/jobs/interviews/ReportErrors.py,sha256=3P8umwT_WTUgC5XvwNIxwuG-s-2ddSuKzhDHH1ogpWc,1849
91
+ edsl/jobs/Jobs.py,sha256=Cw61kaRNPA0TdS8QWDMa8wnwootPSXDzKnHyn5U7RiM,50974
92
+ edsl/jobs/runners/JobsRunnerAsyncio.py,sha256=_kuagU3HbV9T46B7hrKQw1XOQRk3bQHdPjb1oT9Wd38,14028
93
+ edsl/jobs/runners/JobsRunnerStatus.py,sha256=l1riQLhpFSfy9684ZMLOqOodMjGEy15Dd5hwNCPk4lo,11341
94
+ edsl/jobs/runners/JobsRunnerStatusData.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
95
+ edsl/jobs/tasks/QuestionTaskCreator.py,sha256=iCVsxuoI5OqNQ_BKBB-cEb3bCC6FWxBhy4orUp51SOA,10314
96
+ edsl/jobs/tasks/task_status_enum.py,sha256=dTrlELdrX5XJUmV4KwWQFpny3s9aHBUJMp8Yb1RmnRM,5496
97
+ edsl/jobs/tasks/TaskCreators.py,sha256=klqJCwaz4dFipufHFh8UoXodfWx0eLgq1E3cAopLBBM,2758
98
+ edsl/jobs/tasks/TaskHistory.py,sha256=n9uFbEKD_ZrVkKXyzgKKFDzTTehC6xq0IPCWV2i8Wbg,15601
99
+ edsl/jobs/tasks/TaskStatusLog.py,sha256=H9WO9nXhbqLc49OYveQqPwBw_7GB_iLnwl0uTDKy3rw,569
100
+ edsl/jobs/tokens/InterviewTokenUsage.py,sha256=nJLCVS4QpGRiSJSooaV4RCyTCzdYPIs7chsvYPYgjCw,1127
101
+ edsl/jobs/tokens/TokenUsage.py,sha256=3BD68hXkY06HRtGwXramJoi9Ekrt4qXd7rbCu1LNhpY,1357
102
+ edsl/language_models/__init__.py,sha256=32rL4TuRrc5SkBVIGfBvyhcL8ZTxaCVHiDycRXFTiJI,165
103
+ edsl/language_models/fake_openai_call.py,sha256=UG7199ET0yljJvDsqtPsuugZze15OiSG3wWU4LOJwzs,379
104
+ edsl/language_models/fake_openai_service.py,sha256=Gz1yu6z26siYUGsscY33vIjQh_QN-N7-lPpYYrVTXJo,1775
105
+ edsl/language_models/KeyLookup.py,sha256=6kz6z9oiYfwzB-4wnMxP634zzNgfEc2HZr2Czvr0hng,1081
106
+ edsl/language_models/LanguageModel.py,sha256=9YfNK482ii1XkmBNSCJev0HrQTu6Mz1PEXoTg8TnCSw,25512
107
+ edsl/language_models/ModelList.py,sha256=r2UsWzVVMlB5epeFUbAOZ-h4jJX8ZgBc9o12MD4NhYE,3129
108
+ edsl/language_models/RegisterLanguageModelsMeta.py,sha256=S2ehZ15EEoLx6RxxL6L28zs4Cg1PYenjv6K35zGV2ZM,7707
109
+ edsl/language_models/registry.py,sha256=m6LFAG6c106Gp9zzMJ-rqsO4_3cTQVnkpR5r5Mqkz1E,4506
110
+ edsl/language_models/repair.py,sha256=CdBy2EnAlloiT-c4SyzwdO4YIzAe2MCvMT39Kq51GqU,5509
111
+ edsl/language_models/unused/ReplicateBase.py,sha256=8fbpHaaQ2nv7YVyupZj1Jo7xpg8PnS1IWTP7CO_RZE4,3414
112
+ edsl/language_models/utilities.py,sha256=kh8nBYOpUY9OOdqY8GBHlmGv_RpNVexvf-M5k5yI0lM,2344
113
+ edsl/notebooks/__init__.py,sha256=uxMBECcGhUMbaOqcpbmgPwkmDktgaQDXJwMA5_B9pr0,46
114
+ edsl/notebooks/Notebook.py,sha256=JuDuL_fImt7lkIIqey-2IYp2qiut6xZvdUQIuzD52SY,8055
115
+ edsl/prompts/__init__.py,sha256=6RS7kwk8c9Tre3g7HW5O5h5dPHqEiMPsT0KOQGeuzeY,89
116
+ edsl/prompts/Prompt.py,sha256=jo3ZCctciw2HsVjbwdYWe3HnL2et1QJZxAbQENjfVbM,11790
117
+ edsl/questions/__init__.py,sha256=qY46zvnOb-9Z21Mf2wL9rrov0PoEtdNiO6tEQO-Vmog,1187
118
+ edsl/questions/AnswerValidatorMixin.py,sha256=kUL7nKZ4dQWw3ZiolNUYXIq7Q2sbxZIE3thfVPjkOTA,11794
119
+ edsl/questions/compose_questions.py,sha256=6UVQCeCpd4i8093uD0O10cv55DIrw-GU_5LrnC_tR3g,3478
120
+ edsl/questions/decorators.py,sha256=S8W47skvVP3PFa8vgMHEIr49XA5K9gR38DHy5vjVWAw,617
121
+ edsl/questions/derived/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
122
+ edsl/questions/derived/QuestionLikertFive.py,sha256=9HjFhLDgJHX-cODULNNzNXfPehZy-2_RVs0w6x5Iy9s,2661
123
+ edsl/questions/derived/QuestionLinearScale.py,sha256=VOYShRrH7u6AvJI_0YQJjhbTs7uc9RNZT9KtQY334iI,3391
124
+ edsl/questions/derived/QuestionTopK.py,sha256=q04d2KSrryzM3Irz-b-LO9V4zkpEjHnpaaR1gAh93oY,3377
125
+ edsl/questions/derived/QuestionYesNo.py,sha256=cGo2kP0fGqS9C94aA5I2t0WArhLM5-4I3Qjq8PvV2nw,2817
126
+ edsl/questions/descriptors.py,sha256=G1a7A8WHabj1FqSeVXPtUgiVsIlLZcSJ6Nwd1RjK3W0,16583
127
+ edsl/questions/prompt_templates/question_budget.jinja,sha256=PFDJjxwyomn42xJhgdSasH_Yi0gBtCLDG9Ni3MxgCDM,750
128
+ edsl/questions/prompt_templates/question_checkbox.jinja,sha256=5PhI0g8m6wTupy44-1zt80uqRsuGJAD0G7kDeCGbqg4,1168
129
+ edsl/questions/prompt_templates/question_extract.jinja,sha256=XTYiPVp90_k9mJPiVdNtwgykj9YiQV9nrBKBIzzWm6o,354
130
+ edsl/questions/prompt_templates/question_free_text.jinja,sha256=rcv7UExueIwEbktlr23fWJAMevGVfG3IY5d-YImYpUM,105
131
+ edsl/questions/prompt_templates/question_linear_scale.jinja,sha256=2q7t2nfAdZN70BwAT0b0UiUjduh6LVRTaltfpI0kYTo,466
132
+ edsl/questions/prompt_templates/question_list.jinja,sha256=dWlesTNWIzv6bARw8MgRlvO3lEC9HoBxWr54xx1wQS8,512
133
+ edsl/questions/prompt_templates/question_multiple_choice.jinja,sha256=GKDO8cam_I0MC1IyX9mja5TNuvVp1u1e4FuwBmkoH-g,794
134
+ edsl/questions/prompt_templates/question_numerical.jinja,sha256=gxhUpmepIWo4fE0hV8oL4-k2P3MK73VpNuKlVotHe5U,1254
135
+ edsl/questions/question_registry.py,sha256=nR-Y8GpHg6gUyMOoalH_56FMdfhPUDLcjXtmWwTMAsg,5512
136
+ edsl/questions/QuestionBase.py,sha256=vT03sYom4fYx2C_2K0kZHi80IWV-piyu8gffkfsEf9Y,23116
137
+ edsl/questions/QuestionBaseGenMixin.py,sha256=VaO9_1fMNtgN5mbydiISWYQlA4ZfrHa88v5Lmn-eUVA,6199
138
+ edsl/questions/QuestionBasePromptsMixin.py,sha256=UAjdofu5a534WqjOeBheGVVkRsRSQX-TsFoviIWvCmY,8054
139
+ edsl/questions/QuestionBudget.py,sha256=3obTjOfx9RoRrWU6AZW7pTdu6eQfemBZO-ICnwU-miU,8358
140
+ edsl/questions/QuestionCheckBox.py,sha256=l3J5zD1VGfnQOCeMrtQsv44A97I95IkxmTjHgHH5tLw,13199
141
+ edsl/questions/QuestionExtract.py,sha256=jx42AWkk7gn1VYRG0SK7Jb9TqD3mwZZlkcX_m2yLSwE,6286
142
+ edsl/questions/QuestionFreeText.py,sha256=AZCOyb9jK1h7Tu1Sxip64Jzmje_FF3t8GaGXoDT4YmI,3537
143
+ edsl/questions/QuestionFunctional.py,sha256=8aDOpf3AsYSYDNiETM6jp28zuEB1I1QQHcuDYr5Qpgs,5747
144
+ edsl/questions/QuestionList.py,sha256=u2E-G_Qx9-TrD7eyiV3flQqLd-NiHt7W61MwdmHZzMY,7440
145
+ edsl/questions/QuestionMultipleChoice.py,sha256=LIAb4tMKB7W3Q1xckhCYadscVQh4izqtPotI9SpQ-k8,10578
146
+ edsl/questions/QuestionNumerical.py,sha256=N4FfJzvMOiRBfnbSOAEAncJv8HAvBPx0sp0hBp9-bsA,5112
147
+ edsl/questions/QuestionRank.py,sha256=dthkMnGVFb9EVnRc1cexP3b3XM9__knK81xkBNPn99I,11920
148
+ edsl/questions/Quick.py,sha256=ElZbU1veDd7_6NQp3Tn2xYTEau4WEM4x_ELT5hiZBSY,1772
149
+ edsl/questions/RegisterQuestionsMeta.py,sha256=qelLc_WBo_inWFjfN5_aH2IQpvl6jYqAOV6lLlV7koM,2669
150
+ edsl/questions/ResponseValidatorABC.py,sha256=RHFloDG5bbLg6sFHg36w7-p45u7YFy01pyN8SKUtjwI,6271
151
+ edsl/questions/settings.py,sha256=PDXSJX_Nz59K5x48Z3YtNRowwpoaD4J0p5f52r0bKjo,303
152
+ edsl/questions/SimpleAskMixin.py,sha256=7AFENKESMmC6v3FCjiGmLsJHEImzMaCe5dbe82VKF2k,2300
153
+ edsl/questions/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
154
+ edsl/questions/templates/budget/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
155
+ edsl/questions/templates/budget/answering_instructions.jinja,sha256=TnRH4_PgEqg3tBQ93kUPo3U8w45G9wv9gU234D8r95Q,359
156
+ edsl/questions/templates/budget/question_presentation.jinja,sha256=thU7kV5rEPwwo5CxDs544AVRpLXgb_orF0McG1Z4w3Y,205
157
+ edsl/questions/templates/checkbox/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
158
+ edsl/questions/templates/checkbox/answering_instructions.jinja,sha256=TJJL0ZobijE_gVNx8SqeoCp_AT7SlFBSctI7_xdmhgk,451
159
+ edsl/questions/templates/checkbox/question_presentation.jinja,sha256=SsTdAJnnv1GrIYar8DWJLfdfnID6aj5fB9_ngtqjXUA,829
160
+ edsl/questions/templates/extract/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
161
+ edsl/questions/templates/extract/answering_instructions.jinja,sha256=BMDqmSIg-krOZhjMtnJW2jFdSThh0G3woQSLfIQg_TE,260
162
+ edsl/questions/templates/extract/question_presentation.jinja,sha256=OLDuxUc6BjT4InCtAkK_e-D5qbsDmtxw1Spp9pWFYhU,17
163
+ edsl/questions/templates/free_text/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
164
+ edsl/questions/templates/free_text/answering_instructions.jinja,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
165
+ edsl/questions/templates/free_text/question_presentation.jinja,sha256=OLDuxUc6BjT4InCtAkK_e-D5qbsDmtxw1Spp9pWFYhU,17
166
+ edsl/questions/templates/likert_five/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
167
+ edsl/questions/templates/likert_five/answering_instructions.jinja,sha256=11wNWHzVzxtkYoWdYibV_Ge-h8V5TBM6TX-wEnYa0vk,341
168
+ edsl/questions/templates/likert_five/question_presentation.jinja,sha256=w4dhEr_HSxGzhuSMVlF_TB755dsBctDUq--QV_5GTgI,284
169
+ edsl/questions/templates/linear_scale/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
170
+ edsl/questions/templates/linear_scale/answering_instructions.jinja,sha256=kq2YlaorGs-rKGUKofZFYYegHJbbYVERXLYYUSVtrTU,258
171
+ edsl/questions/templates/linear_scale/question_presentation.jinja,sha256=eRPZoIwr6qqBf8yqfv_GjdMLWsGlR3-6NnvxOz3-fNs,153
172
+ edsl/questions/templates/list/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
173
+ edsl/questions/templates/list/answering_instructions.jinja,sha256=cBwF9xuvpyHGWRItgdBBbDfIPkeldLlhPueqcfwFaZI,268
174
+ edsl/questions/templates/list/question_presentation.jinja,sha256=jZavkXxkQ0HceeHgf3wT3-2hZZtiWKYiC7nHax00kbA,136
175
+ edsl/questions/templates/multiple_choice/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
176
+ edsl/questions/templates/multiple_choice/answering_instructions.jinja,sha256=bzYpahR5Qb3_uUolz6onO-8InHbw2QDcrF2OzUSNMmA,339
177
+ edsl/questions/templates/multiple_choice/html.jinja,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
178
+ edsl/questions/templates/multiple_choice/question_presentation.jinja,sha256=w4dhEr_HSxGzhuSMVlF_TB755dsBctDUq--QV_5GTgI,284
179
+ edsl/questions/templates/numerical/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
180
+ edsl/questions/templates/numerical/answering_instructions.jinja,sha256=KgwduCdGWFpDJzONqFYLB88FTj4FF5vrH7kGTohHWvU,329
181
+ edsl/questions/templates/numerical/question_presentation.jinja,sha256=QWvieOEKTEij1tSNl7NQ5sylSGO5_ILiRsiUWn15bko,189
182
+ edsl/questions/templates/rank/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
183
+ edsl/questions/templates/rank/answering_instructions.jinja,sha256=xHk_IP5zU30bKtyUUvlHN_TuF_BInfN1I9bJg2Yewus,444
184
+ edsl/questions/templates/rank/question_presentation.jinja,sha256=xELET2O8CUPYyT3qZJC6vFTsUa6LIn0xavVEJn6H0to,349
185
+ edsl/questions/templates/top_k/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
186
+ edsl/questions/templates/top_k/answering_instructions.jinja,sha256=Toc5ZEU64_1ZiD1T6yRM4WEBRZkkCwb1uUuLIl9V2mw,274
187
+ edsl/questions/templates/top_k/question_presentation.jinja,sha256=SsTdAJnnv1GrIYar8DWJLfdfnID6aj5fB9_ngtqjXUA,829
188
+ edsl/questions/templates/yes_no/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
189
+ edsl/questions/templates/yes_no/answering_instructions.jinja,sha256=OQsY9RXUlzGk3ETL7kJ5uVWzxrMh4PZPDoekiVulS4I,178
190
+ edsl/questions/templates/yes_no/question_presentation.jinja,sha256=w4dhEr_HSxGzhuSMVlF_TB755dsBctDUq--QV_5GTgI,284
191
+ edsl/results/__init__.py,sha256=bZU4V1C9gAiM7jrdoDxH-bZs5X0lZU36GWdK1GFRJL0,82
192
+ edsl/results/Dataset.py,sha256=9igqUTaQ7dXdNajvWRbEYXF91hz4SkYOE44nBL-PttA,9840
193
+ edsl/results/DatasetExportMixin.py,sha256=pn0-nJqvJSJK8zwoQAylZI_mtJkcHQGUZHg7e-eCi4E,27405
194
+ edsl/results/DatasetTree.py,sha256=5N_36RPQl_qIwe9D04n-2JjXZDf6B5dZCfkGGIvtlQQ,5130
195
+ edsl/results/Result.py,sha256=Xvl4-8tiDyLGu6VREE3kNY8g1x1SUQiRbuposL418b0,16980
196
+ edsl/results/Results.py,sha256=VpKvhyR4njqelvg0SnLMhE2aanqMhRC7tcuzRBSxiHs,38824
197
+ edsl/results/ResultsDBMixin.py,sha256=X0_EJO42dMOM1e_twADEQ9he8hpU5cPWnNgLjtx-ml0,8183
198
+ edsl/results/ResultsExportMixin.py,sha256=4b2iW3TH7E1SFtHNRBOl_44gI4xaVOsoqmb4Yvfbix0,1309
199
+ edsl/results/ResultsFetchMixin.py,sha256=o8Xy_hY4nprzOxAoSmudIlkzg8oOH45N4dnuiwRXBkI,881
200
+ edsl/results/ResultsGGMixin.py,sha256=e_PP_IRFjYtxUBJKeQRlTfu0RoavReV1CIY_9g1OQww,4465
201
+ edsl/results/ResultsToolsMixin.py,sha256=WkxeXVi77h1-lkYD6RoVRfpd2Hmb5KNzsEpNzdZdMes,3115
202
+ edsl/results/Selector.py,sha256=tUIqgKPxQmMvZv-z_VrR583gGN7-pqpULr7wYowLW98,4982
203
+ edsl/results/tree_explore.py,sha256=IN3dFSXrCfTfjhOb6NmypK6p-TW1TqOD8278BMcyIEg,4739
204
+ edsl/scenarios/__init__.py,sha256=y67hh_l-sCdMP0fFUa7nEbC-wP-X97OdhTLrcfYussw,152
205
+ edsl/scenarios/FileStore.py,sha256=AHDN8sWIP5Rb1qej_yYNVY4eoKdGAxGyDLrXkZaBmCA,14718
206
+ edsl/scenarios/Scenario.py,sha256=HFKqOvm6In2tALTN9mnWMywchNbUu3ESThK05B66C18,19145
207
+ edsl/scenarios/ScenarioHtmlMixin.py,sha256=CX0eX1FxpY75cXdiLr4y4rFmLeaOqEIRQwx3wBR46wk,2150
208
+ edsl/scenarios/ScenarioList.py,sha256=O1Q6rSBuqEFvlkG-3OEJTWjhUXaDXJcBjjwq777mwvU,42551
209
+ edsl/scenarios/ScenarioListExportMixin.py,sha256=IjOGh3c8WPJnmdJz69W6DnUcTKpHVsMikdQxzs7-5OE,1733
210
+ edsl/scenarios/ScenarioListPdfMixin.py,sha256=EGGhet2Xfs2E88XUnMVW8B_xV91LVtScLPmOLsu26z8,8593
211
+ edsl/shared.py,sha256=56Zz60xR80ITB2qAatj0Yglns5pzNSCGLZfxfVdj9sY,21
212
+ edsl/study/__init__.py,sha256=ClO87SYaJhFlT4sPhp0aIVwo8A6q8VIKoXyd-KRRQEQ,174
213
+ edsl/study/ObjectEntry.py,sha256=DDEIDnzjfTgx3XRCUpI7apdRgZV-EOSLwC4YoMFCKGU,5961
214
+ edsl/study/ProofOfWork.py,sha256=mVp_1Lu-TLwx3krsBuvOY-9JzABfBOABzx-9GxG70I8,3546
215
+ edsl/study/SnapShot.py,sha256=WX9-Kw7JRJRSbUIiLKU6NqVnJLS_KLJP9k-3BS5j6i4,2758
216
+ edsl/study/Study.py,sha256=9j-7JcSBBTNKMnKbcG5K11UcZI5bi9cFZfFry3VKOFY,18990
217
+ edsl/surveys/__init__.py,sha256=QVjbN8G6stczph0ytwdbYA595r-jqW5co4VLh1i6MNM,132
218
+ edsl/surveys/base.py,sha256=dzR1zOUIOhQloHz7ghJl3SwZHEFq44_ivlXLJiZKIMU,1168
219
+ edsl/surveys/DAG.py,sha256=SDsLDqLhlQehJtwRQeGArDHhjhzv3X5NopQHJH-yY48,4383
220
+ edsl/surveys/descriptors.py,sha256=yaw4_Az_u8ixEeMJ8B8OlteWFhCEjInjSX96tqNGvXo,2132
221
+ edsl/surveys/instructions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
222
+ edsl/surveys/instructions/ChangeInstruction.py,sha256=3AcXa5ddfwOy9B1g0PHQaiLhEU-NFUR5DzD757Qq_jc,1413
223
+ edsl/surveys/instructions/Instruction.py,sha256=TNjXu48ENgLvt7eHo5UfB5bCFMfAHr5OCHbE-qu_KBQ,1549
224
+ edsl/surveys/instructions/InstructionCollection.py,sha256=YeIFg2aNx8heC7DNrHjUh7PPyendaA77xtOsl3_5EAk,3008
225
+ edsl/surveys/Memory.py,sha256=madt-TdPRLmAPDPYpA8asgQ8vj9aQ53zArVyOLdjvRU,1144
226
+ edsl/surveys/MemoryPlan.py,sha256=4MJeQhJmiJisdVQxDy7OolfQXXFz643zHTvbMN04Vmc,9296
227
+ edsl/surveys/Rule.py,sha256=XYnvLaSvhK8qAz-kopF-m4jcrkwRyZqZV7jc0DCD6fo,12719
228
+ edsl/surveys/RuleCollection.py,sha256=oTMFZ4_PLplxl9De5Fhqpt22R9osNMO2IXoae1F9ln8,15281
229
+ edsl/surveys/Survey.py,sha256=2o9UjbrY_dOVLIOXz5Lp1C6WZ0Tzx-jLJYMITNfQEzQ,74722
230
+ edsl/surveys/SurveyCSS.py,sha256=vutr6Yl5Kv59dEJKGEWuvL1zII-TnLc7kpUczPvmQdU,8676
231
+ edsl/surveys/SurveyExportMixin.py,sha256=s-6mao_pzGYNWiLTWEkyBZkEvksEkb4fvODq9FarRI8,8598
232
+ edsl/surveys/SurveyFlowVisualizationMixin.py,sha256=WPIQgAFSUMnf8XtApxgZM0ctQXi0UCPygNYvogsVi_Y,4125
233
+ edsl/surveys/SurveyQualtricsImport.py,sha256=H9x-kjMKWo-3XBIks8BquFw7Tx5ISo2JcvMRlcwF93E,10055
234
+ edsl/TemplateLoader.py,sha256=I5G7fTRP-cBwsPVD4O4ISxaGXuOE3_tftbelS4HEwJ4,873
235
+ edsl/templates/error_reporting/base.html,sha256=sGJEvsQ3zjkpQRw1M3J1iw-srJuHZFUXlHbk6V5rWdc,575
236
+ edsl/templates/error_reporting/exceptions_by_model.html,sha256=uw4FTTFtc-KfiH6v7R0cEGmo3wOXAAVMwyMGl-eC0HU,826
237
+ edsl/templates/error_reporting/exceptions_by_question_name.html,sha256=64pV-immQQDZXpTTo34fPI8-45qW02r1l3iyPY_sgd8,470
238
+ edsl/templates/error_reporting/exceptions_by_type.html,sha256=9S4qM8cP-vuw7dQ-UDG_0tYreY6SmgyLbE93XXma5KY,431
239
+ edsl/templates/error_reporting/interview_details.html,sha256=L2OlDJKOu5_dQ4-Y3MgKfwdG85tgVIlp0kEFR-RqAvI,4158
240
+ edsl/templates/error_reporting/interviews.html,sha256=7Bs_44zOUXEDXbo0drdOQ8zK1tSv67QQQHY_8qDvW9Y,402
241
+ edsl/templates/error_reporting/overview.html,sha256=0LRelIRtKzU3Mliv6_oLsUhd8RoS60F5F3GCMvJiIAk,409
242
+ edsl/templates/error_reporting/performance_plot.html,sha256=DXoJjYiRxNXnuMWl5HnK0xLxb6_gTVW9r0i0MziXAvg,54
243
+ edsl/templates/error_reporting/report.css,sha256=aQdfT3mit-znpnS2WDofusdEx11kwdfGf_VunXBcCl8,1282
244
+ edsl/templates/error_reporting/report.html,sha256=CmHoZKpZfviykCgUdKvPDrrRXlDurcp22u1yGlvWdno,4631
245
+ edsl/templates/error_reporting/report.js,sha256=n1eOw5L2QgxAqhC3gche08vIA9pTybplnYrCHCMF2Ck,982
246
+ edsl/tools/__init__.py,sha256=b76gzWv4VNWz_BkvhVowH__4sz4coNDP6wyKoXRK7V0,42
247
+ edsl/tools/clusters.py,sha256=uzcDLQb1rFcyjxWVYWvSWKaYdC1Z7jAAI0eLfS9Yen0,6324
248
+ edsl/tools/embeddings.py,sha256=Uk3o6CS6FHLt5QhYMARTLiwJEXutLgLyorUmnvPIoEY,704
249
+ edsl/tools/embeddings_plotting.py,sha256=UDyIdQliB8xUAGv2FygDgoh3T_jRHaUPPn1lrZtGHbA,3682
250
+ edsl/tools/plotting.py,sha256=wb67Vpi1xxGFmk3a3S_2hDIdsWMae1Wd02vc9txhmqk,3232
251
+ edsl/tools/summarize.py,sha256=-lmq-laiunYlC-0spyKy8HJthQc0rKAJYUKNlSqLmgE,674
252
+ edsl/utilities/__init__.py,sha256=ghsDYEuFWn7iAFWOhdgPCPShAIhrsgUveCZNwWwEuZw,566
253
+ edsl/utilities/ast_utilities.py,sha256=55OIW_BmhW57CxeOGNFKlLtQ-7TBcyRWWITrwsFkPmU,893
254
+ edsl/utilities/data/__init__.py,sha256=iIreocOo-LeE9DZw3B32k_puJgESMrSb13Y5xxfdjUE,63
255
+ edsl/utilities/data/Registry.py,sha256=iwwVGBdgj3dQZAZt7j9sg2-dgrmo885_Uk7Vgs2juwQ,182
256
+ edsl/utilities/data/scooter_results.json,sha256=oCWzRfzZ5fSYd_gkO-NLAqlcNrNuX11HA1mAl87PJxE,250945
257
+ edsl/utilities/decorators.py,sha256=k2tiacdNZ0SMiT84Utid2aCrWboP4VtZLRzXdBuR00w,2396
258
+ edsl/utilities/gcp_bucket/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
259
+ edsl/utilities/gcp_bucket/cloud_storage.py,sha256=UXAdn0zjXBCiio32arPq0RV4pI850tpW1AVsWkdMu5k,3568
260
+ edsl/utilities/interface.py,sha256=l9HUE_6S1pg6HtRxmng1wgct-AFtJ__chIAXlYsFZ7k,20283
261
+ edsl/utilities/naming_utilities.py,sha256=xlrzsr5NMnwZSiFNhCzLDlzTxAqe9bKPDQKFSz1vU4M,5229
262
+ edsl/utilities/repair_functions.py,sha256=ZnoJsWzBRxhZnMf4yY3586nmoR_5pzktV-xWdhXmM4Y,957
263
+ edsl/utilities/restricted_python.py,sha256=ZK4r_T3cNSvIMXTuyC6dCHVX6-ed2NRzzXUbHAcgLlw,2130
264
+ edsl/utilities/SystemInfo.py,sha256=7xJ8MYEEx3aVFOoynu_nQqAv2ePQMyehEZOxFWMZk44,820
265
+ edsl/utilities/utilities.py,sha256=iQLnSAkrVvVjiUAmX3mCp1y0tJ36wE8x1h7JIZBeIIo,12266
266
+ edsl-0.1.38.dev3.dist-info/LICENSE,sha256=hq3hkdxkn1rC8xTiiHh0VdWniMNkcS3rBozeiaKE5SQ,1132
267
+ edsl-0.1.38.dev3.dist-info/METADATA,sha256=BAzfRTolf4JHeWNE2XZUL_qK_m4gum20Bf30TQGbU-8,4476
268
+ edsl-0.1.38.dev3.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
269
+ edsl-0.1.38.dev3.dist-info/RECORD,,
@@ -1,160 +0,0 @@
1
- import random
2
- from typing import Generator, List, Optional, Union, Callable
3
- from edsl.agents.Agent import Agent
4
- from edsl.agents.AgentList import AgentList
5
- from edsl.questions import QuestionBase
6
- from edsl.results.Results import Results
7
-
8
-
9
- class AgentConstructionMixin:
10
- def agent(self, index) -> Agent:
11
- """Return an agent constructed from the data.
12
-
13
- :param index: The index of the agent to construct.
14
-
15
- >>> from edsl.conjure.InputData import InputDataABC
16
- >>> id = InputDataABC.example()
17
- >>> id.agent(0)
18
- Agent(traits = {'morning': '1', 'feeling': '3'}, codebook = {'morning': 'how are you doing this morning?', 'feeling': 'how are you feeling?'})
19
-
20
-
21
- """
22
- responses = [responses[index] for responses in self.raw_data]
23
- traits = {qn: r for qn, r in zip(self.question_names, responses)}
24
-
25
- a = Agent(traits=traits, codebook=self.names_to_texts)
26
-
27
- def construct_answer_dict_function(traits: dict) -> Callable:
28
- def func(self, question: "QuestionBase", scenario=None):
29
- return traits.get(question.question_name, None)
30
-
31
- return func
32
-
33
- a.add_direct_question_answering_method(construct_answer_dict_function(traits))
34
- return a
35
-
36
- def _agents(self, indices) -> Generator[Agent, None, None]:
37
- """Return a generator of agents, one for each index."""
38
- for idx in indices:
39
- yield self.agent(idx)
40
-
41
- def to_agent_list(
42
- self,
43
- indices: Optional[List] = None,
44
- sample_size: int = None,
45
- seed: str = "edsl",
46
- remove_direct_question_answering_method: bool = True,
47
- ) -> AgentList:
48
- """Return an AgentList from the data.
49
-
50
- :param indices: The indices of the agents to include.
51
- :param sample_size: The number of agents to sample.
52
- :param seed: The seed for the random number generator.
53
-
54
- >>> from edsl.conjure.InputData import InputDataABC
55
- >>> id = InputDataABC.example()
56
- >>> al = id.to_agent_list()
57
- >>> len(al) == id.num_observations
58
- True
59
- >>> al = id.to_agent_list(indices = [0, 1, 2])
60
- Traceback (most recent call last):
61
- ...
62
- ValueError: Index 2 is greater than the number of agents 2.
63
- """
64
- if indices and (sample_size or seed != "edsl"):
65
- raise ValueError(
66
- "You cannot pass both indices and sample_size/seed, as these are mutually exclusive."
67
- )
68
-
69
- if indices:
70
- if len(indices) == 0:
71
- raise ValueError("Indices must be a non-empty list.")
72
- if max(indices) >= self.num_observations:
73
- raise ValueError(
74
- f"Index {max(indices)} is greater than the number of agents {self.num_observations}."
75
- )
76
- if min(indices) < 0:
77
- raise ValueError(f"Index {min(indices)} is less than 0.")
78
-
79
- if indices is None:
80
- if sample_size is None:
81
- indices = range(self.num_observations)
82
- else:
83
- if sample_size > self.num_observations:
84
- raise ValueError(
85
- f"Sample size {sample_size} is greater than the number of agents {self.num_observations}."
86
- )
87
- random.seed(seed)
88
- indices = random.sample(range(self.num_observations), sample_size)
89
-
90
- agents = list(self._agents(indices))
91
- if remove_direct_question_answering_method:
92
- for a in agents:
93
- a.remove_direct_question_answering_method()
94
- return AgentList(agents)
95
-
96
- def to_results(
97
- self,
98
- indices: Optional[List] = None,
99
- sample_size: int = None,
100
- seed: str = "edsl",
101
- dryrun=False,
102
- disable_remote_cache: bool = False,
103
- disable_remote_inference: bool = False,
104
- ) -> Union[Results, None]:
105
- """Return the results of the survey.
106
-
107
- :param indices: The indices of the agents to include.
108
- :param sample_size: The number of agents to sample.
109
- :param seed: The seed for the random number generator.
110
- :param dryrun: If True, the survey will not be run, but the time to run it will be printed.
111
-
112
- >>> from edsl.conjure.InputData import InputDataABC
113
- >>> id = InputDataABC.example()
114
- >>> r = id.to_results(disable_remote_cache = True, disable_remote_inference = True)
115
- >>> len(r) == id.num_observations
116
- True
117
- """
118
- agent_list = self.to_agent_list(
119
- indices=indices,
120
- sample_size=sample_size,
121
- seed=seed,
122
- remove_direct_question_answering_method=False,
123
- )
124
- DRYRUN_SAMPLE = 30
125
- survey = self.to_survey()
126
- if dryrun:
127
- import time
128
-
129
- start = time.time()
130
- _ = survey.by(agent_list.sample(DRYRUN_SAMPLE)).run(
131
- disable_remote_cache=disable_remote_cache,
132
- disable_remote_inference=disable_remote_inference,
133
- )
134
- end = time.time()
135
- print(f"Time to run {DRYRUN_SAMPLE} agents (s): {round(end - start, 2)}")
136
- time_per_agent = (end - start) / DRYRUN_SAMPLE
137
- full_sample_time = time_per_agent * len(agent_list)
138
- if full_sample_time < 60:
139
- print(
140
- f"Full sample will take about {round(full_sample_time, 2)} seconds."
141
- )
142
- if full_sample_time > 60 and full_sample_time < 3600:
143
- print(
144
- f"Full sample will take about {round(full_sample_time / 60, 2)} minutes."
145
- )
146
- if full_sample_time > 3600:
147
- print(
148
- f"Full sample will take about {round(full_sample_time / 3600, 2)} hours."
149
- )
150
- return None
151
- return survey.by(agent_list).run(
152
- disable_remote_cache=disable_remote_cache,
153
- disable_remote_inference=disable_remote_inference,
154
- )
155
-
156
-
157
- if __name__ == "__main__":
158
- import doctest
159
-
160
- doctest.testmod(optionflags=doctest.ELLIPSIS)
edsl/conjure/Conjure.py DELETED
@@ -1,62 +0,0 @@
1
- from typing import List, Optional, Dict, Callable
2
-
3
-
4
- class Conjure:
5
- def __new__(cls, datafile_name: str, *args, **kwargs):
6
- if datafile_name.endswith(".csv"):
7
- from edsl.conjure.InputDataCSV import InputDataCSV
8
-
9
- return InputDataCSV(datafile_name, *args, **kwargs)
10
- elif datafile_name.endswith(".sav"):
11
- from edsl.conjure.InputDataSPSS import InputDataSPSS
12
-
13
- return InputDataSPSS(datafile_name, *args, **kwargs)
14
- elif datafile_name.endswith(".dta"):
15
- from edsl.conjure.InputDataStata import InputDataStata
16
-
17
- return InputDataStata(datafile_name, *args, **kwargs)
18
- else:
19
- raise ValueError("Unsupported file type")
20
-
21
- def __init__(
22
- self,
23
- datafile_name: str,
24
- config: Optional[dict] = None,
25
- naming_function: Optional[Callable] = None,
26
- raw_data: Optional[List] = None,
27
- question_names: Optional[List[str]] = None,
28
- question_texts: Optional[List[str]] = None,
29
- answer_codebook: Optional[Dict] = None,
30
- question_types: Optional[List[str]] = None,
31
- question_options: Optional[List] = None,
32
- order_options=False,
33
- question_name_repair_func: Callable = None,
34
- ):
35
- # The __init__ method in Conjure won't be called because __new__ returns a different class instance.
36
- pass
37
-
38
- @classmethod
39
- def example(cls):
40
- from edsl.conjure.InputData import InputDataABC
41
-
42
- return InputDataABC.example()
43
-
44
-
45
- if __name__ == "__main__":
46
- pass
47
- # import glob
48
-
49
- # for file in glob.glob("examples/*"):
50
- # if file.endswith(".txt"):
51
- # continue
52
- # print("\n\n")
53
- # print("Now processing:", file)
54
- # conjure_instance = Conjure(file)
55
- # print(conjure_instance)
56
- # conjure_instance.to_results(dryrun=True)
57
- # print("\n\n")
58
-
59
- # # c = Conjure("mayors.sav")
60
- # # al = c.to_agent_list()
61
- # # s = c.to_survey()
62
- # # r = c.results()