simile 0.4.7__tar.gz → 0.4.9__tar.gz

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.

Potentially problematic release.


This version of simile might be problematic. Click here for more details.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: simile
3
- Version: 0.4.7
3
+ Version: 0.4.9
4
4
  Summary: Package for interfacing with Simile AI agents for simulation
5
5
  Author-email: Simile AI <cqz@simile.ai>
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "simile"
7
- version = "0.4.7"
7
+ version = "0.4.9"
8
8
  authors = [
9
9
  { name="Simile AI", email="cqz@simile.ai" },
10
10
  ]
@@ -8,6 +8,7 @@ from .models import (
8
8
  Population,
9
9
  PopulationInfo,
10
10
  UpdatePopulationMetadataPayload,
11
+ UpdatePopulationInfoPayload,
11
12
  Agent as AgentModel,
12
13
  DataItem,
13
14
  DeletionResponse,
@@ -197,6 +198,29 @@ class Simile:
197
198
  )
198
199
  return response_data
199
200
 
201
+ async def update_population_info(
202
+ self,
203
+ population_id: Union[str, uuid.UUID],
204
+ name: Optional[str] = None,
205
+ description: Optional[str] = None,
206
+ metadata: Optional[Dict[str, Any]] = None,
207
+ ) -> Population:
208
+ """
209
+ Updates population information (name, description, metadata).
210
+ At least one of name, description, or metadata must be provided.
211
+ Requires write access to the population.
212
+ """
213
+ payload = UpdatePopulationInfoPayload(
214
+ name=name, description=description, metadata=metadata
215
+ )
216
+ response_data = await self._request(
217
+ "PUT",
218
+ f"populations/update/{str(population_id)}",
219
+ json=payload.model_dump(mode="json", exclude_none=True),
220
+ response_model=Population,
221
+ )
222
+ return response_data
223
+
200
224
  async def get_population_info(
201
225
  self, population_id: Union[str, uuid.UUID]
202
226
  ) -> PopulationInfo:
@@ -445,6 +469,8 @@ class Simile:
445
469
  self,
446
470
  agent_id: uuid.UUID,
447
471
  question: str,
472
+ question_id: Optional[str] = None,
473
+ study_id: Optional[str] = None,
448
474
  data_types: Optional[List[str]] = None,
449
475
  exclude_data_types: Optional[List[str]] = None,
450
476
  images: Optional[Dict[str, str]] = None,
@@ -465,6 +491,8 @@ class Simile:
465
491
  Args:
466
492
  agent_id: The agent to query
467
493
  question: The question to ask
494
+ question_id: Optional question ID for tracking
495
+ study_id: Optional study ID for tracking
468
496
  data_types: Optional data types to include
469
497
  exclude_data_types: Optional data types to exclude
470
498
  images: Optional images dict
@@ -478,6 +506,8 @@ class Simile:
478
506
  # Build request payload directly as dict to avoid serialization issues
479
507
  request_payload = {
480
508
  "question": question,
509
+ "question_id": question_id,
510
+ "study_id": study_id,
481
511
  "data_types": data_types,
482
512
  "exclude_data_types": exclude_data_types,
483
513
  "images": images,
@@ -516,6 +546,8 @@ class Simile:
516
546
  agent_id: uuid.UUID,
517
547
  question: str,
518
548
  options: List[str],
549
+ question_id: Optional[str] = None,
550
+ study_id: Optional[str] = None,
519
551
  data_types: Optional[List[str]] = None,
520
552
  exclude_data_types: Optional[List[str]] = None,
521
553
  images: Optional[Dict[str, str]] = None,
@@ -537,6 +569,8 @@ class Simile:
537
569
  agent_id: The agent to query
538
570
  question: The question to ask
539
571
  options: The options to choose from
572
+ question_id: Optional question ID for tracking
573
+ study_id: Optional study ID for tracking
540
574
  data_types: Optional data types to include
541
575
  exclude_data_types: Optional data types to exclude
542
576
  images: Optional images dict
@@ -551,6 +585,8 @@ class Simile:
551
585
  request_payload = {
552
586
  "question": question,
553
587
  "options": options,
588
+ "question_id": question_id,
589
+ "study_id": study_id,
554
590
  "data_types": data_types,
555
591
  "exclude_data_types": exclude_data_types,
556
592
  "images": images,
@@ -53,6 +53,21 @@ class UpdatePopulationMetadataPayload(BaseModel):
53
53
  mode: Optional[Literal["merge", "replace"]] = "merge"
54
54
 
55
55
 
56
+ class UpdatePopulationInfoPayload(BaseModel):
57
+ name: Optional[str] = None
58
+ description: Optional[str] = None
59
+ metadata: Optional[Dict[str, Any]] = None
60
+
61
+ @validator("name", "description", "metadata")
62
+ def validate_at_least_one_field(cls, v, values):
63
+ # Check if at least one field is provided
64
+ if not any(values.values()):
65
+ raise ValueError(
66
+ "At least one of 'name', 'description', or 'metadata' must be provided"
67
+ )
68
+ return v
69
+
70
+
56
71
  class InitialDataItemPayload(BaseModel):
57
72
  data_type: str
58
73
  content: Any
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: simile
3
- Version: 0.4.7
3
+ Version: 0.4.9
4
4
  Summary: Package for interfacing with Simile AI agents for simulation
5
5
  Author-email: Simile AI <cqz@simile.ai>
6
6
  License: MIT
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes