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.
@@ -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(
@@ -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 = False) -> ScenarioList:
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 + '_number'] = index + 1
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
- return memory_dag + rule_dag
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 not model:
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
- ) GROUP BY theme
97
- ORDER BY mentions DESC
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.dev3
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=KTeLw349pnwI0-4pMOlda9v4escQRhAXeA60NAeoZ4M,28
5
- edsl/agents/Agent.py,sha256=_PvcQIjeJpyn-ZLOPl3d8f0UZ2AmW-PuHjl9nuhzOEY,25955
6
- edsl/agents/AgentList.py,sha256=GK4AeQ7u9_1bR29UqiJOVnq7lqL_4JuUxGEHuM3ZQF0,9099
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=IRk2aVSJM3cTXgyuuoc7Dc9oBs311UK0mjkTDmgCjbU,7282
9
- edsl/agents/PromptConstructionMixin.py,sha256=Yovq-7wZG8i95QLEee90Xi3AFp3TpbzGhM-kdKNLZNg,5129
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=y2MOf0smzgG-KtDyL8PLygivspIXZuAaAJW_yzpTqHQ,20750
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=JvRgnZqQfuO-2idiW3etAk2RNZ9yaAzmLMYt8KZ0qhU,24840
35
- edsl/coop/utils.py,sha256=OVfVUIBCH5ATj0yFLe0Ui0_KYGwwzWsVHqyavVVaN_w,3773
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=zRJMeqeOSrkZrVvoc3KUw1dXW6C30imtVCWKTglpxZw,27061
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=0RabzKbMwc5Calr94bHDtzFqi8xQ1l2-DYHApEo5kEw,11606
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=ozsSfmmfVSF3-2CwpK51i8cARSjOOOEGvZ_gGhqIAzE,6045
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=LIfM5RwnhyJFOAmVdd5GlgMtJNWcMjG0TszMTJfidFc,9554
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=5EbRKXnQIt0TYSHzQcyAP2VV5OV5rrxPYTnDImNg37o,17928
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=Qk2imv_7N8uFGLoTEr163lbaKPbD2Begd17Hbh4GZKA,290
143
- edsl/results/Dataset.py,sha256=v_6e1khpfs5Ft-b7GgTKhitr4l9sys4rb_4z-dOdj68,7737
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=EMfbhw4CuYVEJZ2xPJcCcaW0Dr-r9wpNJ0X-uF8UgS4,2939
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=0yH58tbcKJxflsQVcOwh98uU_pzW3w3AGQdKHzftdZk,17895
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=Ao1AJpUCebmx30vLpNvUf524ENrmUzddiyfOiypbkV4,45526
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=fzDw5IebaKeYH70qMkoirPx8rRah_49WO9RQpl_It5c,3093
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.dev3.dist-info/LICENSE,sha256=_qszBDs8KHShVYcYzdMz3HNMtH-fKN_p5zjoVAVumFc,1111
197
- edsl-0.1.29.dev3.dist-info/METADATA,sha256=SHjFA4V7BUbdt63W-l60YPIyaQlKX0Y6Y_BAj8ODvjM,4102
198
- edsl-0.1.29.dev3.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
199
- edsl-0.1.29.dev3.dist-info/entry_points.txt,sha256=yqJs04hJLRusoLzIYXGv8tl4TH__0D5SDRwLKV9IJCg,56
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,,
@@ -1,3 +0,0 @@
1
- [console_scripts]
2
- postinstall=scripts.postinstall:main
3
-