edsl 0.1.33.dev2__py3-none-any.whl → 0.1.34__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.
- edsl/Base.py +24 -14
- edsl/__init__.py +1 -0
- edsl/__version__.py +1 -1
- edsl/agents/Agent.py +6 -6
- edsl/agents/Invigilator.py +28 -6
- edsl/agents/InvigilatorBase.py +8 -27
- edsl/agents/{PromptConstructionMixin.py → PromptConstructor.py} +150 -182
- edsl/agents/prompt_helpers.py +129 -0
- edsl/config.py +26 -34
- edsl/coop/coop.py +14 -4
- edsl/data_transfer_models.py +26 -73
- edsl/enums.py +2 -0
- edsl/inference_services/AnthropicService.py +5 -2
- edsl/inference_services/AwsBedrock.py +5 -2
- edsl/inference_services/AzureAI.py +5 -2
- edsl/inference_services/GoogleService.py +108 -33
- edsl/inference_services/InferenceServiceABC.py +44 -13
- edsl/inference_services/MistralAIService.py +5 -2
- edsl/inference_services/OpenAIService.py +10 -6
- edsl/inference_services/TestService.py +34 -16
- edsl/inference_services/TogetherAIService.py +170 -0
- edsl/inference_services/registry.py +2 -0
- edsl/jobs/Jobs.py +109 -18
- edsl/jobs/buckets/BucketCollection.py +24 -15
- edsl/jobs/buckets/TokenBucket.py +64 -10
- edsl/jobs/interviews/Interview.py +130 -49
- edsl/jobs/interviews/{interview_exception_tracking.py → InterviewExceptionCollection.py} +16 -0
- edsl/jobs/interviews/InterviewExceptionEntry.py +2 -0
- edsl/jobs/runners/JobsRunnerAsyncio.py +119 -173
- edsl/jobs/runners/JobsRunnerStatus.py +332 -0
- edsl/jobs/tasks/QuestionTaskCreator.py +1 -13
- edsl/jobs/tasks/TaskHistory.py +17 -0
- edsl/language_models/LanguageModel.py +36 -38
- edsl/language_models/registry.py +13 -9
- edsl/language_models/utilities.py +5 -2
- edsl/questions/QuestionBase.py +74 -16
- edsl/questions/QuestionBaseGenMixin.py +28 -0
- edsl/questions/QuestionBudget.py +93 -41
- edsl/questions/QuestionCheckBox.py +1 -1
- edsl/questions/QuestionFreeText.py +6 -0
- edsl/questions/QuestionMultipleChoice.py +13 -24
- edsl/questions/QuestionNumerical.py +5 -4
- edsl/questions/Quick.py +41 -0
- edsl/questions/ResponseValidatorABC.py +11 -6
- edsl/questions/derived/QuestionLinearScale.py +4 -1
- edsl/questions/derived/QuestionTopK.py +4 -1
- edsl/questions/derived/QuestionYesNo.py +8 -2
- edsl/questions/descriptors.py +12 -11
- edsl/questions/templates/budget/__init__.py +0 -0
- edsl/questions/templates/budget/answering_instructions.jinja +7 -0
- edsl/questions/templates/budget/question_presentation.jinja +7 -0
- edsl/questions/templates/extract/__init__.py +0 -0
- edsl/questions/templates/numerical/answering_instructions.jinja +0 -1
- edsl/questions/templates/rank/__init__.py +0 -0
- edsl/questions/templates/yes_no/answering_instructions.jinja +2 -2
- edsl/results/DatasetExportMixin.py +5 -1
- edsl/results/Result.py +1 -1
- edsl/results/Results.py +4 -1
- edsl/scenarios/FileStore.py +178 -34
- edsl/scenarios/Scenario.py +76 -37
- edsl/scenarios/ScenarioList.py +19 -2
- edsl/scenarios/ScenarioListPdfMixin.py +150 -4
- edsl/study/Study.py +32 -0
- edsl/surveys/DAG.py +62 -0
- edsl/surveys/MemoryPlan.py +26 -0
- edsl/surveys/Rule.py +34 -1
- edsl/surveys/RuleCollection.py +55 -5
- edsl/surveys/Survey.py +189 -10
- edsl/surveys/base.py +4 -0
- edsl/templates/error_reporting/interview_details.html +6 -1
- edsl/utilities/utilities.py +9 -1
- {edsl-0.1.33.dev2.dist-info → edsl-0.1.34.dist-info}/METADATA +3 -1
- {edsl-0.1.33.dev2.dist-info → edsl-0.1.34.dist-info}/RECORD +75 -69
- edsl/jobs/interviews/retry_management.py +0 -39
- edsl/jobs/runners/JobsRunnerStatusMixin.py +0 -333
- edsl/scenarios/ScenarioImageMixin.py +0 -100
- {edsl-0.1.33.dev2.dist-info → edsl-0.1.34.dist-info}/LICENSE +0 -0
- {edsl-0.1.33.dev2.dist-info → edsl-0.1.34.dist-info}/WHEEL +0 -0
edsl/surveys/Survey.py
CHANGED
@@ -22,6 +22,10 @@ from edsl.utilities.decorators import add_edsl_version, remove_edsl_version
|
|
22
22
|
|
23
23
|
from edsl.agents.Agent import Agent
|
24
24
|
|
25
|
+
from edsl.surveys.instructions.InstructionCollection import InstructionCollection
|
26
|
+
from edsl.surveys.instructions.Instruction import Instruction
|
27
|
+
from edsl.surveys.instructions.ChangeInstruction import ChangeInstruction
|
28
|
+
|
25
29
|
|
26
30
|
class ValidatedString(str):
|
27
31
|
def __new__(cls, content):
|
@@ -32,13 +36,6 @@ class ValidatedString(str):
|
|
32
36
|
return super().__new__(cls, content)
|
33
37
|
|
34
38
|
|
35
|
-
# from edsl.surveys.Instruction import Instruction
|
36
|
-
# from edsl.surveys.Instruction import ChangeInstruction
|
37
|
-
from edsl.surveys.instructions.InstructionCollection import InstructionCollection
|
38
|
-
from edsl.surveys.instructions.Instruction import Instruction
|
39
|
-
from edsl.surveys.instructions.ChangeInstruction import ChangeInstruction
|
40
|
-
|
41
|
-
|
42
39
|
class Survey(SurveyExportMixin, SurveyFlowVisualizationMixin, Base):
|
43
40
|
"""A collection of questions that supports skip logic."""
|
44
41
|
|
@@ -289,16 +286,52 @@ class Survey(SurveyExportMixin, SurveyFlowVisualizationMixin, Base):
|
|
289
286
|
|
290
287
|
# region: Simulation methods
|
291
288
|
|
289
|
+
@classmethod
|
290
|
+
def random_survey(self):
|
291
|
+
"""Create a random survey."""
|
292
|
+
from edsl.questions import QuestionMultipleChoice, QuestionFreeText
|
293
|
+
from random import choice
|
294
|
+
|
295
|
+
num_questions = 10
|
296
|
+
questions = []
|
297
|
+
for i in range(num_questions):
|
298
|
+
if choice([True, False]):
|
299
|
+
q = QuestionMultipleChoice(
|
300
|
+
question_text="nothing",
|
301
|
+
question_name="q_" + str(i),
|
302
|
+
question_options=list(range(3)),
|
303
|
+
)
|
304
|
+
questions.append(q)
|
305
|
+
else:
|
306
|
+
questions.append(
|
307
|
+
QuestionFreeText(
|
308
|
+
question_text="nothing", question_name="q_" + str(i)
|
309
|
+
)
|
310
|
+
)
|
311
|
+
s = Survey(questions)
|
312
|
+
start_index = choice(range(num_questions - 1))
|
313
|
+
end_index = choice(range(start_index + 1, 10))
|
314
|
+
s = s.add_rule(f"q_{start_index}", "True", f"q_{end_index}")
|
315
|
+
question_to_delete = choice(range(num_questions))
|
316
|
+
s.delete_question(f"q_{question_to_delete}")
|
317
|
+
return s
|
318
|
+
|
292
319
|
def simulate(self) -> dict:
|
293
320
|
"""Simulate the survey and return the answers."""
|
294
321
|
i = self.gen_path_through_survey()
|
295
322
|
q = next(i)
|
323
|
+
num_passes = 0
|
296
324
|
while True:
|
325
|
+
num_passes += 1
|
297
326
|
try:
|
298
327
|
answer = q._simulate_answer()
|
299
328
|
q = i.send({q.question_name: answer["answer"]})
|
300
329
|
except StopIteration:
|
301
330
|
break
|
331
|
+
|
332
|
+
if num_passes > 100:
|
333
|
+
print("Too many passes.")
|
334
|
+
raise Exception("Too many passes.")
|
302
335
|
return self.answers
|
303
336
|
|
304
337
|
def create_agent(self) -> "Agent":
|
@@ -573,7 +606,110 @@ class Survey(SurveyExportMixin, SurveyFlowVisualizationMixin, Base):
|
|
573
606
|
|
574
607
|
return Survey(questions=self.questions + other.questions)
|
575
608
|
|
576
|
-
def
|
609
|
+
def move_question(self, identifier: Union[str, int], new_index: int):
|
610
|
+
if isinstance(identifier, str):
|
611
|
+
if identifier not in self.question_names:
|
612
|
+
raise ValueError(
|
613
|
+
f"Question name '{identifier}' does not exist in the survey."
|
614
|
+
)
|
615
|
+
index = self.question_name_to_index[identifier]
|
616
|
+
elif isinstance(identifier, int):
|
617
|
+
if identifier < 0 or identifier >= len(self.questions):
|
618
|
+
raise ValueError(f"Index {identifier} is out of range.")
|
619
|
+
index = identifier
|
620
|
+
else:
|
621
|
+
raise TypeError(
|
622
|
+
"Identifier must be either a string (question name) or an integer (question index)."
|
623
|
+
)
|
624
|
+
|
625
|
+
moving_question = self._questions[index]
|
626
|
+
|
627
|
+
new_survey = self.delete_question(index)
|
628
|
+
new_survey.add_question(moving_question, new_index)
|
629
|
+
return new_survey
|
630
|
+
|
631
|
+
def delete_question(self, identifier: Union[str, int]) -> Survey:
|
632
|
+
"""
|
633
|
+
Delete a question from the survey.
|
634
|
+
|
635
|
+
:param identifier: The name or index of the question to delete.
|
636
|
+
:return: The updated Survey object.
|
637
|
+
|
638
|
+
>>> from edsl import QuestionMultipleChoice, Survey
|
639
|
+
>>> q1 = QuestionMultipleChoice(question_text="Q1", question_options=["A", "B"], question_name="q1")
|
640
|
+
>>> q2 = QuestionMultipleChoice(question_text="Q2", question_options=["C", "D"], question_name="q2")
|
641
|
+
>>> s = Survey().add_question(q1).add_question(q2)
|
642
|
+
>>> _ = s.delete_question("q1")
|
643
|
+
>>> len(s.questions)
|
644
|
+
1
|
645
|
+
>>> _ = s.delete_question(0)
|
646
|
+
>>> len(s.questions)
|
647
|
+
0
|
648
|
+
"""
|
649
|
+
if isinstance(identifier, str):
|
650
|
+
if identifier not in self.question_names:
|
651
|
+
raise ValueError(
|
652
|
+
f"Question name '{identifier}' does not exist in the survey."
|
653
|
+
)
|
654
|
+
index = self.question_name_to_index[identifier]
|
655
|
+
elif isinstance(identifier, int):
|
656
|
+
if identifier < 0 or identifier >= len(self.questions):
|
657
|
+
raise ValueError(f"Index {identifier} is out of range.")
|
658
|
+
index = identifier
|
659
|
+
else:
|
660
|
+
raise TypeError(
|
661
|
+
"Identifier must be either a string (question name) or an integer (question index)."
|
662
|
+
)
|
663
|
+
|
664
|
+
# Remove the question
|
665
|
+
deleted_question = self._questions.pop(index)
|
666
|
+
del self.pseudo_indices[deleted_question.question_name]
|
667
|
+
# del self.question_name_to_index[deleted_question.question_name]
|
668
|
+
|
669
|
+
# Update indices
|
670
|
+
for question_name, old_index in self.pseudo_indices.items():
|
671
|
+
if old_index > index:
|
672
|
+
self.pseudo_indices[question_name] = old_index - 1
|
673
|
+
|
674
|
+
# for question_name, old_index in self.question_name_to_index.items():
|
675
|
+
# if old_index > index:
|
676
|
+
# self.question_name_to_index[question_name] = old_index - 1
|
677
|
+
|
678
|
+
# Update rules
|
679
|
+
new_rule_collection = RuleCollection()
|
680
|
+
for rule in self.rule_collection:
|
681
|
+
if rule.current_q == index:
|
682
|
+
continue # Remove rules associated with the deleted question
|
683
|
+
if rule.current_q > index:
|
684
|
+
rule.current_q -= 1
|
685
|
+
if rule.next_q > index:
|
686
|
+
rule.next_q -= 1
|
687
|
+
|
688
|
+
if rule.next_q == index:
|
689
|
+
if index == len(self.questions):
|
690
|
+
rule.next_q = EndOfSurvey
|
691
|
+
else:
|
692
|
+
rule.next_q = index
|
693
|
+
# rule.next_q = min(index, len(self.questions) - 1)
|
694
|
+
# continue
|
695
|
+
|
696
|
+
# if rule.next_q == index:
|
697
|
+
# rule.next_q = min(
|
698
|
+
# rule.next_q, len(self.questions) - 1
|
699
|
+
# ) # Adjust to last question if necessary
|
700
|
+
|
701
|
+
new_rule_collection.add_rule(rule)
|
702
|
+
self.rule_collection = new_rule_collection
|
703
|
+
|
704
|
+
# Update memory plan if it exists
|
705
|
+
if hasattr(self, "memory_plan"):
|
706
|
+
self.memory_plan.remove_question(deleted_question.question_name)
|
707
|
+
|
708
|
+
return self
|
709
|
+
|
710
|
+
def add_question(
|
711
|
+
self, question: QuestionBase, index: Optional[int] = None
|
712
|
+
) -> Survey:
|
577
713
|
"""
|
578
714
|
Add a question to survey.
|
579
715
|
|
@@ -596,15 +732,51 @@ class Survey(SurveyExportMixin, SurveyFlowVisualizationMixin, Base):
|
|
596
732
|
raise SurveyCreationError(
|
597
733
|
f"""Question name '{question.question_name}' already exists in survey. Existing names are {self.question_names}."""
|
598
734
|
)
|
599
|
-
index
|
735
|
+
if index is None:
|
736
|
+
index = len(self.questions)
|
737
|
+
|
738
|
+
if index > len(self.questions):
|
739
|
+
raise ValueError(
|
740
|
+
f"Index {index} is greater than the number of questions in the survey."
|
741
|
+
)
|
742
|
+
if index < 0:
|
743
|
+
raise ValueError(f"Index {index} is less than 0.")
|
744
|
+
|
745
|
+
interior_insertion = index != len(self.questions)
|
746
|
+
|
747
|
+
# index = len(self.questions)
|
600
748
|
# TODO: This is a bit ugly because the user
|
601
749
|
# doesn't "know" about _questions - it's generated by the
|
602
750
|
# descriptor.
|
603
|
-
self._questions.
|
751
|
+
self._questions.insert(index, question)
|
752
|
+
|
753
|
+
if interior_insertion:
|
754
|
+
for question_name, old_index in self.pseudo_indices.items():
|
755
|
+
if old_index >= index:
|
756
|
+
self.pseudo_indices[question_name] = old_index + 1
|
604
757
|
|
605
758
|
self.pseudo_indices[question.question_name] = index
|
606
759
|
|
760
|
+
## Re-do question_name to index - this is done automatically
|
761
|
+
# for question_name, old_index in self.question_name_to_index.items():
|
762
|
+
# if old_index >= index:
|
763
|
+
# self.question_name_to_index[question_name] = old_index + 1
|
764
|
+
|
765
|
+
## Need to re-do the rule collection and the indices of the questions
|
766
|
+
|
767
|
+
## If a rule is before the insertion index and next_q is also before the insertion index, no change needed.
|
768
|
+
## If the rule is before the insertion index but next_q is after the insertion index, increment the next_q by 1
|
769
|
+
## If the rule is after the insertion index, increment the current_q by 1 and the next_q by 1
|
770
|
+
|
607
771
|
# using index + 1 presumes there is a next question
|
772
|
+
if interior_insertion:
|
773
|
+
for rule in self.rule_collection:
|
774
|
+
if rule.current_q >= index:
|
775
|
+
rule.current_q += 1
|
776
|
+
if rule.next_q >= index:
|
777
|
+
rule.next_q += 1
|
778
|
+
|
779
|
+
# add a new rule
|
608
780
|
self.rule_collection.add_rule(
|
609
781
|
Rule(
|
610
782
|
current_q=index,
|
@@ -866,6 +1038,7 @@ class Survey(SurveyExportMixin, SurveyFlowVisualizationMixin, Base):
|
|
866
1038
|
|
867
1039
|
def clear_non_default_rules(self) -> Survey:
|
868
1040
|
"""Remove all non-default rules from the survey.
|
1041
|
+
|
869
1042
|
>>> Survey.example().show_rules()
|
870
1043
|
┏━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━┓
|
871
1044
|
┃ current_q ┃ expression ┃ next_q ┃ priority ┃ before_rule ┃
|
@@ -1173,9 +1346,15 @@ class Survey(SurveyExportMixin, SurveyFlowVisualizationMixin, Base):
|
|
1173
1346
|
Question('multiple_choice', question_name = \"""q0\""", question_text = \"""Do you like school?\""", question_options = ['yes', 'no'])
|
1174
1347
|
>>> i2.send({"q0": "no"})
|
1175
1348
|
Question('multiple_choice', question_name = \"""q1\""", question_text = \"""Why not?\""", question_options = ['killer bees in cafeteria', 'other'])
|
1349
|
+
|
1350
|
+
|
1176
1351
|
"""
|
1177
1352
|
self.answers = {}
|
1178
1353
|
question = self._questions[0]
|
1354
|
+
# should the first question be skipped?
|
1355
|
+
if self.rule_collection.skip_question_before_running(0, self.answers):
|
1356
|
+
question = self.next_question(question, self.answers)
|
1357
|
+
|
1179
1358
|
while not question == EndOfSurvey:
|
1180
1359
|
# breakpoint()
|
1181
1360
|
answer = yield question
|
edsl/surveys/base.py
CHANGED
@@ -31,7 +31,12 @@
|
|
31
31
|
|
32
32
|
<tr>
|
33
33
|
<td>Human-readable question</td>
|
34
|
-
<td>{{ interview.survey.get_question(question).html(
|
34
|
+
<td>{{ interview.survey.get_question(question).html(
|
35
|
+
scenario = interview.scenario,
|
36
|
+
agent = interview.agent,
|
37
|
+
answers = exception_message.answers)
|
38
|
+
|
39
|
+
}}</td>
|
35
40
|
</tr>
|
36
41
|
<tr>
|
37
42
|
<td>Scenario</td>
|
edsl/utilities/utilities.py
CHANGED
@@ -20,6 +20,14 @@ from html import escape
|
|
20
20
|
from typing import Callable, Union
|
21
21
|
|
22
22
|
|
23
|
+
class CustomEncoder(json.JSONEncoder):
|
24
|
+
def default(self, obj):
|
25
|
+
try:
|
26
|
+
return json.JSONEncoder.default(self, obj)
|
27
|
+
except TypeError:
|
28
|
+
return str(obj)
|
29
|
+
|
30
|
+
|
23
31
|
def time_it(func):
|
24
32
|
@wraps(func)
|
25
33
|
def wrapper(*args, **kwargs):
|
@@ -124,7 +132,7 @@ def data_to_html(data, replace_new_lines=False):
|
|
124
132
|
from pygments.formatters import HtmlFormatter
|
125
133
|
from IPython.display import HTML
|
126
134
|
|
127
|
-
json_str = json.dumps(data, indent=4)
|
135
|
+
json_str = json.dumps(data, indent=4, cls=CustomEncoder)
|
128
136
|
formatted_json = highlight(
|
129
137
|
json_str,
|
130
138
|
JsonLexer(),
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: edsl
|
3
|
-
Version: 0.1.
|
3
|
+
Version: 0.1.34
|
4
4
|
Summary: Create and analyze LLM-based surveys
|
5
5
|
Home-page: https://www.expectedparrot.com/
|
6
6
|
License: MIT
|
@@ -21,6 +21,7 @@ Requires-Dist: anthropic (>=0.23.1,<0.24.0)
|
|
21
21
|
Requires-Dist: azure-ai-inference (>=1.0.0b3,<2.0.0)
|
22
22
|
Requires-Dist: black[jupyter] (>=24.4.2,<25.0.0)
|
23
23
|
Requires-Dist: boto3 (>=1.34.161,<2.0.0)
|
24
|
+
Requires-Dist: google-generativeai (>=0.8.2,<0.9.0)
|
24
25
|
Requires-Dist: groq (>=0.9.0,<0.10.0)
|
25
26
|
Requires-Dist: jinja2 (>=3.1.2,<4.0.0)
|
26
27
|
Requires-Dist: json-repair (>=0.28.4,<0.29.0)
|
@@ -45,6 +46,7 @@ Requires-Dist: setuptools (<72.0)
|
|
45
46
|
Requires-Dist: simpleeval (>=0.9.13,<0.10.0)
|
46
47
|
Requires-Dist: sqlalchemy (>=2.0.23,<3.0.0)
|
47
48
|
Requires-Dist: tenacity (>=8.2.3,<9.0.0)
|
49
|
+
Requires-Dist: urllib3 (>=1.25.4,<1.27)
|
48
50
|
Project-URL: Documentation, https://docs.expectedparrot.com
|
49
51
|
Description-Content-Type: text/markdown
|
50
52
|
|
@@ -1,15 +1,16 @@
|
|
1
|
-
edsl/Base.py,sha256=
|
1
|
+
edsl/Base.py,sha256=wdFpHWlQlGNL4XfOmYA0AK9YupMDxK3G7mDHCQp60o4,9295
|
2
2
|
edsl/BaseDiff.py,sha256=RoVEh52UJs22yMa7k7jv8se01G62jJNWnBzaZngo-Ug,8260
|
3
3
|
edsl/TemplateLoader.py,sha256=sDBlSMt7EfOduM7w3h6v03gvh_Rzn9hVrlS-iLSQdZA,849
|
4
|
-
edsl/__init__.py,sha256=
|
5
|
-
edsl/__version__.py,sha256=
|
6
|
-
edsl/agents/Agent.py,sha256=
|
4
|
+
edsl/__init__.py,sha256=UZcx9RHSi3Dslh2lWvCOeppdMW9Xzw_YLs-kFaNW1MU,1770
|
5
|
+
edsl/__version__.py,sha256=79r5jd-MqbhXLbIBDVBqUJvhvcucjkaId96r46KF18I,23
|
6
|
+
edsl/agents/Agent.py,sha256=ww6DK177eHQUlYkzgnt1b-MBDKXCdhVx3HezAZZ7TKk,28473
|
7
7
|
edsl/agents/AgentList.py,sha256=qo8VK3Ov0YOSbsBcHmlwLZBH81CcDfy5IEcx9AVH78M,10963
|
8
|
-
edsl/agents/Invigilator.py,sha256=
|
9
|
-
edsl/agents/InvigilatorBase.py,sha256
|
10
|
-
edsl/agents/
|
8
|
+
edsl/agents/Invigilator.py,sha256=6xd4sJ6Jzxld8LZDWZuSCZLL_MfaSux4LJCAm_RLEOM,9077
|
9
|
+
edsl/agents/InvigilatorBase.py,sha256=qIdAiriXAbnJH_SN9w2UAXHcDgQvk8Ar3QerKFjtPwM,10341
|
10
|
+
edsl/agents/PromptConstructor.py,sha256=7bYvRbh7Roo21SqguP3e7KDY36Swh83Ds5XjtJsgZB4,14712
|
11
11
|
edsl/agents/__init__.py,sha256=B1dWfV4QWOo8cc2KeuetdFGeNhZ8XHc0Q8YhQW9k7BE,136
|
12
12
|
edsl/agents/descriptors.py,sha256=m8ND3-2-JbgNX1HGakBNLIeemwsgYa1mQxYO9GW33hw,2934
|
13
|
+
edsl/agents/prompt_helpers.py,sha256=rHUxM_F0kCOkJmnhCyK-amFKViAYvpRRLD8LHFLGqQw,5023
|
13
14
|
edsl/auto/AutoStudy.py,sha256=yNnhfJPO6oxbgVaYbRftJa8DluKhajfgLCh9o9E3YmU,3843
|
14
15
|
edsl/auto/StageBase.py,sha256=6Ve0cMmc-wdK7tgk7_cOopnvvggEOSkNWfLLWXny7QU,7933
|
15
16
|
edsl/auto/StageGenerateSurvey.py,sha256=_lC1-hhFjqd6md1-RE9uEOPtZp7dZHxJn0ERpszSfow,7394
|
@@ -22,7 +23,7 @@ edsl/auto/StageQuestions.py,sha256=TyUSnfeFEbuQKG_KZT9rk43flRt0ZyzQDqYzBa_858c,2
|
|
22
23
|
edsl/auto/SurveyCreatorPipeline.py,sha256=s5S_RPFM3Ia8Dzdv52_576BxfsFq9GwXEVWxJId5Fuo,658
|
23
24
|
edsl/auto/utilities.py,sha256=DDngZCGlzjWeJUvPHhMEZ5ZoVm4KgGYtgyRA1mfUfmA,7606
|
24
25
|
edsl/base/Base.py,sha256=DShsfI6A2ojg42muPFpVtUgTX33pnqT5vtN0SRlr-9Q,8866
|
25
|
-
edsl/config.py,sha256=
|
26
|
+
edsl/config.py,sha256=IfEm07QvhV5B2baNg6SrhME82BHBGwNZSLmYnx9ERxM,5875
|
26
27
|
edsl/conjure/AgentConstructionMixin.py,sha256=qLLYJH02HotVwBUYzaHs4QW0t5nsC3NX15qxQLzEwLI,5702
|
27
28
|
edsl/conjure/Conjure.py,sha256=JaCuAm3rmqjh11_X8PXgvPsVHGql3yTn9JEzVlzOUVU,2019
|
28
29
|
edsl/conjure/InputData.py,sha256=RdFgkzzayddSTd6vcwBB8LC796YBj94pciwrQx9nBtg,22003
|
@@ -45,7 +46,7 @@ edsl/conversation/mug_negotiation.py,sha256=mjvAqErD4AjN3G2za2c-X-3axOShW-zAJUei
|
|
45
46
|
edsl/conversation/next_speaker_utilities.py,sha256=bqr5JglCd6bdLc9IZ5zGOAsmN2F4ERiubSMYvZIG7qk,3629
|
46
47
|
edsl/coop/PriceFetcher.py,sha256=7q8r1FqE9ap1CMi6WiE_pZQhYxEqG9_tgPgGxLQYVX8,1894
|
47
48
|
edsl/coop/__init__.py,sha256=4iZCwJSzJVyjBYk8ggGxY2kZjq9dXVT1jhyPDNyew4I,115
|
48
|
-
edsl/coop/coop.py,sha256=
|
49
|
+
edsl/coop/coop.py,sha256=_wdT6Z-fFYGtAWLn1e98Vv8hgwhdJM2vH_2G-J2ugiI,28547
|
49
50
|
edsl/coop/utils.py,sha256=UZwljKYW_Yjw7RYcjOg3SW7fn1pyHQfJ1fM48TBNoss,3601
|
50
51
|
edsl/data/Cache.py,sha256=jDt0LoZjLpGnM8-CraQEcsQaVg--U3BiBR1zHj0nDn8,16536
|
51
52
|
edsl/data/CacheEntry.py,sha256=_5UiFaJQu_U-Z1_lEPt-h6Gaidp2Eunk02wOd3Ni3MQ,7252
|
@@ -53,8 +54,8 @@ edsl/data/CacheHandler.py,sha256=DxbfeT2nZGRu8yQkbWr2tyEnhNiClevMsd5KZMCq2f0,479
|
|
53
54
|
edsl/data/SQLiteDict.py,sha256=V5Nfnxctgh4Iblqcw1KmbnkjtfmWrrombROSQ3mvg6A,8979
|
54
55
|
edsl/data/__init__.py,sha256=KBNGGEuGHq--D-TlpAQmvv_If906dJc1Gsy028zOx78,170
|
55
56
|
edsl/data/orm.py,sha256=Jz6rvw5SrlxwysTL0QI9r68EflKxeEBmf6j6himHDS8,238
|
56
|
-
edsl/data_transfer_models.py,sha256=
|
57
|
-
edsl/enums.py,sha256=
|
57
|
+
edsl/data_transfer_models.py,sha256=9LsvZNMvyEEkF-DIcEUA9iomFbxG7E6nRUqsbHoB03k,1951
|
58
|
+
edsl/enums.py,sha256=Z6nhaP8p3z0UJSfsCGb6VQUtGUKw3AK6yC0UDwOi05c,5247
|
58
59
|
edsl/exceptions/__init__.py,sha256=HVg-U-rJ0fRoG9Rws6gnK5S9B68SkPWDPsoD6KpMZ-A,1370
|
59
60
|
edsl/exceptions/agents.py,sha256=3SORFwFbMGrF6-vAL2GrKEVdPcXo7md_k2oYufnVXHA,673
|
60
61
|
edsl/exceptions/configuration.py,sha256=qH2sInNTndKlCLAaNgaXHyRFdKQHL7-dElB_j8wz9g4,351
|
@@ -67,62 +68,62 @@ edsl/exceptions/prompts.py,sha256=vD_reI-RVKWYHYozenEmhmB7Rb1sIiXghgNUtbVGBUo,24
|
|
67
68
|
edsl/exceptions/questions.py,sha256=ItTXeJEN2TDBL0LLWy37RFX3QG5iUoZa9HzUOs5Ney4,2509
|
68
69
|
edsl/exceptions/results.py,sha256=EkjowYF_7tvDQU0SlyHRiETq-MzZcxALMn0CyaSk2M0,386
|
69
70
|
edsl/exceptions/surveys.py,sha256=lADtr-tvPmUYSfRy3TdkTV5SzZfShlMgCzm-ZGYRlGk,557
|
70
|
-
edsl/inference_services/AnthropicService.py,sha256=
|
71
|
-
edsl/inference_services/AwsBedrock.py,sha256=
|
72
|
-
edsl/inference_services/AzureAI.py,sha256=
|
71
|
+
edsl/inference_services/AnthropicService.py,sha256=6kE8miYIsCZ6B-da4LMHE3tUkyNAsMZcNF8JWKLRKkg,2917
|
72
|
+
edsl/inference_services/AwsBedrock.py,sha256=tVsKrw7LHoqc-zDaLew0ufwEMYP_OzkCzsc4zZuXdEk,3926
|
73
|
+
edsl/inference_services/AzureAI.py,sha256=Xd3r4Y5OQReW-hG67ymK3LSDLiHj5hMFuvGEz5DI3lY,8889
|
73
74
|
edsl/inference_services/DeepInfraService.py,sha256=fWlH5sCNxf8eHPHxPPxJMEVWpCM9sDenkC8IZYqtXfA,515
|
74
|
-
edsl/inference_services/GoogleService.py,sha256=
|
75
|
+
edsl/inference_services/GoogleService.py,sha256=CeyQ2Db_cCFOIVvetSwsFLqenJFrg4EGoRYwIe7-7-U,5422
|
75
76
|
edsl/inference_services/GroqService.py,sha256=eDMq8d7YAlJ2689ywaoaPGvMgFfOiX1KYlF_vr97N6I,510
|
76
|
-
edsl/inference_services/InferenceServiceABC.py,sha256=
|
77
|
+
edsl/inference_services/InferenceServiceABC.py,sha256=rXqorwbKqzlwui2cxum8_TRrBcfOkgB9s0xULHYGQ1Y,3709
|
77
78
|
edsl/inference_services/InferenceServicesCollection.py,sha256=EDyxnoSjGXhWob_ost7U8WUYjn1jgL_noB0-VlXBnOo,2810
|
78
|
-
edsl/inference_services/MistralAIService.py,sha256=
|
79
|
+
edsl/inference_services/MistralAIService.py,sha256=7mUsBEZdEWIjfh4qMNemTT2xYMq7k0yuMLGtDTdfp4Y,3878
|
79
80
|
edsl/inference_services/OllamaService.py,sha256=oro9CRl8IUE2Ro-zE69Cr4Zaf6Gdw29XW5CFU-46E0k,498
|
80
|
-
edsl/inference_services/OpenAIService.py,sha256=
|
81
|
-
edsl/inference_services/TestService.py,sha256
|
81
|
+
edsl/inference_services/OpenAIService.py,sha256=2rGW0iGD_hnM1NHBJQCDI59Ti-9wFQu7gh8hDB95Cr4,7264
|
82
|
+
edsl/inference_services/TestService.py,sha256=-jTXkl_qLt1k8gJjRb0SMgTb9EY-XMTP-ZUL9AJcUCA,3009
|
83
|
+
edsl/inference_services/TogetherAIService.py,sha256=p_31ccrfN25kZF2xlAlUkb7w1EL4lGjmkSv-5qZ7TtY,6301
|
82
84
|
edsl/inference_services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
83
85
|
edsl/inference_services/models_available_cache.py,sha256=HtGNaYgrxY2oPy-QruKhjj6LUzhGNqBhLHFWMoMi1E4,3312
|
84
86
|
edsl/inference_services/rate_limits_cache.py,sha256=HYslviz7mxF9U4CUTPAkoyBsiXjSju-YCp4HHir6e34,1398
|
85
|
-
edsl/inference_services/registry.py,sha256=
|
87
|
+
edsl/inference_services/registry.py,sha256=CwdaQ-A5PTb5lFKMQdOfl8IqCw2SVJ8HlC-_2uZf11k,1141
|
86
88
|
edsl/inference_services/write_available.py,sha256=NNwhATlaMp8IYY635MSx-oYxt5X15acjAfaqYCo_I1Y,285
|
87
89
|
edsl/jobs/Answers.py,sha256=c4LpigQjdnMr7iJu8571C4FggGPVudfT7hbJgmgKW40,1821
|
88
90
|
edsl/jobs/FailedQuestion.py,sha256=3D5Vcmv1t2_dzBWbkUUIia3_jXHdzQDdyg-4TEIWU2Q,2701
|
89
|
-
edsl/jobs/Jobs.py,sha256=
|
91
|
+
edsl/jobs/Jobs.py,sha256=oryxhrBuXs9Ba8mt5BSIjX3gT37hdzothL5xH0ygrkU,37227
|
90
92
|
edsl/jobs/__init__.py,sha256=aKuAyd_GoalGj-k7djOoVwEbFUE2XLPlikXaA1_8yAg,32
|
91
|
-
edsl/jobs/buckets/BucketCollection.py,sha256=
|
93
|
+
edsl/jobs/buckets/BucketCollection.py,sha256=11CRisE1WAPcAlI3YJK3DVvu0AqSvv8KskXo4Q1waSk,2286
|
92
94
|
edsl/jobs/buckets/ModelBuckets.py,sha256=hxw_tzc0V42CiB7mh5jIxlgwDVJ-zFZhlLtKrHEg8ho,2419
|
93
|
-
edsl/jobs/buckets/TokenBucket.py,sha256=
|
94
|
-
edsl/jobs/interviews/Interview.py,sha256=
|
95
|
-
edsl/jobs/interviews/
|
95
|
+
edsl/jobs/buckets/TokenBucket.py,sha256=7fG4omzTcj5xC2iJLO9bfBkdAGs6Y3weXzlA3BgPr0E,9090
|
96
|
+
edsl/jobs/interviews/Interview.py,sha256=iw0thEGwENOl8uzHRJ88zjYHEDSlM_X96Fyse9wZCwM,23883
|
97
|
+
edsl/jobs/interviews/InterviewExceptionCollection.py,sha256=Ez8BCZUD3odqoY9h-gzYKKM8yaHynQ-eYw2uMDh7t98,3279
|
98
|
+
edsl/jobs/interviews/InterviewExceptionEntry.py,sha256=BGGjj0sb1wJJ0QmYklt1DyEYKD8mUGygllGfN2WXKbY,4903
|
96
99
|
edsl/jobs/interviews/InterviewStatistic.py,sha256=hY5d2EkIJ96NilPpZAvZZzZoxLXM7ss3xx5MIcKtTPs,1856
|
97
100
|
edsl/jobs/interviews/InterviewStatisticsCollection.py,sha256=_ZZ0fnZBQiIywP9Q_wWjpWhlfcPe2cn32GKut10t5RI,788
|
98
101
|
edsl/jobs/interviews/InterviewStatusDictionary.py,sha256=MSyys4hOWe1d8gfsUvAPbcKrs8YiPnz8jpufBSJL7SU,2485
|
99
102
|
edsl/jobs/interviews/InterviewStatusLog.py,sha256=6u0F8gf5tha39VQL-IK_QPkCsQAYVOx_IesX7TDDX_A,3252
|
100
103
|
edsl/jobs/interviews/InterviewStatusMixin.py,sha256=VV0Pel-crUsLoGpTifeIIkXsLGj0bfuO--UtpRnH-dU,1251
|
101
104
|
edsl/jobs/interviews/ReportErrors.py,sha256=RSzDU2rWwtjfztj7sqaMab0quCiY-X2bG3AEOxhTim8,1745
|
102
|
-
edsl/jobs/interviews/interview_exception_tracking.py,sha256=cHGUCOYi2VUYPkOqLsQRTOOzv2i2XieOn5zfdcLGmZY,2715
|
103
105
|
edsl/jobs/interviews/interview_status_enum.py,sha256=KJ-1yLAHdX-p8TiFnM0M3v1tnBwkq4aMCuBX6-ytrI8,229
|
104
|
-
edsl/jobs/
|
105
|
-
edsl/jobs/runners/
|
106
|
+
edsl/jobs/runners/JobsRunnerAsyncio.py,sha256=SXWFTgTYQzqIaBjPQ2mRrxR3aGFMQyw2eD9wX8tZNkQ,12850
|
107
|
+
edsl/jobs/runners/JobsRunnerStatus.py,sha256=4eCh9sRpswGdKeSMW9pCGCAjJZa-OrWUPI7tsxIy_g4,12112
|
106
108
|
edsl/jobs/runners/JobsRunnerStatusData.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
107
|
-
edsl/jobs/
|
108
|
-
edsl/jobs/tasks/QuestionTaskCreator.py,sha256=8d-rduM4i2Zpd66_NeMkHvkQLhV7SQjLIks2A_nKRoM,10655
|
109
|
+
edsl/jobs/tasks/QuestionTaskCreator.py,sha256=f26rokFVXVdyKR2M8of_jlZqP6TPcTAINk9tEvb35pw,10122
|
109
110
|
edsl/jobs/tasks/TaskCreators.py,sha256=XqAbNU33378Z4PQncokbfJwnKt3KHR9aqa5fKYRDpfg,2694
|
110
|
-
edsl/jobs/tasks/TaskHistory.py,sha256=
|
111
|
+
edsl/jobs/tasks/TaskHistory.py,sha256=xRSo22ipyUSJ15w_k2Jc3dZ04VLwft8zfvm3smAIYrA,14227
|
111
112
|
edsl/jobs/tasks/TaskStatusLog.py,sha256=bqH36a32F12fjX-M-4lNOhHaK2-WLFzKE-r0PxZPRjI,546
|
112
113
|
edsl/jobs/tasks/task_management.py,sha256=KMToZuXzMlnHRHUF_VHL0-lHMTGhklf2GHVuwEEHtzA,301
|
113
114
|
edsl/jobs/tasks/task_status_enum.py,sha256=DOyrz61YlIS8R1W7izJNphcLrJ7I_ReUlfdRmk23h0Q,5333
|
114
115
|
edsl/jobs/tokens/InterviewTokenUsage.py,sha256=u_6-IHpGFwZ6qMEXr24-jyLVUSSp4dSs_4iAZsBv7O4,1100
|
115
116
|
edsl/jobs/tokens/TokenUsage.py,sha256=odj2-wDNEbHl9noyFAQ0DSKV0D9cv3aDOpmXufKZ8O4,1323
|
116
|
-
edsl/language_models/LanguageModel.py,sha256=
|
117
|
+
edsl/language_models/LanguageModel.py,sha256=lGmflHSq0vLt4zBzYSKxH5dFccfA4Mhj4NM-XhTNZxY,25194
|
117
118
|
edsl/language_models/ModelList.py,sha256=GhjRV7y1jRvP_Yjgwv6fxksTVb8sFPBiiRRfdqW-hgg,2852
|
118
119
|
edsl/language_models/RegisterLanguageModelsMeta.py,sha256=eMtBSAnlRnC4c-0_o2QkSNyzv-uAce4BEGMXq2PLj2E,7523
|
119
120
|
edsl/language_models/__init__.py,sha256=bvY7Gy6VkX1gSbNkRbGPS-M1kUnb0EohL0FSagaEaTs,109
|
120
121
|
edsl/language_models/fake_openai_call.py,sha256=dxbL5e4NLF-eTk9IduPyGwLiVCX_-eGCJDaLYPlQTqc,364
|
121
122
|
edsl/language_models/fake_openai_service.py,sha256=2AAsAinELbMZRqiepwBkWhWcLuMe5ORXUBNarrdl1ug,1714
|
122
|
-
edsl/language_models/registry.py,sha256=
|
123
|
+
edsl/language_models/registry.py,sha256=hfOlKbTkXrXGpZHQQPKE9uyyUCgOxoUyyIaKL2kf53U,4369
|
123
124
|
edsl/language_models/repair.py,sha256=d0i2S3kJfX7JtuCYhlIyT0QP8hcZkRPLanC09lOW_xo,5353
|
124
125
|
edsl/language_models/unused/ReplicateBase.py,sha256=J1oqf7mEyyKhRwNUomnptVqAsVFYCbS3iTW0EXpKtXo,3331
|
125
|
-
edsl/language_models/utilities.py,sha256=
|
126
|
+
edsl/language_models/utilities.py,sha256=GWON2ahCpB-_-hhqmQ5Yi7_rKB4cd8GlucWuq6EnGZQ,2280
|
126
127
|
edsl/notebooks/Notebook.py,sha256=xi9xkxmkQ6-DwhqbjjMLpYKB0VJV20AtwEonJ6mnqjo,7739
|
127
128
|
edsl/notebooks/__init__.py,sha256=VNUA3nNq04slWNbYaNrzOhQJu3AZANpvBniyCJSzJ7U,45
|
128
129
|
edsl/prompts/Prompt.py,sha256=KsIz0tZnIqZlnbzNWO57C3MwJ0OCcUrZPmu7DBApc4s,11887
|
@@ -142,30 +143,31 @@ edsl/prompts/library/question_rank.py,sha256=WDgXyph0EKWJrSgsW2eqcx3xdU-WA1LEvB2
|
|
142
143
|
edsl/prompts/prompt_config.py,sha256=O3Y5EvBsCeKs9m9IjXiRXOcHWlWvQV0yqsNb2oSR1ow,974
|
143
144
|
edsl/prompts/registry.py,sha256=XOsqGsvNOmIG83jqoszqI72yNZkkszKR4FrEhwSzj_Q,8093
|
144
145
|
edsl/questions/AnswerValidatorMixin.py,sha256=t_ABep50KP02GSc48Y8VAEjp35drVOngfrWXU5aVhgk,11505
|
145
|
-
edsl/questions/QuestionBase.py,sha256=
|
146
|
-
edsl/questions/QuestionBaseGenMixin.py,sha256=
|
146
|
+
edsl/questions/QuestionBase.py,sha256=QsdYFHnWYh04JpCdx3o3WGgohBfE5X_7idQRRYrx_SA,21169
|
147
|
+
edsl/questions/QuestionBaseGenMixin.py,sha256=CPxjWZjrxuSO8YWelz6dbp7fm788gN7-T8z7jXStboQ,6017
|
147
148
|
edsl/questions/QuestionBasePromptsMixin.py,sha256=Km1P6PpkVJ9O3dS8pJZHNJ6aQABhYGLwdef4Z2vSrqk,9516
|
148
|
-
edsl/questions/QuestionBudget.py,sha256=
|
149
|
-
edsl/questions/QuestionCheckBox.py,sha256=
|
149
|
+
edsl/questions/QuestionBudget.py,sha256=TJgPsyqafJdJw5if0zVxh7zHloourINUqUWfWIlRq9Y,8131
|
150
|
+
edsl/questions/QuestionCheckBox.py,sha256=wC_doEdNZi4y8Uz-tXZyQ2GYS5wQKOWhbVUnyVLoACU,12840
|
150
151
|
edsl/questions/QuestionExtract.py,sha256=PlXwMeZgPAFBXIHSXpFMYTToag-HwA9C7u6-Z3bQMek,6103
|
151
|
-
edsl/questions/QuestionFreeText.py,sha256=
|
152
|
+
edsl/questions/QuestionFreeText.py,sha256=uXJxrrAGCq0-J6WpO6TBNFBNOC2ztoEVa-2UMXuwlak,3384
|
152
153
|
edsl/questions/QuestionFunctional.py,sha256=yZQFLQAxfNsAIETffFoBr-Ltb2oFPeywu-nhm9qjYRc,5133
|
153
154
|
edsl/questions/QuestionList.py,sha256=vs2AE8OnbwVsly-sorb9dfIibdF1BpOaCRYyvwXYSzY,7209
|
154
|
-
edsl/questions/QuestionMultipleChoice.py,sha256=
|
155
|
-
edsl/questions/QuestionNumerical.py,sha256=
|
155
|
+
edsl/questions/QuestionMultipleChoice.py,sha256=Yj94-6fwFqDI9UvjwSCOfKnp4gBB86XMmCsL7lbX-t4,10292
|
156
|
+
edsl/questions/QuestionNumerical.py,sha256=_jMZ28DZHYAv_g3Y3vCnmzerMs995on0Ng6j4pDcfHo,4959
|
156
157
|
edsl/questions/QuestionRank.py,sha256=kYHTYXU88X2Uv-zeCiI9w5aEFYTxvg2p7DoGaaER4ik,11596
|
158
|
+
edsl/questions/Quick.py,sha256=h6h4fEvIkLIFJX2JiqfOUEXzku9azWxEpI5o2A4RmVs,1731
|
157
159
|
edsl/questions/RegisterQuestionsMeta.py,sha256=2h_9iZt3cjr_7JRmveTqbmEBBCvjtefMDfhM7Pgd_zg,2598
|
158
|
-
edsl/questions/ResponseValidatorABC.py,sha256=
|
160
|
+
edsl/questions/ResponseValidatorABC.py,sha256=94l_-d380quOwYZyBUl7Bdunxapc9Bi51_Y-TFDl7ZU,6097
|
159
161
|
edsl/questions/SimpleAskMixin.py,sha256=YRLiHA6TPMKyLWvdAi7Mfnxcqtw7Kem6tH28YNb8n4U,2227
|
160
162
|
edsl/questions/__init__.py,sha256=PYChrB0dHhHAKsL3QUqYa3_ZBgxHmR9bs67pUE9h0Eg,1161
|
161
163
|
edsl/questions/compose_questions.py,sha256=ZcLkwNaofk-o0-skGXEDGZAj6DumOhVhyIUjqEnKrbg,3380
|
162
164
|
edsl/questions/decorators.py,sha256=ZijaRYUntAcg0JEztCiOEpcDvvVie___85Zx5ogBQXY,596
|
163
165
|
edsl/questions/derived/QuestionLikertFive.py,sha256=XCpmwlk2qyCxEkiG3UwPqVpS5-k4d4uWyMaxfJg5wkw,2585
|
164
|
-
edsl/questions/derived/QuestionLinearScale.py,sha256=
|
165
|
-
edsl/questions/derived/QuestionTopK.py,sha256=
|
166
|
-
edsl/questions/derived/QuestionYesNo.py,sha256=
|
166
|
+
edsl/questions/derived/QuestionLinearScale.py,sha256=tj_RszK9WumaKRVMS1Fy63-Q6ip4FGBpNU2AtQrWlp8,3304
|
167
|
+
edsl/questions/derived/QuestionTopK.py,sha256=HT8NlbT8YBTmVNVPVIP1EyqGsiN3bu4SbFp29CVT0a4,3212
|
168
|
+
edsl/questions/derived/QuestionYesNo.py,sha256=KWJyaXSNPNxELtK0nWvIqNtpAF05MMAC0ILUjxXkVwo,2735
|
167
169
|
edsl/questions/derived/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
168
|
-
edsl/questions/descriptors.py,sha256=
|
170
|
+
edsl/questions/descriptors.py,sha256=10zWqaYeRjlc5jTCHFoa0SLZ-myEfZiO42HFoS5_KbE,16407
|
169
171
|
edsl/questions/prompt_templates/question_budget.jinja,sha256=-ekZYCa_KRc-xLcpf3j-YmXV0WSyIK_laOp2x3li-tA,737
|
170
172
|
edsl/questions/prompt_templates/question_checkbox.jinja,sha256=V-Dn2VJhfXyIILWIhMviTfQ5WuXh1YZerwicaA6Okzc,1136
|
171
173
|
edsl/questions/prompt_templates/question_extract.jinja,sha256=27b8iMJaA2h5UOrHPMiBCapMnJou4vSkZzkZndK2s1U,343
|
@@ -177,9 +179,13 @@ edsl/questions/prompt_templates/question_numerical.jinja,sha256=c20sp3HfFonfaRww
|
|
177
179
|
edsl/questions/question_registry.py,sha256=sDr909j6jEulK_uXPuvgvYVytPsrpZz_eqKvG0rsbMo,5365
|
178
180
|
edsl/questions/settings.py,sha256=er_z0ZW_dgmC5CHLWkaqBJiuWgAYzIund85M5YZFQAI,291
|
179
181
|
edsl/questions/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
182
|
+
edsl/questions/templates/budget/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
183
|
+
edsl/questions/templates/budget/answering_instructions.jinja,sha256=tF3bNv9_vIOjsWeZeRsMdgprpNrAKhUreQ53LUh1DP4,352
|
184
|
+
edsl/questions/templates/budget/question_presentation.jinja,sha256=wrZnM5ZbNhPZsvbtflfKrYpR3lH5ELDI7NM2l8pW8Ro,198
|
180
185
|
edsl/questions/templates/checkbox/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
181
186
|
edsl/questions/templates/checkbox/answering_instructions.jinja,sha256=UCPWWsnaAW3oB05IZDLQtofHXBesbqQxguXMfykUTQU,441
|
182
187
|
edsl/questions/templates/checkbox/question_presentation.jinja,sha256=2u8XIkFPWzOuhbeoIvYBm6zUWnTHF66cGJXIznxVobw,807
|
188
|
+
edsl/questions/templates/extract/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
183
189
|
edsl/questions/templates/extract/answering_instructions.jinja,sha256=sjHH4mBdoi6fdpHtRNWG0q3E4ZihvBpVUf08TNnwad4,253
|
184
190
|
edsl/questions/templates/extract/question_presentation.jinja,sha256=OLDuxUc6BjT4InCtAkK_e-D5qbsDmtxw1Spp9pWFYhU,17
|
185
191
|
edsl/questions/templates/free_text/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -199,21 +205,22 @@ edsl/questions/templates/multiple_choice/answering_instructions.jinja,sha256=eSc
|
|
199
205
|
edsl/questions/templates/multiple_choice/html.jinja,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
200
206
|
edsl/questions/templates/multiple_choice/question_presentation.jinja,sha256=hoEVj4GQD3EYnR2AStXkMFOJeqISNoEVzBd8-cx2yWg,273
|
201
207
|
edsl/questions/templates/numerical/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
202
|
-
edsl/questions/templates/numerical/answering_instructions.jinja,sha256=
|
208
|
+
edsl/questions/templates/numerical/answering_instructions.jinja,sha256=70CnuIbdRKGiYJk7316-FFloRh3Oeg_RvUu4tthNKqs,323
|
203
209
|
edsl/questions/templates/numerical/question_presentation.jinja,sha256=8lMUWtEPHD4XOAyVEfCmWSwRFrdUa3lo8sxzogDyzWE,183
|
210
|
+
edsl/questions/templates/rank/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
204
211
|
edsl/questions/templates/rank/answering_instructions.jinja,sha256=-LWrhVJ0ZwQW_DXhARh5GweqlarWbhZzoqwr6tE-33s,433
|
205
212
|
edsl/questions/templates/rank/question_presentation.jinja,sha256=9Vbm88_nDl5Xnb09V4QEw6jTp-ryXBoJV6DCFDMyPI4,334
|
206
213
|
edsl/questions/templates/top_k/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
207
214
|
edsl/questions/templates/top_k/answering_instructions.jinja,sha256=2V38SJZ0Y1E70mHm0HJUzGKregiSlEqVYIcqbncxh5c,266
|
208
215
|
edsl/questions/templates/top_k/question_presentation.jinja,sha256=2u8XIkFPWzOuhbeoIvYBm6zUWnTHF66cGJXIznxVobw,807
|
209
216
|
edsl/questions/templates/yes_no/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
210
|
-
edsl/questions/templates/yes_no/answering_instructions.jinja,sha256=
|
217
|
+
edsl/questions/templates/yes_no/answering_instructions.jinja,sha256=UAcssfcYeW8zytmPOVJOVQEdwdvlRspE8WnatYvreJQ,172
|
211
218
|
edsl/questions/templates/yes_no/question_presentation.jinja,sha256=hoEVj4GQD3EYnR2AStXkMFOJeqISNoEVzBd8-cx2yWg,273
|
212
219
|
edsl/results/Dataset.py,sha256=XeCWNcni1rde9iVzmC1WTIne2cip4-f2gQL5iaJfXNw,9202
|
213
|
-
edsl/results/DatasetExportMixin.py,sha256
|
220
|
+
edsl/results/DatasetExportMixin.py,sha256=-YR-UeuIW_8u0a8HnQ9R6V41DxCq22_AlsD48fXv0sw,25890
|
214
221
|
edsl/results/DatasetTree.py,sha256=nwEgnWBqRXUxagSCEgqwikmIo8ztUxaF-QH-m-8myyQ,4985
|
215
|
-
edsl/results/Result.py,sha256=
|
216
|
-
edsl/results/Results.py,sha256=
|
222
|
+
edsl/results/Result.py,sha256=o3Tg07loDcwNTb6wPgV_qS7_REkwcMVouc9t_-zwkpw,15469
|
223
|
+
edsl/results/Results.py,sha256=zp4yDt-rPqgEPpv2xCGppQIzzwiKX-BbUpnJtY739L4,40807
|
217
224
|
edsl/results/ResultsDBMixin.py,sha256=Hc08aOiArBf9jbxI5uV4VL4wT6BLOkaaEgTMb3zyTUI,7922
|
218
225
|
edsl/results/ResultsExportMixin.py,sha256=XizBsPNxziyffirMA4kS7UHpYM1WIE4s1K-B7TqTfDw,1266
|
219
226
|
edsl/results/ResultsFetchMixin.py,sha256=VEa0TKDcXbnTinSKs9YaE4WjOSLmlp9Po1_9kklFvSo,848
|
@@ -222,32 +229,31 @@ edsl/results/ResultsToolsMixin.py,sha256=mseEFxJCf9sjXdIxpjITt_UZBwdXxw2o2VLg5jM
|
|
222
229
|
edsl/results/Selector.py,sha256=4AsFD71FKTFY1a0_AImsYWcYKx-RXPG6RgwsAvuNW3k,4403
|
223
230
|
edsl/results/__init__.py,sha256=2YcyiVtXi-3vIV0ZzOy1PqBLm2gaziufJVi4fdNrAt8,80
|
224
231
|
edsl/results/tree_explore.py,sha256=hQjiO4E71rIOPDgEHgK8T8ukxqoNdgX_tvyiDlG4_9U,4624
|
225
|
-
edsl/scenarios/FileStore.py,sha256=
|
226
|
-
edsl/scenarios/Scenario.py,sha256=
|
232
|
+
edsl/scenarios/FileStore.py,sha256=V_zn2RmVclcBQTvqghotnTO97YHWUXqeVfN7eMfpfUM,13929
|
233
|
+
edsl/scenarios/Scenario.py,sha256=ZG1x4_MmWP9j0gakLwsxOZ7ESMy3ifwBMhgQlHvsYo8,16809
|
227
234
|
edsl/scenarios/ScenarioHtmlMixin.py,sha256=EmugmbPJYW5eZS30rM6pDMDQD9yrrvHjmgZWB1qBfq4,1882
|
228
|
-
edsl/scenarios/
|
229
|
-
edsl/scenarios/ScenarioList.py,sha256=lHYd0y2CBb6G2jqIwQsvsG_LExi1CVtZfozngcKiKA8,39949
|
235
|
+
edsl/scenarios/ScenarioList.py,sha256=v5zmM3AOxbVFN9kez6h8GVbFFAxDlykycXqREDc2h8c,40622
|
230
236
|
edsl/scenarios/ScenarioListExportMixin.py,sha256=wfffY9xy_1QyIM-1xnisr64izSLjmyuotUYY5iDLodc,1681
|
231
|
-
edsl/scenarios/ScenarioListPdfMixin.py,sha256=
|
237
|
+
edsl/scenarios/ScenarioListPdfMixin.py,sha256=z_H2sZn5SCSq6nRLSU5jefaOlh4sqJLyOY_Ld0XCR18,8332
|
232
238
|
edsl/scenarios/__init__.py,sha256=KRwZCLf2R0qyJvv1NGbd8M51Bt6Ia6Iylg-Xq_2Fa6M,98
|
233
239
|
edsl/shared.py,sha256=lgLa-mCk2flIhxXarXLtfXZjXG_6XHhC2A3O8yRTjXc,20
|
234
240
|
edsl/study/ObjectEntry.py,sha256=e3xRPH8wCN8Pum5HZsQRYgnSoauSvjXunIEH79wu5A8,5788
|
235
241
|
edsl/study/ProofOfWork.py,sha256=FaqYtLgeiTEQXWKukPgPUTWMcIN5t1FR7h7Re8QEtgc,3433
|
236
242
|
edsl/study/SnapShot.py,sha256=BY9NP_HRTuOSvCncuE-q5OwMcTEtnBS8bFn_PhF7OcU,2678
|
237
|
-
edsl/study/Study.py,sha256=
|
243
|
+
edsl/study/Study.py,sha256=Ytm15XIWgT716scM3HKFSfdBHxRwX6mfMn3l8dgdY1c,18462
|
238
244
|
edsl/study/__init__.py,sha256=YAvPLTPG3hK_eN9Ar3d1_d-E3laXpSya879A25-JAxU,170
|
239
|
-
edsl/surveys/DAG.py,sha256=
|
245
|
+
edsl/surveys/DAG.py,sha256=dnIbrfJ_lQ3QEKjpyuo1I6b0kcnW2KMMyPir0A6J4XM,4235
|
240
246
|
edsl/surveys/Memory.py,sha256=-ikOtkkQldGB_BkPCW3o7AYwV5B_pIwlREw7aVCSHaQ,1113
|
241
|
-
edsl/surveys/MemoryPlan.py,sha256=
|
242
|
-
edsl/surveys/Rule.py,sha256=
|
243
|
-
edsl/surveys/RuleCollection.py,sha256=
|
244
|
-
edsl/surveys/Survey.py,sha256=
|
247
|
+
edsl/surveys/MemoryPlan.py,sha256=VESoPM0C_4LUngkskE51rOca_4vbXC2yjfwrBXtHfHA,9029
|
248
|
+
edsl/surveys/Rule.py,sha256=RlERae5n5jFTnEp597UF50YGXtywECU1nulYdsSlfh0,12223
|
249
|
+
edsl/surveys/RuleCollection.py,sha256=VBx9-OuBBFIJlRYfpbWIjMVFSA5iMwTzdx5yl8giQA8,14871
|
250
|
+
edsl/surveys/Survey.py,sha256=EYXkA0CzgpTIlwnVG21NQgBUo-vMRZhXrkP2sbT5hq4,72125
|
245
251
|
edsl/surveys/SurveyCSS.py,sha256=NjJezs2sTlgFprN6IukjGKwNYmNdXnLjzV2w5K4z4RI,8415
|
246
252
|
edsl/surveys/SurveyExportMixin.py,sha256=Kvkd2ku2Kemsn2Nw-Yt8GTnGFcUqfEiKznmisAeO7ck,8339
|
247
253
|
edsl/surveys/SurveyFlowVisualizationMixin.py,sha256=dEG_f-L0ZAyWU5Ta584IX5GZurjVt1tbIISo5z61Jvg,4004
|
248
254
|
edsl/surveys/SurveyQualtricsImport.py,sha256=SSZv53D1zVhQSfSw-X0_cte0QnkWhE9v922wLn6RMkI,9771
|
249
255
|
edsl/surveys/__init__.py,sha256=vjMYVlP95fHVqqw2FfKXRuYbTArZkZr1nK4FnXzZWzs,129
|
250
|
-
edsl/surveys/base.py,sha256=
|
256
|
+
edsl/surveys/base.py,sha256=XJHGEbbsH6hlYYkmI4isVLD8guLz8BdhR-eQRL78mc4,1115
|
251
257
|
edsl/surveys/descriptors.py,sha256=3B-hBVvGpLlVBCyOnPuxkLjesvpr0QIuATbggp_MJ7o,2076
|
252
258
|
edsl/surveys/instructions/ChangeInstruction.py,sha256=XDLuI5nVI60iJz1w1kLaKmYryAYE0XIyRbElBtNjVVM,1265
|
253
259
|
edsl/surveys/instructions/Instruction.py,sha256=WaTGihAQ6lCtm5W4vknTamkPzDp-eIAirdtGV37fdbc,925
|
@@ -257,7 +263,7 @@ edsl/templates/error_reporting/base.html,sha256=IkV24ZaUCNX303ZqVTWkFsJOnu5BG_SU
|
|
257
263
|
edsl/templates/error_reporting/exceptions_by_model.html,sha256=7uAWGfhUMey-29Vh6YkN_Qx1lfhC92fsTMxJEVXWPDs,792
|
258
264
|
edsl/templates/error_reporting/exceptions_by_question_name.html,sha256=_q6hSwtO_WhjXLZNLZhRj-qbPzStqYSzT0iECKUAFlg,454
|
259
265
|
edsl/templates/error_reporting/exceptions_by_type.html,sha256=TVsNCAz_G53LSZ-YslM51TUsbwtw7wzCqPwVYO6TVEw,415
|
260
|
-
edsl/templates/error_reporting/interview_details.html,sha256=
|
266
|
+
edsl/templates/error_reporting/interview_details.html,sha256=_3AZfDu7ZOrZZPQAE-odcSRkv7QuOPZQTsiK97MDY6g,4043
|
261
267
|
edsl/templates/error_reporting/interviews.html,sha256=jaPrrtUGs8Rs26H3k1QLqNRpIGAZEWrJR4OF83gDCj8,393
|
262
268
|
edsl/templates/error_reporting/overview.html,sha256=1oTYQpi03OnguG-iudO8FZC7mwR6GryeslDbl0w9ksw,405
|
263
269
|
edsl/templates/error_reporting/performance_plot.html,sha256=NTXFj51VEwew59gLzbR83Lybh88WmFR-fhxm5rmz0Ms,53
|
@@ -282,8 +288,8 @@ edsl/utilities/gcp_bucket/cloud_storage.py,sha256=dStHsG181YP9ALW-bkyO-sgMWuLV5a
|
|
282
288
|
edsl/utilities/interface.py,sha256=AaKpWiwWBwP2swNXmnFlIf3ZFsjfsR5bjXQAW47tD-8,19656
|
283
289
|
edsl/utilities/repair_functions.py,sha256=tftmklAqam6LOQQu_-9U44N-llycffhW8LfO63vBmNw,929
|
284
290
|
edsl/utilities/restricted_python.py,sha256=5-_zUhrNbos7pLhDl9nr8d24auRlquR6w-vKkmNjPiA,2060
|
285
|
-
edsl/utilities/utilities.py,sha256=
|
286
|
-
edsl-0.1.
|
287
|
-
edsl-0.1.
|
288
|
-
edsl-0.1.
|
289
|
-
edsl-0.1.
|
291
|
+
edsl/utilities/utilities.py,sha256=gqMtWWNEZkWLiRR9vHW-VRNy2bStEPlJ-I2aK9CwFiQ,11367
|
292
|
+
edsl-0.1.34.dist-info/LICENSE,sha256=_qszBDs8KHShVYcYzdMz3HNMtH-fKN_p5zjoVAVumFc,1111
|
293
|
+
edsl-0.1.34.dist-info/METADATA,sha256=lvzCVcOu45OuEW0eWIyoL6qQjCQpkwmi2dLVTEakOs4,4471
|
294
|
+
edsl-0.1.34.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
295
|
+
edsl-0.1.34.dist-info/RECORD,,
|