edsl 0.1.36.dev1__py3-none-any.whl → 0.1.36.dev5__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 +5 -0
- edsl/__version__.py +1 -1
- edsl/agents/Agent.py +5 -1
- edsl/agents/PromptConstructor.py +4 -3
- edsl/coop/PriceFetcher.py +14 -18
- edsl/coop/coop.py +42 -8
- edsl/data/RemoteCacheSync.py +84 -0
- edsl/exceptions/coop.py +8 -0
- edsl/inference_services/InferenceServiceABC.py +28 -0
- edsl/inference_services/registry.py +24 -16
- edsl/jobs/Jobs.py +190 -167
- edsl/jobs/interviews/Interview.py +21 -3
- edsl/jobs/interviews/InterviewExceptionCollection.py +9 -0
- edsl/jobs/interviews/InterviewExceptionEntry.py +24 -6
- edsl/jobs/runners/JobsRunnerAsyncio.py +17 -23
- edsl/jobs/tasks/TaskHistory.py +23 -7
- edsl/questions/QuestionFunctional.py +7 -3
- edsl/results/Dataset.py +12 -0
- edsl/results/Result.py +11 -9
- edsl/results/Results.py +13 -1
- edsl/scenarios/Scenario.py +12 -1
- edsl/surveys/Survey.py +3 -0
- edsl/surveys/instructions/Instruction.py +20 -3
- {edsl-0.1.36.dev1.dist-info → edsl-0.1.36.dev5.dist-info}/METADATA +1 -1
- {edsl-0.1.36.dev1.dist-info → edsl-0.1.36.dev5.dist-info}/RECORD +27 -26
- {edsl-0.1.36.dev1.dist-info → edsl-0.1.36.dev5.dist-info}/LICENSE +0 -0
- {edsl-0.1.36.dev1.dist-info → edsl-0.1.36.dev5.dist-info}/WHEEL +0 -0
edsl/jobs/tasks/TaskHistory.py
CHANGED
@@ -8,7 +8,7 @@ from edsl.jobs.tasks.task_status_enum import TaskStatus
|
|
8
8
|
|
9
9
|
|
10
10
|
class TaskHistory:
|
11
|
-
def __init__(self, interviews: List["Interview"], include_traceback=False):
|
11
|
+
def __init__(self, interviews: List["Interview"], include_traceback: bool = False):
|
12
12
|
"""
|
13
13
|
The structure of a TaskHistory exception
|
14
14
|
|
@@ -25,6 +25,7 @@ class TaskHistory:
|
|
25
25
|
|
26
26
|
@classmethod
|
27
27
|
def example(cls):
|
28
|
+
""" """
|
28
29
|
from edsl.jobs.interviews.Interview import Interview
|
29
30
|
|
30
31
|
from edsl.jobs.Jobs import Jobs
|
@@ -38,6 +39,7 @@ class TaskHistory:
|
|
38
39
|
skip_retry=True,
|
39
40
|
cache=False,
|
40
41
|
raise_validation_errors=True,
|
42
|
+
disable_remote_inference=True,
|
41
43
|
)
|
42
44
|
|
43
45
|
return cls(results.task_history.total_interviews)
|
@@ -72,14 +74,29 @@ class TaskHistory:
|
|
72
74
|
|
73
75
|
def to_dict(self):
|
74
76
|
"""Return the TaskHistory as a dictionary."""
|
77
|
+
# return {
|
78
|
+
# "exceptions": [
|
79
|
+
# e.to_dict(include_traceback=self.include_traceback)
|
80
|
+
# for e in self.exceptions
|
81
|
+
# ],
|
82
|
+
# "indices": self.indices,
|
83
|
+
# }
|
75
84
|
return {
|
76
|
-
"
|
77
|
-
|
78
|
-
for e in self.exceptions
|
79
|
-
],
|
80
|
-
"indices": self.indices,
|
85
|
+
"interviews": [i._to_dict() for i in self.total_interviews],
|
86
|
+
"include_traceback": self.include_traceback,
|
81
87
|
}
|
82
88
|
|
89
|
+
@classmethod
|
90
|
+
def from_dict(cls, data: dict):
|
91
|
+
"""Create a TaskHistory from a dictionary."""
|
92
|
+
if data is None:
|
93
|
+
return cls([], include_traceback=False)
|
94
|
+
|
95
|
+
from edsl.jobs.interviews.Interview import Interview
|
96
|
+
|
97
|
+
interviews = [Interview.from_dict(i) for i in data["interviews"]]
|
98
|
+
return cls(interviews, include_traceback=data["include_traceback"])
|
99
|
+
|
83
100
|
@property
|
84
101
|
def has_exceptions(self) -> bool:
|
85
102
|
"""Return True if there are any exceptions.
|
@@ -259,7 +276,6 @@ class TaskHistory:
|
|
259
276
|
question_type = interview.survey.get_question(
|
260
277
|
question_name
|
261
278
|
).question_type
|
262
|
-
# breakpoint()
|
263
279
|
if (question_name, question_type) not in exceptions_by_question_name:
|
264
280
|
exceptions_by_question_name[(question_name, question_type)] = 0
|
265
281
|
exceptions_by_question_name[(question_name, question_type)] += len(
|
@@ -50,6 +50,7 @@ class QuestionFunctional(QuestionBase):
|
|
50
50
|
requires_loop: Optional[bool] = False,
|
51
51
|
function_source_code: Optional[str] = None,
|
52
52
|
function_name: Optional[str] = None,
|
53
|
+
unsafe: Optional[bool] = False,
|
53
54
|
):
|
54
55
|
super().__init__()
|
55
56
|
if func:
|
@@ -61,9 +62,12 @@ class QuestionFunctional(QuestionBase):
|
|
61
62
|
|
62
63
|
self.requires_loop = requires_loop
|
63
64
|
|
64
|
-
|
65
|
-
self.
|
66
|
-
|
65
|
+
if unsafe:
|
66
|
+
self.func = func
|
67
|
+
else:
|
68
|
+
self.func = create_restricted_function(
|
69
|
+
self.function_name, self.function_source_code
|
70
|
+
)
|
67
71
|
|
68
72
|
self.question_name = question_name
|
69
73
|
self.question_text = question_text
|
edsl/results/Dataset.py
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
|
3
3
|
from __future__ import annotations
|
4
4
|
import random
|
5
|
+
import json
|
5
6
|
from collections import UserList
|
6
7
|
from typing import Any, Union, Optional
|
7
8
|
|
@@ -110,6 +111,17 @@ class Dataset(UserList, ResultsExportMixin):
|
|
110
111
|
new_data.append(observation)
|
111
112
|
return Dataset(new_data)
|
112
113
|
|
114
|
+
def to_json(self):
|
115
|
+
"""Return a JSON representation of the dataset.
|
116
|
+
|
117
|
+
>>> d = Dataset([{'a.b':[1,2,3,4]}])
|
118
|
+
>>> d.to_json()
|
119
|
+
[{'a.b': [1, 2, 3, 4]}]
|
120
|
+
"""
|
121
|
+
return json.loads(
|
122
|
+
json.dumps(self.data)
|
123
|
+
) # janky but I want to make sure it's serializable & deserializable
|
124
|
+
|
113
125
|
def _repr_html_(self) -> str:
|
114
126
|
"""Return an HTML representation of the dataset."""
|
115
127
|
from edsl.utilities.utilities import data_to_html
|
edsl/results/Result.py
CHANGED
@@ -75,6 +75,7 @@ class Result(Base, UserDict):
|
|
75
75
|
question_to_attributes: Optional[dict] = None,
|
76
76
|
generated_tokens: Optional[dict] = None,
|
77
77
|
comments_dict: Optional[dict] = None,
|
78
|
+
cache_used_dict: Optional[dict] = None,
|
78
79
|
):
|
79
80
|
"""Initialize a Result object.
|
80
81
|
|
@@ -130,6 +131,7 @@ class Result(Base, UserDict):
|
|
130
131
|
self.question_to_attributes = question_to_attributes
|
131
132
|
self.generated_tokens = generated_tokens
|
132
133
|
self.comments_dict = comments_dict or {}
|
134
|
+
self.cache_used_dict = cache_used_dict or {}
|
133
135
|
|
134
136
|
self._combined_dict = None
|
135
137
|
self._problem_keys = None
|
@@ -153,15 +155,15 @@ class Result(Base, UserDict):
|
|
153
155
|
if key in self.question_to_attributes:
|
154
156
|
# You might be tempted to just use the naked key
|
155
157
|
# but this is a bad idea because it pollutes the namespace
|
156
|
-
question_text_dict[
|
157
|
-
key
|
158
|
-
|
159
|
-
question_options_dict[
|
160
|
-
key
|
161
|
-
|
162
|
-
question_type_dict[
|
163
|
-
key
|
164
|
-
|
158
|
+
question_text_dict[key + "_question_text"] = (
|
159
|
+
self.question_to_attributes[key]["question_text"]
|
160
|
+
)
|
161
|
+
question_options_dict[key + "_question_options"] = (
|
162
|
+
self.question_to_attributes[key]["question_options"]
|
163
|
+
)
|
164
|
+
question_type_dict[key + "_question_type"] = (
|
165
|
+
self.question_to_attributes[key]["question_type"]
|
166
|
+
)
|
165
167
|
|
166
168
|
return {
|
167
169
|
"agent": self.agent.traits
|
edsl/results/Results.py
CHANGED
@@ -29,6 +29,7 @@ from edsl.results.ResultsFetchMixin import ResultsFetchMixin
|
|
29
29
|
from edsl.utilities.decorators import add_edsl_version, remove_edsl_version
|
30
30
|
from edsl.utilities.utilities import dict_hash
|
31
31
|
|
32
|
+
|
32
33
|
from edsl.Base import Base
|
33
34
|
|
34
35
|
|
@@ -89,6 +90,7 @@ class Results(UserList, Mixins, Base):
|
|
89
90
|
cache: Optional["Cache"] = None,
|
90
91
|
job_uuid: Optional[str] = None,
|
91
92
|
total_results: Optional[int] = None,
|
93
|
+
task_history: Optional["TaskHistory"] = None,
|
92
94
|
):
|
93
95
|
"""Instantiate a `Results` object with a survey and a list of `Result` objects.
|
94
96
|
|
@@ -100,6 +102,7 @@ class Results(UserList, Mixins, Base):
|
|
100
102
|
"""
|
101
103
|
super().__init__(data)
|
102
104
|
from edsl.data.Cache import Cache
|
105
|
+
from edsl.jobs.tasks.TaskHistory import TaskHistory
|
103
106
|
|
104
107
|
self.survey = survey
|
105
108
|
self.created_columns = created_columns or []
|
@@ -107,6 +110,8 @@ class Results(UserList, Mixins, Base):
|
|
107
110
|
self._total_results = total_results
|
108
111
|
self.cache = cache or Cache()
|
109
112
|
|
113
|
+
self.task_history = task_history or TaskHistory(interviews = [])
|
114
|
+
|
110
115
|
if hasattr(self, "_add_output_functions"):
|
111
116
|
self._add_output_functions()
|
112
117
|
|
@@ -276,6 +281,7 @@ class Results(UserList, Mixins, Base):
|
|
276
281
|
"survey": self.survey.to_dict(),
|
277
282
|
"created_columns": self.created_columns,
|
278
283
|
"cache": Cache() if not hasattr(self, "cache") else self.cache.to_dict(),
|
284
|
+
"task_history": self.task_history.to_dict(),
|
279
285
|
}
|
280
286
|
|
281
287
|
def compare(self, other_results):
|
@@ -295,6 +301,10 @@ class Results(UserList, Mixins, Base):
|
|
295
301
|
"b_not_a": [other_results[i] for i in indices_other],
|
296
302
|
}
|
297
303
|
|
304
|
+
@property
|
305
|
+
def has_unfixed_exceptions(self):
|
306
|
+
return self.task_history.has_unfixed_exceptions
|
307
|
+
|
298
308
|
@add_edsl_version
|
299
309
|
def to_dict(self) -> dict[str, Any]:
|
300
310
|
"""Convert the Results object to a dictionary.
|
@@ -305,7 +315,7 @@ class Results(UserList, Mixins, Base):
|
|
305
315
|
|
306
316
|
>>> r = Results.example()
|
307
317
|
>>> r.to_dict().keys()
|
308
|
-
dict_keys(['data', 'survey', 'created_columns', 'cache', 'edsl_version', 'edsl_class_name'])
|
318
|
+
dict_keys(['data', 'survey', 'created_columns', 'cache', 'task_history', 'edsl_version', 'edsl_class_name'])
|
309
319
|
"""
|
310
320
|
return self._to_dict()
|
311
321
|
|
@@ -358,6 +368,7 @@ class Results(UserList, Mixins, Base):
|
|
358
368
|
"""
|
359
369
|
from edsl import Survey, Cache
|
360
370
|
from edsl.results.Result import Result
|
371
|
+
from edsl.jobs.tasks.TaskHistory import TaskHistory
|
361
372
|
|
362
373
|
try:
|
363
374
|
results = cls(
|
@@ -367,6 +378,7 @@ class Results(UserList, Mixins, Base):
|
|
367
378
|
cache=(
|
368
379
|
Cache.from_dict(data.get("cache")) if "cache" in data else Cache()
|
369
380
|
),
|
381
|
+
task_history=TaskHistory.from_dict(data.get("task_history")),
|
370
382
|
)
|
371
383
|
except Exception as e:
|
372
384
|
raise ResultsDeserializationError(f"Error in Results.from_dict: {e}")
|
edsl/scenarios/Scenario.py
CHANGED
@@ -134,7 +134,13 @@ class Scenario(Base, UserDict, ScenarioHtmlMixin):
|
|
134
134
|
>>> s.to_dict()
|
135
135
|
{'food': 'wood chips', 'edsl_version': '...', 'edsl_class_name': 'Scenario'}
|
136
136
|
"""
|
137
|
-
|
137
|
+
from edsl.scenarios.FileStore import FileStore
|
138
|
+
|
139
|
+
d = self.data.copy()
|
140
|
+
for key, value in d.items():
|
141
|
+
if isinstance(value, FileStore):
|
142
|
+
d[key] = value.to_dict()
|
143
|
+
return d
|
138
144
|
|
139
145
|
@add_edsl_version
|
140
146
|
def to_dict(self) -> dict:
|
@@ -439,6 +445,11 @@ class Scenario(Base, UserDict, ScenarioHtmlMixin):
|
|
439
445
|
>>> Scenario.from_dict({"food": "wood chips"})
|
440
446
|
Scenario({'food': 'wood chips'})
|
441
447
|
"""
|
448
|
+
from edsl.scenarios.FileStore import FileStore
|
449
|
+
|
450
|
+
for key, value in d.items():
|
451
|
+
if isinstance(value, FileStore):
|
452
|
+
d[key] = FileStore.from_dict(value)
|
442
453
|
return cls(d)
|
443
454
|
|
444
455
|
def _table(self) -> tuple[dict, list]:
|
edsl/surveys/Survey.py
CHANGED
@@ -5,9 +5,12 @@ from edsl.utilities.decorators import add_edsl_version, remove_edsl_version
|
|
5
5
|
|
6
6
|
|
7
7
|
class Instruction:
|
8
|
-
def __init__(
|
8
|
+
def __init__(
|
9
|
+
self, name, text, preamble="You were given the following instructions:"
|
10
|
+
):
|
9
11
|
self.name = name
|
10
12
|
self.text = text
|
13
|
+
self.preamble = preamble
|
11
14
|
|
12
15
|
def __str__(self):
|
13
16
|
return self.text
|
@@ -16,7 +19,17 @@ class Instruction:
|
|
16
19
|
return """Instruction(name="{}", text="{}")""".format(self.name, self.text)
|
17
20
|
|
18
21
|
def _to_dict(self):
|
19
|
-
return {
|
22
|
+
return {
|
23
|
+
"name": self.name,
|
24
|
+
"text": self.text,
|
25
|
+
"edsl_class_name": "Instruction",
|
26
|
+
"preamble": self.preamble,
|
27
|
+
}
|
28
|
+
|
29
|
+
def add_question(self, question) -> "Survey":
|
30
|
+
from edsl import Survey
|
31
|
+
|
32
|
+
return Survey([self, question])
|
20
33
|
|
21
34
|
@add_edsl_version
|
22
35
|
def to_dict(self):
|
@@ -31,4 +44,8 @@ class Instruction:
|
|
31
44
|
@classmethod
|
32
45
|
@remove_edsl_version
|
33
46
|
def from_dict(cls, data):
|
34
|
-
return cls(
|
47
|
+
return cls(
|
48
|
+
data["name"],
|
49
|
+
data["text"],
|
50
|
+
data.get("preamble", "You were given the following instructions:"),
|
51
|
+
)
|
@@ -1,13 +1,13 @@
|
|
1
|
-
edsl/Base.py,sha256=
|
1
|
+
edsl/Base.py,sha256=xm_WdwWrQRO0Iy88XsOSRm00ZNHv5pX4LbFid8oilX8,9433
|
2
2
|
edsl/BaseDiff.py,sha256=RoVEh52UJs22yMa7k7jv8se01G62jJNWnBzaZngo-Ug,8260
|
3
3
|
edsl/TemplateLoader.py,sha256=sDBlSMt7EfOduM7w3h6v03gvh_Rzn9hVrlS-iLSQdZA,849
|
4
4
|
edsl/__init__.py,sha256=UZcx9RHSi3Dslh2lWvCOeppdMW9Xzw_YLs-kFaNW1MU,1770
|
5
|
-
edsl/__version__.py,sha256=
|
6
|
-
edsl/agents/Agent.py,sha256=
|
5
|
+
edsl/__version__.py,sha256=OUsdNphi6Hzv2R7NPqxR63whXY7Kc2QpHH8hilzKlpo,28
|
6
|
+
edsl/agents/Agent.py,sha256=HErVSlcHmfhq_OHI2nsRKOMhnn4t7VBcBfU7RipwOmE,29458
|
7
7
|
edsl/agents/AgentList.py,sha256=qo8VK3Ov0YOSbsBcHmlwLZBH81CcDfy5IEcx9AVH78M,10963
|
8
8
|
edsl/agents/Invigilator.py,sha256=m4T-z4aNCGd4LKjLXVNI2VszYW-pQeScfcFAxkb0pWc,9080
|
9
9
|
edsl/agents/InvigilatorBase.py,sha256=qIdAiriXAbnJH_SN9w2UAXHcDgQvk8Ar3QerKFjtPwM,10341
|
10
|
-
edsl/agents/PromptConstructor.py,sha256=
|
10
|
+
edsl/agents/PromptConstructor.py,sha256=KM9S2tjvzp9NXi_rAg0iuxSVHu4sPnjrIOWlRNJkuFc,13030
|
11
11
|
edsl/agents/__init__.py,sha256=B1dWfV4QWOo8cc2KeuetdFGeNhZ8XHc0Q8YhQW9k7BE,136
|
12
12
|
edsl/agents/descriptors.py,sha256=m8ND3-2-JbgNX1HGakBNLIeemwsgYa1mQxYO9GW33hw,2934
|
13
13
|
edsl/agents/prompt_helpers.py,sha256=rHUxM_F0kCOkJmnhCyK-amFKViAYvpRRLD8LHFLGqQw,5023
|
@@ -44,13 +44,14 @@ edsl/conversation/Conversation.py,sha256=NdWH62XpcF6hoaG0ScMho_c3TO7PfBnbdlppUN-
|
|
44
44
|
edsl/conversation/car_buying.py,sha256=Quh2Q8O9YoCyTKJUy3li376QFIOcL1gX0y89w3wlSl4,1950
|
45
45
|
edsl/conversation/mug_negotiation.py,sha256=mjvAqErD4AjN3G2za2c-X-3axOShW-zAJUeiJqTxVPA,2616
|
46
46
|
edsl/conversation/next_speaker_utilities.py,sha256=bqr5JglCd6bdLc9IZ5zGOAsmN2F4ERiubSMYvZIG7qk,3629
|
47
|
-
edsl/coop/PriceFetcher.py,sha256=
|
47
|
+
edsl/coop/PriceFetcher.py,sha256=pCCWBqFnSv8iYpgQKhAzVCdan1xTCNesZgmIB34N4HY,1770
|
48
48
|
edsl/coop/__init__.py,sha256=4iZCwJSzJVyjBYk8ggGxY2kZjq9dXVT1jhyPDNyew4I,115
|
49
|
-
edsl/coop/coop.py,sha256=
|
49
|
+
edsl/coop/coop.py,sha256=TwtJY4uYOnSbWXPNZ-o3MFZigswBJnqmIyGFeoQSHws,29846
|
50
50
|
edsl/coop/utils.py,sha256=UZwljKYW_Yjw7RYcjOg3SW7fn1pyHQfJ1fM48TBNoss,3601
|
51
51
|
edsl/data/Cache.py,sha256=jDt0LoZjLpGnM8-CraQEcsQaVg--U3BiBR1zHj0nDn8,16536
|
52
52
|
edsl/data/CacheEntry.py,sha256=_5UiFaJQu_U-Z1_lEPt-h6Gaidp2Eunk02wOd3Ni3MQ,7252
|
53
53
|
edsl/data/CacheHandler.py,sha256=DxbfeT2nZGRu8yQkbWr2tyEnhNiClevMsd5KZMCq2f0,4793
|
54
|
+
edsl/data/RemoteCacheSync.py,sha256=V3Eznr1bCtSs0gnjdc_emmHND7l3fiK9samyPAVb6bo,3528
|
54
55
|
edsl/data/SQLiteDict.py,sha256=V5Nfnxctgh4Iblqcw1KmbnkjtfmWrrombROSQ3mvg6A,8979
|
55
56
|
edsl/data/__init__.py,sha256=KBNGGEuGHq--D-TlpAQmvv_If906dJc1Gsy028zOx78,170
|
56
57
|
edsl/data/orm.py,sha256=Jz6rvw5SrlxwysTL0QI9r68EflKxeEBmf6j6himHDS8,238
|
@@ -59,7 +60,7 @@ edsl/enums.py,sha256=Z6nhaP8p3z0UJSfsCGb6VQUtGUKw3AK6yC0UDwOi05c,5247
|
|
59
60
|
edsl/exceptions/__init__.py,sha256=HVg-U-rJ0fRoG9Rws6gnK5S9B68SkPWDPsoD6KpMZ-A,1370
|
60
61
|
edsl/exceptions/agents.py,sha256=3SORFwFbMGrF6-vAL2GrKEVdPcXo7md_k2oYufnVXHA,673
|
61
62
|
edsl/exceptions/configuration.py,sha256=qH2sInNTndKlCLAaNgaXHyRFdKQHL7-dElB_j8wz9g4,351
|
62
|
-
edsl/exceptions/coop.py,sha256=
|
63
|
+
edsl/exceptions/coop.py,sha256=xunPPrnbcNHn60wnH-Qw0rC_Ey99X_N7HnOBF8BQg7E,138
|
63
64
|
edsl/exceptions/data.py,sha256=K24CjgwFiMWxrF1Z2dF6F7Vfrge_y9kMK_wsYYSaroU,209
|
64
65
|
edsl/exceptions/general.py,sha256=zAyJnppPjjxQAn6X3A5fetmv5FUR7kQDU58vwBKvAks,1114
|
65
66
|
edsl/exceptions/jobs.py,sha256=sSUATmzBIN1oINWuwPExxPqIWmfCo0XYj_yR4dJzVjo,803
|
@@ -74,7 +75,7 @@ edsl/inference_services/AzureAI.py,sha256=Xd3r4Y5OQReW-hG67ymK3LSDLiHj5hMFuvGEz5
|
|
74
75
|
edsl/inference_services/DeepInfraService.py,sha256=fWlH5sCNxf8eHPHxPPxJMEVWpCM9sDenkC8IZYqtXfA,515
|
75
76
|
edsl/inference_services/GoogleService.py,sha256=CeyQ2Db_cCFOIVvetSwsFLqenJFrg4EGoRYwIe7-7-U,5422
|
76
77
|
edsl/inference_services/GroqService.py,sha256=eDMq8d7YAlJ2689ywaoaPGvMgFfOiX1KYlF_vr97N6I,510
|
77
|
-
edsl/inference_services/InferenceServiceABC.py,sha256=
|
78
|
+
edsl/inference_services/InferenceServiceABC.py,sha256=Js_XFM4678C0NrTXbmSKLyIsiNzye55gOoz2-FyiC7E,4694
|
78
79
|
edsl/inference_services/InferenceServicesCollection.py,sha256=EDyxnoSjGXhWob_ost7U8WUYjn1jgL_noB0-VlXBnOo,2810
|
79
80
|
edsl/inference_services/MistralAIService.py,sha256=7mUsBEZdEWIjfh4qMNemTT2xYMq7k0yuMLGtDTdfp4Y,3878
|
80
81
|
edsl/inference_services/OllamaService.py,sha256=oro9CRl8IUE2Ro-zE69Cr4Zaf6Gdw29XW5CFU-46E0k,498
|
@@ -84,29 +85,29 @@ edsl/inference_services/TogetherAIService.py,sha256=p_31ccrfN25kZF2xlAlUkb7w1EL4
|
|
84
85
|
edsl/inference_services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
85
86
|
edsl/inference_services/models_available_cache.py,sha256=HtGNaYgrxY2oPy-QruKhjj6LUzhGNqBhLHFWMoMi1E4,3312
|
86
87
|
edsl/inference_services/rate_limits_cache.py,sha256=HYslviz7mxF9U4CUTPAkoyBsiXjSju-YCp4HHir6e34,1398
|
87
|
-
edsl/inference_services/registry.py,sha256=
|
88
|
+
edsl/inference_services/registry.py,sha256=Fn6va65MqD9lnFvT603ZnU7Ok8IW64M2MzOH57kf9-A,1240
|
88
89
|
edsl/inference_services/write_available.py,sha256=NNwhATlaMp8IYY635MSx-oYxt5X15acjAfaqYCo_I1Y,285
|
89
90
|
edsl/jobs/Answers.py,sha256=c4LpigQjdnMr7iJu8571C4FggGPVudfT7hbJgmgKW40,1821
|
90
|
-
edsl/jobs/Jobs.py,sha256=
|
91
|
+
edsl/jobs/Jobs.py,sha256=_MrbSg-gWWASEEpPtiZcfTX-D8rN3NMg9V0vVZXLFeg,40176
|
91
92
|
edsl/jobs/__init__.py,sha256=aKuAyd_GoalGj-k7djOoVwEbFUE2XLPlikXaA1_8yAg,32
|
92
93
|
edsl/jobs/buckets/BucketCollection.py,sha256=11CRisE1WAPcAlI3YJK3DVvu0AqSvv8KskXo4Q1waSk,2286
|
93
94
|
edsl/jobs/buckets/ModelBuckets.py,sha256=hxw_tzc0V42CiB7mh5jIxlgwDVJ-zFZhlLtKrHEg8ho,2419
|
94
95
|
edsl/jobs/buckets/TokenBucket.py,sha256=7fG4omzTcj5xC2iJLO9bfBkdAGs6Y3weXzlA3BgPr0E,9090
|
95
|
-
edsl/jobs/interviews/Interview.py,sha256=
|
96
|
-
edsl/jobs/interviews/InterviewExceptionCollection.py,sha256=
|
97
|
-
edsl/jobs/interviews/InterviewExceptionEntry.py,sha256=
|
96
|
+
edsl/jobs/interviews/Interview.py,sha256=nsDxbMF0iOEYpgXcmzKVwAtkvarvsWeSsr1rhUTaIak,25755
|
97
|
+
edsl/jobs/interviews/InterviewExceptionCollection.py,sha256=HRhxuwR_CQXs22yKm1PCpbv3pgh5t0UTBRbdFhODRM0,3670
|
98
|
+
edsl/jobs/interviews/InterviewExceptionEntry.py,sha256=vqtVnT35wUVMwc8YfVhoOgyCKCjpiBdyPHPd-PWpZJY,5589
|
98
99
|
edsl/jobs/interviews/InterviewStatistic.py,sha256=hY5d2EkIJ96NilPpZAvZZzZoxLXM7ss3xx5MIcKtTPs,1856
|
99
100
|
edsl/jobs/interviews/InterviewStatisticsCollection.py,sha256=_ZZ0fnZBQiIywP9Q_wWjpWhlfcPe2cn32GKut10t5RI,788
|
100
101
|
edsl/jobs/interviews/InterviewStatusDictionary.py,sha256=MSyys4hOWe1d8gfsUvAPbcKrs8YiPnz8jpufBSJL7SU,2485
|
101
102
|
edsl/jobs/interviews/InterviewStatusLog.py,sha256=6u0F8gf5tha39VQL-IK_QPkCsQAYVOx_IesX7TDDX_A,3252
|
102
103
|
edsl/jobs/interviews/ReportErrors.py,sha256=RSzDU2rWwtjfztj7sqaMab0quCiY-X2bG3AEOxhTim8,1745
|
103
104
|
edsl/jobs/interviews/interview_status_enum.py,sha256=KJ-1yLAHdX-p8TiFnM0M3v1tnBwkq4aMCuBX6-ytrI8,229
|
104
|
-
edsl/jobs/runners/JobsRunnerAsyncio.py,sha256=
|
105
|
+
edsl/jobs/runners/JobsRunnerAsyncio.py,sha256=6i9X8zDfl0cXWtVAZDzph0Ei-RIUHOsqsq3mtQNQ6D8,12744
|
105
106
|
edsl/jobs/runners/JobsRunnerStatus.py,sha256=4eCh9sRpswGdKeSMW9pCGCAjJZa-OrWUPI7tsxIy_g4,12112
|
106
107
|
edsl/jobs/runners/JobsRunnerStatusData.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
107
108
|
edsl/jobs/tasks/QuestionTaskCreator.py,sha256=K-xATHIXMWPTMOnms5UDW30eTIlIfebf7oOEfwrh1ME,10072
|
108
109
|
edsl/jobs/tasks/TaskCreators.py,sha256=XqAbNU33378Z4PQncokbfJwnKt3KHR9aqa5fKYRDpfg,2694
|
109
|
-
edsl/jobs/tasks/TaskHistory.py,sha256=
|
110
|
+
edsl/jobs/tasks/TaskHistory.py,sha256=k2uspUTjzBiFSH5I5in-IGFR4sTsI593sLlca63uFn8,14832
|
110
111
|
edsl/jobs/tasks/TaskStatusLog.py,sha256=bqH36a32F12fjX-M-4lNOhHaK2-WLFzKE-r0PxZPRjI,546
|
111
112
|
edsl/jobs/tasks/task_status_enum.py,sha256=DOyrz61YlIS8R1W7izJNphcLrJ7I_ReUlfdRmk23h0Q,5333
|
112
113
|
edsl/jobs/tokens/InterviewTokenUsage.py,sha256=u_6-IHpGFwZ6qMEXr24-jyLVUSSp4dSs_4iAZsBv7O4,1100
|
@@ -133,7 +134,7 @@ edsl/questions/QuestionBudget.py,sha256=TJgPsyqafJdJw5if0zVxh7zHloourINUqUWfWIlR
|
|
133
134
|
edsl/questions/QuestionCheckBox.py,sha256=wC_doEdNZi4y8Uz-tXZyQ2GYS5wQKOWhbVUnyVLoACU,12840
|
134
135
|
edsl/questions/QuestionExtract.py,sha256=PlXwMeZgPAFBXIHSXpFMYTToag-HwA9C7u6-Z3bQMek,6103
|
135
136
|
edsl/questions/QuestionFreeText.py,sha256=uXJxrrAGCq0-J6WpO6TBNFBNOC2ztoEVa-2UMXuwlak,3384
|
136
|
-
edsl/questions/QuestionFunctional.py,sha256=
|
137
|
+
edsl/questions/QuestionFunctional.py,sha256=772tduB8zFs5xlssKBay__4_SilfiDkoe-IvK0s2ftU,5247
|
137
138
|
edsl/questions/QuestionList.py,sha256=vs2AE8OnbwVsly-sorb9dfIibdF1BpOaCRYyvwXYSzY,7209
|
138
139
|
edsl/questions/QuestionMultipleChoice.py,sha256=Yj94-6fwFqDI9UvjwSCOfKnp4gBB86XMmCsL7lbX-t4,10292
|
139
140
|
edsl/questions/QuestionNumerical.py,sha256=_jMZ28DZHYAv_g3Y3vCnmzerMs995on0Ng6j4pDcfHo,4959
|
@@ -199,11 +200,11 @@ edsl/questions/templates/top_k/question_presentation.jinja,sha256=2u8XIkFPWzOuhb
|
|
199
200
|
edsl/questions/templates/yes_no/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
200
201
|
edsl/questions/templates/yes_no/answering_instructions.jinja,sha256=UAcssfcYeW8zytmPOVJOVQEdwdvlRspE8WnatYvreJQ,172
|
201
202
|
edsl/questions/templates/yes_no/question_presentation.jinja,sha256=hoEVj4GQD3EYnR2AStXkMFOJeqISNoEVzBd8-cx2yWg,273
|
202
|
-
edsl/results/Dataset.py,sha256=
|
203
|
+
edsl/results/Dataset.py,sha256=udJvOr9ePfD5xfy5k2zaNNWr4Qg_yp5s_f1YKEcVtKc,9547
|
203
204
|
edsl/results/DatasetExportMixin.py,sha256=-YR-UeuIW_8u0a8HnQ9R6V41DxCq22_AlsD48fXv0sw,25890
|
204
205
|
edsl/results/DatasetTree.py,sha256=nwEgnWBqRXUxagSCEgqwikmIo8ztUxaF-QH-m-8myyQ,4985
|
205
|
-
edsl/results/Result.py,sha256=
|
206
|
-
edsl/results/Results.py,sha256=
|
206
|
+
edsl/results/Result.py,sha256=85TlWtcNwCc98N-w3JF0APIkq5LmHfB8cXyW1T5s3f8,15576
|
207
|
+
edsl/results/Results.py,sha256=XdPN_RCpYaQ00SWUdzuxFvReVv8__q-oq87-3Du_szY,41317
|
207
208
|
edsl/results/ResultsDBMixin.py,sha256=Hc08aOiArBf9jbxI5uV4VL4wT6BLOkaaEgTMb3zyTUI,7922
|
208
209
|
edsl/results/ResultsExportMixin.py,sha256=XizBsPNxziyffirMA4kS7UHpYM1WIE4s1K-B7TqTfDw,1266
|
209
210
|
edsl/results/ResultsFetchMixin.py,sha256=VEa0TKDcXbnTinSKs9YaE4WjOSLmlp9Po1_9kklFvSo,848
|
@@ -213,7 +214,7 @@ edsl/results/Selector.py,sha256=4AsFD71FKTFY1a0_AImsYWcYKx-RXPG6RgwsAvuNW3k,4403
|
|
213
214
|
edsl/results/__init__.py,sha256=2YcyiVtXi-3vIV0ZzOy1PqBLm2gaziufJVi4fdNrAt8,80
|
214
215
|
edsl/results/tree_explore.py,sha256=hQjiO4E71rIOPDgEHgK8T8ukxqoNdgX_tvyiDlG4_9U,4624
|
215
216
|
edsl/scenarios/FileStore.py,sha256=V_zn2RmVclcBQTvqghotnTO97YHWUXqeVfN7eMfpfUM,13929
|
216
|
-
edsl/scenarios/Scenario.py,sha256=
|
217
|
+
edsl/scenarios/Scenario.py,sha256=q5LjsGFRNAH1RG2DtE9fhVl5q_uv929wrOnml7MYBfE,17192
|
217
218
|
edsl/scenarios/ScenarioHtmlMixin.py,sha256=EmugmbPJYW5eZS30rM6pDMDQD9yrrvHjmgZWB1qBfq4,1882
|
218
219
|
edsl/scenarios/ScenarioList.py,sha256=1zbwDICXbvtUGA5bDlhThNp9pfhBGIHIqhK2cX-th50,40942
|
219
220
|
edsl/scenarios/ScenarioListExportMixin.py,sha256=wfffY9xy_1QyIM-1xnisr64izSLjmyuotUYY5iDLodc,1681
|
@@ -230,7 +231,7 @@ edsl/surveys/Memory.py,sha256=-ikOtkkQldGB_BkPCW3o7AYwV5B_pIwlREw7aVCSHaQ,1113
|
|
230
231
|
edsl/surveys/MemoryPlan.py,sha256=VESoPM0C_4LUngkskE51rOca_4vbXC2yjfwrBXtHfHA,9029
|
231
232
|
edsl/surveys/Rule.py,sha256=RlERae5n5jFTnEp597UF50YGXtywECU1nulYdsSlfh0,12223
|
232
233
|
edsl/surveys/RuleCollection.py,sha256=VBx9-OuBBFIJlRYfpbWIjMVFSA5iMwTzdx5yl8giQA8,14871
|
233
|
-
edsl/surveys/Survey.py,sha256=
|
234
|
+
edsl/surveys/Survey.py,sha256=aLdUpsVeIVMoCRoN1j4rUhg0yQOSfSGS5Zc_lLFVpoU,72199
|
234
235
|
edsl/surveys/SurveyCSS.py,sha256=NjJezs2sTlgFprN6IukjGKwNYmNdXnLjzV2w5K4z4RI,8415
|
235
236
|
edsl/surveys/SurveyExportMixin.py,sha256=Kvkd2ku2Kemsn2Nw-Yt8GTnGFcUqfEiKznmisAeO7ck,8339
|
236
237
|
edsl/surveys/SurveyFlowVisualizationMixin.py,sha256=dEG_f-L0ZAyWU5Ta584IX5GZurjVt1tbIISo5z61Jvg,4004
|
@@ -239,7 +240,7 @@ edsl/surveys/__init__.py,sha256=vjMYVlP95fHVqqw2FfKXRuYbTArZkZr1nK4FnXzZWzs,129
|
|
239
240
|
edsl/surveys/base.py,sha256=XJHGEbbsH6hlYYkmI4isVLD8guLz8BdhR-eQRL78mc4,1115
|
240
241
|
edsl/surveys/descriptors.py,sha256=3B-hBVvGpLlVBCyOnPuxkLjesvpr0QIuATbggp_MJ7o,2076
|
241
242
|
edsl/surveys/instructions/ChangeInstruction.py,sha256=XDLuI5nVI60iJz1w1kLaKmYryAYE0XIyRbElBtNjVVM,1265
|
242
|
-
edsl/surveys/instructions/Instruction.py,sha256=
|
243
|
+
edsl/surveys/instructions/Instruction.py,sha256=l_ET6HCMt0ZU1BBHqP4EYKjEjeAS5Eg6NBJsCLO70R8,1352
|
243
244
|
edsl/surveys/instructions/InstructionCollection.py,sha256=eO-i9zgbk8q0D8hnawDrioS-iqXOEE7eKm5cgYNgwrU,2931
|
244
245
|
edsl/surveys/instructions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
245
246
|
edsl/templates/error_reporting/base.html,sha256=IkV24ZaUCNX303ZqVTWkFsJOnu5BG_SULrKN2YejUxQ,552
|
@@ -272,7 +273,7 @@ edsl/utilities/interface.py,sha256=AaKpWiwWBwP2swNXmnFlIf3ZFsjfsR5bjXQAW47tD-8,1
|
|
272
273
|
edsl/utilities/repair_functions.py,sha256=tftmklAqam6LOQQu_-9U44N-llycffhW8LfO63vBmNw,929
|
273
274
|
edsl/utilities/restricted_python.py,sha256=5-_zUhrNbos7pLhDl9nr8d24auRlquR6w-vKkmNjPiA,2060
|
274
275
|
edsl/utilities/utilities.py,sha256=gqMtWWNEZkWLiRR9vHW-VRNy2bStEPlJ-I2aK9CwFiQ,11367
|
275
|
-
edsl-0.1.36.
|
276
|
-
edsl-0.1.36.
|
277
|
-
edsl-0.1.36.
|
278
|
-
edsl-0.1.36.
|
276
|
+
edsl-0.1.36.dev5.dist-info/LICENSE,sha256=_qszBDs8KHShVYcYzdMz3HNMtH-fKN_p5zjoVAVumFc,1111
|
277
|
+
edsl-0.1.36.dev5.dist-info/METADATA,sha256=_6ZdTgBp3vpETeL0tVFg9zJdWejj95HLtIwSXPcjQAk,4476
|
278
|
+
edsl-0.1.36.dev5.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
279
|
+
edsl-0.1.36.dev5.dist-info/RECORD,,
|
File without changes
|
File without changes
|