edsl 0.1.43__py3-none-any.whl → 0.1.45__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. edsl/Base.py +15 -6
  2. edsl/__version__.py +1 -1
  3. edsl/agents/InvigilatorBase.py +3 -1
  4. edsl/agents/PromptConstructor.py +62 -34
  5. edsl/agents/QuestionInstructionPromptBuilder.py +111 -68
  6. edsl/agents/QuestionTemplateReplacementsBuilder.py +69 -16
  7. edsl/agents/question_option_processor.py +15 -6
  8. edsl/coop/CoopFunctionsMixin.py +3 -4
  9. edsl/coop/coop.py +56 -10
  10. edsl/enums.py +4 -1
  11. edsl/inference_services/AnthropicService.py +12 -8
  12. edsl/inference_services/AvailableModelFetcher.py +2 -0
  13. edsl/inference_services/AwsBedrock.py +1 -2
  14. edsl/inference_services/AzureAI.py +12 -9
  15. edsl/inference_services/GoogleService.py +10 -3
  16. edsl/inference_services/InferenceServiceABC.py +1 -0
  17. edsl/inference_services/InferenceServicesCollection.py +2 -2
  18. edsl/inference_services/MistralAIService.py +1 -2
  19. edsl/inference_services/OpenAIService.py +10 -4
  20. edsl/inference_services/PerplexityService.py +2 -1
  21. edsl/inference_services/TestService.py +1 -0
  22. edsl/inference_services/XAIService.py +11 -0
  23. edsl/inference_services/registry.py +2 -0
  24. edsl/jobs/Jobs.py +9 -0
  25. edsl/jobs/JobsChecks.py +11 -14
  26. edsl/jobs/JobsPrompts.py +3 -3
  27. edsl/jobs/async_interview_runner.py +3 -1
  28. edsl/jobs/check_survey_scenario_compatibility.py +5 -5
  29. edsl/jobs/interviews/InterviewExceptionEntry.py +12 -0
  30. edsl/jobs/tasks/TaskHistory.py +1 -1
  31. edsl/language_models/LanguageModel.py +3 -3
  32. edsl/language_models/PriceManager.py +45 -5
  33. edsl/language_models/model.py +89 -36
  34. edsl/questions/QuestionBase.py +21 -0
  35. edsl/questions/QuestionBasePromptsMixin.py +103 -0
  36. edsl/questions/QuestionFreeText.py +22 -5
  37. edsl/questions/descriptors.py +4 -0
  38. edsl/questions/question_base_gen_mixin.py +94 -29
  39. edsl/results/Dataset.py +65 -0
  40. edsl/results/DatasetExportMixin.py +299 -32
  41. edsl/results/Result.py +27 -0
  42. edsl/results/Results.py +24 -3
  43. edsl/results/ResultsGGMixin.py +7 -3
  44. edsl/scenarios/DocumentChunker.py +2 -0
  45. edsl/scenarios/FileStore.py +29 -8
  46. edsl/scenarios/PdfExtractor.py +21 -1
  47. edsl/scenarios/Scenario.py +25 -9
  48. edsl/scenarios/ScenarioList.py +73 -3
  49. edsl/scenarios/handlers/__init__.py +1 -0
  50. edsl/scenarios/handlers/docx.py +5 -1
  51. edsl/scenarios/handlers/jpeg.py +39 -0
  52. edsl/surveys/Survey.py +28 -6
  53. edsl/surveys/SurveyFlowVisualization.py +91 -43
  54. edsl/templates/error_reporting/exceptions_table.html +7 -8
  55. edsl/templates/error_reporting/interview_details.html +1 -1
  56. edsl/templates/error_reporting/interviews.html +0 -1
  57. edsl/templates/error_reporting/overview.html +2 -7
  58. edsl/templates/error_reporting/performance_plot.html +1 -1
  59. edsl/templates/error_reporting/report.css +1 -1
  60. edsl/utilities/PrettyList.py +14 -0
  61. edsl-0.1.45.dist-info/METADATA +246 -0
  62. {edsl-0.1.43.dist-info → edsl-0.1.45.dist-info}/RECORD +64 -62
  63. edsl-0.1.43.dist-info/METADATA +0 -110
  64. {edsl-0.1.43.dist-info → edsl-0.1.45.dist-info}/LICENSE +0 -0
  65. {edsl-0.1.43.dist-info → edsl-0.1.45.dist-info}/WHEEL +0 -0
@@ -1,12 +1,26 @@
1
1
  from collections import UserList
2
2
  from edsl.results.Dataset import Dataset
3
3
 
4
+ class Markkdown:
5
+
6
+ def __init__(self, text: str):
7
+ self.text = text
8
+
9
+ def __str__(self):
10
+ return self.text
11
+
12
+ def _repr_markdown_(self):
13
+ return self.text
4
14
 
5
15
  class PrettyList(UserList):
6
16
  def __init__(self, data=None, columns=None):
7
17
  super().__init__(data)
8
18
  self.columns = columns
9
19
 
20
+ def to_markdown(self):
21
+ text = "".join([str(row) for row in self])
22
+ return Markkdown(text)
23
+
10
24
  def _repr_html_(self):
11
25
  if isinstance(self[0], list) or isinstance(self[0], tuple):
12
26
  num_cols = len(self[0])
@@ -0,0 +1,246 @@
1
+ Metadata-Version: 2.1
2
+ Name: edsl
3
+ Version: 0.1.45
4
+ Summary: Create and analyze LLM-based surveys
5
+ Home-page: https://www.expectedparrot.com/
6
+ License: MIT
7
+ Keywords: LLM,social science,surveys,user research
8
+ Author: John Horton
9
+ Author-email: info@expectedparrot.com
10
+ Requires-Python: >=3.9.1,<3.13
11
+ Classifier: License :: OSI Approved :: MIT License
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3.10
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
17
+ Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
18
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
19
+ Requires-Dist: aiohttp (>=3.9.1,<4.0.0)
20
+ Requires-Dist: anthropic (>=0.45.0,<0.46.0)
21
+ Requires-Dist: azure-ai-inference (>=1.0.0b3,<2.0.0)
22
+ Requires-Dist: black[jupyter] (>=24.4.2,<25.0.0)
23
+ Requires-Dist: boto3 (>=1.34.161,<2.0.0)
24
+ Requires-Dist: google-generativeai (>=0.8.2,<0.9.0)
25
+ Requires-Dist: groq (>=0.9.0,<0.10.0)
26
+ Requires-Dist: jinja2 (>=3.1.2,<4.0.0)
27
+ Requires-Dist: json-repair (>=0.28.4,<0.29.0)
28
+ Requires-Dist: jupyter (>=1.0.0,<2.0.0)
29
+ Requires-Dist: markdown2 (>=2.4.11,<3.0.0)
30
+ Requires-Dist: matplotlib (>=3.8,<3.9)
31
+ Requires-Dist: mistralai (>=1.0.2,<2.0.0)
32
+ Requires-Dist: nest-asyncio (>=1.5.9,<2.0.0)
33
+ Requires-Dist: numpy (>=1.22,<2.0)
34
+ Requires-Dist: openai (>=1.4.0,<2.0.0)
35
+ Requires-Dist: openpyxl (>=3.1.5,<4.0.0)
36
+ Requires-Dist: pandas (>=2.1.4,<3.0.0)
37
+ Requires-Dist: platformdirs (>=4.3.6,<5.0.0)
38
+ Requires-Dist: pydot (>=2.0.0,<3.0.0)
39
+ Requires-Dist: pygments (>=2.17.2,<3.0.0)
40
+ Requires-Dist: pypdf2 (>=3.0.1,<4.0.0)
41
+ Requires-Dist: pyreadstat (>=1.2.7,<2.0.0)
42
+ Requires-Dist: python-docx (>=1.1.0,<2.0.0)
43
+ Requires-Dist: python-dotenv (>=1.0.0,<2.0.0)
44
+ Requires-Dist: python-pptx (>=1.0.2,<2.0.0)
45
+ Requires-Dist: restrictedpython (>=7.1,<8.0)
46
+ Requires-Dist: rich (>=13.7.0,<14.0.0)
47
+ Requires-Dist: setuptools (<72.0)
48
+ Requires-Dist: simpleeval (>=0.9.13,<0.10.0)
49
+ Requires-Dist: sqlalchemy (>=2.0.23,<3.0.0)
50
+ Requires-Dist: tabulate (>=0.9.0,<0.10.0)
51
+ Requires-Dist: tenacity (>=8.2.3,<9.0.0)
52
+ Requires-Dist: urllib3 (>=1.25.4,<1.27)
53
+ Project-URL: Documentation, https://docs.expectedparrot.com
54
+ Description-Content-Type: text/markdown
55
+
56
+ # Expected Parrot Domain-Specific Language (EDSL)
57
+
58
+ The Expected Parrot Domain-Specific Language (EDSL) package makes it easy to conduct computational social science and market research with AI. Use it to design surveys and experiments, collect responses from humans and large language models, and perform data labeling and many other research tasks. Results are formatted as specified datasets and come with built-in methods for analyzing, visualizing and sharing.
59
+
60
+ <p align="right">
61
+ <img src="https://github.com/expectedparrot/edsl/blob/main/static/logo.png?raw=true" alt="edsl.png" width="100"/>
62
+ </p>
63
+
64
+ ## Features
65
+
66
+ **Declarative design**:
67
+ Specified <a href="https://docs.expectedparrot.con/en/latest/questions.html" target="_blank" rel="noopener noreferrer">question types</a> ensure consistent results without requiring a JSON schema (<a href="https://www.expectedparrot.com/content/2a848a0e-f9de-46bc-98d0-a13b9a1caf11" target="_blank" rel="noopener noreferrer">view at Coop</a>):
68
+
69
+ ```python
70
+ from edsl import QuestionMultipleChoice
71
+
72
+ q = QuestionMultipleChoice(
73
+ question_name = "example",
74
+ question_text = "How do you feel today?",
75
+ question_options = ["Bad", "OK", "Good"]
76
+ )
77
+
78
+ results = q.run()
79
+
80
+ results.select("example")
81
+ ```
82
+
83
+ > | answer.example |
84
+ > |-----------------|
85
+ > | Good |
86
+
87
+ <br>
88
+
89
+ **Parameterized prompts**:
90
+ Easily parameterize and control prompts with "<a href="https://docs.expectedparrot.com/en/latest/scenarios.html" target="_blank" rel="noopener noreferrer">scenarios</a>" of data automatically imported from many sources (CSV, PDF, PNG, etc.)(<a href="https://www.expectedparrot.com/content/7bb9ec2e-827b-4867-ac02-33163df1a1d1" target="_blank" rel="noopener noreferrer">view at Coop</a>):
91
+
92
+ ```python
93
+ from edsl import ScenarioList, QuestionLinearScale
94
+
95
+ q = QuestionLinearScale(
96
+ question_name = "example",
97
+ question_text = "How much do you enjoy {{ activity }}?",
98
+ question_options = [1,2,3,4,5,],
99
+ option_labels = {1:"Not at all", 5:"Very much"}
100
+ )
101
+
102
+ sl = ScenarioList.from_list("activity", ["coding", "sleeping"])
103
+
104
+ results = q.by(sl).run()
105
+
106
+ results.select("activity", "example")
107
+ ```
108
+
109
+ > | scenario.activity | answer.example |
110
+ > |--------------------|-----------------|
111
+ > | Coding | 5 |
112
+ > | Sleeping | 5 |
113
+
114
+ <br>
115
+
116
+ **Design AI agent personas to answer questions**:
117
+ Construct agents with relevant traits to provide diverse responses to your surveys (<a href="https://www.expectedparrot.com/content/b639a2d7-4ae6-48fe-8b9e-58350fab93de" target="_blank" rel="noopener noreferrer">view at Coop</a>)
118
+
119
+ ```python
120
+ from edsl import Agent, AgentList, QuestionList
121
+
122
+ al = AgentList(Agent(traits = {"persona":p}) for p in ["botanist", "detective"])
123
+
124
+ q = QuestionList(
125
+ question_name = "example",
126
+ question_text = "What are your favorite colors?",
127
+ max_list_items = 3
128
+ )
129
+
130
+ results = q.by(al).run()
131
+
132
+ results.select("persona", "example")
133
+ ```
134
+
135
+ > | agent.persona | answer.example |
136
+ > |----------------|---------------------------------------------|
137
+ > | botanist | ['Green', 'Earthy Brown', 'Sunset Orange'] |
138
+ > | detective | ['Gray', 'Black', 'Navy Blye'] |
139
+
140
+ <br>
141
+
142
+ **Simplified access to LLMs**:
143
+ Choose whether to use your own keys for LLMs, or access all <a href="https://www.expectedparrot.com/getting-started/coop-pricing" target="_blank" rel="noopener noreferrer">available models</a> with an Expected Parrot API key. Run surveys with many models at once and compare responses at a convenient inferface (<a href="https://www.expectedparrot.com/content/044465f0-b87f-430d-a3b9-4fd3b8560299" target="_blank" rel="noopener noreferrer">view at Coop</a>)
144
+
145
+ ```python
146
+ from edsl import Model, ModelList, QuestionFreeText
147
+
148
+ ml = ModelList(Model(m) for m in ["gpt-4o", "gemini-1.5-flash"])
149
+
150
+ q = QuestionFreeText(
151
+ question_name = "example",
152
+ question_text = "What is your top tip for using LLMs to answer surveys?"
153
+ )
154
+
155
+ results = q.by(ml).run()
156
+
157
+ results.select("model", "example")
158
+ ```
159
+
160
+ > | model.model | answer.example |
161
+ > |--------------------|-------------------------------------------------------------------------------------------------|
162
+ > | gpt-4o | When using large language models (LLMs) to answer surveys, my top tip is to ensure that the ... |
163
+ > | gemini-1.5-flash | My top tip for using LLMs to answer surveys is to **treat the LLM as a sophisticated brainst... |
164
+
165
+ <br>
166
+
167
+ **Piping & skip-logic**:
168
+ Build rich data labeling flows with features for piping answers and adding survey logic such as skip and stop rules (<a href="https://www.expectedparrot.com/content/b8afe09d-49bf-4c05-b753-d7b0ae782eb3" target="_blank" rel="noopener noreferrer">view at Coop</a>):
169
+
170
+ ```python
171
+ from edsl import QuestionMultipleChoice, QuestionFreeText, Survey
172
+
173
+ q1 = QuestionMultipleChoice(
174
+ question_name = "color",
175
+ question_text = "What is your favorite primary color?",
176
+ question_options = ["red", "yellow", "blue"]
177
+ )
178
+
179
+ q2 = QuestionFreeText(
180
+ question_name = "flower",
181
+ question_text = "Name a flower that is {{ color.answer }}."
182
+ )
183
+
184
+ survey = Survey(questions = [q1, q2])
185
+
186
+ results = survey.run()
187
+
188
+ results.select("color", "flower")
189
+ ```
190
+
191
+ > | answer.color | answer.flower |
192
+ > |---------------|-----------------------------------------------------------------------------------|
193
+ > | blue | A commonly known blue flower is the bluebell. Another example is the cornflower. |
194
+
195
+ <br>
196
+
197
+ **Caching**:
198
+ API calls to LLMs are cached automatically, allowing you to retrieve responses to questions that have already been run and reproduce experiments at no cost. Learn more about how the <a href="https://docs.expectedparrot.com/en/latest/remote_caching.html" target="_blank" rel="noopener noreferrer">universal remote cache</a> works.
199
+
200
+ **Flexibility**:
201
+ Choose whether to run surveys on your own computer or at the Expected Parrot server.
202
+
203
+ **Tools for collaboration**:
204
+ Easily share workflows and projects privately or publicly at Coop: an integrated platform for AI-based research. Your account comes with free credits for running surveys, and lets you securely share keys, track expenses and usage for your team.
205
+
206
+ **Built-in tools for analyis**:
207
+ Analyze results as specified datasets from your account or workspace. Easily import data to use with your surveys and export results.
208
+
209
+ ## Getting started
210
+
211
+ 1. Run `pip install edsl` to install the package.
212
+
213
+ 2. <a href="https://www.expectedparrot.com/login" target="_blank" rel="noopener noreferrer">Create an account</a> to run surveys at the Expected Parrot server and access a <a href="https://docs.expectedparrot.com/en/latest/remote_caching.html" target="_blank" rel="noopener noreferrer">universal remote cache</a> of stored responses for reproducing results.
214
+
215
+ 3. Choose whether to use your own keys for language models or get an Expected Parrot key to access all available models at once. Securely <a href="https://docs.expectedparrot.com/en/latest/api_keys.html" target="_blank" rel="noopener noreferrer">manage keys</a>, share expenses and track usage for your team from your account.
216
+
217
+ 4. Run the <a href="https://docs.expectedparrot.com/en/latest/starter_tutorial.html" target="_blank" rel="noopener noreferrer">starter tutorial</a> and explore other demo notebooks.
218
+
219
+ 5. Share workflows and survey results at <a href="https://www.expectedparrot.com/content/explore" target="_blank" rel="noopener noreferrer">Coop</a>
220
+
221
+ 6. Join our <a href="https://discord.com/invite/mxAYkjfy9m" target="_blank" rel="noopener noreferrer">Discord</a> for updates and discussions! Request new features!
222
+
223
+ ## Code & Docs
224
+ - <a href="https://pypi.org/project/edsl/" target="_blank" rel="noopener noreferrer">PyPI</a>
225
+ - <a href="https://github.com/expectedparrot/edsl" target="_blank" rel="noopener noreferrer">GitHub</a>
226
+ - <a href="https://docs.expectedparrot.com" target="_blank" rel="noopener noreferrer">Documentation</a>
227
+
228
+ ## Requirements
229
+ - Python 3.9 - 3.12
230
+ - API keys for language models. You can use your own keys or an Expected Parrot key that provides access to all available models.
231
+ See instructions on <a href="https://docs.expectedparrot.com/en/latest/api_keys.html" target="_blank" rel="noopener noreferrer">managing keys</a> and <a href="https://www.expectedparrot.com/getting-started/coop-pricing" target="_blank" rel="noopener noreferrer">model pricing and performance</a> information.
232
+
233
+ ## Coop
234
+ An integrated platform for running experiments, sharing workflows and launching hybrid human/AI surveys.
235
+ - <a href="https://www.expectedparrot.com/login" target="_blank" rel="noopener noreferrer">Login / Signup</a>
236
+ - <a href="https://www.expectedparrot.com/content/explore" target="_blank" rel="noopener noreferrer">Explore</a>
237
+
238
+ ## Community
239
+ - <a href="https://discord.com/invite/mxAYkjfy9m" target="_blank" rel="noopener noreferrer">Discord</a>
240
+ - <a href="https://x.com/ExpectedParrot" target="_blank" rel="noopener noreferrer">Twitter</a>
241
+ - <a href="https://www.linkedin.com/company/expectedparrot/" target="_blank" rel="noopener noreferrer">LinkedIn</a>
242
+ - <a href="https://blog.expectedparrot.com" target="_blank" rel="noopener noreferrer">Blog</a>
243
+
244
+ ## Contact
245
+ - <a href="mailto:info@expectedparrot.com" target="_blank" rel="noopener noreferrer">Email</a>.
246
+
@@ -1,19 +1,19 @@
1
- edsl/Base.py,sha256=-U6ngLZJDqImrAwF-TSmYzMESre0CG5rq9ZFxFh31sY,12864
1
+ edsl/Base.py,sha256=Mozyr7Mao_WwBA1YynlJ9gqm8oymtZ5WSbwEIdPVjPY,13256
2
2
  edsl/BaseDiff.py,sha256=92BirXj2u3TEGHJWni9TBsvZjvq8wpb4wDL2vxX9Lb0,8253
3
3
  edsl/TemplateLoader.py,sha256=sDBlSMt7EfOduM7w3h6v03gvh_Rzn9hVrlS-iLSQdZA,849
4
4
  edsl/__init__.py,sha256=iB5q_P2pXDV6Wb5oHKsFDhi_rJXID0aaqio1I98dwXA,1936
5
- edsl/__version__.py,sha256=PwEipAcIgfEks4UpVgOERoR8Az-FCfCGocVnb0rkncM,23
5
+ edsl/__version__.py,sha256=G1Bw5SEeRoSlHVxmFKf6PIpK38SHTYTFhSFGm9d8YQM,23
6
6
  edsl/agents/Agent.py,sha256=lF7GD_bCvRLP4hrtm3w451AUfuJln5jZHGYBH84CMVE,40741
7
7
  edsl/agents/AgentList.py,sha256=iRfQfyUYtaJbJ3sRubPqPKRr77nKQgzhFEeZ0wcAEk0,18955
8
8
  edsl/agents/Invigilator.py,sha256=SObe7PC08XoWNpOubZMFlVKPN8nfZplYBwY9LXJou8c,12084
9
- edsl/agents/InvigilatorBase.py,sha256=Ene3qKWV7czdBp5lFOL4Q-s_p4zNb8UMWn10XRGb4Cs,8985
10
- edsl/agents/PromptConstructor.py,sha256=WZpodlWC_HT0e6bT05FSvapVXH9vVHQVISmNw50NetY,13657
11
- edsl/agents/QuestionInstructionPromptBuilder.py,sha256=3myBxREbIQ_1KtZBJEn9_Or2M4nmng-bUk2ubg3lLag,6666
12
- edsl/agents/QuestionTemplateReplacementsBuilder.py,sha256=-VSCAX0uqpA1xNr62V3kLh9NACR9fY0nvdp6KAJqk3c,5471
9
+ edsl/agents/InvigilatorBase.py,sha256=SfpKlZm3oP6b0XIMSK5c1oD3MUevemUe7qNfqsokY40,9098
10
+ edsl/agents/PromptConstructor.py,sha256=6EShFpyYlR42uZSAXQjPkqcch4P1MXYyv7btt_TZnv8,14488
11
+ edsl/agents/QuestionInstructionPromptBuilder.py,sha256=wl3UdlZaFdwsJpxHV_ruzQZg5P22b33zV3mbVdwYGAw,8764
12
+ edsl/agents/QuestionTemplateReplacementsBuilder.py,sha256=yiOmeH0bF742hJ8JbRA-aRkidzVD7jmTfRd71TmWByE,8231
13
13
  edsl/agents/__init__.py,sha256=a3H1lxDwu9HR8fwh79C5DgxPSFv_bE2rzQ6y1D8Ba5c,80
14
14
  edsl/agents/descriptors.py,sha256=JxM_ckzhDmfZT1igSUdCxgyQcCK0o9MhU5jbLIned9g,3189
15
15
  edsl/agents/prompt_helpers.py,sha256=JkVRPrLQ1egPqbBKcgR22c6WYnTU4QjzZG5HwxDEHjs,5076
16
- edsl/agents/question_option_processor.py,sha256=q6g5B3E4Q9gWBtFCRqcXHaSxaGfWLqbKB2EXxqzihRk,6345
16
+ edsl/agents/question_option_processor.py,sha256=ozh6XqW8z_eaXRauncYifOvEgsmb29F4FMapxhW3hCY,6715
17
17
  edsl/auto/AutoStudy.py,sha256=XniD-g7jg19vbD5CWqq0QAiMsIz2CboKAAIluDODqzo,4326
18
18
  edsl/auto/StageBase.py,sha256=7ZjV0T-8FQBL-r5LeAozNQY_0RJ_GySdX48ToM7-dLc,8254
19
19
  edsl/auto/StageGenerateSurvey.py,sha256=_lC1-hhFjqd6md1-RE9uEOPtZp7dZHxJn0ERpszSfow,7394
@@ -32,11 +32,11 @@ edsl/conversation/car_buying.py,sha256=SmRd-_L62AmiZJK5UgJV3_tYTsVPTpEYQWb81ygN9
32
32
  edsl/conversation/chips.py,sha256=IoWoWEdSfJqy_TRcPPjT73lhEmYgBrZ4_3kwHEHJijQ,3323
33
33
  edsl/conversation/mug_negotiation.py,sha256=mjvAqErD4AjN3G2za2c-X-3axOShW-zAJUeiJqTxVPA,2616
34
34
  edsl/conversation/next_speaker_utilities.py,sha256=bqr5JglCd6bdLc9IZ5zGOAsmN2F4ERiubSMYvZIG7qk,3629
35
- edsl/coop/CoopFunctionsMixin.py,sha256=RS79ADEbYUK-frf_WY-YnozVbM3ZaBufv1jxjF96GtQ,735
35
+ edsl/coop/CoopFunctionsMixin.py,sha256=5Vm8fFTRSg9dFnNBxYqZpeUABSZa2Ttzaal6zB13FGs,690
36
36
  edsl/coop/ExpectedParrotKeyHandler.py,sha256=1lriainznM1FfQ7GEvTiI1EW8uNi8Sms3Vt5UDxso3U,4456
37
37
  edsl/coop/PriceFetcher.py,sha256=J5EaM-bPqnd2B0ZBVVqXJ-UQK-D4SdjmddYepnN7jz4,1777
38
38
  edsl/coop/__init__.py,sha256=4iZCwJSzJVyjBYk8ggGxY2kZjq9dXVT1jhyPDNyew4I,115
39
- edsl/coop/coop.py,sha256=-O07b4zhhjfPGF_XjX8uiv1Cdc41R121Y1h-5kJEEkw,42631
39
+ edsl/coop/coop.py,sha256=h2fusj3mZGxC-Dd_ySfNQwPYVLH2Igm4sryx-9sB2-s,44391
40
40
  edsl/coop/utils.py,sha256=SBV76sk5_2rhP3RKGkJsOkrx9Qr-jD0puqYhVR_MgSY,3900
41
41
  edsl/data/Cache.py,sha256=ryMWLowyXa8VwWKru-0pF43JHh2UVyL5Zezst-26J6c,18510
42
42
  edsl/data/CacheEntry.py,sha256=mTc-WG_dWc4s9s3MrOl3yUqao2Q_igCerNcluM4XCSQ,7376
@@ -46,7 +46,7 @@ edsl/data/SQLiteDict.py,sha256=V5Nfnxctgh4Iblqcw1KmbnkjtfmWrrombROSQ3mvg6A,8979
46
46
  edsl/data/__init__.py,sha256=i_bbYBc-vrdASBpDMcpIcfhbLKYOkvqA57R3ysBcQ6o,177
47
47
  edsl/data/orm.py,sha256=Jz6rvw5SrlxwysTL0QI9r68EflKxeEBmf6j6himHDS8,238
48
48
  edsl/data_transfer_models.py,sha256=r7Nl2ZyR0FZhzqQg8tz2jxonTVBboK9W3qMicts69qc,1960
49
- edsl/enums.py,sha256=3K-4xpOfORWOn-BzQVlMQyneSbORklaP39HB05YnXxY,6098
49
+ edsl/enums.py,sha256=t_-Ywm7VtvgPrknkP5uFa7tVyIsGv1nr2spG9QXu3gw,6177
50
50
  edsl/exceptions/BaseException.py,sha256=eP30DOYtssbKt0qarfDkNOKDW-aG0DLaHtx42bp5dVQ,811
51
51
  edsl/exceptions/__init__.py,sha256=guZX0w_IGt-fYBuK_xVKACfJfQU6AYXM2kscbPp8Yrw,1532
52
52
  edsl/exceptions/agents.py,sha256=E_r9bHUQEPWTjy5D-CmDvFMgFe34aPtwo4ApYN71mDg,1626
@@ -63,55 +63,56 @@ edsl/exceptions/questions.py,sha256=8UGm6uo0sCfes1AXQzoGwcwKgzgmY7Bx6gyPzc0TxqY,
63
63
  edsl/exceptions/results.py,sha256=NfY-IWroZsEKpprAipIxjJ2hxJKWgBS-Qa-zubDhAoE,509
64
64
  edsl/exceptions/scenarios.py,sha256=j4OE9xrSrLKdRMwmr3webIRHBwBgvx0DL0uDThRW7yY,855
65
65
  edsl/exceptions/surveys.py,sha256=BJUKFVkj6nrsq3TyvaZfEE-zjy3BCAM-s1lsdcrv_MM,677
66
- edsl/inference_services/AnthropicService.py,sha256=Xr1MQmBYYKKaMd9IRBYvK357i7vrxUm73nxxNZGCCCQ,3761
66
+ edsl/inference_services/AnthropicService.py,sha256=BDT6-28M0BmRDT60jmPQ056Z6yMocHIe_UjrmwY5rC8,3980
67
67
  edsl/inference_services/AvailableModelCacheHandler.py,sha256=9zGT1Huz0VTOZyN5GpakcMAe6pZyYmZcdSzuqPUZ09g,6179
68
- edsl/inference_services/AvailableModelFetcher.py,sha256=2RjYftpSVbdxC_lE3U8G1Pn4m2UwY6WbxBHrrujMAFI,7894
69
- edsl/inference_services/AwsBedrock.py,sha256=aOJ7n_05cdh2EkTWfd9mhOJiPdaqEtmBJBHKmT_Ds5A,4001
70
- edsl/inference_services/AzureAI.py,sha256=8ymXCAWqa4NkYEGi6_AvcSRN1WLPXueAWk-W8w_T6AI,8817
68
+ edsl/inference_services/AvailableModelFetcher.py,sha256=LlBPXjadXJVvmqAgpQcujauWod9NgbOlyfhzZiUdPZo,8037
69
+ edsl/inference_services/AwsBedrock.py,sha256=vs83ickoxkjKoR78cPgGQzpeaLRPLaWG857nDzlJZv0,3974
70
+ edsl/inference_services/AzureAI.py,sha256=QSR0dgZWw4PhP3mI6nAdiC1YOqGS8PZEb2cuBsRQQR8,8972
71
71
  edsl/inference_services/DeepInfraService.py,sha256=fWlH5sCNxf8eHPHxPPxJMEVWpCM9sDenkC8IZYqtXfA,515
72
72
  edsl/inference_services/DeepSeekService.py,sha256=eRGrXb0ux3AtbJLJCEb6hgADdVIWMXkll-OnvSL_D-k,499
73
- edsl/inference_services/GoogleService.py,sha256=SZYEGZXsEcCgvGpc59vFVL382_MeCee9ZnFhJwg4kSo,4945
73
+ edsl/inference_services/GoogleService.py,sha256=O_OcqWtZ8SDaD8OIpvSwedsLtsFVGiABGjEczCl2t1U,5177
74
74
  edsl/inference_services/GroqService.py,sha256=eDMq8d7YAlJ2689ywaoaPGvMgFfOiX1KYlF_vr97N6I,510
75
- edsl/inference_services/InferenceServiceABC.py,sha256=tbdaJgPeKIe3n4RGhifBFTpyKHxJnccn-YpHGyafgpE,2019
76
- edsl/inference_services/InferenceServicesCollection.py,sha256=cgGuixJopkwEb8QU6F_zUiTD8Nxcd6SKUUg05epuNuk,5051
77
- edsl/inference_services/MistralAIService.py,sha256=_cgcWKHcvTPyjYgvjsrPkwGro7zhi9YljDTN7ENDIdw,3805
75
+ edsl/inference_services/InferenceServiceABC.py,sha256=9DVmYqPfXuR0N9PPOy9Wp94eEBdymlJAwlUU4eKEc64,2056
76
+ edsl/inference_services/InferenceServicesCollection.py,sha256=i0eaf5K6zGbPfpuFhzPpkgVCeWDH8aU02FPfp5MliGs,5116
77
+ edsl/inference_services/MistralAIService.py,sha256=GHKZXtB4npdSpUvLqLc-OBJaihJpmky67NWBH_ql8xk,3763
78
78
  edsl/inference_services/OllamaService.py,sha256=oro9CRl8IUE2Ro-zE69Cr4Zaf6Gdw29XW5CFU-46E0k,498
79
- edsl/inference_services/OpenAIService.py,sha256=56DitvQVi7aD7MelP_r_hrg73_yaOIr8cxl2mVehAEQ,8250
80
- edsl/inference_services/PerplexityService.py,sha256=PWe8R0dT9aMOtrgBg_qIycVeqQCDlEmniGFhWBYi4U0,5657
79
+ edsl/inference_services/OpenAIService.py,sha256=O5eavTstXPnMHHMcOS9kmMHHEO_CkUJ5o_bgumiNxbI,8470
80
+ edsl/inference_services/PerplexityService.py,sha256=u852C6rQ2FoEXa9mqf2XjVE90y4FvZ3HPPwkNQWQzv0,5664
81
81
  edsl/inference_services/ServiceAvailability.py,sha256=z2GaZ7Qt2qILcRTVl1X7zZVlPFOP3THntB5WSgbbesQ,4741
82
- edsl/inference_services/TestService.py,sha256=wfRQ3VfRG-yiT-laZ71OTGMji22hEpNxN3UEDvty3Fk,2954
82
+ edsl/inference_services/TestService.py,sha256=sLme9cgQsR0Nzdew3GyDpdfTeEEByxeak4YiodSZKvI,2986
83
83
  edsl/inference_services/TogetherAIService.py,sha256=fe349fdJQw-9OHz5mDGa5qxdC9Nccz0MtkisNIZjBkI,6360
84
+ edsl/inference_services/XAIService.py,sha256=-kwtQXfE2bHeNTDiKK-Zgb5rYYoeCSFq621ex4k2NaI,306
84
85
  edsl/inference_services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
85
86
  edsl/inference_services/data_structures.py,sha256=IqxATICnHYE5csSUQl6qbzz3KcUask5pZk78-gijms4,3850
86
87
  edsl/inference_services/models_available_cache.py,sha256=bOvevfRn2HlmBcHalaDkjFLxiw0JJhsXVUHZo_OhgjA,4061
87
88
  edsl/inference_services/rate_limits_cache.py,sha256=HYslviz7mxF9U4CUTPAkoyBsiXjSju-YCp4HHir6e34,1398
88
- edsl/inference_services/registry.py,sha256=P0tkpr16WcYX7FAqo-_PnKPpzyI6GNs_dsMRdClBoRk,1424
89
+ edsl/inference_services/registry.py,sha256=feFqywZs0ogzOheIMdKA_NWVPj1p8Iaik3O8_RbuVFs,1498
89
90
  edsl/inference_services/write_available.py,sha256=NNwhATlaMp8IYY635MSx-oYxt5X15acjAfaqYCo_I1Y,285
90
91
  edsl/jobs/AnswerQuestionFunctionConstructor.py,sha256=wNM2HNhEQLYO8BRCfzqPGpJrqmtw0FBkGPa_VUe9emQ,7977
91
92
  edsl/jobs/Answers.py,sha256=lZpbGAqYqMQw7MUsmpivqMZkHjHHOmCY32s9Km284pQ,1445
92
93
  edsl/jobs/FetchInvigilator.py,sha256=83tbrqY_1qK0biNF1x51N0sFx49FFmuOi3o5HmFuCIY,1785
93
94
  edsl/jobs/InterviewTaskManager.py,sha256=I1GShC2CrBFnGOcWn3q2YUU0SJbesmeLrrM2_nkuhZo,3748
94
95
  edsl/jobs/InterviewsConstructor.py,sha256=MyRgygmi4318PgERjhhZZXlNUju2lB1CBu8LJJjYNSs,1853
95
- edsl/jobs/Jobs.py,sha256=-UNknyXlO-3L06ljxukpZBay6IIQqHdCYNKHToiJftw,30776
96
- edsl/jobs/JobsChecks.py,sha256=v1sgdjKQTYMoZu-uobM9USn1KaF6QBoOfNSGH7ueZjU,5403
96
+ edsl/jobs/Jobs.py,sha256=lZ2pszXM_F_aY1HoP8qPrbrKymREdMiLw_3VfgFrs4M,31182
97
+ edsl/jobs/JobsChecks.py,sha256=2KT_Bs41SR0-0ryYC99VrE9j7V2ICxf9nPe21YHp67o,5265
97
98
  edsl/jobs/JobsComponentConstructor.py,sha256=yzjBFQx1oK8CN2taniB82kpXo6W712dIG1E9ouwkujg,6969
98
- edsl/jobs/JobsPrompts.py,sha256=szbNRda8uewU1QrLynIxUIefK94dSMR2MBkTCb9H4hI,12835
99
+ edsl/jobs/JobsPrompts.py,sha256=XA52HydVoIWZqmVMnfpTrM1M1vMutNYZR3bUqhilBUk,12831
99
100
  edsl/jobs/JobsRemoteInferenceHandler.py,sha256=UC5LM7bedT9WabqspfdFo2HW6CRNJFNkjh-pSJqu3nU,11464
100
101
  edsl/jobs/JobsRemoteInferenceLogger.py,sha256=rUaImMQWVZO24i8cXBeDpd4rMu3fUSbolfqBNbrG1ms,9265
101
102
  edsl/jobs/RequestTokenEstimator.py,sha256=IF2sb1Tt_exzNyWnuvd8mm81gfyZsv-rUP-GUHBX32E,1183
102
103
  edsl/jobs/__init__.py,sha256=aKuAyd_GoalGj-k7djOoVwEbFUE2XLPlikXaA1_8yAg,32
103
- edsl/jobs/async_interview_runner.py,sha256=FdkfhazuRZjDUPjSYPqNGdfoYG538PzCa62rwdnKTmc,5226
104
+ edsl/jobs/async_interview_runner.py,sha256=fpO8ZhdoTxzWWxuBVHK_fVN1nWV6XOQ3tTE09NxMR5E,5311
104
105
  edsl/jobs/buckets/BucketCollection.py,sha256=3rbeEPz6PppJ3YPpYlRGzCsiVOfYzjHyPtwA6TFdZLc,5062
105
106
  edsl/jobs/buckets/ModelBuckets.py,sha256=hxw_tzc0V42CiB7mh5jIxlgwDVJ-zFZhlLtKrHEg8ho,2419
106
107
  edsl/jobs/buckets/TokenBucket.py,sha256=DNv5aOO8kwq3PvCXg84HCBhYFkzSiOqLBLiEJRFuCGQ,10082
107
108
  edsl/jobs/buckets/TokenBucketAPI.py,sha256=ht0b-xZvzaR9ymhjin4c1AZwapuLPOoJ2N9hViSPuA4,6847
108
109
  edsl/jobs/buckets/TokenBucketClient.py,sha256=Jx20nDAdUSh3USUX9B4PHd1uAFMdyOHtRa2phzFnh-w,7095
109
- edsl/jobs/check_survey_scenario_compatibility.py,sha256=dU1IUPb1FFm0P1ievzTmtgcRxH2soCdPaG5GZ1Zd4fA,3816
110
+ edsl/jobs/check_survey_scenario_compatibility.py,sha256=JTn2FOaPAZmcitRrysr8KvvSaG7Xia_bey0ZEK5N0pc,3826
110
111
  edsl/jobs/data_structures.py,sha256=VwMLmfAiajRzdy1ruJJC-v3gU2FkOVnbsC9NZjpystw,3756
111
112
  edsl/jobs/decorators.py,sha256=vpeSgI3EP4RFz5V_OclFdnhiSrswihavAN8C9ygRhGE,1135
112
113
  edsl/jobs/interviews/Interview.py,sha256=GTUS1yuz1dCtlHEVe2N76qTSpmk6OecR5PMkDAjRzsQ,15051
113
114
  edsl/jobs/interviews/InterviewExceptionCollection.py,sha256=ZIe9nnI8pznxp1D0K2Ii9SHorc9-f0k_lQV-Giq41P8,3666
114
- edsl/jobs/interviews/InterviewExceptionEntry.py,sha256=uV6pnhdp9WAabh_78htoOxIZqisHNfOAX2QZFlUnnlQ,5972
115
+ edsl/jobs/interviews/InterviewExceptionEntry.py,sha256=A-7QGREECViHc1bZoPXXvJxgQ5aW-PdgOxADH-G7h9A,6478
115
116
  edsl/jobs/interviews/InterviewStatistic.py,sha256=hY5d2EkIJ96NilPpZAvZZzZoxLXM7ss3xx5MIcKtTPs,1856
116
117
  edsl/jobs/interviews/InterviewStatisticsCollection.py,sha256=_ZZ0fnZBQiIywP9Q_wWjpWhlfcPe2cn32GKut10t5RI,788
117
118
  edsl/jobs/interviews/InterviewStatusDictionary.py,sha256=MSyys4hOWe1d8gfsUvAPbcKrs8YiPnz8jpufBSJL7SU,2485
@@ -126,15 +127,15 @@ edsl/jobs/runners/JobsRunnerStatus.py,sha256=1aySPXQ0ijCvv6Bqvddqe6Hlr-wAlTvxBV6
126
127
  edsl/jobs/runners/JobsRunnerStatusData.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
127
128
  edsl/jobs/tasks/QuestionTaskCreator.py,sha256=Bx7x2_Tc6hQvaAQNtnxvoF52bTCZH7AhiVWg_gSajmo,9934
128
129
  edsl/jobs/tasks/TaskCreators.py,sha256=XqAbNU33378Z4PQncokbfJwnKt3KHR9aqa5fKYRDpfg,2694
129
- edsl/jobs/tasks/TaskHistory.py,sha256=QKBGOmKfEpnJvv59XYUoML8eWrFBGHOq8jd8PH57Dgk,17424
130
+ edsl/jobs/tasks/TaskHistory.py,sha256=QNkTt0lJC5xiSgsgUIn5AkhhR9XOHzyT3YSSK3bAy7s,17524
130
131
  edsl/jobs/tasks/TaskStatusLog.py,sha256=bqH36a32F12fjX-M-4lNOhHaK2-WLFzKE-r0PxZPRjI,546
131
132
  edsl/jobs/tasks/task_status_enum.py,sha256=FLmfSgHSbB921UyC-mvKpBLg5HLRf_NbHKXF4f57kdw,5264
132
133
  edsl/jobs/tokens/InterviewTokenUsage.py,sha256=u_6-IHpGFwZ6qMEXr24-jyLVUSSp4dSs_4iAZsBv7O4,1100
133
134
  edsl/jobs/tokens/TokenUsage.py,sha256=odj2-wDNEbHl9noyFAQ0DSKV0D9cv3aDOpmXufKZ8O4,1323
134
135
  edsl/language_models/ComputeCost.py,sha256=SLP_tQiZwMonlIVAsOseWpN4Gd3zVirSxN2WJsO5kzs,2310
135
- edsl/language_models/LanguageModel.py,sha256=847NvhGQqz0mpqvsM5gnWEhllKG66Vl7WD1sFs_0Qxk,21811
136
+ edsl/language_models/LanguageModel.py,sha256=zB4WD9SDKf1PSukH_pF_O_mFdZkGf8dM91NYVnOz9OU,21881
136
137
  edsl/language_models/ModelList.py,sha256=n8OWnPBeKT66XsXvbG5xWqvrs7MHBiuuFWp82gVQD0o,4731
137
- edsl/language_models/PriceManager.py,sha256=4dN8L1qn8KEhqqHVy_50yLAahrJKlesAm6jtE3pzMcw,4432
138
+ edsl/language_models/PriceManager.py,sha256=Atl2715WOl9u4cU1a_S_Ycrejc787T8_mi_o-DENCeQ,5757
138
139
  edsl/language_models/RawResponseHandler.py,sha256=4ekXsNlDUOb_cfzmfJLS-KIjQXjf6xGgGdDgloqANxI,3904
139
140
  edsl/language_models/RegisterLanguageModelsMeta.py,sha256=eMtBSAnlRnC4c-0_o2QkSNyzv-uAce4BEGMXq2PLj2E,7523
140
141
  edsl/language_models/ServiceDataSources.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -146,7 +147,7 @@ edsl/language_models/key_management/KeyLookupBuilder.py,sha256=HV21uTSYOuSKBIIoG
146
147
  edsl/language_models/key_management/KeyLookupCollection.py,sha256=OU6jPZoJ54fAtkTfxwsD2lw_ZVha92G_T0LpCq1r-js,1205
147
148
  edsl/language_models/key_management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
148
149
  edsl/language_models/key_management/models.py,sha256=Rs7fjzFjPHXv4sKU9E-FnwZj2ul69sWDwhdIMhjjElE,2753
149
- edsl/language_models/model.py,sha256=yWt3t3e1s0pt3zKJu450RFzhLfV7nA6CZYYzrrq7nyo,10389
150
+ edsl/language_models/model.py,sha256=fsMS8QVIliK3lklDlWePjmUMTT4tWCBApBD1ecQd6yQ,12109
150
151
  edsl/language_models/repair.py,sha256=TnYY6-rTQFeZaeGOymT0UkIjfZrxs4JK0v2h9UY4m48,5401
151
152
  edsl/language_models/utilities.py,sha256=0dXHl74OlGKf1224fo5wYsawdBvxqMAB87nY_tJ0VYY,2295
152
153
  edsl/notebooks/Notebook.py,sha256=j1W_sGp5Oa6tY4FlR2KthOU_ZzCFlRShkHYcpciIt94,8217
@@ -156,13 +157,13 @@ edsl/prompts/Prompt.py,sha256=gSpMneHIlfOr1_rxWKiMdFMC98w458dg0KEFQDJmLAA,14081
156
157
  edsl/prompts/__init__.py,sha256=wrtkH7JW72U93_pnmTvqQx_NoadH5OPRNfrZ5AaD7Co,87
157
158
  edsl/questions/ExceptionExplainer.py,sha256=BgM80FRPJjS_TrY6XaVmlT666MzY9DEagviGQj9-WEQ,2868
158
159
  edsl/questions/HTMLQuestion.py,sha256=mRzVpfFLZ2RYBSDbLHeXTyAXbUHorpiwhNf-nuUSC5M,3431
159
- edsl/questions/QuestionBase.py,sha256=vyMOvEfMtka-k9Lkx07e36Ui00wM0sjBLUMxI6mi82c,18504
160
- edsl/questions/QuestionBasePromptsMixin.py,sha256=PFzqZKyLhtwKebzakFnbCIN1_GzSzxsHxsRfttsSSEA,7949
160
+ edsl/questions/QuestionBase.py,sha256=2x4uMYxc2JDlF_IxTp-WKWZZtTSrZr3EthHHvDVhtUI,19280
161
+ edsl/questions/QuestionBasePromptsMixin.py,sha256=7Pboia46duzxwKcyO0CXcP3PxtAwD3inv_IFfmm3Oy4,11740
161
162
  edsl/questions/QuestionBudget.py,sha256=fBxDRfPJ3HctSCNTzqGLPuRCACySb3NHugXCNE7pXH8,8133
162
163
  edsl/questions/QuestionCheckBox.py,sha256=ho_tyr3a6gHcA2kWlfz0dSW_-2yd6ifdC3niPPPQJAY,12847
163
164
  edsl/questions/QuestionDict.py,sha256=uk2X3WWKYuPY_uOoNsj5l9xiPVKk_wRoXBmz70PKBbI,13647
164
165
  edsl/questions/QuestionExtract.py,sha256=Gix35u_RMHN2-paKJ8pc0h5c7HaMoLD6MOPVZVxVHkY,6055
165
- edsl/questions/QuestionFreeText.py,sha256=yxs9H8y4RHUcmEjV02-_Pu_DjA2FizG9B3gd_hZQD2I,3377
166
+ edsl/questions/QuestionFreeText.py,sha256=djdSv6CVd38ZoFDC5bWKPx2ZSK87ICzFmyPociW5RFQ,4253
166
167
  edsl/questions/QuestionFunctional.py,sha256=APuTZ5QNBTLvwv_iNcgFFV81qImiUL3qHMMHjArREf0,5581
167
168
  edsl/questions/QuestionList.py,sha256=YWCtqzo0JnYhNH0yOfU_iheL_3xQLiZm2L8i744B6Vo,7093
168
169
  edsl/questions/QuestionMatrix.py,sha256=AYmFkgsWoWIa83w9ByhYBzYmocO2Q7B5D_qFPE9nJbU,9207
@@ -181,7 +182,7 @@ edsl/questions/derived/QuestionLinearScale.py,sha256=oGxTOFITNrFofV468Gow9rtnBMW
181
182
  edsl/questions/derived/QuestionTopK.py,sha256=IAmW1kUA1rvW_NH3yxroLfarhl6_QyTEwWZ54gbi6fg,3294
182
183
  edsl/questions/derived/QuestionYesNo.py,sha256=KWJyaXSNPNxELtK0nWvIqNtpAF05MMAC0ILUjxXkVwo,2735
183
184
  edsl/questions/derived/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
184
- edsl/questions/descriptors.py,sha256=B2JB3q5RpxSYdwP7HAuEpf3musZe1rhvI29GkzHn4Qw,18897
185
+ edsl/questions/descriptors.py,sha256=4vYWJTlqASBhpjjcW5_jKLojLRU4NsodD4Goj9bqx-Y,18971
185
186
  edsl/questions/loop_processor.py,sha256=h2t8Sn71JBBpim3MaVcZtPTcUsPCBR2aJIpzDFzam5k,4553
186
187
  edsl/questions/prompt_templates/question_budget.jinja,sha256=-ekZYCa_KRc-xLcpf3j-YmXV0WSyIK_laOp2x3li-tA,737
187
188
  edsl/questions/prompt_templates/question_checkbox.jinja,sha256=V-Dn2VJhfXyIILWIhMviTfQ5WuXh1YZerwicaA6Okzc,1136
@@ -191,7 +192,7 @@ edsl/questions/prompt_templates/question_linear_scale.jinja,sha256=VB9bFPeLGGb5a
191
192
  edsl/questions/prompt_templates/question_list.jinja,sha256=MAkNv88E79jXK9TxKdnf5KgA77CWz9vXc2TZm2r-g-A,495
192
193
  edsl/questions/prompt_templates/question_multiple_choice.jinja,sha256=sSyAhnexZF6oWqHL-45r7o69vrFcCbbYXLZ3zu7q76U,761
193
194
  edsl/questions/prompt_templates/question_numerical.jinja,sha256=c20sp3HfFonfaRwwmnF7HjAEugU15QlgpNAIkNHasl0,1218
194
- edsl/questions/question_base_gen_mixin.py,sha256=Wpe0BMqICXM1fRDuHa8AQxL89tczGxaLscyUauI7I_o,6216
195
+ edsl/questions/question_base_gen_mixin.py,sha256=5Jy_bRzaa7s7-p7Gw2QDrZRnf9id0m0eCJwIs97b5qM,9945
195
196
  edsl/questions/question_registry.py,sha256=H4Q4JYMHn7-_5rU7Ap26N6Ruzz9WSZqOf1b89MScIDI,6352
196
197
  edsl/questions/register_questions_meta.py,sha256=2h_9iZt3cjr_7JRmveTqbmEBBCvjtefMDfhM7Pgd_zg,2598
197
198
  edsl/questions/response_validator_abc.py,sha256=410DIb8Z5uF_xu1lG32OF6X7aoOtL6gG3UIMY83kfeo,6838
@@ -242,15 +243,15 @@ edsl/questions/templates/yes_no/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm
242
243
  edsl/questions/templates/yes_no/answering_instructions.jinja,sha256=UAcssfcYeW8zytmPOVJOVQEdwdvlRspE8WnatYvreJQ,172
243
244
  edsl/questions/templates/yes_no/question_presentation.jinja,sha256=hoEVj4GQD3EYnR2AStXkMFOJeqISNoEVzBd8-cx2yWg,273
244
245
  edsl/results/CSSParameterizer.py,sha256=vI3VTgTihJeCYGfmGp7fOhTitHZ17jrDGbq46Sa2rd8,3677
245
- edsl/results/Dataset.py,sha256=5mpxMKUqqv-593lF5fEgi2aORUj2iIbIMEZnPrTP33M,20401
246
- edsl/results/DatasetExportMixin.py,sha256=eD3zifl8OU1BaNsZ3ho3P5Pe3-qqW3GflK_7OsRMg3U,22557
246
+ edsl/results/Dataset.py,sha256=81Wf7NAlXfOht4cVFFTLo3lMpTqsPtBq7txLBtJESHw,22495
247
+ edsl/results/DatasetExportMixin.py,sha256=4K3k-RcBI7Z_s-8cigHoLfN8M6DnJFvy19OWJ-AoFMQ,33125
247
248
  edsl/results/DatasetTree.py,sha256=nvNCF9psLcQ65qsxze7qkrhLn-U-N8OJ327Nf-sFskQ,10178
248
249
  edsl/results/MarkdownToDocx.py,sha256=e8kdDPoqS6Zvd8OTldP9AXbjtmr8BZnro7f0-g1ENi4,4123
249
250
  edsl/results/MarkdownToPDF.py,sha256=RgQ8V86AD_h0HlohUiTWcbL8zOpI8xFC4FK-aOh26HE,3608
250
- edsl/results/Result.py,sha256=EQ2klw1vwFv3oih1I38AAJEOYOd7PKEk_oGwA3HTc4A,21404
251
- edsl/results/Results.py,sha256=NmUq0162WpDlmDjR5xi5uJcBTu69XC2Zywvva5a-rho,48363
251
+ edsl/results/Result.py,sha256=Rg3SeD2v30zI92jQb25WGgcnyPGcTUXVE5wzeKkLvuQ,22611
252
+ edsl/results/Results.py,sha256=eo9DgxFklrpUwtAAdzwcM0wG5RlEoEYf-UboAwo6CgY,49087
252
253
  edsl/results/ResultsExportMixin.py,sha256=v9N4pUMrycmKIDzdWn1grmx7F8lxIPAOjfV6OScYSwc,1379
253
- edsl/results/ResultsGGMixin.py,sha256=-E4vhljp53LSSdoURAZnkAb9ekoV4yF0ASv3S4tgnr8,6530
254
+ edsl/results/ResultsGGMixin.py,sha256=h42-fmicXgGDi71y2kgPSPAS9wTjYYS5_VQELBcp-cM,6625
254
255
  edsl/results/TableDisplay.py,sha256=xGJcotgUqWrmCkQLeD9YIwLrNv7su4VDce3EnllfrLQ,3725
255
256
  edsl/results/TextEditor.py,sha256=8lG6Dh1PDE3Yq_oDvu2zOQHpcQEfLfflSzd04BjHciw,1370
256
257
  edsl/results/__init__.py,sha256=cGvJx1BvGCspUPTKYxKwQDRIoWxFSwHUAfOfuVVti4E,82
@@ -264,22 +265,23 @@ edsl/results/table_display.css,sha256=d9HuZYpGvgpDItjYYB0SI88qEPZ4pLgxbhzty_o5Do
264
265
  edsl/results/table_renderers.py,sha256=t3ELBYTFLcNJ6iGuQdMwQCxTe9j189AawDMA9YLrTgc,4387
265
266
  edsl/results/tree_explore.py,sha256=hQjiO4E71rIOPDgEHgK8T8ukxqoNdgX_tvyiDlG4_9U,4624
266
267
  edsl/scenarios/ConstructDownloadLink.py,sha256=DGfF6hoCUovpTQ_GWiEndc--fXe9St6UdiaPhj7ZJZw,3529
267
- edsl/scenarios/DocumentChunker.py,sha256=LZXh_yx507LMNQ-i2VnSHZiPpRI0XQUECO8e3xAKAjI,3545
268
+ edsl/scenarios/DocumentChunker.py,sha256=ox8YhNybeg8Ukn6QuRYM8dsAmtTg5iwTAJSUWEkLnh4,3675
268
269
  edsl/scenarios/DocxScenario.py,sha256=ul3nkX826m_T6LFptswqtnH5czP_yxMlLWgbTmFIZI4,482
269
- edsl/scenarios/FileStore.py,sha256=onFZAqkdqzyQeQ9_2zn1qGY40SqmRG9X8DvtcbXW39o,17418
270
- edsl/scenarios/PdfExtractor.py,sha256=AMTwEZY0pFzSqe3CYVWhijQDfj3qlZq0CoaHaYDnapM,1196
271
- edsl/scenarios/Scenario.py,sha256=9eP78TrIsxkvXYq7-aQCcqcW37v2M4MSh7EIk8l018E,18303
270
+ edsl/scenarios/FileStore.py,sha256=b2DlqLZQ_CaRShzQnlQTEbgjF6vsBZB49qahEwesyzE,18140
271
+ edsl/scenarios/PdfExtractor.py,sha256=0L3-TizSWglaxT1OBZBEbZoCeMknt8zFhDKzN-TikOI,1922
272
+ edsl/scenarios/Scenario.py,sha256=01Fv49eVKhXENCrbghDzajmUxYNdoMqE9FV0MMK5beI,19784
272
273
  edsl/scenarios/ScenarioHtmlMixin.py,sha256=5H8MnPPWqlGZ0_Ojv1WjkFaNNRrr-JpCRwlABDBfPXs,2111
273
- edsl/scenarios/ScenarioList.py,sha256=xxbeaRuA-Bp3Ah8F78SImrXIk0rB2yYUYShXWqgXJ4Q,55372
274
+ edsl/scenarios/ScenarioList.py,sha256=47W860C5pvAYr2kEzkL3JcacL11Q5jjHoWE9q4H2Nxo,58327
274
275
  edsl/scenarios/ScenarioListExportMixin.py,sha256=eghBPIi4CmvkPbHV2hpFyE08jtOzuHiKAlt4JC9D81w,1475
275
276
  edsl/scenarios/ScenarioListPdfMixin.py,sha256=6sGXgDYo7e5lv7sB685iq5DS7KSbXNav-k6y6MRYNLM,7725
276
277
  edsl/scenarios/__init__.py,sha256=CQXwTNTIG9jg_pLkDPZgapUFY0_LwZFVQ8HaYvof0Nc,145
277
278
  edsl/scenarios/directory_scanner.py,sha256=eJHPx6pc_No-I-old0vwrNRwNxmgnn3Fr6mht5mp8Fw,3312
278
279
  edsl/scenarios/file_methods.py,sha256=HeusyoXOi2Bb0Bfp8MVDWKMFpe_ipP-cxENiRrSKZQU,2621
279
- edsl/scenarios/handlers/__init__.py,sha256=4GdEfrAk5a7mUfbwnf0TCcrvp1_aAYZPAnd433NmiGM,384
280
+ edsl/scenarios/handlers/__init__.py,sha256=8EDLVVJibC0_Nwkbfwpg7o48bAfZ_ENmE2NJEuPvWNo,414
280
281
  edsl/scenarios/handlers/csv.py,sha256=5W2fWa6FAL_QGTYTVLFaiEr28f6W7FaF-a9drsklSfc,1383
281
- edsl/scenarios/handlers/docx.py,sha256=e6POWp3Xs-XCVr8TKMtDka1ZRySXZf17TcSimvw6owY,2203
282
+ edsl/scenarios/handlers/docx.py,sha256=KWMmGxtAE4mvwCeKvWZ-0nOKOr7l_QJycK7mz3Coq8w,2361
282
283
  edsl/scenarios/handlers/html.py,sha256=zXipNAYcQE4LRBrKZC9L_tkY1snxQe8ciJ2S1diyMcM,927
284
+ edsl/scenarios/handlers/jpeg.py,sha256=9qhCiLhsh2aLLnM1_6g8t88DACS3Uj5p6LI-qD2WdaY,1148
283
285
  edsl/scenarios/handlers/json.py,sha256=hlZMHYwwuFrV9bGdbn8MNAjgBFue6l5W2TwCfyxSjZ0,3682
284
286
  edsl/scenarios/handlers/latex.py,sha256=MdCdI04AXM7Z6b_ZVgHM3BP_2moWvoHKOmmr24Od-Qk,94
285
287
  edsl/scenarios/handlers/md.py,sha256=dhMTQy0b6PauXu5S_VGBgsqPNFFs5QbxqM6yjHRFxC8,1488
@@ -309,10 +311,10 @@ edsl/surveys/Rule.py,sha256=Hou5_sSpvIfBdZNQk8tHFf-q4JT0wrV_kPMGbmLBfgA,12403
309
311
  edsl/surveys/RuleCollection.py,sha256=UC300EOPhjrMc-88eWt5kKBg1pVvKzzwgda2hjHW_sk,14790
310
312
  edsl/surveys/RuleManager.py,sha256=8k1XfTWaJbgjLLJsryBxVSiZ2_YuJPqE750jZEEtVwI,6216
311
313
  edsl/surveys/Simulator.py,sha256=I4_vHNnwe43SAbw7CK1xa45tahAKHfNRbRxGTRXdHuA,2586
312
- edsl/surveys/Survey.py,sha256=30ttDhOGW39e3spWFFtUlmfpBaelxvGeih91oJN561g,47992
314
+ edsl/surveys/Survey.py,sha256=ebzPn3wfrt09XrjGjLDNrpuQu3Ds87oqtjyqKfCmxAk,48674
313
315
  edsl/surveys/SurveyCSS.py,sha256=fIdiLuXTUq6KuoXXAU_LTHTTe6RchnCmZpj3j7qnt5Y,8796
314
316
  edsl/surveys/SurveyExportMixin.py,sha256=Kvkd2ku2Kemsn2Nw-Yt8GTnGFcUqfEiKznmisAeO7ck,8339
315
- edsl/surveys/SurveyFlowVisualization.py,sha256=OLdVZstVuzR_DFulTosRBhpUa9wQ6XJjKbOpvTUCgJw,6467
317
+ edsl/surveys/SurveyFlowVisualization.py,sha256=Dbkgo-6PBwZ-l2Ok-6dl79CP1JNrqcm04Z4y5ZgKJ-o,8858
316
318
  edsl/surveys/SurveyQualtricsImport.py,sha256=SSZv53D1zVhQSfSw-X0_cte0QnkWhE9v922wLn6RMkI,9771
317
319
  edsl/surveys/SurveyToApp.py,sha256=J6n6qhVpIkBvAMSnARQ3sS3zdO5NGisMuZsqR38uFfY,4745
318
320
  edsl/surveys/__init__.py,sha256=NkZrNIiKPf2EnQ1ZJeMSSTZu5UC0zfgfzkK4Pxj_wpk,196
@@ -326,12 +328,12 @@ edsl/templates/error_reporting/base.html,sha256=JDOZu8tkrSgVqGwhjaYoiHXrpxisVtYW
326
328
  edsl/templates/error_reporting/exceptions_by_model.html,sha256=7uAWGfhUMey-29Vh6YkN_Qx1lfhC92fsTMxJEVXWPDs,792
327
329
  edsl/templates/error_reporting/exceptions_by_question_name.html,sha256=_q6hSwtO_WhjXLZNLZhRj-qbPzStqYSzT0iECKUAFlg,454
328
330
  edsl/templates/error_reporting/exceptions_by_type.html,sha256=TVsNCAz_G53LSZ-YslM51TUsbwtw7wzCqPwVYO6TVEw,415
329
- edsl/templates/error_reporting/exceptions_table.html,sha256=8gnbG1xapkZHnBPeMgM9IXMr1XaNkZyidkyEiP0Ybqg,1049
330
- edsl/templates/error_reporting/interview_details.html,sha256=5wTR_r5FKCVR8wpGbXBRPHH59OmRtl34qUNFuLmCBOs,4473
331
- edsl/templates/error_reporting/interviews.html,sha256=Bdd8DCB-7izvmnKelXRi_-yqoC6CEsk6piyQGfj4FsY,221
332
- edsl/templates/error_reporting/overview.html,sha256=ftK1sO-la3jQBkej1NPs2g6Maoo4QvHFhc55YA2dZU8,1109
333
- edsl/templates/error_reporting/performance_plot.html,sha256=EhWrxmi8hGX4blxwTxkg1zL9b5IiVbZznJ1iPD-tRuU,53
334
- edsl/templates/error_reporting/report.css,sha256=e0kM4z4fF3xrKIJbbhvrzzh8gMJ8LD7rDu0ut63kg8c,1209
331
+ edsl/templates/error_reporting/exceptions_table.html,sha256=WLm9ASdp-1yfltnsCr3pZJOu0mgiNpdVybri38GTyd0,1054
332
+ edsl/templates/error_reporting/interview_details.html,sha256=su73Spc7EyOvByVCAmow0c4_52cPATjRyBJzyL5yzZk,4473
333
+ edsl/templates/error_reporting/interviews.html,sha256=wn0oIIyn0UPhhsQdhoES6Zr6D0omzDlwatIUzZfasbU,193
334
+ edsl/templates/error_reporting/overview.html,sha256=VYusb0r4PGHB6bDMyqceToD7IFtyCzmX4aG763WKTn4,627
335
+ edsl/templates/error_reporting/performance_plot.html,sha256=VjCW-ONEtUqyOCCt3SZGONHF9DQ1jCvqE99BlvBSgH8,62
336
+ edsl/templates/error_reporting/report.css,sha256=LsnxkdEy_eHKSgmV50NSMNcCPPNcwJ9xFeMtNdvwIaY,1209
335
337
  edsl/templates/error_reporting/report.html,sha256=CWygdoBM-QXNI8HtqaQMfzspMSn4lUVRTXf6NA9ggqo,4523
336
338
  edsl/templates/error_reporting/report.js,sha256=PtF1N68RmSYB2OG-6ymO14-LcX7LUZTnUDFX0dN6xW4,957
337
339
  edsl/tools/__init__.py,sha256=4iRiX1K0Yh8RGwlUBuzipvFfRrofKqCRQ0SzNK_2oiQ,41
@@ -340,7 +342,7 @@ edsl/tools/embeddings.py,sha256=-mHqApiFbGzj_2Cr_VVl_7XiBBDyPB5-6ZO7IsXvaig,677
340
342
  edsl/tools/embeddings_plotting.py,sha256=fznAqLnjF_K8PkJy1C4hBRObm3f8ebDIxQzrqRXlEJM,3564
341
343
  edsl/tools/plotting.py,sha256=NrYiOLHLgXnIdnBDYlRDKtLRZndW767fpvKVamIugwI,3129
342
344
  edsl/tools/summarize.py,sha256=YcdB0IjZn92qv2zVJuxsHfXou810APWYKeaHknsATqM,656
343
- edsl/utilities/PrettyList.py,sha256=3NIr2u3aqInQQuYYkxmekTtZgUqbm6arl3eRDEog8iY,1754
345
+ edsl/utilities/PrettyList.py,sha256=Nbq0o8E_E3VITyhf6Te9c8JfrWkI1Ivaq2xUwWxxfCs,2052
344
346
  edsl/utilities/SystemInfo.py,sha256=qTP_aKwECPxtTnbEjJ7F1QqKU9U3rcEEbppg2ilQGuY,792
345
347
  edsl/utilities/__init__.py,sha256=oUWx_h-8OFb1Of2SgIQZuIu7hX_bhDuwCSwksKGWZ6k,544
346
348
  edsl/utilities/ast_utilities.py,sha256=49KDDu-PHYpzDN5cCaDf-ReQH-1dzjT5EG3WVSa8THk,868
@@ -358,7 +360,7 @@ edsl/utilities/remove_edsl_version.py,sha256=3n2RoXvZ4pH3k-_lc7B-vkeUyHXHX6vKHQS
358
360
  edsl/utilities/repair_functions.py,sha256=tftmklAqam6LOQQu_-9U44N-llycffhW8LfO63vBmNw,929
359
361
  edsl/utilities/restricted_python.py,sha256=5-_zUhrNbos7pLhDl9nr8d24auRlquR6w-vKkmNjPiA,2060
360
362
  edsl/utilities/utilities.py,sha256=FbI9QYGD4eaHrwZ6ePx51jjpatZqwSPHJhimx-h6HyA,12660
361
- edsl-0.1.43.dist-info/LICENSE,sha256=_qszBDs8KHShVYcYzdMz3HNMtH-fKN_p5zjoVAVumFc,1111
362
- edsl-0.1.43.dist-info/METADATA,sha256=GZMhoOS8tgU-eC7KkTr_kAM5nriLA7tCl3JzfpUvGhk,4719
363
- edsl-0.1.43.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
364
- edsl-0.1.43.dist-info/RECORD,,
363
+ edsl-0.1.45.dist-info/LICENSE,sha256=_qszBDs8KHShVYcYzdMz3HNMtH-fKN_p5zjoVAVumFc,1111
364
+ edsl-0.1.45.dist-info/METADATA,sha256=zBph31PAc_qwZ9uzrvRfVl3F64a4Edj-jfgf3iAa1no,11696
365
+ edsl-0.1.45.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
366
+ edsl-0.1.45.dist-info/RECORD,,