edsl 0.1.34.dev2__tar.gz → 0.1.35__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 (303) hide show
  1. {edsl-0.1.34.dev2 → edsl-0.1.35}/PKG-INFO +1 -1
  2. edsl-0.1.35/edsl/__version__.py +1 -0
  3. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/agents/PromptConstructor.py +17 -13
  4. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/inference_services/OpenAIService.py +13 -2
  5. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/jobs/interviews/Interview.py +4 -1
  6. edsl-0.1.35/edsl/questions/templates/__pycache__/__init__.cpython-311.pyc +0 -0
  7. edsl-0.1.35/edsl/questions/templates/checkbox/__pycache__/__init__.cpython-311.pyc +0 -0
  8. edsl-0.1.35/edsl/questions/templates/free_text/__pycache__/__init__.cpython-311.pyc +0 -0
  9. edsl-0.1.35/edsl/questions/templates/linear_scale/__pycache__/__init__.cpython-311.pyc +0 -0
  10. edsl-0.1.35/edsl/questions/templates/list/__pycache__/__init__.cpython-311.pyc +0 -0
  11. edsl-0.1.35/edsl/questions/templates/multiple_choice/__pycache__/__init__.cpython-311.pyc +0 -0
  12. edsl-0.1.35/edsl/questions/templates/numerical/__pycache__/__init__.cpython-311.pyc +0 -0
  13. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/templates/numerical/answering_instructions.jinja +0 -1
  14. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/scenarios/ScenarioList.py +9 -0
  15. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/surveys/base.py +4 -0
  16. {edsl-0.1.34.dev2 → edsl-0.1.35}/pyproject.toml +1 -1
  17. edsl-0.1.34.dev2/edsl/__version__.py +0 -1
  18. {edsl-0.1.34.dev2 → edsl-0.1.35}/LICENSE +0 -0
  19. {edsl-0.1.34.dev2 → edsl-0.1.35}/README.md +0 -0
  20. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/Base.py +0 -0
  21. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/BaseDiff.py +0 -0
  22. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/TemplateLoader.py +0 -0
  23. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/__init__.py +0 -0
  24. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/agents/Agent.py +0 -0
  25. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/agents/AgentList.py +0 -0
  26. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/agents/Invigilator.py +0 -0
  27. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/agents/InvigilatorBase.py +0 -0
  28. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/agents/__init__.py +0 -0
  29. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/agents/descriptors.py +0 -0
  30. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/agents/prompt_helpers.py +0 -0
  31. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/auto/AutoStudy.py +0 -0
  32. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/auto/StageBase.py +0 -0
  33. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/auto/StageGenerateSurvey.py +0 -0
  34. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/auto/StageLabelQuestions.py +0 -0
  35. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/auto/StagePersona.py +0 -0
  36. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/auto/StagePersonaDimensionValueRanges.py +0 -0
  37. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/auto/StagePersonaDimensionValues.py +0 -0
  38. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/auto/StagePersonaDimensions.py +0 -0
  39. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/auto/StageQuestions.py +0 -0
  40. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/auto/SurveyCreatorPipeline.py +0 -0
  41. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/auto/utilities.py +0 -0
  42. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/base/Base.py +0 -0
  43. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/config.py +0 -0
  44. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/conjure/AgentConstructionMixin.py +0 -0
  45. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/conjure/Conjure.py +0 -0
  46. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/conjure/InputData.py +0 -0
  47. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/conjure/InputDataCSV.py +0 -0
  48. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/conjure/InputDataMixinQuestionStats.py +0 -0
  49. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/conjure/InputDataPyRead.py +0 -0
  50. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/conjure/InputDataSPSS.py +0 -0
  51. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/conjure/InputDataStata.py +0 -0
  52. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/conjure/QuestionOptionMixin.py +0 -0
  53. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/conjure/QuestionTypeMixin.py +0 -0
  54. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/conjure/RawQuestion.py +0 -0
  55. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/conjure/SurveyResponses.py +0 -0
  56. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/conjure/__init__.py +0 -0
  57. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/conjure/examples/placeholder.txt +0 -0
  58. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/conjure/naming_utilities.py +0 -0
  59. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/conjure/utilities.py +0 -0
  60. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/conversation/Conversation.py +0 -0
  61. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/conversation/car_buying.py +0 -0
  62. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/conversation/mug_negotiation.py +0 -0
  63. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/conversation/next_speaker_utilities.py +0 -0
  64. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/coop/PriceFetcher.py +0 -0
  65. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/coop/__init__.py +0 -0
  66. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/coop/coop.py +0 -0
  67. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/coop/utils.py +0 -0
  68. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/data/Cache.py +0 -0
  69. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/data/CacheEntry.py +0 -0
  70. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/data/CacheHandler.py +0 -0
  71. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/data/SQLiteDict.py +0 -0
  72. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/data/__init__.py +0 -0
  73. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/data/orm.py +0 -0
  74. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/data_transfer_models.py +0 -0
  75. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/enums.py +0 -0
  76. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/exceptions/__init__.py +0 -0
  77. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/exceptions/agents.py +0 -0
  78. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/exceptions/configuration.py +0 -0
  79. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/exceptions/coop.py +0 -0
  80. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/exceptions/data.py +0 -0
  81. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/exceptions/general.py +0 -0
  82. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/exceptions/jobs.py +0 -0
  83. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/exceptions/language_models.py +0 -0
  84. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/exceptions/prompts.py +0 -0
  85. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/exceptions/questions.py +0 -0
  86. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/exceptions/results.py +0 -0
  87. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/exceptions/surveys.py +0 -0
  88. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/inference_services/AnthropicService.py +0 -0
  89. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/inference_services/AwsBedrock.py +0 -0
  90. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/inference_services/AzureAI.py +0 -0
  91. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/inference_services/DeepInfraService.py +0 -0
  92. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/inference_services/GoogleService.py +0 -0
  93. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/inference_services/GroqService.py +0 -0
  94. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/inference_services/InferenceServiceABC.py +0 -0
  95. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/inference_services/InferenceServicesCollection.py +0 -0
  96. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/inference_services/MistralAIService.py +0 -0
  97. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/inference_services/OllamaService.py +0 -0
  98. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/inference_services/TestService.py +0 -0
  99. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/inference_services/TogetherAIService.py +0 -0
  100. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/inference_services/__init__.py +0 -0
  101. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/inference_services/models_available_cache.py +0 -0
  102. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/inference_services/rate_limits_cache.py +0 -0
  103. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/inference_services/registry.py +0 -0
  104. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/inference_services/write_available.py +0 -0
  105. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/jobs/Answers.py +0 -0
  106. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/jobs/FailedQuestion.py +0 -0
  107. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/jobs/Jobs.py +0 -0
  108. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/jobs/__init__.py +0 -0
  109. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/jobs/buckets/BucketCollection.py +0 -0
  110. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/jobs/buckets/ModelBuckets.py +0 -0
  111. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/jobs/buckets/TokenBucket.py +0 -0
  112. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/jobs/interviews/InterviewExceptionCollection.py +0 -0
  113. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/jobs/interviews/InterviewExceptionEntry.py +0 -0
  114. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/jobs/interviews/InterviewStatistic.py +0 -0
  115. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/jobs/interviews/InterviewStatisticsCollection.py +0 -0
  116. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/jobs/interviews/InterviewStatusDictionary.py +0 -0
  117. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/jobs/interviews/InterviewStatusLog.py +0 -0
  118. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/jobs/interviews/InterviewStatusMixin.py +0 -0
  119. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/jobs/interviews/ReportErrors.py +0 -0
  120. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/jobs/interviews/interview_status_enum.py +0 -0
  121. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/jobs/runners/JobsRunnerAsyncio.py +0 -0
  122. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/jobs/runners/JobsRunnerStatus.py +0 -0
  123. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/jobs/runners/JobsRunnerStatusData.py +0 -0
  124. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/jobs/tasks/QuestionTaskCreator.py +0 -0
  125. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/jobs/tasks/TaskCreators.py +0 -0
  126. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/jobs/tasks/TaskHistory.py +0 -0
  127. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/jobs/tasks/TaskStatusLog.py +0 -0
  128. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/jobs/tasks/task_management.py +0 -0
  129. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/jobs/tasks/task_status_enum.py +0 -0
  130. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/jobs/tokens/InterviewTokenUsage.py +0 -0
  131. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/jobs/tokens/TokenUsage.py +0 -0
  132. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/language_models/LanguageModel.py +0 -0
  133. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/language_models/ModelList.py +0 -0
  134. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/language_models/RegisterLanguageModelsMeta.py +0 -0
  135. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/language_models/__init__.py +0 -0
  136. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/language_models/fake_openai_call.py +0 -0
  137. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/language_models/fake_openai_service.py +0 -0
  138. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/language_models/registry.py +0 -0
  139. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/language_models/repair.py +0 -0
  140. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/language_models/unused/ReplicateBase.py +0 -0
  141. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/language_models/utilities.py +0 -0
  142. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/notebooks/Notebook.py +0 -0
  143. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/notebooks/__init__.py +0 -0
  144. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/prompts/Prompt.py +0 -0
  145. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/prompts/QuestionInstructionsBase.py +0 -0
  146. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/prompts/__init__.py +0 -0
  147. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/prompts/library/agent_instructions.py +0 -0
  148. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/prompts/library/agent_persona.py +0 -0
  149. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/prompts/library/question_budget.py +0 -0
  150. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/prompts/library/question_checkbox.py +0 -0
  151. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/prompts/library/question_extract.py +0 -0
  152. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/prompts/library/question_freetext.py +0 -0
  153. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/prompts/library/question_linear_scale.py +0 -0
  154. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/prompts/library/question_list.py +0 -0
  155. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/prompts/library/question_multiple_choice.py +0 -0
  156. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/prompts/library/question_numerical.py +0 -0
  157. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/prompts/library/question_rank.py +0 -0
  158. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/prompts/prompt_config.py +0 -0
  159. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/prompts/registry.py +0 -0
  160. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/AnswerValidatorMixin.py +0 -0
  161. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/QuestionBase.py +0 -0
  162. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/QuestionBaseGenMixin.py +0 -0
  163. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/QuestionBasePromptsMixin.py +0 -0
  164. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/QuestionBudget.py +0 -0
  165. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/QuestionCheckBox.py +0 -0
  166. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/QuestionExtract.py +0 -0
  167. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/QuestionFreeText.py +0 -0
  168. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/QuestionFunctional.py +0 -0
  169. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/QuestionList.py +0 -0
  170. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/QuestionMultipleChoice.py +0 -0
  171. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/QuestionNumerical.py +0 -0
  172. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/QuestionRank.py +0 -0
  173. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/Quick.py +0 -0
  174. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/RegisterQuestionsMeta.py +0 -0
  175. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/ResponseValidatorABC.py +0 -0
  176. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/SimpleAskMixin.py +0 -0
  177. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/__init__.py +0 -0
  178. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/compose_questions.py +0 -0
  179. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/decorators.py +0 -0
  180. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/derived/QuestionLikertFive.py +0 -0
  181. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/derived/QuestionLinearScale.py +0 -0
  182. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/derived/QuestionTopK.py +0 -0
  183. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/derived/QuestionYesNo.py +0 -0
  184. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/derived/__init__.py +0 -0
  185. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/descriptors.py +0 -0
  186. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/prompt_templates/question_budget.jinja +0 -0
  187. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/prompt_templates/question_checkbox.jinja +0 -0
  188. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/prompt_templates/question_extract.jinja +0 -0
  189. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/prompt_templates/question_free_text.jinja +0 -0
  190. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/prompt_templates/question_linear_scale.jinja +0 -0
  191. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/prompt_templates/question_list.jinja +0 -0
  192. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/prompt_templates/question_multiple_choice.jinja +0 -0
  193. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/prompt_templates/question_numerical.jinja +0 -0
  194. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/question_registry.py +0 -0
  195. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/settings.py +0 -0
  196. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/templates/__init__.py +0 -0
  197. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/templates/budget/__init__.py +0 -0
  198. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/templates/budget/answering_instructions.jinja +0 -0
  199. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/templates/budget/question_presentation.jinja +0 -0
  200. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/templates/checkbox/__init__.py +0 -0
  201. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/templates/checkbox/answering_instructions.jinja +0 -0
  202. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/templates/checkbox/question_presentation.jinja +0 -0
  203. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/templates/extract/__init__.py +0 -0
  204. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/templates/extract/answering_instructions.jinja +0 -0
  205. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/templates/extract/question_presentation.jinja +0 -0
  206. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/templates/free_text/__init__.py +0 -0
  207. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/templates/free_text/answering_instructions.jinja +0 -0
  208. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/templates/free_text/question_presentation.jinja +0 -0
  209. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/templates/likert_five/__init__.py +0 -0
  210. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/templates/likert_five/answering_instructions.jinja +0 -0
  211. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/templates/likert_five/question_presentation.jinja +0 -0
  212. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/templates/linear_scale/__init__.py +0 -0
  213. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/templates/linear_scale/answering_instructions.jinja +0 -0
  214. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/templates/linear_scale/question_presentation.jinja +0 -0
  215. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/templates/list/__init__.py +0 -0
  216. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/templates/list/answering_instructions.jinja +0 -0
  217. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/templates/list/question_presentation.jinja +0 -0
  218. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/templates/multiple_choice/__init__.py +0 -0
  219. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/templates/multiple_choice/answering_instructions.jinja +0 -0
  220. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/templates/multiple_choice/html.jinja +0 -0
  221. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/templates/multiple_choice/question_presentation.jinja +0 -0
  222. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/templates/numerical/__init__.py +0 -0
  223. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/templates/numerical/question_presentation.jinja +0 -0
  224. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/templates/rank/__init__.py +0 -0
  225. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/templates/rank/answering_instructions.jinja +0 -0
  226. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/templates/rank/question_presentation.jinja +0 -0
  227. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/templates/top_k/__init__.py +0 -0
  228. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/templates/top_k/answering_instructions.jinja +0 -0
  229. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/templates/top_k/question_presentation.jinja +0 -0
  230. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/templates/yes_no/__init__.py +0 -0
  231. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/templates/yes_no/answering_instructions.jinja +0 -0
  232. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/questions/templates/yes_no/question_presentation.jinja +0 -0
  233. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/results/Dataset.py +0 -0
  234. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/results/DatasetExportMixin.py +0 -0
  235. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/results/DatasetTree.py +0 -0
  236. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/results/Result.py +0 -0
  237. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/results/Results.py +0 -0
  238. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/results/ResultsDBMixin.py +0 -0
  239. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/results/ResultsExportMixin.py +0 -0
  240. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/results/ResultsFetchMixin.py +0 -0
  241. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/results/ResultsGGMixin.py +0 -0
  242. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/results/ResultsToolsMixin.py +0 -0
  243. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/results/Selector.py +0 -0
  244. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/results/__init__.py +0 -0
  245. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/results/tree_explore.py +0 -0
  246. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/scenarios/FileStore.py +0 -0
  247. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/scenarios/Scenario.py +0 -0
  248. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/scenarios/ScenarioHtmlMixin.py +0 -0
  249. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/scenarios/ScenarioListExportMixin.py +0 -0
  250. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/scenarios/ScenarioListPdfMixin.py +0 -0
  251. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/scenarios/__init__.py +0 -0
  252. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/shared.py +0 -0
  253. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/study/ObjectEntry.py +0 -0
  254. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/study/ProofOfWork.py +0 -0
  255. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/study/SnapShot.py +0 -0
  256. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/study/Study.py +0 -0
  257. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/study/__init__.py +0 -0
  258. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/surveys/DAG.py +0 -0
  259. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/surveys/Memory.py +0 -0
  260. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/surveys/MemoryPlan.py +0 -0
  261. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/surveys/Rule.py +0 -0
  262. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/surveys/RuleCollection.py +0 -0
  263. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/surveys/Survey.py +0 -0
  264. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/surveys/SurveyCSS.py +0 -0
  265. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/surveys/SurveyExportMixin.py +0 -0
  266. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/surveys/SurveyFlowVisualizationMixin.py +0 -0
  267. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/surveys/SurveyQualtricsImport.py +0 -0
  268. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/surveys/__init__.py +0 -0
  269. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/surveys/descriptors.py +0 -0
  270. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/surveys/instructions/ChangeInstruction.py +0 -0
  271. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/surveys/instructions/Instruction.py +0 -0
  272. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/surveys/instructions/InstructionCollection.py +0 -0
  273. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/surveys/instructions/__init__.py +0 -0
  274. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/templates/error_reporting/base.html +0 -0
  275. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/templates/error_reporting/exceptions_by_model.html +0 -0
  276. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/templates/error_reporting/exceptions_by_question_name.html +0 -0
  277. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/templates/error_reporting/exceptions_by_type.html +0 -0
  278. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/templates/error_reporting/interview_details.html +0 -0
  279. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/templates/error_reporting/interviews.html +0 -0
  280. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/templates/error_reporting/overview.html +0 -0
  281. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/templates/error_reporting/performance_plot.html +0 -0
  282. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/templates/error_reporting/report.css +0 -0
  283. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/templates/error_reporting/report.html +0 -0
  284. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/templates/error_reporting/report.js +0 -0
  285. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/tools/__init__.py +0 -0
  286. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/tools/clusters.py +0 -0
  287. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/tools/embeddings.py +0 -0
  288. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/tools/embeddings_plotting.py +0 -0
  289. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/tools/plotting.py +0 -0
  290. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/tools/summarize.py +0 -0
  291. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/utilities/SystemInfo.py +0 -0
  292. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/utilities/__init__.py +0 -0
  293. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/utilities/ast_utilities.py +0 -0
  294. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/utilities/data/Registry.py +0 -0
  295. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/utilities/data/__init__.py +0 -0
  296. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/utilities/data/scooter_results.json +0 -0
  297. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/utilities/decorators.py +0 -0
  298. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/utilities/gcp_bucket/__init__.py +0 -0
  299. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/utilities/gcp_bucket/cloud_storage.py +0 -0
  300. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/utilities/interface.py +0 -0
  301. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/utilities/repair_functions.py +0 -0
  302. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/utilities/restricted_python.py +0 -0
  303. {edsl-0.1.34.dev2 → edsl-0.1.35}/edsl/utilities/utilities.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: edsl
3
- Version: 0.1.34.dev2
3
+ Version: 0.1.35
4
4
  Summary: Create and analyze LLM-based surveys
5
5
  Home-page: https://www.expectedparrot.com/
6
6
  License: MIT
@@ -0,0 +1 @@
1
+ __version__ = "0.1.35"
@@ -1,7 +1,7 @@
1
1
  from __future__ import annotations
2
2
  from typing import Dict, Any, Optional, Set
3
3
  from collections import UserList
4
- import enum
4
+ import pdb
5
5
 
6
6
  from jinja2 import Environment, meta
7
7
 
@@ -197,14 +197,15 @@ class PromptConstructor:
197
197
  self.question.question_options = question_options
198
198
 
199
199
  # might be getting it from the prior answers
200
- if isinstance(
201
- question_options := self.prior_answers_dict()
202
- .get(question_option_key)
203
- .answer,
204
- list,
205
- ):
206
- question_data["question_options"] = question_options
207
- self.question.question_options = question_options
200
+ if self.prior_answers_dict().get(question_option_key) is not None:
201
+ if isinstance(
202
+ question_options := self.prior_answers_dict()
203
+ .get(question_option_key)
204
+ .answer,
205
+ list,
206
+ ):
207
+ question_data["question_options"] = question_options
208
+ self.question.question_options = question_options
208
209
 
209
210
  replacement_dict = (
210
211
  {key: f"<see file {key}>" for key in self.scenario_file_keys}
@@ -240,10 +241,13 @@ class PromptConstructor:
240
241
  )
241
242
 
242
243
  if undefined_template_variables:
243
- # breakpoint()
244
- raise QuestionScenarioRenderError(
245
- f"Question instructions still has variables: {undefined_template_variables}."
246
- )
244
+ msg = f"Question instructions still has variables: {undefined_template_variables}."
245
+ import warnings
246
+
247
+ warnings.warn(msg)
248
+ # raise QuestionScenarioRenderError(
249
+ # f"Question instructions still has variables: {undefined_template_variables}."
250
+ # )
247
251
 
248
252
  ####################################
249
253
  # Check if question has instructions - these are instructions in a Survey that can apply to multiple follow-on questions
@@ -188,12 +188,16 @@ class OpenAIService(InferenceServiceABC):
188
188
  else:
189
189
  content = user_prompt
190
190
  client = self.async_client()
191
+
191
192
  messages = [
192
193
  {"role": "system", "content": system_prompt},
193
194
  {"role": "user", "content": content},
194
195
  ]
195
- if system_prompt == "" and self.omit_system_prompt_if_empty:
196
+ if (
197
+ system_prompt == "" and self.omit_system_prompt_if_empty
198
+ ) or "o1" in self.model:
196
199
  messages = messages[1:]
200
+
197
201
  params = {
198
202
  "model": self.model,
199
203
  "messages": messages,
@@ -205,7 +209,14 @@ class OpenAIService(InferenceServiceABC):
205
209
  "logprobs": self.logprobs,
206
210
  "top_logprobs": self.top_logprobs if self.logprobs else None,
207
211
  }
208
- response = await client.chat.completions.create(**params)
212
+ if "o1" in self.model:
213
+ params.pop("max_tokens")
214
+ params["max_completion_tokens"] = self.max_tokens
215
+ params["temperature"] = 1
216
+ try:
217
+ response = await client.chat.completions.create(**params)
218
+ except Exception as e:
219
+ print(e)
209
220
  return response.model_dump()
210
221
 
211
222
  LLM.__name__ = "LanguageModel"
@@ -3,6 +3,7 @@
3
3
  from __future__ import annotations
4
4
  import asyncio
5
5
  from typing import Any, Type, List, Generator, Optional, Union
6
+ import copy
6
7
 
7
8
  from tenacity import (
8
9
  retry,
@@ -99,7 +100,9 @@ class Interview(InterviewStatusMixin):
99
100
 
100
101
  """
101
102
  self.agent = agent
102
- self.survey = survey
103
+ # what I would like to do
104
+ self.survey = copy.deepcopy(survey) # survey copy.deepcopy(survey)
105
+ # self.survey = survey
103
106
  self.scenario = scenario
104
107
  self.model = model
105
108
  self.debug = debug
@@ -1,7 +1,6 @@
1
1
  This question requires a numerical response in the form of an integer or decimal (e.g., -12, 0, 1, 2, 3.45, ...).
2
2
  Respond with just your number on a single line.
3
3
  If your response is equivalent to zero, report '0'
4
- If you cannot determine the answer, report 'None'
5
4
 
6
5
  {% if include_comment %}
7
6
  After the answer, put a comment explaining your choice on the next line.
@@ -39,6 +39,15 @@ class ScenarioList(Base, UserList, ScenarioListMixin):
39
39
  super().__init__([])
40
40
  self.codebook = codebook or {}
41
41
 
42
+ def unique(self) -> ScenarioList:
43
+ """Return a list of unique scenarios.
44
+
45
+ >>> s = ScenarioList([Scenario({'a': 1}), Scenario({'a': 1}), Scenario({'a': 2})])
46
+ >>> s.unique()
47
+ ScenarioList([Scenario({'a': 1}), Scenario({'a': 2})])
48
+ """
49
+ return ScenarioList(list(set(self)))
50
+
42
51
  @property
43
52
  def has_jinja_braces(self) -> bool:
44
53
  """Check if the ScenarioList has Jinja braces."""
@@ -36,6 +36,10 @@ class EndOfSurveyParent:
36
36
  """
37
37
  return self
38
38
 
39
+ def __deepcopy__(self, memo):
40
+ # Return the same instance when deepcopy is called
41
+ return self
42
+
39
43
  def __radd__(self, other):
40
44
  """Add the object to another object.
41
45
 
@@ -13,7 +13,7 @@ keywords = ["LLM", "social science", "surveys", "user research"]
13
13
  license = "MIT"
14
14
  name = "edsl"
15
15
  readme = "README.md"
16
- version = "0.1.34.dev2"
16
+ version = "0.1.35"
17
17
 
18
18
  [tool.poetry.dependencies]
19
19
  python = ">=3.9.1,<3.13"
@@ -1 +0,0 @@
1
- __version__ = "0.1.34.dev2"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes