edsl 0.1.38.dev2__tar.gz → 0.1.38.dev3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (297) hide show
  1. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/LICENSE +21 -21
  2. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/PKG-INFO +1 -1
  3. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/README.md +55 -55
  4. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/Base.py +303 -303
  5. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/BaseDiff.py +260 -260
  6. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/TemplateLoader.py +24 -24
  7. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/__init__.py +49 -49
  8. edsl-0.1.38.dev3/edsl/__version__.py +1 -0
  9. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/agents/Agent.py +858 -858
  10. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/agents/AgentList.py +362 -362
  11. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/agents/Invigilator.py +222 -222
  12. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/agents/InvigilatorBase.py +284 -284
  13. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/agents/PromptConstructor.py +353 -353
  14. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/agents/__init__.py +3 -3
  15. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/agents/descriptors.py +99 -99
  16. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/agents/prompt_helpers.py +129 -129
  17. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/auto/AutoStudy.py +117 -117
  18. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/auto/StageBase.py +230 -230
  19. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/auto/StageGenerateSurvey.py +178 -178
  20. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/auto/StageLabelQuestions.py +125 -125
  21. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/auto/StagePersona.py +61 -61
  22. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/auto/StagePersonaDimensionValueRanges.py +88 -88
  23. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/auto/StagePersonaDimensionValues.py +74 -74
  24. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/auto/StagePersonaDimensions.py +69 -69
  25. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/auto/StageQuestions.py +73 -73
  26. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/auto/SurveyCreatorPipeline.py +21 -21
  27. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/auto/utilities.py +224 -224
  28. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/base/Base.py +279 -279
  29. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/config.py +149 -149
  30. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/conversation/Conversation.py +290 -290
  31. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/conversation/car_buying.py +58 -58
  32. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/conversation/chips.py +95 -95
  33. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/conversation/mug_negotiation.py +81 -81
  34. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/conversation/next_speaker_utilities.py +93 -93
  35. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/coop/PriceFetcher.py +54 -54
  36. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/coop/__init__.py +2 -2
  37. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/coop/coop.py +961 -961
  38. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/coop/utils.py +131 -131
  39. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/data/Cache.py +530 -530
  40. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/data/CacheEntry.py +228 -228
  41. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/data/CacheHandler.py +149 -149
  42. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/data/RemoteCacheSync.py +97 -97
  43. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/data/SQLiteDict.py +292 -292
  44. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/data/__init__.py +4 -4
  45. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/data/orm.py +10 -10
  46. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/data_transfer_models.py +73 -73
  47. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/enums.py +173 -173
  48. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/exceptions/BaseException.py +21 -21
  49. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/exceptions/__init__.py +54 -54
  50. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/exceptions/agents.py +42 -42
  51. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/exceptions/cache.py +5 -5
  52. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/exceptions/configuration.py +16 -16
  53. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/exceptions/coop.py +10 -10
  54. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/exceptions/data.py +14 -14
  55. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/exceptions/general.py +34 -34
  56. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/exceptions/jobs.py +33 -33
  57. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/exceptions/language_models.py +63 -63
  58. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/exceptions/prompts.py +15 -15
  59. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/exceptions/questions.py +91 -91
  60. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/exceptions/results.py +29 -29
  61. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/exceptions/scenarios.py +22 -22
  62. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/exceptions/surveys.py +37 -37
  63. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/inference_services/AnthropicService.py +87 -87
  64. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/inference_services/AwsBedrock.py +120 -120
  65. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/inference_services/AzureAI.py +217 -217
  66. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/inference_services/DeepInfraService.py +18 -18
  67. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/inference_services/GoogleService.py +156 -156
  68. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/inference_services/GroqService.py +20 -20
  69. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/inference_services/InferenceServiceABC.py +147 -147
  70. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/inference_services/InferenceServicesCollection.py +97 -97
  71. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/inference_services/MistralAIService.py +123 -123
  72. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/inference_services/OllamaService.py +18 -18
  73. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/inference_services/OpenAIService.py +224 -224
  74. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/inference_services/TestService.py +89 -89
  75. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/inference_services/TogetherAIService.py +170 -170
  76. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/inference_services/models_available_cache.py +118 -118
  77. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/inference_services/rate_limits_cache.py +25 -25
  78. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/inference_services/registry.py +39 -39
  79. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/inference_services/write_available.py +10 -10
  80. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/jobs/Answers.py +56 -56
  81. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/jobs/Jobs.py +1358 -1358
  82. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/jobs/__init__.py +1 -1
  83. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/jobs/buckets/BucketCollection.py +63 -63
  84. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/jobs/buckets/ModelBuckets.py +65 -65
  85. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/jobs/buckets/TokenBucket.py +251 -251
  86. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/jobs/interviews/Interview.py +661 -661
  87. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/jobs/interviews/InterviewExceptionCollection.py +99 -99
  88. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/jobs/interviews/InterviewExceptionEntry.py +186 -186
  89. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/jobs/interviews/InterviewStatistic.py +63 -63
  90. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/jobs/interviews/InterviewStatisticsCollection.py +25 -25
  91. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/jobs/interviews/InterviewStatusDictionary.py +78 -78
  92. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/jobs/interviews/InterviewStatusLog.py +92 -92
  93. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/jobs/interviews/ReportErrors.py +66 -66
  94. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/jobs/interviews/interview_status_enum.py +9 -9
  95. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/jobs/runners/JobsRunnerAsyncio.py +361 -361
  96. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/jobs/runners/JobsRunnerStatus.py +332 -332
  97. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/jobs/tasks/QuestionTaskCreator.py +242 -242
  98. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/jobs/tasks/TaskCreators.py +64 -64
  99. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/jobs/tasks/TaskHistory.py +451 -451
  100. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/jobs/tasks/TaskStatusLog.py +23 -23
  101. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/jobs/tasks/task_status_enum.py +163 -163
  102. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/jobs/tokens/InterviewTokenUsage.py +27 -27
  103. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/jobs/tokens/TokenUsage.py +34 -34
  104. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/language_models/KeyLookup.py +30 -30
  105. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/language_models/LanguageModel.py +708 -708
  106. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/language_models/ModelList.py +109 -109
  107. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/language_models/RegisterLanguageModelsMeta.py +184 -184
  108. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/language_models/__init__.py +3 -3
  109. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/language_models/fake_openai_call.py +15 -15
  110. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/language_models/fake_openai_service.py +61 -61
  111. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/language_models/registry.py +137 -137
  112. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/language_models/repair.py +156 -156
  113. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/language_models/unused/ReplicateBase.py +83 -83
  114. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/language_models/utilities.py +64 -64
  115. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/notebooks/Notebook.py +258 -258
  116. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/notebooks/__init__.py +1 -1
  117. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/prompts/Prompt.py +357 -357
  118. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/prompts/__init__.py +2 -2
  119. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/AnswerValidatorMixin.py +289 -289
  120. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/QuestionBase.py +660 -660
  121. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/QuestionBaseGenMixin.py +161 -161
  122. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/QuestionBasePromptsMixin.py +217 -217
  123. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/QuestionBudget.py +227 -227
  124. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/QuestionCheckBox.py +359 -359
  125. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/QuestionExtract.py +183 -183
  126. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/QuestionFreeText.py +114 -114
  127. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/QuestionFunctional.py +166 -166
  128. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/QuestionList.py +231 -231
  129. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/QuestionMultipleChoice.py +286 -286
  130. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/QuestionNumerical.py +153 -153
  131. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/QuestionRank.py +324 -324
  132. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/Quick.py +41 -41
  133. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/RegisterQuestionsMeta.py +71 -71
  134. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/ResponseValidatorABC.py +174 -174
  135. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/SimpleAskMixin.py +73 -73
  136. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/__init__.py +26 -26
  137. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/compose_questions.py +98 -98
  138. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/decorators.py +21 -21
  139. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/derived/QuestionLikertFive.py +76 -76
  140. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/derived/QuestionLinearScale.py +87 -87
  141. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/derived/QuestionTopK.py +93 -93
  142. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/derived/QuestionYesNo.py +82 -82
  143. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/descriptors.py +413 -413
  144. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/prompt_templates/question_budget.jinja +13 -13
  145. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/prompt_templates/question_checkbox.jinja +32 -32
  146. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/prompt_templates/question_extract.jinja +11 -11
  147. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/prompt_templates/question_free_text.jinja +3 -3
  148. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/prompt_templates/question_linear_scale.jinja +11 -11
  149. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/prompt_templates/question_list.jinja +17 -17
  150. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/prompt_templates/question_multiple_choice.jinja +33 -33
  151. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/prompt_templates/question_numerical.jinja +36 -36
  152. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/question_registry.py +147 -147
  153. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/settings.py +12 -12
  154. edsl-0.1.38.dev3/edsl/questions/templates/__pycache__/__init__.cpython-312.pyc +0 -0
  155. edsl-0.1.38.dev3/edsl/questions/templates/budget/__pycache__/__init__.cpython-312.pyc +0 -0
  156. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/templates/budget/answering_instructions.jinja +7 -7
  157. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/templates/budget/question_presentation.jinja +7 -7
  158. edsl-0.1.38.dev3/edsl/questions/templates/checkbox/__pycache__/__init__.cpython-312.pyc +0 -0
  159. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/templates/checkbox/answering_instructions.jinja +10 -10
  160. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/templates/checkbox/question_presentation.jinja +22 -22
  161. edsl-0.1.38.dev3/edsl/questions/templates/extract/__pycache__/__init__.cpython-312.pyc +0 -0
  162. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/templates/extract/answering_instructions.jinja +7 -7
  163. edsl-0.1.38.dev3/edsl/questions/templates/free_text/__pycache__/__init__.cpython-312.pyc +0 -0
  164. edsl-0.1.38.dev3/edsl/questions/templates/likert_five/__pycache__/__init__.cpython-312.pyc +0 -0
  165. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/templates/likert_five/answering_instructions.jinja +10 -10
  166. {edsl-0.1.38.dev2/edsl/questions/templates/multiple_choice → edsl-0.1.38.dev3/edsl/questions/templates/likert_five}/question_presentation.jinja +11 -11
  167. edsl-0.1.38.dev3/edsl/questions/templates/linear_scale/__pycache__/__init__.cpython-312.pyc +0 -0
  168. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/templates/linear_scale/answering_instructions.jinja +5 -5
  169. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/templates/linear_scale/question_presentation.jinja +5 -5
  170. edsl-0.1.38.dev3/edsl/questions/templates/list/__pycache__/__init__.cpython-312.pyc +0 -0
  171. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/templates/list/answering_instructions.jinja +3 -3
  172. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/templates/list/question_presentation.jinja +5 -5
  173. edsl-0.1.38.dev3/edsl/questions/templates/multiple_choice/__pycache__/__init__.cpython-312.pyc +0 -0
  174. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/templates/multiple_choice/answering_instructions.jinja +9 -9
  175. {edsl-0.1.38.dev2/edsl/questions/templates/likert_five → edsl-0.1.38.dev3/edsl/questions/templates/multiple_choice}/question_presentation.jinja +11 -11
  176. edsl-0.1.38.dev3/edsl/questions/templates/numerical/__pycache__/__init__.cpython-312.pyc +0 -0
  177. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/templates/numerical/answering_instructions.jinja +6 -6
  178. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/templates/numerical/question_presentation.jinja +6 -6
  179. edsl-0.1.38.dev3/edsl/questions/templates/rank/__pycache__/__init__.cpython-312.pyc +0 -0
  180. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/templates/rank/answering_instructions.jinja +11 -11
  181. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/templates/rank/question_presentation.jinja +15 -15
  182. edsl-0.1.38.dev3/edsl/questions/templates/top_k/__pycache__/__init__.cpython-312.pyc +0 -0
  183. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/templates/top_k/answering_instructions.jinja +8 -8
  184. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/templates/top_k/question_presentation.jinja +22 -22
  185. edsl-0.1.38.dev3/edsl/questions/templates/yes_no/__pycache__/__init__.cpython-312.pyc +0 -0
  186. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/templates/yes_no/answering_instructions.jinja +6 -6
  187. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/templates/yes_no/question_presentation.jinja +11 -11
  188. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/results/Dataset.py +293 -293
  189. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/results/DatasetExportMixin.py +717 -717
  190. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/results/DatasetTree.py +145 -145
  191. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/results/Result.py +456 -456
  192. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/results/Results.py +1071 -1071
  193. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/results/ResultsDBMixin.py +238 -238
  194. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/results/ResultsExportMixin.py +43 -43
  195. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/results/ResultsFetchMixin.py +33 -33
  196. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/results/ResultsGGMixin.py +121 -121
  197. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/results/ResultsToolsMixin.py +98 -98
  198. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/results/Selector.py +135 -135
  199. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/results/__init__.py +2 -2
  200. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/results/tree_explore.py +115 -115
  201. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/scenarios/FileStore.py +458 -458
  202. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/scenarios/Scenario.py +544 -544
  203. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/scenarios/ScenarioHtmlMixin.py +64 -64
  204. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/scenarios/ScenarioList.py +1112 -1112
  205. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/scenarios/ScenarioListExportMixin.py +52 -52
  206. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/scenarios/ScenarioListPdfMixin.py +261 -261
  207. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/scenarios/__init__.py +4 -4
  208. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/shared.py +1 -1
  209. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/study/ObjectEntry.py +173 -173
  210. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/study/ProofOfWork.py +113 -113
  211. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/study/SnapShot.py +80 -80
  212. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/study/Study.py +528 -528
  213. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/study/__init__.py +4 -4
  214. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/surveys/DAG.py +148 -148
  215. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/surveys/Memory.py +31 -31
  216. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/surveys/MemoryPlan.py +244 -244
  217. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/surveys/Rule.py +326 -326
  218. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/surveys/RuleCollection.py +387 -387
  219. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/surveys/Survey.py +1787 -1787
  220. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/surveys/SurveyCSS.py +261 -261
  221. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/surveys/SurveyExportMixin.py +259 -259
  222. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/surveys/SurveyFlowVisualizationMixin.py +121 -121
  223. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/surveys/SurveyQualtricsImport.py +284 -284
  224. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/surveys/__init__.py +3 -3
  225. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/surveys/base.py +53 -53
  226. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/surveys/descriptors.py +56 -56
  227. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/surveys/instructions/ChangeInstruction.py +49 -49
  228. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/surveys/instructions/Instruction.py +53 -53
  229. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/surveys/instructions/InstructionCollection.py +77 -77
  230. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/templates/error_reporting/base.html +23 -23
  231. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/templates/error_reporting/exceptions_by_model.html +34 -34
  232. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/templates/error_reporting/exceptions_by_question_name.html +16 -16
  233. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/templates/error_reporting/exceptions_by_type.html +16 -16
  234. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/templates/error_reporting/interview_details.html +115 -115
  235. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/templates/error_reporting/interviews.html +9 -9
  236. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/templates/error_reporting/overview.html +4 -4
  237. edsl-0.1.38.dev3/edsl/templates/error_reporting/performance_plot.html +2 -0
  238. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/templates/error_reporting/report.css +73 -73
  239. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/templates/error_reporting/report.html +117 -117
  240. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/templates/error_reporting/report.js +25 -25
  241. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/tools/__init__.py +1 -1
  242. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/tools/clusters.py +192 -192
  243. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/tools/embeddings.py +27 -27
  244. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/tools/embeddings_plotting.py +118 -118
  245. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/tools/plotting.py +112 -112
  246. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/tools/summarize.py +18 -18
  247. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/utilities/SystemInfo.py +28 -28
  248. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/utilities/__init__.py +22 -22
  249. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/utilities/ast_utilities.py +25 -25
  250. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/utilities/data/Registry.py +6 -6
  251. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/utilities/data/__init__.py +1 -1
  252. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/utilities/data/scooter_results.json +1 -1
  253. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/utilities/decorators.py +77 -77
  254. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/utilities/gcp_bucket/cloud_storage.py +96 -96
  255. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/utilities/interface.py +627 -627
  256. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/utilities/naming_utilities.py +263 -263
  257. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/utilities/repair_functions.py +28 -28
  258. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/utilities/restricted_python.py +70 -70
  259. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/utilities/utilities.py +409 -409
  260. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/pyproject.toml +82 -82
  261. edsl-0.1.38.dev2/edsl/__version__.py +0 -1
  262. edsl-0.1.38.dev2/edsl/questions/templates/__pycache__/__init__.cpython-311.pyc +0 -0
  263. edsl-0.1.38.dev2/edsl/questions/templates/budget/__pycache__/__init__.cpython-311.pyc +0 -0
  264. edsl-0.1.38.dev2/edsl/questions/templates/checkbox/__pycache__/__init__.cpython-311.pyc +0 -0
  265. edsl-0.1.38.dev2/edsl/questions/templates/extract/__pycache__/__init__.cpython-311.pyc +0 -0
  266. edsl-0.1.38.dev2/edsl/questions/templates/free_text/__pycache__/__init__.cpython-311.pyc +0 -0
  267. edsl-0.1.38.dev2/edsl/questions/templates/likert_five/__pycache__/__init__.cpython-311.pyc +0 -0
  268. edsl-0.1.38.dev2/edsl/questions/templates/linear_scale/__pycache__/__init__.cpython-311.pyc +0 -0
  269. edsl-0.1.38.dev2/edsl/questions/templates/list/__pycache__/__init__.cpython-311.pyc +0 -0
  270. edsl-0.1.38.dev2/edsl/questions/templates/multiple_choice/__pycache__/__init__.cpython-311.pyc +0 -0
  271. edsl-0.1.38.dev2/edsl/questions/templates/numerical/__pycache__/__init__.cpython-311.pyc +0 -0
  272. edsl-0.1.38.dev2/edsl/questions/templates/rank/__pycache__/__init__.cpython-311.pyc +0 -0
  273. edsl-0.1.38.dev2/edsl/questions/templates/top_k/__pycache__/__init__.cpython-311.pyc +0 -0
  274. edsl-0.1.38.dev2/edsl/questions/templates/yes_no/__pycache__/__init__.cpython-311.pyc +0 -0
  275. edsl-0.1.38.dev2/edsl/templates/error_reporting/performance_plot.html +0 -2
  276. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/inference_services/__init__.py +0 -0
  277. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/jobs/runners/JobsRunnerStatusData.py +0 -0
  278. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/derived/__init__.py +0 -0
  279. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/templates/__init__.py +0 -0
  280. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/templates/budget/__init__.py +0 -0
  281. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/templates/checkbox/__init__.py +0 -0
  282. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/templates/extract/__init__.py +0 -0
  283. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/templates/extract/question_presentation.jinja +0 -0
  284. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/templates/free_text/__init__.py +0 -0
  285. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/templates/free_text/answering_instructions.jinja +0 -0
  286. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/templates/free_text/question_presentation.jinja +0 -0
  287. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/templates/likert_five/__init__.py +0 -0
  288. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/templates/linear_scale/__init__.py +0 -0
  289. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/templates/list/__init__.py +0 -0
  290. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/templates/multiple_choice/__init__.py +0 -0
  291. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/templates/multiple_choice/html.jinja +0 -0
  292. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/templates/numerical/__init__.py +0 -0
  293. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/templates/rank/__init__.py +0 -0
  294. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/templates/top_k/__init__.py +0 -0
  295. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/questions/templates/yes_no/__init__.py +0 -0
  296. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/surveys/instructions/__init__.py +0 -0
  297. {edsl-0.1.38.dev2 → edsl-0.1.38.dev3}/edsl/utilities/gcp_bucket/__init__.py +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.dev2
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
@@ -1,55 +1,55 @@
1
- # Expected Parrot Domain-Specific Language
2
- <p align="center">
3
- <img src="https://github.com/expectedparrot/edsl/blob/main/static/logo.png?raw=true" alt="edsl.png" width="100"/>
4
- </p>
5
-
6
- The Expected Parrot Domain-Specific Language (EDSL) package lets you conduct computational social science and market research with AI. Use it to design surveys and experiments, simulate responses with large language models, and perform data labeling and other research tasks. Results are formatted as specified datasets and come with built-in methods for analyzing, visualizing, and sharing.
7
-
8
- ## 🔗 Links
9
- - [PyPI](https://pypi.org/project/edsl/)
10
- - [Documentation](https://docs.expectedparrot.com)
11
- - [Getting started](https://docs.expectedparrot.com/en/latest/starter_tutorial.html)
12
- - [Discord](https://discord.com/invite/mxAYkjfy9m)
13
- - [Twitter](https://x.com/ExpectedParrot)
14
- - [LinkedIn](https://www.linkedin.com/company/expectedparrot/)
15
- - [Blog](https://blog.expectedparrot.com)
16
-
17
- ## 🌎 Hello, World!
18
- A quick example:
19
-
20
- ```python
21
- # Import a question type
22
- from edsl import QuestionMultipleChoice
23
-
24
- # Construct a question using the question type template
25
- q = QuestionMultipleChoice(
26
- question_name="example_question",
27
- question_text="How do you feel today?",
28
- question_options=["Bad", "OK", "Good"]
29
- )
30
-
31
- # Run it with the default language model
32
- results = q.run()
33
-
34
- # Inspect the results in a dataset
35
- results.select("example_question").print()
36
- ```
37
-
38
- Output:
39
- ```python
40
- ┏━━━━━━━━━━━━━━━━━━━┓
41
- ┃ answer ┃
42
- ┃ .example_question ┃
43
- ┡━━━━━━━━━━━━━━━━━━━┩
44
- │ Good │
45
- └───────────────────┘
46
- ```
47
-
48
- ## 💻 Requirements
49
- * EDSL is compatible with Python 3.9 - 3.12.
50
- * API keys for large language models that you want to use, stored in a `.env` file.
51
- See instructions on [storing API keys](https://docs.expectedparrot.com/en/latest/api_keys.html).
52
-
53
- ## 💡 Contributions, feature requests & bugs
54
- Interested in contributing? Want us to add a new feature? Found a bug for us to squash?
55
- Please send us an email at [info@expectedparrot.com](mailto:info@expectedparrot.com) or message us at our [Discord channel](https://discord.com/invite/mxAYkjfy9m).
1
+ # Expected Parrot Domain-Specific Language
2
+ <p align="center">
3
+ <img src="https://github.com/expectedparrot/edsl/blob/main/static/logo.png?raw=true" alt="edsl.png" width="100"/>
4
+ </p>
5
+
6
+ The Expected Parrot Domain-Specific Language (EDSL) package lets you conduct computational social science and market research with AI. Use it to design surveys and experiments, simulate responses with large language models, and perform data labeling and other research tasks. Results are formatted as specified datasets and come with built-in methods for analyzing, visualizing, and sharing.
7
+
8
+ ## 🔗 Links
9
+ - [PyPI](https://pypi.org/project/edsl/)
10
+ - [Documentation](https://docs.expectedparrot.com)
11
+ - [Getting started](https://docs.expectedparrot.com/en/latest/starter_tutorial.html)
12
+ - [Discord](https://discord.com/invite/mxAYkjfy9m)
13
+ - [Twitter](https://x.com/ExpectedParrot)
14
+ - [LinkedIn](https://www.linkedin.com/company/expectedparrot/)
15
+ - [Blog](https://blog.expectedparrot.com)
16
+
17
+ ## 🌎 Hello, World!
18
+ A quick example:
19
+
20
+ ```python
21
+ # Import a question type
22
+ from edsl import QuestionMultipleChoice
23
+
24
+ # Construct a question using the question type template
25
+ q = QuestionMultipleChoice(
26
+ question_name="example_question",
27
+ question_text="How do you feel today?",
28
+ question_options=["Bad", "OK", "Good"]
29
+ )
30
+
31
+ # Run it with the default language model
32
+ results = q.run()
33
+
34
+ # Inspect the results in a dataset
35
+ results.select("example_question").print()
36
+ ```
37
+
38
+ Output:
39
+ ```python
40
+ ┏━━━━━━━━━━━━━━━━━━━┓
41
+ ┃ answer ┃
42
+ ┃ .example_question ┃
43
+ ┡━━━━━━━━━━━━━━━━━━━┩
44
+ │ Good │
45
+ └───────────────────┘
46
+ ```
47
+
48
+ ## 💻 Requirements
49
+ * EDSL is compatible with Python 3.9 - 3.12.
50
+ * API keys for large language models that you want to use, stored in a `.env` file.
51
+ See instructions on [storing API keys](https://docs.expectedparrot.com/en/latest/api_keys.html).
52
+
53
+ ## 💡 Contributions, feature requests & bugs
54
+ Interested in contributing? Want us to add a new feature? Found a bug for us to squash?
55
+ Please send us an email at [info@expectedparrot.com](mailto:info@expectedparrot.com) or message us at our [Discord channel](https://discord.com/invite/mxAYkjfy9m).