edsl 0.1.39.dev3__tar.gz → 0.1.39.dev4__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 (397) hide show
  1. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/LICENSE +21 -21
  2. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/PKG-INFO +13 -11
  3. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/README.md +54 -55
  4. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/Base.py +413 -332
  5. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/BaseDiff.py +260 -260
  6. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/TemplateLoader.py +24 -24
  7. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/__init__.py +57 -49
  8. edsl-0.1.39.dev4/edsl/__version__.py +1 -0
  9. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/agents/Agent.py +1071 -867
  10. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/agents/AgentList.py +551 -413
  11. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/agents/Invigilator.py +284 -233
  12. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/agents/InvigilatorBase.py +257 -270
  13. edsl-0.1.39.dev4/edsl/agents/PromptConstructor.py +272 -0
  14. edsl-0.1.39.dev4/edsl/agents/QuestionInstructionPromptBuilder.py +128 -0
  15. edsl-0.1.39.dev4/edsl/agents/QuestionTemplateReplacementsBuilder.py +137 -0
  16. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/agents/__init__.py +2 -3
  17. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/agents/descriptors.py +99 -99
  18. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/agents/prompt_helpers.py +129 -129
  19. edsl-0.1.39.dev4/edsl/agents/question_option_processor.py +172 -0
  20. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/auto/AutoStudy.py +130 -117
  21. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/auto/StageBase.py +243 -230
  22. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/auto/StageGenerateSurvey.py +178 -178
  23. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/auto/StageLabelQuestions.py +125 -125
  24. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/auto/StagePersona.py +61 -61
  25. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/auto/StagePersonaDimensionValueRanges.py +88 -88
  26. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/auto/StagePersonaDimensionValues.py +74 -74
  27. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/auto/StagePersonaDimensions.py +69 -69
  28. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/auto/StageQuestions.py +74 -73
  29. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/auto/SurveyCreatorPipeline.py +21 -21
  30. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/auto/utilities.py +218 -224
  31. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/base/Base.py +279 -279
  32. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/config.py +177 -157
  33. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/conversation/Conversation.py +290 -290
  34. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/conversation/car_buying.py +59 -58
  35. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/conversation/chips.py +95 -95
  36. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/conversation/mug_negotiation.py +81 -81
  37. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/conversation/next_speaker_utilities.py +93 -93
  38. edsl-0.1.39.dev4/edsl/coop/CoopFunctionsMixin.py +15 -0
  39. edsl-0.1.39.dev4/edsl/coop/ExpectedParrotKeyHandler.py +125 -0
  40. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/coop/PriceFetcher.py +54 -54
  41. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/coop/__init__.py +2 -2
  42. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/coop/coop.py +1106 -1028
  43. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/coop/utils.py +131 -131
  44. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/data/Cache.py +573 -555
  45. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/data/CacheEntry.py +230 -233
  46. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/data/CacheHandler.py +168 -149
  47. edsl-0.1.39.dev4/edsl/data/RemoteCacheSync.py +186 -0
  48. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/data/SQLiteDict.py +292 -292
  49. edsl-0.1.39.dev4/edsl/data/__init__.py +5 -0
  50. edsl-0.1.39.dev4/edsl/data/hack.py +10 -0
  51. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/data/orm.py +10 -10
  52. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/data_transfer_models.py +74 -73
  53. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/enums.py +202 -175
  54. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/exceptions/BaseException.py +21 -21
  55. edsl-0.1.39.dev4/edsl/exceptions/__init__.py +54 -0
  56. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/exceptions/agents.py +54 -42
  57. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/exceptions/cache.py +5 -5
  58. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/exceptions/configuration.py +16 -16
  59. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/exceptions/coop.py +10 -10
  60. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/exceptions/data.py +14 -14
  61. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/exceptions/general.py +34 -34
  62. edsl-0.1.39.dev4/edsl/exceptions/inference_services.py +5 -0
  63. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/exceptions/jobs.py +33 -33
  64. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/exceptions/language_models.py +63 -63
  65. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/exceptions/prompts.py +15 -15
  66. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/exceptions/questions.py +109 -91
  67. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/exceptions/results.py +29 -29
  68. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/exceptions/scenarios.py +29 -22
  69. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/exceptions/surveys.py +37 -37
  70. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/inference_services/AnthropicService.py +106 -87
  71. edsl-0.1.39.dev4/edsl/inference_services/AvailableModelCacheHandler.py +184 -0
  72. edsl-0.1.39.dev4/edsl/inference_services/AvailableModelFetcher.py +215 -0
  73. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/inference_services/AwsBedrock.py +118 -120
  74. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/inference_services/AzureAI.py +215 -217
  75. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/inference_services/DeepInfraService.py +18 -18
  76. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/inference_services/GoogleService.py +143 -148
  77. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/inference_services/GroqService.py +20 -20
  78. edsl-0.1.39.dev4/edsl/inference_services/InferenceServiceABC.py +80 -0
  79. edsl-0.1.39.dev4/edsl/inference_services/InferenceServicesCollection.py +138 -0
  80. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/inference_services/MistralAIService.py +120 -123
  81. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/inference_services/OllamaService.py +18 -18
  82. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/inference_services/OpenAIService.py +236 -224
  83. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/inference_services/PerplexityService.py +160 -163
  84. edsl-0.1.39.dev4/edsl/inference_services/ServiceAvailability.py +135 -0
  85. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/inference_services/TestService.py +90 -89
  86. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/inference_services/TogetherAIService.py +172 -170
  87. edsl-0.1.39.dev4/edsl/inference_services/data_structures.py +134 -0
  88. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/inference_services/models_available_cache.py +118 -118
  89. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/inference_services/rate_limits_cache.py +25 -25
  90. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/inference_services/registry.py +41 -41
  91. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/inference_services/write_available.py +10 -10
  92. edsl-0.1.39.dev4/edsl/jobs/AnswerQuestionFunctionConstructor.py +223 -0
  93. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/jobs/Answers.py +43 -56
  94. edsl-0.1.39.dev4/edsl/jobs/FetchInvigilator.py +47 -0
  95. edsl-0.1.39.dev4/edsl/jobs/InterviewTaskManager.py +98 -0
  96. edsl-0.1.39.dev4/edsl/jobs/InterviewsConstructor.py +50 -0
  97. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/jobs/Jobs.py +823 -898
  98. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/jobs/JobsChecks.py +172 -147
  99. edsl-0.1.39.dev4/edsl/jobs/JobsComponentConstructor.py +189 -0
  100. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/jobs/JobsPrompts.py +270 -268
  101. edsl-0.1.39.dev4/edsl/jobs/JobsRemoteInferenceHandler.py +311 -0
  102. edsl-0.1.39.dev4/edsl/jobs/JobsRemoteInferenceLogger.py +239 -0
  103. edsl-0.1.39.dev4/edsl/jobs/RequestTokenEstimator.py +30 -0
  104. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/jobs/__init__.py +1 -1
  105. edsl-0.1.39.dev4/edsl/jobs/async_interview_runner.py +138 -0
  106. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/jobs/buckets/BucketCollection.py +104 -63
  107. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/jobs/buckets/ModelBuckets.py +65 -65
  108. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/jobs/buckets/TokenBucket.py +283 -251
  109. edsl-0.1.39.dev4/edsl/jobs/buckets/TokenBucketAPI.py +211 -0
  110. edsl-0.1.39.dev4/edsl/jobs/buckets/TokenBucketClient.py +191 -0
  111. edsl-0.1.39.dev4/edsl/jobs/check_survey_scenario_compatibility.py +85 -0
  112. edsl-0.1.39.dev4/edsl/jobs/data_structures.py +120 -0
  113. edsl-0.1.39.dev4/edsl/jobs/decorators.py +35 -0
  114. edsl-0.1.39.dev4/edsl/jobs/interviews/Interview.py +396 -0
  115. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/jobs/interviews/InterviewExceptionCollection.py +99 -99
  116. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/jobs/interviews/InterviewExceptionEntry.py +186 -186
  117. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/jobs/interviews/InterviewStatistic.py +63 -63
  118. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/jobs/interviews/InterviewStatisticsCollection.py +25 -25
  119. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/jobs/interviews/InterviewStatusDictionary.py +78 -78
  120. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/jobs/interviews/InterviewStatusLog.py +92 -92
  121. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/jobs/interviews/ReportErrors.py +66 -66
  122. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/jobs/interviews/interview_status_enum.py +9 -9
  123. edsl-0.1.39.dev4/edsl/jobs/jobs_status_enums.py +9 -0
  124. edsl-0.1.39.dev4/edsl/jobs/loggers/HTMLTableJobLogger.py +304 -0
  125. edsl-0.1.39.dev4/edsl/jobs/results_exceptions_handler.py +98 -0
  126. edsl-0.1.39.dev4/edsl/jobs/runners/JobsRunnerAsyncio.py +151 -0
  127. edsl-0.1.39.dev4/edsl/jobs/runners/JobsRunnerStatus.py +297 -0
  128. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/jobs/tasks/QuestionTaskCreator.py +244 -242
  129. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/jobs/tasks/TaskCreators.py +64 -64
  130. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/jobs/tasks/TaskHistory.py +470 -450
  131. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/jobs/tasks/TaskStatusLog.py +23 -23
  132. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/jobs/tasks/task_status_enum.py +161 -163
  133. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/jobs/tokens/InterviewTokenUsage.py +27 -27
  134. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/jobs/tokens/TokenUsage.py +34 -34
  135. edsl-0.1.39.dev4/edsl/language_models/ComputeCost.py +63 -0
  136. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/language_models/LanguageModel.py +626 -668
  137. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/language_models/ModelList.py +164 -155
  138. edsl-0.1.39.dev4/edsl/language_models/PriceManager.py +127 -0
  139. edsl-0.1.39.dev4/edsl/language_models/RawResponseHandler.py +106 -0
  140. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/language_models/RegisterLanguageModelsMeta.py +184 -184
  141. edsl-0.1.39.dev4/edsl/language_models/__init__.py +2 -0
  142. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/language_models/fake_openai_call.py +15 -15
  143. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/language_models/fake_openai_service.py +61 -61
  144. edsl-0.1.39.dev4/edsl/language_models/key_management/KeyLookup.py +63 -0
  145. edsl-0.1.39.dev4/edsl/language_models/key_management/KeyLookupBuilder.py +273 -0
  146. edsl-0.1.39.dev4/edsl/language_models/key_management/KeyLookupCollection.py +38 -0
  147. edsl-0.1.39.dev4/edsl/language_models/key_management/models.py +131 -0
  148. edsl-0.1.39.dev4/edsl/language_models/model.py +256 -0
  149. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/language_models/repair.py +156 -156
  150. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/language_models/utilities.py +65 -64
  151. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/notebooks/Notebook.py +263 -258
  152. edsl-0.1.39.dev4/edsl/notebooks/NotebookToLaTeX.py +142 -0
  153. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/notebooks/__init__.py +1 -1
  154. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/prompts/Prompt.py +352 -362
  155. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/prompts/__init__.py +2 -2
  156. edsl-0.1.39.dev4/edsl/questions/ExceptionExplainer.py +77 -0
  157. edsl-0.1.39.dev4/edsl/questions/HTMLQuestion.py +103 -0
  158. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/QuestionBase.py +518 -664
  159. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/QuestionBasePromptsMixin.py +221 -217
  160. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/QuestionBudget.py +227 -227
  161. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/QuestionCheckBox.py +359 -359
  162. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/QuestionExtract.py +180 -182
  163. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/QuestionFreeText.py +113 -114
  164. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/QuestionFunctional.py +166 -166
  165. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/QuestionList.py +223 -231
  166. edsl-0.1.39.dev4/edsl/questions/QuestionMatrix.py +265 -0
  167. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/QuestionMultipleChoice.py +330 -286
  168. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/QuestionNumerical.py +151 -153
  169. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/QuestionRank.py +314 -324
  170. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/Quick.py +41 -41
  171. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/SimpleAskMixin.py +74 -73
  172. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/__init__.py +27 -26
  173. edsl-0.1.39.dev3/edsl/questions/AnswerValidatorMixin.py → edsl-0.1.39.dev4/edsl/questions/answer_validator_mixin.py +334 -289
  174. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/compose_questions.py +98 -98
  175. edsl-0.1.39.dev4/edsl/questions/data_structures.py +20 -0
  176. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/decorators.py +21 -21
  177. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/derived/QuestionLikertFive.py +76 -76
  178. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/derived/QuestionLinearScale.py +90 -87
  179. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/derived/QuestionTopK.py +93 -93
  180. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/derived/QuestionYesNo.py +82 -82
  181. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/descriptors.py +427 -413
  182. edsl-0.1.39.dev4/edsl/questions/loop_processor.py +149 -0
  183. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/prompt_templates/question_budget.jinja +13 -13
  184. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/prompt_templates/question_checkbox.jinja +32 -32
  185. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/prompt_templates/question_extract.jinja +11 -11
  186. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/prompt_templates/question_free_text.jinja +3 -3
  187. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/prompt_templates/question_linear_scale.jinja +11 -11
  188. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/prompt_templates/question_list.jinja +17 -17
  189. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/prompt_templates/question_multiple_choice.jinja +33 -33
  190. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/prompt_templates/question_numerical.jinja +36 -36
  191. edsl-0.1.39.dev3/edsl/questions/QuestionBaseGenMixin.py → edsl-0.1.39.dev4/edsl/questions/question_base_gen_mixin.py +168 -161
  192. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/question_registry.py +177 -177
  193. edsl-0.1.39.dev3/edsl/questions/RegisterQuestionsMeta.py → edsl-0.1.39.dev4/edsl/questions/register_questions_meta.py +71 -71
  194. edsl-0.1.39.dev3/edsl/questions/ResponseValidatorABC.py → edsl-0.1.39.dev4/edsl/questions/response_validator_abc.py +188 -174
  195. edsl-0.1.39.dev4/edsl/questions/response_validator_factory.py +34 -0
  196. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/settings.py +12 -12
  197. edsl-0.1.39.dev4/edsl/questions/templates/__pycache__/__init__.cpython-310.pyc +0 -0
  198. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/templates/budget/answering_instructions.jinja +7 -7
  199. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/templates/budget/question_presentation.jinja +7 -7
  200. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/templates/checkbox/answering_instructions.jinja +10 -10
  201. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/templates/checkbox/question_presentation.jinja +22 -22
  202. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/templates/extract/answering_instructions.jinja +7 -7
  203. {edsl-0.1.39.dev3/edsl/questions/templates/multiple_choice → edsl-0.1.39.dev4/edsl/questions/templates/likert_five}/answering_instructions.jinja +10 -9
  204. {edsl-0.1.39.dev3/edsl/questions/templates/multiple_choice → edsl-0.1.39.dev4/edsl/questions/templates/likert_five}/question_presentation.jinja +11 -11
  205. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/templates/linear_scale/answering_instructions.jinja +5 -5
  206. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/templates/linear_scale/question_presentation.jinja +5 -5
  207. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/templates/list/answering_instructions.jinja +3 -3
  208. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/templates/list/question_presentation.jinja +5 -5
  209. edsl-0.1.39.dev4/edsl/questions/templates/matrix/__init__.py +1 -0
  210. edsl-0.1.39.dev4/edsl/questions/templates/matrix/answering_instructions.jinja +5 -0
  211. edsl-0.1.39.dev4/edsl/questions/templates/matrix/question_presentation.jinja +20 -0
  212. edsl-0.1.39.dev4/edsl/questions/templates/multiple_choice/__pycache__/__init__.cpython-310.pyc +0 -0
  213. {edsl-0.1.39.dev3/edsl/questions/templates/likert_five → edsl-0.1.39.dev4/edsl/questions/templates/multiple_choice}/answering_instructions.jinja +9 -10
  214. {edsl-0.1.39.dev3/edsl/questions/templates/likert_five → edsl-0.1.39.dev4/edsl/questions/templates/multiple_choice}/question_presentation.jinja +11 -11
  215. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/templates/numerical/answering_instructions.jinja +6 -6
  216. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/templates/numerical/question_presentation.jinja +6 -6
  217. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/templates/rank/answering_instructions.jinja +11 -11
  218. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/templates/rank/question_presentation.jinja +15 -15
  219. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/templates/top_k/answering_instructions.jinja +8 -8
  220. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/templates/top_k/question_presentation.jinja +22 -22
  221. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/templates/yes_no/answering_instructions.jinja +6 -6
  222. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/templates/yes_no/question_presentation.jinja +11 -11
  223. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/results/CSSParameterizer.py +108 -108
  224. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/results/Dataset.py +587 -424
  225. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/results/DatasetExportMixin.py +594 -731
  226. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/results/DatasetTree.py +295 -275
  227. edsl-0.1.39.dev4/edsl/results/MarkdownToDocx.py +122 -0
  228. edsl-0.1.39.dev4/edsl/results/MarkdownToPDF.py +111 -0
  229. edsl-0.1.39.dev4/edsl/results/Result.py +557 -0
  230. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/results/Results.py +1183 -1165
  231. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/results/ResultsExportMixin.py +45 -43
  232. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/results/ResultsGGMixin.py +121 -121
  233. edsl-0.1.39.dev4/edsl/results/TableDisplay.py +125 -0
  234. edsl-0.1.39.dev4/edsl/results/TextEditor.py +50 -0
  235. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/results/__init__.py +2 -2
  236. edsl-0.1.39.dev4/edsl/results/file_exports.py +252 -0
  237. edsl-0.1.39.dev3/edsl/results/ResultsFetchMixin.py → edsl-0.1.39.dev4/edsl/results/results_fetch_mixin.py +33 -33
  238. edsl-0.1.39.dev3/edsl/results/Selector.py → edsl-0.1.39.dev4/edsl/results/results_selector.py +145 -135
  239. edsl-0.1.39.dev3/edsl/results/ResultsToolsMixin.py → edsl-0.1.39.dev4/edsl/results/results_tools_mixin.py +98 -98
  240. edsl-0.1.39.dev4/edsl/results/smart_objects.py +96 -0
  241. edsl-0.1.39.dev4/edsl/results/table_data_class.py +12 -0
  242. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/results/table_display.css +77 -77
  243. edsl-0.1.39.dev4/edsl/results/table_renderers.py +118 -0
  244. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/results/tree_explore.py +115 -115
  245. edsl-0.1.39.dev4/edsl/scenarios/ConstructDownloadLink.py +109 -0
  246. edsl-0.1.39.dev4/edsl/scenarios/DocumentChunker.py +102 -0
  247. edsl-0.1.39.dev4/edsl/scenarios/DocxScenario.py +16 -0
  248. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/scenarios/FileStore.py +511 -632
  249. edsl-0.1.39.dev4/edsl/scenarios/PdfExtractor.py +40 -0
  250. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/scenarios/Scenario.py +498 -601
  251. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/scenarios/ScenarioHtmlMixin.py +65 -64
  252. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/scenarios/ScenarioList.py +1458 -1287
  253. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/scenarios/ScenarioListExportMixin.py +45 -52
  254. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/scenarios/ScenarioListPdfMixin.py +239 -261
  255. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/scenarios/__init__.py +3 -4
  256. edsl-0.1.39.dev4/edsl/scenarios/directory_scanner.py +96 -0
  257. edsl-0.1.39.dev4/edsl/scenarios/file_methods.py +85 -0
  258. edsl-0.1.39.dev4/edsl/scenarios/handlers/__init__.py +13 -0
  259. edsl-0.1.39.dev4/edsl/scenarios/handlers/csv.py +38 -0
  260. edsl-0.1.39.dev4/edsl/scenarios/handlers/docx.py +76 -0
  261. edsl-0.1.39.dev4/edsl/scenarios/handlers/html.py +37 -0
  262. edsl-0.1.39.dev4/edsl/scenarios/handlers/json.py +111 -0
  263. edsl-0.1.39.dev4/edsl/scenarios/handlers/latex.py +5 -0
  264. edsl-0.1.39.dev4/edsl/scenarios/handlers/md.py +51 -0
  265. edsl-0.1.39.dev4/edsl/scenarios/handlers/pdf.py +68 -0
  266. edsl-0.1.39.dev4/edsl/scenarios/handlers/png.py +39 -0
  267. edsl-0.1.39.dev4/edsl/scenarios/handlers/pptx.py +105 -0
  268. edsl-0.1.39.dev4/edsl/scenarios/handlers/py.py +294 -0
  269. edsl-0.1.39.dev4/edsl/scenarios/handlers/sql.py +313 -0
  270. edsl-0.1.39.dev4/edsl/scenarios/handlers/sqlite.py +149 -0
  271. edsl-0.1.39.dev4/edsl/scenarios/handlers/txt.py +33 -0
  272. edsl-0.1.39.dev3/edsl/scenarios/ScenarioJoin.py → edsl-0.1.39.dev4/edsl/scenarios/scenario_join.py +131 -127
  273. edsl-0.1.39.dev4/edsl/scenarios/scenario_selector.py +156 -0
  274. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/shared.py +1 -1
  275. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/study/ObjectEntry.py +173 -173
  276. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/study/ProofOfWork.py +113 -113
  277. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/study/SnapShot.py +80 -80
  278. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/study/Study.py +521 -528
  279. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/study/__init__.py +4 -4
  280. edsl-0.1.39.dev4/edsl/surveys/ConstructDAG.py +92 -0
  281. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/surveys/DAG.py +148 -148
  282. edsl-0.1.39.dev4/edsl/surveys/EditSurvey.py +221 -0
  283. edsl-0.1.39.dev4/edsl/surveys/InstructionHandler.py +100 -0
  284. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/surveys/Memory.py +31 -31
  285. edsl-0.1.39.dev4/edsl/surveys/MemoryManagement.py +72 -0
  286. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/surveys/MemoryPlan.py +244 -244
  287. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/surveys/Rule.py +327 -326
  288. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/surveys/RuleCollection.py +385 -387
  289. edsl-0.1.39.dev4/edsl/surveys/RuleManager.py +172 -0
  290. edsl-0.1.39.dev4/edsl/surveys/Simulator.py +75 -0
  291. edsl-0.1.39.dev4/edsl/surveys/Survey.py +1280 -0
  292. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/surveys/SurveyCSS.py +273 -261
  293. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/surveys/SurveyExportMixin.py +259 -259
  294. edsl-0.1.39.dev3/edsl/surveys/SurveyFlowVisualizationMixin.py → edsl-0.1.39.dev4/edsl/surveys/SurveyFlowVisualization.py +181 -179
  295. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/surveys/SurveyQualtricsImport.py +284 -284
  296. edsl-0.1.39.dev4/edsl/surveys/SurveyToApp.py +141 -0
  297. edsl-0.1.39.dev4/edsl/surveys/__init__.py +5 -0
  298. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/surveys/base.py +53 -53
  299. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/surveys/descriptors.py +60 -56
  300. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/surveys/instructions/ChangeInstruction.py +48 -49
  301. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/surveys/instructions/Instruction.py +56 -65
  302. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/surveys/instructions/InstructionCollection.py +82 -77
  303. edsl-0.1.39.dev4/edsl/surveys/instructions/__init__.py +0 -0
  304. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/templates/error_reporting/base.html +23 -23
  305. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/templates/error_reporting/exceptions_by_model.html +34 -34
  306. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/templates/error_reporting/exceptions_by_question_name.html +16 -16
  307. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/templates/error_reporting/exceptions_by_type.html +16 -16
  308. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/templates/error_reporting/interview_details.html +115 -115
  309. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/templates/error_reporting/interviews.html +19 -19
  310. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/templates/error_reporting/overview.html +4 -4
  311. edsl-0.1.39.dev4/edsl/templates/error_reporting/performance_plot.html +2 -0
  312. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/templates/error_reporting/report.css +73 -73
  313. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/templates/error_reporting/report.html +117 -117
  314. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/templates/error_reporting/report.js +25 -25
  315. edsl-0.1.39.dev4/edsl/test_h +1 -0
  316. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/tools/__init__.py +1 -1
  317. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/tools/clusters.py +192 -192
  318. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/tools/embeddings.py +27 -27
  319. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/tools/embeddings_plotting.py +118 -118
  320. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/tools/plotting.py +112 -112
  321. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/tools/summarize.py +18 -18
  322. edsl-0.1.39.dev4/edsl/utilities/PrettyList.py +56 -0
  323. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/utilities/SystemInfo.py +28 -28
  324. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/utilities/__init__.py +22 -22
  325. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/utilities/ast_utilities.py +25 -25
  326. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/utilities/data/Registry.py +6 -6
  327. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/utilities/data/__init__.py +1 -1
  328. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/utilities/data/scooter_results.json +1 -1
  329. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/utilities/decorators.py +77 -77
  330. edsl-0.1.39.dev4/edsl/utilities/gcp_bucket/__init__.py +0 -0
  331. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/utilities/gcp_bucket/cloud_storage.py +96 -96
  332. edsl-0.1.39.dev4/edsl/utilities/gcp_bucket/example.py +50 -0
  333. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/utilities/interface.py +627 -627
  334. edsl-0.1.39.dev4/edsl/utilities/is_notebook.py +18 -0
  335. edsl-0.1.39.dev4/edsl/utilities/is_valid_variable_name.py +11 -0
  336. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/utilities/naming_utilities.py +263 -263
  337. edsl-0.1.39.dev4/edsl/utilities/remove_edsl_version.py +24 -0
  338. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/utilities/repair_functions.py +28 -28
  339. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/utilities/restricted_python.py +70 -70
  340. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/utilities/utilities.py +436 -424
  341. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/pyproject.toml +86 -83
  342. edsl-0.1.39.dev3/edsl/__version__.py +0 -1
  343. edsl-0.1.39.dev3/edsl/agents/PromptConstructor.py +0 -354
  344. edsl-0.1.39.dev3/edsl/data/RemoteCacheSync.py +0 -78
  345. edsl-0.1.39.dev3/edsl/data/__init__.py +0 -4
  346. edsl-0.1.39.dev3/edsl/exceptions/__init__.py +0 -54
  347. edsl-0.1.39.dev3/edsl/inference_services/InferenceServiceABC.py +0 -147
  348. edsl-0.1.39.dev3/edsl/inference_services/InferenceServicesCollection.py +0 -97
  349. edsl-0.1.39.dev3/edsl/jobs/JobsRemoteInferenceHandler.py +0 -239
  350. edsl-0.1.39.dev3/edsl/jobs/interviews/Interview.py +0 -661
  351. edsl-0.1.39.dev3/edsl/jobs/runners/JobsRunnerAsyncio.py +0 -466
  352. edsl-0.1.39.dev3/edsl/jobs/runners/JobsRunnerStatus.py +0 -330
  353. edsl-0.1.39.dev3/edsl/language_models/KeyLookup.py +0 -30
  354. edsl-0.1.39.dev3/edsl/language_models/__init__.py +0 -3
  355. edsl-0.1.39.dev3/edsl/language_models/registry.py +0 -190
  356. edsl-0.1.39.dev3/edsl/language_models/unused/ReplicateBase.py +0 -83
  357. edsl-0.1.39.dev3/edsl/questions/templates/__pycache__/__init__.cpython-312.pyc +0 -0
  358. edsl-0.1.39.dev3/edsl/questions/templates/budget/__pycache__/__init__.cpython-312.pyc +0 -0
  359. edsl-0.1.39.dev3/edsl/questions/templates/checkbox/__pycache__/__init__.cpython-312.pyc +0 -0
  360. edsl-0.1.39.dev3/edsl/questions/templates/extract/__pycache__/__init__.cpython-312.pyc +0 -0
  361. edsl-0.1.39.dev3/edsl/questions/templates/free_text/__pycache__/__init__.cpython-312.pyc +0 -0
  362. edsl-0.1.39.dev3/edsl/questions/templates/likert_five/__pycache__/__init__.cpython-312.pyc +0 -0
  363. edsl-0.1.39.dev3/edsl/questions/templates/linear_scale/__pycache__/__init__.cpython-312.pyc +0 -0
  364. edsl-0.1.39.dev3/edsl/questions/templates/list/__pycache__/__init__.cpython-312.pyc +0 -0
  365. edsl-0.1.39.dev3/edsl/questions/templates/multiple_choice/__pycache__/__init__.cpython-312.pyc +0 -0
  366. edsl-0.1.39.dev3/edsl/questions/templates/numerical/__pycache__/__init__.cpython-312.pyc +0 -0
  367. edsl-0.1.39.dev3/edsl/questions/templates/rank/__pycache__/__init__.cpython-312.pyc +0 -0
  368. edsl-0.1.39.dev3/edsl/questions/templates/top_k/__pycache__/__init__.cpython-312.pyc +0 -0
  369. edsl-0.1.39.dev3/edsl/questions/templates/yes_no/__pycache__/__init__.cpython-312.pyc +0 -0
  370. edsl-0.1.39.dev3/edsl/results/Result.py +0 -465
  371. edsl-0.1.39.dev3/edsl/results/ResultsDBMixin.py +0 -238
  372. edsl-0.1.39.dev3/edsl/results/TableDisplay.py +0 -198
  373. edsl-0.1.39.dev3/edsl/surveys/Survey.py +0 -1801
  374. edsl-0.1.39.dev3/edsl/surveys/__init__.py +0 -3
  375. edsl-0.1.39.dev3/edsl/templates/error_reporting/performance_plot.html +0 -2
  376. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/inference_services/__init__.py +0 -0
  377. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/jobs/runners/JobsRunnerStatusData.py +0 -0
  378. /edsl-0.1.39.dev3/edsl/questions/derived/__init__.py → /edsl-0.1.39.dev4/edsl/language_models/ServiceDataSources.py +0 -0
  379. {edsl-0.1.39.dev3/edsl/questions/templates → edsl-0.1.39.dev4/edsl/language_models/key_management}/__init__.py +0 -0
  380. {edsl-0.1.39.dev3/edsl/questions/templates/budget → edsl-0.1.39.dev4/edsl/questions/derived}/__init__.py +0 -0
  381. {edsl-0.1.39.dev3/edsl/questions/templates/checkbox → edsl-0.1.39.dev4/edsl/questions/templates}/__init__.py +0 -0
  382. {edsl-0.1.39.dev3/edsl/questions/templates/extract → edsl-0.1.39.dev4/edsl/questions/templates/budget}/__init__.py +0 -0
  383. {edsl-0.1.39.dev3/edsl/questions/templates/free_text → edsl-0.1.39.dev4/edsl/questions/templates/checkbox}/__init__.py +0 -0
  384. {edsl-0.1.39.dev3/edsl/questions/templates/likert_five → edsl-0.1.39.dev4/edsl/questions/templates/extract}/__init__.py +0 -0
  385. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/templates/extract/question_presentation.jinja +0 -0
  386. {edsl-0.1.39.dev3/edsl/questions/templates/linear_scale → edsl-0.1.39.dev4/edsl/questions/templates/free_text}/__init__.py +0 -0
  387. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/templates/free_text/answering_instructions.jinja +0 -0
  388. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/templates/free_text/question_presentation.jinja +0 -0
  389. {edsl-0.1.39.dev3/edsl/questions/templates/list → edsl-0.1.39.dev4/edsl/questions/templates/likert_five}/__init__.py +0 -0
  390. {edsl-0.1.39.dev3/edsl/questions/templates/multiple_choice → edsl-0.1.39.dev4/edsl/questions/templates/linear_scale}/__init__.py +0 -0
  391. {edsl-0.1.39.dev3/edsl/questions/templates/numerical → edsl-0.1.39.dev4/edsl/questions/templates/list}/__init__.py +0 -0
  392. {edsl-0.1.39.dev3/edsl/questions/templates/rank → edsl-0.1.39.dev4/edsl/questions/templates/multiple_choice}/__init__.py +0 -0
  393. {edsl-0.1.39.dev3 → edsl-0.1.39.dev4}/edsl/questions/templates/multiple_choice/html.jinja +0 -0
  394. {edsl-0.1.39.dev3/edsl/questions/templates/top_k → edsl-0.1.39.dev4/edsl/questions/templates/numerical}/__init__.py +0 -0
  395. {edsl-0.1.39.dev3/edsl/questions/templates/yes_no → edsl-0.1.39.dev4/edsl/questions/templates/rank}/__init__.py +0 -0
  396. {edsl-0.1.39.dev3/edsl/surveys/instructions → edsl-0.1.39.dev4/edsl/questions/templates/top_k}/__init__.py +0 -0
  397. {edsl-0.1.39.dev3/edsl/utilities/gcp_bucket → edsl-0.1.39.dev4/edsl/questions/templates/yes_no}/__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.39.dev3
3
+ Version: 0.1.39.dev4
4
4
  Summary: Create and analyze LLM-based surveys
5
5
  Home-page: https://www.expectedparrot.com/
6
6
  License: MIT
@@ -34,12 +34,15 @@ Requires-Dist: numpy (>=1.22,<2.0)
34
34
  Requires-Dist: openai (>=1.4.0,<2.0.0)
35
35
  Requires-Dist: openpyxl (>=3.1.5,<4.0.0)
36
36
  Requires-Dist: pandas (>=2.1.4,<3.0.0)
37
+ Requires-Dist: platformdirs (>=4.3.6,<5.0.0)
37
38
  Requires-Dist: pydot (>=2.0.0,<3.0.0)
38
39
  Requires-Dist: pygments (>=2.17.2,<3.0.0)
39
40
  Requires-Dist: pymupdf (>=1.24.4,<2.0.0)
41
+ Requires-Dist: pypdf2 (>=3.0.1,<4.0.0)
40
42
  Requires-Dist: pyreadstat (>=1.2.7,<2.0.0)
41
43
  Requires-Dist: python-docx (>=1.1.0,<2.0.0)
42
44
  Requires-Dist: python-dotenv (>=1.0.0,<2.0.0)
45
+ Requires-Dist: python-pptx (>=1.0.2,<2.0.0)
43
46
  Requires-Dist: restrictedpython (>=7.1,<8.0)
44
47
  Requires-Dist: rich (>=13.7.0,<14.0.0)
45
48
  Requires-Dist: setuptools (<72.0)
@@ -84,26 +87,25 @@ q = QuestionMultipleChoice(
84
87
  # Run it with the default language model
85
88
  results = q.run()
86
89
 
87
- # Inspect the results in a dataset
88
- results.select("example_question").print()
90
+ # Inspect the results
91
+ results.select("example_question")
89
92
  ```
90
93
 
91
94
  Output:
92
95
  ```python
93
- ┏━━━━━━━━━━━━━━━━━━━┓
94
- ┃ answer
95
- ┃ .example_question ┃
96
- ┡━━━━━━━━━━━━━━━━━━━┩
97
- │ Good │
98
- └───────────────────┘
96
+ ┏━━━━━━━━━━━━━━━━━━━━━━━━━┓
97
+ ┃ answer.example_question
98
+ ┡━━━━━━━━━━━━━━━━━━━━━━━━━┩
99
+ │ Good │
100
+ └─────────────────────────┘
99
101
  ```
100
102
 
101
103
  ## 💻 Requirements
102
104
  * EDSL is compatible with Python 3.9 - 3.12.
103
105
  * API keys for large language models that you want to use, stored in a `.env` file.
104
- See instructions on [storing API keys](https://docs.expectedparrot.com/en/latest/api_keys.html).
106
+ See instructions on [storing API keys](https://docs.expectedparrot.com/en/latest/api_keys.html) and [activating remote inference](https://docs.expectedparrot.com/en/latest/remote_inference.html).
105
107
 
106
108
  ## 💡 Contributions, feature requests & bugs
107
109
  Interested in contributing? Want us to add a new feature? Found a bug for us to squash?
108
- 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).
110
+ 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)..
109
111
 
@@ -1,55 +1,54 @@
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
35
+ results.select("example_question")
36
+ ```
37
+
38
+ Output:
39
+ ```python
40
+ ┏━━━━━━━━━━━━━━━━━━━━━━━━━┓
41
+ ┃ answer.example_question
42
+ ┡━━━━━━━━━━━━━━━━━━━━━━━━━┩
43
+ │ Good │
44
+ └─────────────────────────┘
45
+ ```
46
+
47
+ ## 💻 Requirements
48
+ * EDSL is compatible with Python 3.9 - 3.12.
49
+ * API keys for large language models that you want to use, stored in a `.env` file.
50
+ See instructions on [storing API keys](https://docs.expectedparrot.com/en/latest/api_keys.html) and [activating remote inference](https://docs.expectedparrot.com/en/latest/remote_inference.html).
51
+
52
+ ## 💡 Contributions, feature requests & bugs
53
+ Interested in contributing? Want us to add a new feature? Found a bug for us to squash?
54
+ 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)..