edsl 0.1.32__py3-none-any.whl → 0.1.33.dev1__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 CHANGED
@@ -1 +1 @@
1
- __version__ = "0.1.32"
1
+ __version__ = "0.1.33.dev1"
edsl/jobs/Jobs.py CHANGED
@@ -562,7 +562,7 @@ class Jobs(Base):
562
562
  )
563
563
  return results
564
564
  else:
565
- duration = 10 if len(self) < 10 else 60
565
+ duration = 5
566
566
  time_checked = datetime.now().strftime("%Y-%m-%d %I:%M:%S %p")
567
567
  frames = ["⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"]
568
568
  start_time = time.time()
@@ -390,7 +390,7 @@ class TaskHistory:
390
390
 
391
391
  <h2>Question</h2>
392
392
  <div class="question-detail">
393
- {{ interview.survey.get_question(question).html() }}
393
+ {{ interview.survey.get_question(question).html(interview.scenario,interview.agent) }}
394
394
  </div>
395
395
 
396
396
  <h2>Scenario</h2>
@@ -2,7 +2,7 @@
2
2
 
3
3
  from __future__ import annotations
4
4
  import json
5
- from typing import Dict, List, Optional
5
+ from typing import Dict, List, Optional, Union
6
6
  from uuid import uuid4
7
7
  from edsl.Base import Base
8
8
  from edsl.utilities.decorators import add_edsl_version, remove_edsl_version
@@ -56,6 +56,8 @@ class Notebook(Base):
56
56
 
57
57
  @classmethod
58
58
  def from_script(cls, path: str, name: Optional[str] = None) -> "Notebook":
59
+ import nbformat
60
+
59
61
  # Read the script file
60
62
  with open(path, "r") as script_file:
61
63
  script_content = script_file.read()
@@ -92,12 +94,26 @@ class Notebook(Base):
92
94
  """
93
95
  return self.data == other.data
94
96
 
97
+ def __hash__(self) -> int:
98
+ """
99
+ Allow the model to be used as a key in a dictionary.
100
+ """
101
+ from edsl.utilities.utilities import dict_hash
102
+
103
+ return dict_hash(self.data["cells"])
104
+
105
+ def _to_dict(self) -> dict:
106
+ """
107
+ Serialize to a dictionary.
108
+ """
109
+ return {"name": self.name, "data": self.data}
110
+
95
111
  @add_edsl_version
96
112
  def to_dict(self) -> dict:
97
113
  """
98
114
  Convert a Notebook to a dictionary.
99
115
  """
100
- return {"name": self.name, "data": self.data}
116
+ return self._to_dict()
101
117
 
102
118
  @classmethod
103
119
  @remove_edsl_version
@@ -111,6 +127,8 @@ class Notebook(Base):
111
127
  """
112
128
  Save the notebook at the specified filepath.
113
129
  """
130
+ import nbformat
131
+
114
132
  nbformat.write(nbformat.from_dict(self.data), fp=path)
115
133
 
116
134
  def print(self):
@@ -441,6 +441,7 @@ class QuestionBase(
441
441
  def html(
442
442
  self,
443
443
  scenario: Optional[dict] = None,
444
+ agent: Optional[dict] = {},
444
445
  include_question_name: bool = False,
445
446
  height: Optional[int] = None,
446
447
  width: Optional[int] = None,
@@ -473,7 +474,7 @@ class QuestionBase(
473
474
 
474
475
  params = {
475
476
  "question_name": self.question_name,
476
- "question_text": Template(self.question_text).render(scenario),
477
+ "question_text": Template(self.question_text).render(scenario, agent=agent),
477
478
  "question_type": self.question_type,
478
479
  "question_content": Template(question_content).render(scenario),
479
480
  "include_question_name": include_question_name,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: edsl
3
- Version: 0.1.32
3
+ Version: 0.1.33.dev1
4
4
  Summary: Create and analyze LLM-based surveys
5
5
  Home-page: https://www.expectedparrot.com/
6
6
  License: MIT
@@ -1,7 +1,7 @@
1
1
  edsl/Base.py,sha256=ttNxUotSd9LSEJl2w6LdMtT78d0nMQvYDJ0q4JkqBfg,8945
2
2
  edsl/BaseDiff.py,sha256=RoVEh52UJs22yMa7k7jv8se01G62jJNWnBzaZngo-Ug,8260
3
3
  edsl/__init__.py,sha256=E6PkWI_owu8AUc4uJs2XWDVozqSbcRWzsIqf8_Kskho,1631
4
- edsl/__version__.py,sha256=GbbcUKhE6NYfh8LsIe9sL2m1pABous_0kRd-OZzd_C8,23
4
+ edsl/__version__.py,sha256=X6lFB08-Y7atQgG3fk8iymIvdiZo3YA8OnNvAv2d2Zc,28
5
5
  edsl/agents/Agent.py,sha256=qNJsQkN6HuTKqJrQbuUEgRX3Wo7Dwukle0oNWPi0UIE,27191
6
6
  edsl/agents/AgentList.py,sha256=_MsdeOEgaANAceLIXwuLC22mwlBn0ruGX4GEqz8_SSY,9467
7
7
  edsl/agents/Invigilator.py,sha256=8nv98bjfal6Q-GVmsxj5Isqn-GLqXDXEijSai3KAbgQ,10923
@@ -70,7 +70,7 @@ edsl/inference_services/rate_limits_cache.py,sha256=HYslviz7mxF9U4CUTPAkoyBsiXjS
70
70
  edsl/inference_services/registry.py,sha256=9bPIn6EJsStsNN_3bzkBDVoOLgwAtmUKle18mZskFJs,865
71
71
  edsl/inference_services/write_available.py,sha256=NNwhATlaMp8IYY635MSx-oYxt5X15acjAfaqYCo_I1Y,285
72
72
  edsl/jobs/Answers.py,sha256=z4TADN-iHIrbMtI1jVyiaetv0OkTv768dFBpREIQC6c,1799
73
- edsl/jobs/Jobs.py,sha256=EGKIq03bf6IrDwW0nkRfPxCngfq9iUbJ4JxTd7wROL4,33309
73
+ edsl/jobs/Jobs.py,sha256=jnfMbz4VHdDJifGmn3wxEm1_NvYGT6L7LlD41pT9Rsk,33282
74
74
  edsl/jobs/__init__.py,sha256=aKuAyd_GoalGj-k7djOoVwEbFUE2XLPlikXaA1_8yAg,32
75
75
  edsl/jobs/buckets/BucketCollection.py,sha256=LA8DBVwMdeTFCbSDI0S2cDzfi_Qo6kRizwrG64tE8S4,1844
76
76
  edsl/jobs/buckets/ModelBuckets.py,sha256=hxw_tzc0V42CiB7mh5jIxlgwDVJ-zFZhlLtKrHEg8ho,2419
@@ -92,7 +92,7 @@ edsl/jobs/runners/JobsRunnerStatusData.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5N
92
92
  edsl/jobs/runners/JobsRunnerStatusMixin.py,sha256=MmVK2udusAbQ3KCkQPiQYjWVDfKprBk9Ecelgui__0k,13424
93
93
  edsl/jobs/tasks/QuestionTaskCreator.py,sha256=f-hF7TMdMMjQ5AQMpMJXrFdBUNSLrLHHl1sun774f_U,10394
94
94
  edsl/jobs/tasks/TaskCreators.py,sha256=XqAbNU33378Z4PQncokbfJwnKt3KHR9aqa5fKYRDpfg,2694
95
- edsl/jobs/tasks/TaskHistory.py,sha256=elDENiSj8A2WZ0vPfF7Lq7AC6DkGqsZgvq0XZfnk-7Y,16186
95
+ edsl/jobs/tasks/TaskHistory.py,sha256=PV1G1VdaZNV3GQ_m1L4a_7uPmrEGZw4K-hn8gJe_aDE,16220
96
96
  edsl/jobs/tasks/TaskStatusLog.py,sha256=bqH36a32F12fjX-M-4lNOhHaK2-WLFzKE-r0PxZPRjI,546
97
97
  edsl/jobs/tasks/task_management.py,sha256=KMToZuXzMlnHRHUF_VHL0-lHMTGhklf2GHVuwEEHtzA,301
98
98
  edsl/jobs/tasks/task_status_enum.py,sha256=DOyrz61YlIS8R1W7izJNphcLrJ7I_ReUlfdRmk23h0Q,5333
@@ -105,7 +105,7 @@ edsl/language_models/__init__.py,sha256=bvY7Gy6VkX1gSbNkRbGPS-M1kUnb0EohL0FSagaE
105
105
  edsl/language_models/registry.py,sha256=h5eLN7lsqpK5vcEsxn3gsARb9Qyx-k3jq2MMnyuATcY,3727
106
106
  edsl/language_models/repair.py,sha256=xaNunBRpMWgceSPOzk-ugp5WXtgLuuhj23TgXUeOobw,5963
107
107
  edsl/language_models/unused/ReplicateBase.py,sha256=J1oqf7mEyyKhRwNUomnptVqAsVFYCbS3iTW0EXpKtXo,3331
108
- edsl/notebooks/Notebook.py,sha256=qwDqUN2Gujr7WUneRrshzRBjHvcPpOIBRyqcrAOc90Q,7341
108
+ edsl/notebooks/Notebook.py,sha256=xi9xkxmkQ6-DwhqbjjMLpYKB0VJV20AtwEonJ6mnqjo,7739
109
109
  edsl/notebooks/__init__.py,sha256=VNUA3nNq04slWNbYaNrzOhQJu3AZANpvBniyCJSzJ7U,45
110
110
  edsl/prompts/Prompt.py,sha256=12cbeQTKqfVQGpd1urqKZeXiDtKz2RAJqftoXS3q-DE,10070
111
111
  edsl/prompts/QuestionInstructionsBase.py,sha256=xico6ob4cqWsHl-txj2RbY_4Ny5u9UqvIjmoTVgjUhk,348
@@ -124,7 +124,7 @@ edsl/prompts/library/question_rank.py,sha256=WDgXyph0EKWJrSgsW2eqcx3xdU-WA1LEvB2
124
124
  edsl/prompts/prompt_config.py,sha256=O3Y5EvBsCeKs9m9IjXiRXOcHWlWvQV0yqsNb2oSR1ow,974
125
125
  edsl/prompts/registry.py,sha256=XOsqGsvNOmIG83jqoszqI72yNZkkszKR4FrEhwSzj_Q,8093
126
126
  edsl/questions/AnswerValidatorMixin.py,sha256=U5i79HoEHpSoevgtx68TSg8a9tELq3R8xMtYyK1L7DQ,12106
127
- edsl/questions/QuestionBase.py,sha256=L0-IMnSGiUh5Uw7kFDsPV057mR9tL9aMwHUtxjLlKsg,19017
127
+ edsl/questions/QuestionBase.py,sha256=XVB_G6ksX-rYq_mJlWlNHqaD68cJrG7iFymo7rWKGaU,19066
128
128
  edsl/questions/QuestionBudget.py,sha256=aaRvSxBDzrQS8o4RBGsALZkSnKqGVJcHkDeEPAS2pd0,5974
129
129
  edsl/questions/QuestionCheckBox.py,sha256=d-79SmqZgfPEHCMCzIdjDQJ2JSKJbFxEez05iguY3Ro,5958
130
130
  edsl/questions/QuestionExtract.py,sha256=QxVGhgJHtxaPCOS0yqPdO4lsF5SIjjrIBlaiGXA0KjE,3818
@@ -203,7 +203,7 @@ edsl/utilities/interface.py,sha256=AaKpWiwWBwP2swNXmnFlIf3ZFsjfsR5bjXQAW47tD-8,1
203
203
  edsl/utilities/repair_functions.py,sha256=tftmklAqam6LOQQu_-9U44N-llycffhW8LfO63vBmNw,929
204
204
  edsl/utilities/restricted_python.py,sha256=5-_zUhrNbos7pLhDl9nr8d24auRlquR6w-vKkmNjPiA,2060
205
205
  edsl/utilities/utilities.py,sha256=2KwKc1J0lu6_CjIAKaufvfLOJ4j3XGKyClwJ6TjKLxM,11157
206
- edsl-0.1.32.dist-info/LICENSE,sha256=_qszBDs8KHShVYcYzdMz3HNMtH-fKN_p5zjoVAVumFc,1111
207
- edsl-0.1.32.dist-info/METADATA,sha256=SLvkC-0i6btmF3DUH20rFk1cPs1Yn_UVU78xYTQj7mI,4301
208
- edsl-0.1.32.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
209
- edsl-0.1.32.dist-info/RECORD,,
206
+ edsl-0.1.33.dev1.dist-info/LICENSE,sha256=_qszBDs8KHShVYcYzdMz3HNMtH-fKN_p5zjoVAVumFc,1111
207
+ edsl-0.1.33.dev1.dist-info/METADATA,sha256=7-OQHBeU2oBSZ54VSVS8JDM3n4iMWSO0eoE5s_Ajq2s,4306
208
+ edsl-0.1.33.dev1.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
209
+ edsl-0.1.33.dev1.dist-info/RECORD,,