edsl 0.1.29.dev3__py3-none-any.whl → 0.1.29.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/__version__.py +1 -1
- edsl/agents/Agent.py +12 -0
- edsl/agents/AgentList.py +3 -4
- edsl/agents/InvigilatorBase.py +15 -10
- edsl/agents/PromptConstructionMixin.py +340 -100
- edsl/conjure/InputData.py +37 -8
- edsl/coop/coop.py +68 -15
- edsl/coop/utils.py +2 -0
- edsl/jobs/Jobs.py +22 -16
- edsl/jobs/interviews/InterviewTaskBuildingMixin.py +1 -0
- edsl/notebooks/Notebook.py +30 -0
- edsl/prompts/Prompt.py +31 -19
- edsl/questions/QuestionBase.py +32 -11
- edsl/questions/settings.py +1 -1
- edsl/results/Dataset.py +31 -0
- edsl/results/ResultsToolsMixin.py +2 -1
- edsl/scenarios/ScenarioList.py +19 -3
- edsl/surveys/Survey.py +37 -3
- edsl/tools/plotting.py +4 -2
- {edsl-0.1.29.dev3.dist-info → edsl-0.1.29.dev5.dist-info}/METADATA +11 -10
- {edsl-0.1.29.dev3.dist-info → edsl-0.1.29.dev5.dist-info}/RECORD +23 -24
- edsl-0.1.29.dev3.dist-info/entry_points.txt +0 -3
- {edsl-0.1.29.dev3.dist-info → edsl-0.1.29.dev5.dist-info}/LICENSE +0 -0
- {edsl-0.1.29.dev3.dist-info → edsl-0.1.29.dev5.dist-info}/WHEEL +0 -0
@@ -2,6 +2,7 @@
|
|
2
2
|
from edsl.questions import QuestionList, QuestionCheckBox
|
3
3
|
|
4
4
|
|
5
|
+
|
5
6
|
class ResultsToolsMixin:
|
6
7
|
def get_themes(
|
7
8
|
self,
|
@@ -13,7 +14,7 @@ class ResultsToolsMixin:
|
|
13
14
|
progress_bar=False,
|
14
15
|
print_exceptions=False,
|
15
16
|
) -> list:
|
16
|
-
values = self.shuffle(seed=seed).select(field).to_list()[:max_values]
|
17
|
+
values = [str(txt)[:1000] for txt in self.shuffle(seed=seed).select(field).to_list()[:max_values]]
|
17
18
|
from edsl import ScenarioList
|
18
19
|
|
19
20
|
q = QuestionList(
|
edsl/scenarios/ScenarioList.py
CHANGED
@@ -119,7 +119,7 @@ class ScenarioList(Base, UserList, ScenarioListPdfMixin, ResultsExportMixin):
|
|
119
119
|
|
120
120
|
return ScenarioList(random.sample(self.data, n))
|
121
121
|
|
122
|
-
def expand(self, expand_field: str, number_field
|
122
|
+
def expand(self, expand_field: str, number_field=False) -> ScenarioList:
|
123
123
|
"""Expand the ScenarioList by a field.
|
124
124
|
|
125
125
|
Example:
|
@@ -137,7 +137,7 @@ class ScenarioList(Base, UserList, ScenarioListPdfMixin, ResultsExportMixin):
|
|
137
137
|
new_scenario = scenario.copy()
|
138
138
|
new_scenario[expand_field] = value
|
139
139
|
if number_field:
|
140
|
-
new_scenario[expand_field +
|
140
|
+
new_scenario[expand_field + "_number"] = index + 1
|
141
141
|
new_scenarios.append(new_scenario)
|
142
142
|
return ScenarioList(new_scenarios)
|
143
143
|
|
@@ -192,7 +192,7 @@ class ScenarioList(Base, UserList, ScenarioListPdfMixin, ResultsExportMixin):
|
|
192
192
|
|
193
193
|
def get_sort_key(scenario: Any) -> tuple:
|
194
194
|
return tuple(scenario[field] for field in fields)
|
195
|
-
|
195
|
+
|
196
196
|
return ScenarioList(sorted(self, key=get_sort_key, reverse=reverse))
|
197
197
|
|
198
198
|
def filter(self, expression: str) -> ScenarioList:
|
@@ -343,6 +343,22 @@ class ScenarioList(Base, UserList, ScenarioListPdfMixin, ResultsExportMixin):
|
|
343
343
|
"""
|
344
344
|
return cls([Scenario(row) for row in df.to_dict(orient="records")])
|
345
345
|
|
346
|
+
def to_key_value(self, field, value = None) -> Union[dict, set]:
|
347
|
+
"""Return the set of values in the field.
|
348
|
+
|
349
|
+
Example:
|
350
|
+
|
351
|
+
>>> s = ScenarioList([Scenario({'name': 'Alice'}), Scenario({'name': 'Bob'})])
|
352
|
+
>>> s.to_key_value('name') == {'Alice', 'Bob'}
|
353
|
+
True
|
354
|
+
"""
|
355
|
+
if value is None:
|
356
|
+
return {scenario[field] for scenario in self}
|
357
|
+
else:
|
358
|
+
return {scenario[field]: scenario[value] for scenario in self}
|
359
|
+
|
360
|
+
|
361
|
+
|
346
362
|
@classmethod
|
347
363
|
def from_csv(cls, filename: str) -> ScenarioList:
|
348
364
|
"""Create a ScenarioList from a CSV file.
|
edsl/surveys/Survey.py
CHANGED
@@ -96,6 +96,10 @@ class Survey(SurveyExportMixin, SurveyFlowVisualizationMixin, Base):
|
|
96
96
|
index = self.question_name_to_index[question_name]
|
97
97
|
return self._questions[index]
|
98
98
|
|
99
|
+
def question_names_to_questions(self) -> dict:
|
100
|
+
"""Return a dictionary mapping question names to question attributes."""
|
101
|
+
return {q.question_name: q for q in self.questions}
|
102
|
+
|
99
103
|
def get_question(self, question_name: str) -> QuestionBase:
|
100
104
|
"""Return the question object given the question name."""
|
101
105
|
# import warnings
|
@@ -112,6 +116,10 @@ class Survey(SurveyExportMixin, SurveyFlowVisualizationMixin, Base):
|
|
112
116
|
def parameters(self):
|
113
117
|
return set.union(*[q.parameters for q in self.questions])
|
114
118
|
|
119
|
+
@property
|
120
|
+
def parameters_by_question(self):
|
121
|
+
return {q.question_name: q.parameters for q in self.questions}
|
122
|
+
|
115
123
|
@property
|
116
124
|
def question_names(self) -> list[str]:
|
117
125
|
"""Return a list of question names in the survey.
|
@@ -732,6 +740,22 @@ class Survey(SurveyExportMixin, SurveyFlowVisualizationMixin, Base):
|
|
732
740
|
except IndexError:
|
733
741
|
raise
|
734
742
|
|
743
|
+
@property
|
744
|
+
def piping_dag(self) -> DAG:
|
745
|
+
d = {}
|
746
|
+
for question_name, depenencies in self.parameters_by_question.items():
|
747
|
+
if depenencies:
|
748
|
+
question_index = self.question_name_to_index[question_name]
|
749
|
+
for dependency in depenencies:
|
750
|
+
if dependency not in self.question_name_to_index:
|
751
|
+
pass
|
752
|
+
else:
|
753
|
+
dependency_index = self.question_name_to_index[dependency]
|
754
|
+
if question_index not in d:
|
755
|
+
d[question_index] = set()
|
756
|
+
d[question_index].add(dependency_index)
|
757
|
+
return d
|
758
|
+
|
735
759
|
def dag(self, textify: bool = False) -> DAG:
|
736
760
|
"""Return the DAG of the survey, which reflects both skip-logic and memory.
|
737
761
|
|
@@ -745,10 +769,12 @@ class Survey(SurveyExportMixin, SurveyFlowVisualizationMixin, Base):
|
|
745
769
|
"""
|
746
770
|
memory_dag = self.memory_plan.dag
|
747
771
|
rule_dag = self.rule_collection.dag
|
772
|
+
piping_dag = self.piping_dag
|
748
773
|
if textify:
|
749
774
|
memory_dag = DAG(self.textify(memory_dag))
|
750
775
|
rule_dag = DAG(self.textify(rule_dag))
|
751
|
-
|
776
|
+
piping_dag = DAG(self.textify(piping_dag))
|
777
|
+
return memory_dag + rule_dag + piping_dag
|
752
778
|
|
753
779
|
###################
|
754
780
|
# DUNDER METHODS
|
@@ -994,7 +1020,7 @@ class Survey(SurveyExportMixin, SurveyFlowVisualizationMixin, Base):
|
|
994
1020
|
return res
|
995
1021
|
|
996
1022
|
@classmethod
|
997
|
-
def example(cls) -> Survey:
|
1023
|
+
def example(cls, params=False) -> Survey:
|
998
1024
|
"""Return an example survey.
|
999
1025
|
|
1000
1026
|
>>> s = Survey.example()
|
@@ -1018,12 +1044,20 @@ class Survey(SurveyExportMixin, SurveyFlowVisualizationMixin, Base):
|
|
1018
1044
|
question_options=["**lack*** of killer bees in cafeteria", "other"],
|
1019
1045
|
question_name="q2",
|
1020
1046
|
)
|
1047
|
+
if params:
|
1048
|
+
q3 = QuestionMultipleChoice(
|
1049
|
+
question_text="To the question '{{ q0.question_text}}', you said '{{ q0.answer }}'. Do you still feel this way?",
|
1050
|
+
question_options=["yes", "no"],
|
1051
|
+
question_name="q3",
|
1052
|
+
)
|
1053
|
+
s = cls(questions=[q0, q1, q2, q3])
|
1054
|
+
return s
|
1021
1055
|
s = cls(questions=[q0, q1, q2])
|
1022
1056
|
s = s.add_rule(q0, "q0 == 'yes'", q2)
|
1023
1057
|
return s
|
1024
1058
|
|
1025
1059
|
def get_job(self, model=None, agent=None, **kwargs):
|
1026
|
-
if
|
1060
|
+
if model is None:
|
1027
1061
|
from edsl import Model
|
1028
1062
|
|
1029
1063
|
model = Model()
|
edsl/tools/plotting.py
CHANGED
@@ -93,8 +93,10 @@ def theme_plot(results, field, context, themes=None, progress_bar=False):
|
|
93
93
|
SELECT json_each.value AS theme
|
94
94
|
FROM self,
|
95
95
|
json_each({ field }_themes)
|
96
|
-
)
|
97
|
-
|
96
|
+
)
|
97
|
+
GROUP BY theme
|
98
|
+
HAVING theme <> 'Other'
|
99
|
+
ORDER BY mentions DESC
|
98
100
|
"""
|
99
101
|
themes = results.sql(themes_query, to_list=True)
|
100
102
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: edsl
|
3
|
-
Version: 0.1.29.
|
3
|
+
Version: 0.1.29.dev5
|
4
4
|
Summary: Create and analyze LLM-based surveys
|
5
5
|
Home-page: https://www.expectedparrot.com/
|
6
6
|
License: MIT
|
@@ -57,15 +57,6 @@ The Expected Parrot Domain-Specific Language (EDSL) package lets you conduct com
|
|
57
57
|
- [LinkedIn](https://www.linkedin.com/company/expectedparrot/)
|
58
58
|
- [Blog](https://blog.expectedparrot.com)
|
59
59
|
|
60
|
-
## 💡 Contributions, feature requests & bugs
|
61
|
-
Interested in contributing? Want us to add a new feature? Found a bug for us to squash?
|
62
|
-
Please send us an email at [info@expectedparrot.com](mailto:info@expectedparrot.com) or message us at our [Discord channel](https://discord.com/invite/mxAYkjfy9m).
|
63
|
-
|
64
|
-
## 💻 Requirements
|
65
|
-
* EDSL is compatible with Python 3.9 - 3.12.
|
66
|
-
* API keys for large language models that you want to use, stored in a `.env` file.
|
67
|
-
See instructions on [storing API keys](https://docs.expectedparrot.com/en/latest/api_keys.html).
|
68
|
-
|
69
60
|
## 🌎 Hello, World!
|
70
61
|
A quick example:
|
71
62
|
|
@@ -96,3 +87,13 @@ Output:
|
|
96
87
|
│ Good │
|
97
88
|
└───────────────────┘
|
98
89
|
```
|
90
|
+
|
91
|
+
## 💻 Requirements
|
92
|
+
* EDSL is compatible with Python 3.9 - 3.12.
|
93
|
+
* API keys for large language models that you want to use, stored in a `.env` file.
|
94
|
+
See instructions on [storing API keys](https://docs.expectedparrot.com/en/latest/api_keys.html).
|
95
|
+
|
96
|
+
## 💡 Contributions, feature requests & bugs
|
97
|
+
Interested in contributing? Want us to add a new feature? Found a bug for us to squash?
|
98
|
+
Please send us an email at [info@expectedparrot.com](mailto:info@expectedparrot.com) or message us at our [Discord channel](https://discord.com/invite/mxAYkjfy9m).
|
99
|
+
|
@@ -1,18 +1,18 @@
|
|
1
1
|
edsl/Base.py,sha256=7xc-2fmIGVx-yofU54w5eDU6WSl1AwgrNP2YncDd93M,8847
|
2
2
|
edsl/BaseDiff.py,sha256=RoVEh52UJs22yMa7k7jv8se01G62jJNWnBzaZngo-Ug,8260
|
3
3
|
edsl/__init__.py,sha256=k_qOASWIvMoJTJI9m3t-v-VxFlEvp8Ks8ZtO97vrZ5g,1347
|
4
|
-
edsl/__version__.py,sha256=
|
5
|
-
edsl/agents/Agent.py,sha256=
|
6
|
-
edsl/agents/AgentList.py,sha256=
|
4
|
+
edsl/__version__.py,sha256=DNSM5oM4ixQubYYz8apnei3mP7cjycWeo7Pren3UWPA,28
|
5
|
+
edsl/agents/Agent.py,sha256=lIRyFm-kipXR8gFGhGUVH6oudZxQ6AtyCGrHgouSLwI,26438
|
6
|
+
edsl/agents/AgentList.py,sha256=WX5kVWGzHi_lbviFNUQ4CgMujwLeSDh-gaNVdutgSJQ,9091
|
7
7
|
edsl/agents/Invigilator.py,sha256=vUjNsQrE724Cepr1XvOp2CTER7GBGZ8XoVl6yzfbeP0,10061
|
8
|
-
edsl/agents/InvigilatorBase.py,sha256=
|
9
|
-
edsl/agents/PromptConstructionMixin.py,sha256
|
8
|
+
edsl/agents/InvigilatorBase.py,sha256=ncha1HF2V1Dz4f50Gekg6AzUXCD2Af82ztfSJZbgOHY,7469
|
9
|
+
edsl/agents/PromptConstructionMixin.py,sha256=-kKj7ryRNlnQN8KQ22nnqXrnxFitrC1d1DHQAx19EeY,15892
|
10
10
|
edsl/agents/__init__.py,sha256=a3H1lxDwu9HR8fwh79C5DgxPSFv_bE2rzQ6y1D8Ba5c,80
|
11
11
|
edsl/agents/descriptors.py,sha256=T2OY6JvbPUC7GVBUKeLELcwPgjztTSi2bnbLfZqbaXY,2925
|
12
12
|
edsl/config.py,sha256=0-do1zGqRF9VpvW---qlzkBvB70IHSQe2OH44ZdXOf8,5617
|
13
13
|
edsl/conjure/AgentConstructionMixin.py,sha256=qLLYJH02HotVwBUYzaHs4QW0t5nsC3NX15qxQLzEwLI,5702
|
14
14
|
edsl/conjure/Conjure.py,sha256=KBmF3d6EjzTI5f-j_cZBowxWQx7jZqezHgfPMkh-h8M,1884
|
15
|
-
edsl/conjure/InputData.py,sha256=
|
15
|
+
edsl/conjure/InputData.py,sha256=w7YhP4hLmPi_lV5Ek5sTj5Lm2FOjdjiVkL9b71aP9r8,22018
|
16
16
|
edsl/conjure/InputDataCSV.py,sha256=m4hHSQogxt7LNcGNxcGRkrbdGy8pIQu5KvXhIEt9i6k,1684
|
17
17
|
edsl/conjure/InputDataMixinQuestionStats.py,sha256=Jav5pqYCLSQ1pAbGV8O9VCBu0vL8Q6pteSEhRKrONuw,6256
|
18
18
|
edsl/conjure/InputDataPyRead.py,sha256=phGmzVi06jdbcxgngAp_lEawGkJr5dAC2B4ho5IrAy4,3064
|
@@ -31,8 +31,8 @@ edsl/conversation/car_buying.py,sha256=70nCXQNCc2kR-NBY6YOPHfkuZ5g7nww2r4GwlYosV
|
|
31
31
|
edsl/conversation/mug_negotiation.py,sha256=mjvAqErD4AjN3G2za2c-X-3axOShW-zAJUeiJqTxVPA,2616
|
32
32
|
edsl/conversation/next_speaker_utilities.py,sha256=bqr5JglCd6bdLc9IZ5zGOAsmN2F4ERiubSMYvZIG7qk,3629
|
33
33
|
edsl/coop/__init__.py,sha256=4iZCwJSzJVyjBYk8ggGxY2kZjq9dXVT1jhyPDNyew4I,115
|
34
|
-
edsl/coop/coop.py,sha256=
|
35
|
-
edsl/coop/utils.py,sha256
|
34
|
+
edsl/coop/coop.py,sha256=GDooSz--4s9blvZoaLh5le4_IiLHATPO4AWqjU2qoyU,26399
|
35
|
+
edsl/coop/utils.py,sha256=-AvaBeqB6Mgc9tNwiFRBhj3-ugsviE2gZXBnPZ9SWV0,3844
|
36
36
|
edsl/data/Cache.py,sha256=f7tuzuA7T4C9qp8BP45UamcmJbvH8RGClr9lbf7PS1s,14880
|
37
37
|
edsl/data/CacheEntry.py,sha256=AnZBUautQc19KhE6NkI87U_P9wDZI2eu-8B1XopPTOI,7235
|
38
38
|
edsl/data/CacheHandler.py,sha256=DTr8nJnbl_SidhsDetqbshu1DV-njPFiPPosUWTIBok,4789
|
@@ -65,7 +65,7 @@ edsl/inference_services/rate_limits_cache.py,sha256=HYslviz7mxF9U4CUTPAkoyBsiXjS
|
|
65
65
|
edsl/inference_services/registry.py,sha256=-Yz86do-KZraunIrziVs9b95EbY-__JUnQb5Ulni7KI,483
|
66
66
|
edsl/inference_services/write_available.py,sha256=NNwhATlaMp8IYY635MSx-oYxt5X15acjAfaqYCo_I1Y,285
|
67
67
|
edsl/jobs/Answers.py,sha256=mtSjlRbVJbqZKA6DBngEwDxIfloRAKkrsTRriMTPRD4,1493
|
68
|
-
edsl/jobs/Jobs.py,sha256=
|
68
|
+
edsl/jobs/Jobs.py,sha256=e4ivXpQ1F5NxaJiuu4z-s24bYCVXJTwZCMjPPJtMgSU,27385
|
69
69
|
edsl/jobs/__init__.py,sha256=aKuAyd_GoalGj-k7djOoVwEbFUE2XLPlikXaA1_8yAg,32
|
70
70
|
edsl/jobs/buckets/BucketCollection.py,sha256=LA8DBVwMdeTFCbSDI0S2cDzfi_Qo6kRizwrG64tE8S4,1844
|
71
71
|
edsl/jobs/buckets/ModelBuckets.py,sha256=1_WPi1wV5k8kO9TuLEA7tDt9rF_myaC5XKyf4T0EmQ8,1969
|
@@ -76,7 +76,7 @@ edsl/jobs/interviews/InterviewStatisticsCollection.py,sha256=_ZZ0fnZBQiIywP9Q_wW
|
|
76
76
|
edsl/jobs/interviews/InterviewStatusDictionary.py,sha256=MSyys4hOWe1d8gfsUvAPbcKrs8YiPnz8jpufBSJL7SU,2485
|
77
77
|
edsl/jobs/interviews/InterviewStatusLog.py,sha256=6u0F8gf5tha39VQL-IK_QPkCsQAYVOx_IesX7TDDX_A,3252
|
78
78
|
edsl/jobs/interviews/InterviewStatusMixin.py,sha256=VV0Pel-crUsLoGpTifeIIkXsLGj0bfuO--UtpRnH-dU,1251
|
79
|
-
edsl/jobs/interviews/InterviewTaskBuildingMixin.py,sha256=
|
79
|
+
edsl/jobs/interviews/InterviewTaskBuildingMixin.py,sha256=LU6mmpsMLolE85WoZgP2WZoohQWPKrK5DLCAZT-92EE,11638
|
80
80
|
edsl/jobs/interviews/ReportErrors.py,sha256=RSzDU2rWwtjfztj7sqaMab0quCiY-X2bG3AEOxhTim8,1745
|
81
81
|
edsl/jobs/interviews/interview_exception_tracking.py,sha256=tIcX92udnkE5fcM5_WXjRF9xgTq2P0uaDXxZf3NQGG0,3271
|
82
82
|
edsl/jobs/interviews/interview_status_enum.py,sha256=KJ-1yLAHdX-p8TiFnM0M3v1tnBwkq4aMCuBX6-ytrI8,229
|
@@ -99,9 +99,9 @@ edsl/language_models/__init__.py,sha256=bvY7Gy6VkX1gSbNkRbGPS-M1kUnb0EohL0FSagaE
|
|
99
99
|
edsl/language_models/registry.py,sha256=J7blAbRFHxr2nWSoe61G4p-6kOgzUlKclJ55xVldKWc,3191
|
100
100
|
edsl/language_models/repair.py,sha256=6KenPSbbQuS7YAhwQPECX1gD6o5E4eqEmIlrUi9UmuM,5926
|
101
101
|
edsl/language_models/unused/ReplicateBase.py,sha256=J1oqf7mEyyKhRwNUomnptVqAsVFYCbS3iTW0EXpKtXo,3331
|
102
|
-
edsl/notebooks/Notebook.py,sha256=
|
102
|
+
edsl/notebooks/Notebook.py,sha256=bMZS_Ua7Pkuqxyj7aVJd7xGm13-5igIPjZF8FilrxRM,7104
|
103
103
|
edsl/notebooks/__init__.py,sha256=VNUA3nNq04slWNbYaNrzOhQJu3AZANpvBniyCJSzJ7U,45
|
104
|
-
edsl/prompts/Prompt.py,sha256=
|
104
|
+
edsl/prompts/Prompt.py,sha256=12cbeQTKqfVQGpd1urqKZeXiDtKz2RAJqftoXS3q-DE,10070
|
105
105
|
edsl/prompts/QuestionInstructionsBase.py,sha256=xico6ob4cqWsHl-txj2RbY_4Ny5u9UqvIjmoTVgjUhk,348
|
106
106
|
edsl/prompts/__init__.py,sha256=Z0ywyJfnV0i-sR1SCdK4mHhgECT5cXpHVA-pKuBTifc,85
|
107
107
|
edsl/prompts/library/agent_instructions.py,sha256=_2kCDYvh3ZOF72VvcIH5jhmHjM6AAgQdkWrHvR52Yhg,1100
|
@@ -118,7 +118,7 @@ edsl/prompts/library/question_rank.py,sha256=WDgXyph0EKWJrSgsW2eqcx3xdU-WA1LEvB2
|
|
118
118
|
edsl/prompts/prompt_config.py,sha256=O3Y5EvBsCeKs9m9IjXiRXOcHWlWvQV0yqsNb2oSR1ow,974
|
119
119
|
edsl/prompts/registry.py,sha256=XOsqGsvNOmIG83jqoszqI72yNZkkszKR4FrEhwSzj_Q,8093
|
120
120
|
edsl/questions/AnswerValidatorMixin.py,sha256=U5i79HoEHpSoevgtx68TSg8a9tELq3R8xMtYyK1L7DQ,12106
|
121
|
-
edsl/questions/QuestionBase.py,sha256=
|
121
|
+
edsl/questions/QuestionBase.py,sha256=ZY6H7bdgfbztYA7-pc93f9qz9OrkpWGCSxZ-gdJcXSM,18986
|
122
122
|
edsl/questions/QuestionBudget.py,sha256=JLp_vsdrJO7j6e9oztYvgZzrI-MzXNeWkYp5-H2S-gQ,6170
|
123
123
|
edsl/questions/QuestionCheckBox.py,sha256=8myLLvSz7jNYuuarUnscGYAUVYOhLLo-XwGUv_YfTSk,6076
|
124
124
|
edsl/questions/QuestionExtract.py,sha256=F3_gzXAYYSNOOA-SMwmWYLEZB3rxAVS9Er4GoS9B_zs,3975
|
@@ -139,20 +139,20 @@ edsl/questions/derived/QuestionYesNo.py,sha256=KtMGuAPYWv-7-9WGa0fIS2UBxf6KKjFpu
|
|
139
139
|
edsl/questions/derived/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
140
140
|
edsl/questions/descriptors.py,sha256=Fjaz8Kz-jMJ4B3VJ9yet9ixFQynLAYkjcXIRsmTVCG4,13283
|
141
141
|
edsl/questions/question_registry.py,sha256=7JvkwFzItwNTXjMwbdfpbZQT_WAXOBxjlSJGCIJ-c1c,5546
|
142
|
-
edsl/questions/settings.py,sha256=
|
143
|
-
edsl/results/Dataset.py,sha256=
|
142
|
+
edsl/questions/settings.py,sha256=er_z0ZW_dgmC5CHLWkaqBJiuWgAYzIund85M5YZFQAI,291
|
143
|
+
edsl/results/Dataset.py,sha256=x3I7qp9iKtnfh4lvolGXClwMS76BXWc7w7pLWCaeI_A,8662
|
144
144
|
edsl/results/Result.py,sha256=IvUFq23LwlBP7JN1QDap1fPTTIPUC0QlYEE4lsiKRqI,13913
|
145
145
|
edsl/results/Results.py,sha256=HkONhTks0st9wc6dmBbgKOBq69ngXNXhGgqUZ33Y57w,34327
|
146
146
|
edsl/results/ResultsDBMixin.py,sha256=Dv34yBuF5tkeoYnzbN1YwuBwKh1T-Y77YOYcWlu-GLY,7883
|
147
147
|
edsl/results/ResultsExportMixin.py,sha256=KQ1GE2JDzrnl4XkyAGnCdgiFtF_mZrhFNDfkNPg_8C8,20501
|
148
148
|
edsl/results/ResultsFetchMixin.py,sha256=VEa0TKDcXbnTinSKs9YaE4WjOSLmlp9Po1_9kklFvSo,848
|
149
149
|
edsl/results/ResultsGGMixin.py,sha256=h5OBPdgUeNg6I_GizOvUvBe7CPz8wrZV9N7dk8W3gkU,4347
|
150
|
-
edsl/results/ResultsToolsMixin.py,sha256=
|
150
|
+
edsl/results/ResultsToolsMixin.py,sha256=I34wfr5k8eA3Tk2Wkb35e28zseXJGv7zMl5wgE5i1k4,2969
|
151
151
|
edsl/results/__init__.py,sha256=2YcyiVtXi-3vIV0ZzOy1PqBLm2gaziufJVi4fdNrAt8,80
|
152
152
|
edsl/scenarios/Scenario.py,sha256=C2HPOcP8YypcWffay6AA4cSPlD35xeMywiDomLCRHcY,14768
|
153
153
|
edsl/scenarios/ScenarioHtmlMixin.py,sha256=EmugmbPJYW5eZS30rM6pDMDQD9yrrvHjmgZWB1qBfq4,1882
|
154
154
|
edsl/scenarios/ScenarioImageMixin.py,sha256=VJ5FqyPrL5-ieORlWMpnjmOAFIau8QFZCIZyEBKgb6I,3530
|
155
|
-
edsl/scenarios/ScenarioList.py,sha256=
|
155
|
+
edsl/scenarios/ScenarioList.py,sha256=mQiREfaTj3GjSsxV-5uUzqJy9dS8C2tbSzlU0OdA37U,18370
|
156
156
|
edsl/scenarios/ScenarioListPdfMixin.py,sha256=0xV033SMygr_ObamXwjbzfxEQ0zFEwAJ1w7Wq1ejjUY,3719
|
157
157
|
edsl/scenarios/__init__.py,sha256=a2CIYQWh9bLeYY4qBJBz7ui7RfxpVd0WlYDf8TaT2D0,45
|
158
158
|
edsl/shared.py,sha256=lgLa-mCk2flIhxXarXLtfXZjXG_6XHhC2A3O8yRTjXc,20
|
@@ -166,7 +166,7 @@ edsl/surveys/Memory.py,sha256=-ikOtkkQldGB_BkPCW3o7AYwV5B_pIwlREw7aVCSHaQ,1113
|
|
166
166
|
edsl/surveys/MemoryPlan.py,sha256=k65OP2oozG_d99OpkBqXXWH5iXxS-ois3hTf8_1iuj8,7786
|
167
167
|
edsl/surveys/Rule.py,sha256=ddZyZSObs4gsKtFSmcXkPigXDX8rrh1NFvAplP02TcA,11092
|
168
168
|
edsl/surveys/RuleCollection.py,sha256=sN7aYDQJG3HmE-WxohgpctcQbHewjwE6NAqEVTxvFP8,13359
|
169
|
-
edsl/surveys/Survey.py,sha256=
|
169
|
+
edsl/surveys/Survey.py,sha256=WBnSFeiiNHGlr9KWH1eT19IjWPKMBrl2i5O7AVhu-Ps,47011
|
170
170
|
edsl/surveys/SurveyCSS.py,sha256=NjJezs2sTlgFprN6IukjGKwNYmNdXnLjzV2w5K4z4RI,8415
|
171
171
|
edsl/surveys/SurveyExportMixin.py,sha256=jVdHVrsXZrKLX9rNsZkWU61kXiUUjlonK_CGqJ7rhbI,6537
|
172
172
|
edsl/surveys/SurveyFlowVisualizationMixin.py,sha256=iPjtGeoVK9ObMVDxrLf4EMgbPl95LZ_IzVxgkk9B-WQ,3918
|
@@ -177,7 +177,7 @@ edsl/tools/__init__.py,sha256=4iRiX1K0Yh8RGwlUBuzipvFfRrofKqCRQ0SzNK_2oiQ,41
|
|
177
177
|
edsl/tools/clusters.py,sha256=uvDN76bfHIHS-ykB2iioXu0gKeP_UyD7Q9ee67w_fV4,6132
|
178
178
|
edsl/tools/embeddings.py,sha256=-mHqApiFbGzj_2Cr_VVl_7XiBBDyPB5-6ZO7IsXvaig,677
|
179
179
|
edsl/tools/embeddings_plotting.py,sha256=fznAqLnjF_K8PkJy1C4hBRObm3f8ebDIxQzrqRXlEJM,3564
|
180
|
-
edsl/tools/plotting.py,sha256=
|
180
|
+
edsl/tools/plotting.py,sha256=DbVNlm8rNCnWHXi5wDPnOviZ1Qxz-rHvtQM1zHWw1f8,3120
|
181
181
|
edsl/tools/summarize.py,sha256=YcdB0IjZn92qv2zVJuxsHfXou810APWYKeaHknsATqM,656
|
182
182
|
edsl/utilities/SystemInfo.py,sha256=qTP_aKwECPxtTnbEjJ7F1QqKU9U3rcEEbppg2ilQGuY,792
|
183
183
|
edsl/utilities/__init__.py,sha256=2AlIXF-iMS-vZyF8lUY7eGO671ONE4YCvX7iUfi2RPA,502
|
@@ -193,8 +193,7 @@ edsl/utilities/interface.py,sha256=U8iScZb4jB1npPwbndpjCove59ow2cbAST4fl-46FdI,1
|
|
193
193
|
edsl/utilities/repair_functions.py,sha256=tftmklAqam6LOQQu_-9U44N-llycffhW8LfO63vBmNw,929
|
194
194
|
edsl/utilities/restricted_python.py,sha256=5-_zUhrNbos7pLhDl9nr8d24auRlquR6w-vKkmNjPiA,2060
|
195
195
|
edsl/utilities/utilities.py,sha256=7LOMa1ahhi2t3SRwEs3VjroAj0A-5Q-Cn83v0HESADQ,10113
|
196
|
-
edsl-0.1.29.
|
197
|
-
edsl-0.1.29.
|
198
|
-
edsl-0.1.29.
|
199
|
-
edsl-0.1.29.
|
200
|
-
edsl-0.1.29.dev3.dist-info/RECORD,,
|
196
|
+
edsl-0.1.29.dev5.dist-info/LICENSE,sha256=_qszBDs8KHShVYcYzdMz3HNMtH-fKN_p5zjoVAVumFc,1111
|
197
|
+
edsl-0.1.29.dev5.dist-info/METADATA,sha256=X5Q6mE9F3GZQDud1QJK5d01m7UOe8OWED-oDlk9Zx2g,4103
|
198
|
+
edsl-0.1.29.dev5.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
|
199
|
+
edsl-0.1.29.dev5.dist-info/RECORD,,
|
File without changes
|
File without changes
|