everyrow 0.1.0__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.
Files changed (183) hide show
  1. everyrow/__init__.py +4 -0
  2. everyrow/api_utils.py +45 -0
  3. everyrow/citations.py +46 -0
  4. everyrow/constants.py +4 -0
  5. everyrow/generated/__init__.py +8 -0
  6. everyrow/generated/api/__init__.py +1 -0
  7. everyrow/generated/api/default/__init__.py +1 -0
  8. everyrow/generated/api/default/continue_task_endpoint_tasks_continue_post.py +208 -0
  9. everyrow/generated/api/default/copy_artifacts_artifacts_copy_post.py +166 -0
  10. everyrow/generated/api/default/copy_workflow_endpoint_workflows_copy_post.py +166 -0
  11. everyrow/generated/api/default/create_api_key_endpoint_api_keys_create_post.py +186 -0
  12. everyrow/generated/api/default/create_session_endpoint_sessions_create_post.py +198 -0
  13. everyrow/generated/api/default/create_workflow_from_artifact_workflows_from_artifact_post.py +174 -0
  14. everyrow/generated/api/default/export_to_google_sheets_export_post.py +168 -0
  15. everyrow/generated/api/default/generate_feedback_endpoint_tasks_generate_feedback_post.py +186 -0
  16. everyrow/generated/api/default/get_artifacts_artifacts_get.py +260 -0
  17. everyrow/generated/api/default/get_default_timeout_seconds_models_default_timeout_seconds_get.py +165 -0
  18. everyrow/generated/api/default/get_job_progress_for_task_jobs_progress_get.py +167 -0
  19. everyrow/generated/api/default/get_metrics_metrics_get.py +80 -0
  20. everyrow/generated/api/default/get_queues_stats_jobs_queues_get.py +123 -0
  21. everyrow/generated/api/default/get_task_status_endpoint_tasks_task_id_status_get.py +193 -0
  22. everyrow/generated/api/default/get_user_usage_usage_get.py +123 -0
  23. everyrow/generated/api/default/healthz_healthz_get.py +127 -0
  24. everyrow/generated/api/default/import_from_google_sheets_import_post.py +170 -0
  25. everyrow/generated/api/default/interrupt_chat_task_tasks_chat_interrupt_post.py +172 -0
  26. everyrow/generated/api/default/list_api_keys_endpoint_api_keys_get.py +186 -0
  27. everyrow/generated/api/default/re_execute_task_endpoint_tasks_re_execute_post.py +192 -0
  28. everyrow/generated/api/default/revoke_api_key_endpoint_api_keys_key_id_revoke_post.py +181 -0
  29. everyrow/generated/api/default/revoke_jobs_for_task_jobs_revoke_post.py +164 -0
  30. everyrow/generated/api/default/rollback_to_message_endpoint_tasks_chat_rollback_post.py +186 -0
  31. everyrow/generated/api/default/submit_chat_task_tasks_chat_post.py +164 -0
  32. everyrow/generated/api/default/submit_task_tasks_post.py +172 -0
  33. everyrow/generated/api/default/task_resource_estimation_task_resource_estimation_post.py +319 -0
  34. everyrow/generated/api/default/trigger_workflow_execution_endpoint_workflows_trigger_post.py +166 -0
  35. everyrow/generated/api/default/whoami_whoami_get.py +127 -0
  36. everyrow/generated/client.py +268 -0
  37. everyrow/generated/errors.py +16 -0
  38. everyrow/generated/models/__init__.py +281 -0
  39. everyrow/generated/models/agent_improvement_instruction.py +69 -0
  40. everyrow/generated/models/agent_query_params.py +362 -0
  41. everyrow/generated/models/agent_query_params_system_prompt_kind_type_0.py +10 -0
  42. everyrow/generated/models/agent_task_args.py +163 -0
  43. everyrow/generated/models/agent_task_args_processing_mode.py +9 -0
  44. everyrow/generated/models/allowed_suggestions.py +8 -0
  45. everyrow/generated/models/api_key_info.py +163 -0
  46. everyrow/generated/models/artifact_changed_payload.py +89 -0
  47. everyrow/generated/models/artifact_group_record.py +330 -0
  48. everyrow/generated/models/artifact_group_record_metadata_type_0.py +46 -0
  49. everyrow/generated/models/artifact_group_record_trace_mapping_type_0.py +46 -0
  50. everyrow/generated/models/artifact_status.py +14 -0
  51. everyrow/generated/models/auto_cohort_conversation_message.py +533 -0
  52. everyrow/generated/models/aux_data.py +128 -0
  53. everyrow/generated/models/aux_data_source_bank.py +59 -0
  54. everyrow/generated/models/chat_completion_message_tool_call.py +46 -0
  55. everyrow/generated/models/chat_message_metadata.py +193 -0
  56. everyrow/generated/models/concatenate_query_params.py +46 -0
  57. everyrow/generated/models/concatenate_request.py +306 -0
  58. everyrow/generated/models/continue_reason.py +9 -0
  59. everyrow/generated/models/continue_task_request.py +133 -0
  60. everyrow/generated/models/controller_improvement_round.py +79 -0
  61. everyrow/generated/models/conversation_changed_payload.py +89 -0
  62. everyrow/generated/models/copy_artifacts_request.py +70 -0
  63. everyrow/generated/models/copy_artifacts_response.py +70 -0
  64. everyrow/generated/models/copy_workflow_request.py +62 -0
  65. everyrow/generated/models/copy_workflow_response.py +70 -0
  66. everyrow/generated/models/create_api_key_request.py +95 -0
  67. everyrow/generated/models/create_api_key_response.py +96 -0
  68. everyrow/generated/models/create_group_query_params.py +61 -0
  69. everyrow/generated/models/create_group_request.py +305 -0
  70. everyrow/generated/models/create_query_params.py +61 -0
  71. everyrow/generated/models/create_request.py +305 -0
  72. everyrow/generated/models/create_session_request.py +62 -0
  73. everyrow/generated/models/create_session_response.py +63 -0
  74. everyrow/generated/models/create_workflow_from_artifact_request.py +92 -0
  75. everyrow/generated/models/create_workflow_from_artifact_response.py +70 -0
  76. everyrow/generated/models/data_frame_method.py +18 -0
  77. everyrow/generated/models/date_cutoffs.py +145 -0
  78. everyrow/generated/models/dedupe_mode.py +9 -0
  79. everyrow/generated/models/dedupe_query_params.py +174 -0
  80. everyrow/generated/models/dedupe_request_params.py +311 -0
  81. everyrow/generated/models/deep_merge_public_params.py +143 -0
  82. everyrow/generated/models/deep_merge_request.py +313 -0
  83. everyrow/generated/models/deep_rank_public_params.py +99 -0
  84. everyrow/generated/models/deep_rank_request.py +313 -0
  85. everyrow/generated/models/deep_screen_public_params.py +122 -0
  86. everyrow/generated/models/deep_screen_request.py +313 -0
  87. everyrow/generated/models/derive_expression.py +69 -0
  88. everyrow/generated/models/derive_query_params.py +75 -0
  89. everyrow/generated/models/derive_request.py +307 -0
  90. everyrow/generated/models/document_query_tool.py +12 -0
  91. everyrow/generated/models/drop_columns_query_params.py +61 -0
  92. everyrow/generated/models/drop_columns_request.py +305 -0
  93. everyrow/generated/models/embedding_models.py +9 -0
  94. everyrow/generated/models/event_type.py +14 -0
  95. everyrow/generated/models/execution_metadata.py +146 -0
  96. everyrow/generated/models/export_request.py +75 -0
  97. everyrow/generated/models/export_request_token_data.py +46 -0
  98. everyrow/generated/models/export_to_google_sheets_export_post_response_export_to_google_sheets_export_post.py +46 -0
  99. everyrow/generated/models/filter_query_params.py +91 -0
  100. everyrow/generated/models/filter_request.py +305 -0
  101. everyrow/generated/models/flatten_query_params.py +46 -0
  102. everyrow/generated/models/flatten_request.py +305 -0
  103. everyrow/generated/models/generate_feedback_request.py +62 -0
  104. everyrow/generated/models/group_by_query_params.py +62 -0
  105. everyrow/generated/models/group_by_request.py +305 -0
  106. everyrow/generated/models/healthz_healthz_get_response_healthz_healthz_get.py +46 -0
  107. everyrow/generated/models/http_validation_error.py +79 -0
  108. everyrow/generated/models/image_chat_content_part.py +80 -0
  109. everyrow/generated/models/image_chat_content_part_image_url.py +46 -0
  110. everyrow/generated/models/import_from_google_sheets_import_post_response_import_from_google_sheets_import_post.py +46 -0
  111. everyrow/generated/models/import_request.py +83 -0
  112. everyrow/generated/models/import_request_token_data.py +46 -0
  113. everyrow/generated/models/insufficient_balance_error.py +81 -0
  114. everyrow/generated/models/join_query_params.py +73 -0
  115. everyrow/generated/models/join_request.py +305 -0
  116. everyrow/generated/models/llm_enum.py +54 -0
  117. everyrow/generated/models/map_agent_request_params.py +313 -0
  118. everyrow/generated/models/map_multi_agent_request_params.py +313 -0
  119. everyrow/generated/models/message_created_payload.py +98 -0
  120. everyrow/generated/models/multi_agent_effort_level.py +10 -0
  121. everyrow/generated/models/multi_agent_query_params.py +264 -0
  122. everyrow/generated/models/multi_modal_chat_message.py +160 -0
  123. everyrow/generated/models/multi_modal_chat_message_role.py +10 -0
  124. everyrow/generated/models/preview_metadata.py +144 -0
  125. everyrow/generated/models/processing_mode.py +10 -0
  126. everyrow/generated/models/progress_status.py +83 -0
  127. everyrow/generated/models/queue_stats.py +77 -0
  128. everyrow/generated/models/reduce_agent_request_params.py +305 -0
  129. everyrow/generated/models/reduce_multi_agent_request_params.py +305 -0
  130. everyrow/generated/models/resource_estimation_response.py +85 -0
  131. everyrow/generated/models/response_schema_type.py +9 -0
  132. everyrow/generated/models/revoke_api_key_response.py +61 -0
  133. everyrow/generated/models/rollback_to_message_request.py +62 -0
  134. everyrow/generated/models/rollback_to_message_response.py +77 -0
  135. everyrow/generated/models/session_changed_payload.py +69 -0
  136. everyrow/generated/models/simple_chat_message.py +121 -0
  137. everyrow/generated/models/simple_chat_message_role.py +10 -0
  138. everyrow/generated/models/simple_chat_message_with_tool_calls.py +156 -0
  139. everyrow/generated/models/source_database_entry.py +92 -0
  140. everyrow/generated/models/standalone_artifact_record.py +278 -0
  141. everyrow/generated/models/standalone_artifact_record_metadata_type_0.py +46 -0
  142. everyrow/generated/models/standalone_artifact_record_trace_mapping_type_0.py +46 -0
  143. everyrow/generated/models/status_count.py +71 -0
  144. everyrow/generated/models/status_count_status.py +13 -0
  145. everyrow/generated/models/submit_chat_task_body.py +497 -0
  146. everyrow/generated/models/submit_chat_task_body_selected_task_type_type_0.py +11 -0
  147. everyrow/generated/models/submit_task_body.py +745 -0
  148. everyrow/generated/models/task_changed_payload.py +105 -0
  149. everyrow/generated/models/task_effort.py +10 -0
  150. everyrow/generated/models/task_id_request.py +62 -0
  151. everyrow/generated/models/task_insert.py +725 -0
  152. everyrow/generated/models/task_insert_query_params.py +46 -0
  153. everyrow/generated/models/task_metadata.py +323 -0
  154. everyrow/generated/models/task_metadata_cols_to_rename_type_0.py +46 -0
  155. everyrow/generated/models/task_response.py +62 -0
  156. everyrow/generated/models/task_status.py +12 -0
  157. everyrow/generated/models/task_status_response.py +112 -0
  158. everyrow/generated/models/task_type.py +31 -0
  159. everyrow/generated/models/text_chat_content_part.py +74 -0
  160. everyrow/generated/models/tool_response_message.py +127 -0
  161. everyrow/generated/models/toolkit_constants.py +80 -0
  162. everyrow/generated/models/trace_changed_payload.py +94 -0
  163. everyrow/generated/models/trace_info.py +78 -0
  164. everyrow/generated/models/trigger_workflow_execution_request.py +112 -0
  165. everyrow/generated/models/trigger_workflow_execution_request_task_params.py +65 -0
  166. everyrow/generated/models/trigger_workflow_execution_request_task_params_additional_property.py +46 -0
  167. everyrow/generated/models/trigger_workflow_execution_response.py +69 -0
  168. everyrow/generated/models/upload_csv_payload.py +310 -0
  169. everyrow/generated/models/upload_csv_query_params.py +114 -0
  170. everyrow/generated/models/usage_response.py +77 -0
  171. everyrow/generated/models/validation_error.py +90 -0
  172. everyrow/generated/models/whoami_whoami_get_response_whoami_whoami_get.py +46 -0
  173. everyrow/generated/models/workflow_leaf_node_input.py +70 -0
  174. everyrow/generated/py.typed +1 -0
  175. everyrow/generated/types.py +54 -0
  176. everyrow/ops.py +672 -0
  177. everyrow/result.py +25 -0
  178. everyrow/session.py +53 -0
  179. everyrow/task.py +143 -0
  180. everyrow-0.1.0.dist-info/METADATA +238 -0
  181. everyrow-0.1.0.dist-info/RECORD +183 -0
  182. everyrow-0.1.0.dist-info/WHEEL +4 -0
  183. everyrow-0.1.0.dist-info/licenses/LICENSE.txt +21 -0
everyrow/session.py ADDED
@@ -0,0 +1,53 @@
1
+ import os
2
+ from collections.abc import AsyncGenerator
3
+ from contextlib import asynccontextmanager
4
+ from datetime import datetime
5
+ from uuid import UUID
6
+
7
+ from everyrow.api_utils import handle_response
8
+ from everyrow.generated.api.default import (
9
+ create_session_endpoint_sessions_create_post,
10
+ )
11
+ from everyrow.generated.client import AuthenticatedClient
12
+ from everyrow.generated.models.create_session_request import CreateSessionRequest
13
+
14
+
15
+ class Session:
16
+ """Session object containing client and session_id."""
17
+
18
+ def __init__(self, client: AuthenticatedClient, session_id: UUID):
19
+ self.client = client
20
+ self.session_id = session_id
21
+
22
+ def get_url(self) -> str:
23
+ """Get the URL to view this session in the web interface.
24
+
25
+ Returns:
26
+ str: URL to the session in the format {EVERYROW_BASE_URL}/sessions/{session_id}
27
+ Defaults to https://everyrow.io/sessions/{session_id} if EVERYROW_BASE_URL
28
+ is not set in environment variables.
29
+ """
30
+ base_url = os.environ.get("EVERYROW_BASE_URL", "https://everyrow.io")
31
+ return f"{base_url}/sessions/{self.session_id}"
32
+
33
+
34
+ @asynccontextmanager
35
+ async def create_session(
36
+ client: AuthenticatedClient,
37
+ name: str | None = None,
38
+ ) -> AsyncGenerator[Session, None]:
39
+ """Create a new session and yield it as an async context manager.
40
+
41
+ Args:
42
+ client: Authenticated client to use for session creation.
43
+ The client should already be in an async context manager.
44
+ name: Name for the session. If not provided, defaults to
45
+ "everyrow-sdk-session-{timestamp}".
46
+ """
47
+ response = await create_session_endpoint_sessions_create_post.asyncio(
48
+ client=client,
49
+ body=CreateSessionRequest(name=name or f"everyrow-sdk-session-{datetime.now().isoformat()}"),
50
+ )
51
+ response = handle_response(response)
52
+ session = Session(client=client, session_id=response.session_id)
53
+ yield session
everyrow/task.py ADDED
@@ -0,0 +1,143 @@
1
+ import asyncio
2
+ from typing import TypeVar, cast
3
+ from uuid import UUID
4
+
5
+ from pandas import DataFrame
6
+ from pydantic.main import BaseModel
7
+
8
+ from everyrow.api_utils import handle_response
9
+ from everyrow.citations import render_citations_group, render_citations_standalone
10
+ from everyrow.constants import EveryrowError
11
+ from everyrow.generated.api.default import (
12
+ get_artifacts_artifacts_get,
13
+ get_task_status_endpoint_tasks_task_id_status_get,
14
+ submit_task_tasks_post,
15
+ )
16
+ from everyrow.generated.client import AuthenticatedClient
17
+ from everyrow.generated.models import (
18
+ ArtifactGroupRecord,
19
+ LLMEnum,
20
+ StandaloneArtifactRecord,
21
+ TaskEffort,
22
+ TaskStatus,
23
+ TaskStatusResponse,
24
+ )
25
+ from everyrow.generated.models.submit_task_body import SubmitTaskBody
26
+ from everyrow.result import ScalarResult, TableResult
27
+
28
+ # "export" generated types.
29
+ LLM = LLMEnum
30
+ EffortLevel = TaskEffort
31
+
32
+ T = TypeVar("T", bound=BaseModel)
33
+
34
+
35
+ class EveryrowTask[T: BaseModel]:
36
+ def __init__(self, response_model: type[T], is_map: bool, is_expand: bool):
37
+ self.task_id = None
38
+ self._is_map = is_map
39
+ self._is_expand = is_expand
40
+ self._response_model = response_model
41
+
42
+ async def submit(self, body: SubmitTaskBody, client: AuthenticatedClient) -> UUID:
43
+ task_id = await submit_task(body, client)
44
+ self.task_id = task_id
45
+ return task_id
46
+
47
+ async def get_status(self, client: AuthenticatedClient) -> TaskStatusResponse:
48
+ if self.task_id is None:
49
+ raise EveryrowError("Task must be submitted before fetching status")
50
+ return await get_task_status(self.task_id, client)
51
+
52
+ async def await_result(self, client: AuthenticatedClient) -> TableResult | ScalarResult[T]:
53
+ if self.task_id is None:
54
+ raise EveryrowError("Task must be submitted before awaiting result")
55
+ final_status_response = await await_task_completion(self.task_id, client)
56
+ artifact_id = cast(UUID, final_status_response.artifact_id) # we check artifact_id in await_task_completion
57
+
58
+ if self._is_map or self._is_expand:
59
+ data = await read_table_result(artifact_id, client=client)
60
+ return TableResult(
61
+ artifact_id=artifact_id,
62
+ data=data,
63
+ error=final_status_response.error,
64
+ )
65
+ else:
66
+ data = await read_scalar_result(artifact_id, self._response_model, client=client)
67
+ return ScalarResult(
68
+ artifact_id=artifact_id,
69
+ data=data,
70
+ error=final_status_response.error,
71
+ )
72
+
73
+
74
+ async def submit_task(body: SubmitTaskBody, client: AuthenticatedClient) -> UUID:
75
+ response = await submit_task_tasks_post.asyncio(client=client, body=body)
76
+ response = handle_response(response)
77
+ return response.task_id
78
+
79
+
80
+ async def await_task_completion(task_id: UUID, client: AuthenticatedClient) -> TaskStatusResponse:
81
+ max_retries = 3
82
+ retries = 0
83
+ while True:
84
+ try:
85
+ status_response = await get_task_status(task_id, client)
86
+ except Exception as e:
87
+ if retries >= max_retries:
88
+ raise EveryrowError(f"Failed to get task status after {max_retries} retries") from e
89
+ retries += 1
90
+ else:
91
+ retries = 0
92
+ if status_response.status in (
93
+ TaskStatus.COMPLETED,
94
+ TaskStatus.FAILED,
95
+ TaskStatus.REVOKED,
96
+ ):
97
+ break
98
+ await asyncio.sleep(1)
99
+ if status_response.status == TaskStatus.FAILED or status_response.artifact_id is None:
100
+ raise EveryrowError(f"Failed to create input in everyrow: {status_response.error}")
101
+
102
+ return status_response
103
+
104
+
105
+ async def get_task_status(task_id: UUID, client: AuthenticatedClient) -> TaskStatusResponse:
106
+ response = await get_task_status_endpoint_tasks_task_id_status_get.asyncio(client=client, task_id=task_id)
107
+ response = handle_response(response)
108
+ return response
109
+
110
+
111
+ async def read_table_result(
112
+ artifact_id: UUID,
113
+ client: AuthenticatedClient,
114
+ ) -> DataFrame:
115
+ response = await get_artifacts_artifacts_get.asyncio(client=client, artifact_ids=[artifact_id])
116
+ response = handle_response(response)
117
+ if len(response) != 1:
118
+ raise EveryrowError(f"Expected 1 artifact, got {len(response)}")
119
+ artifact = response[0]
120
+ if not isinstance(artifact, ArtifactGroupRecord):
121
+ raise EveryrowError("Expected table result, but got a scalar")
122
+
123
+ artifact = render_citations_group(artifact)
124
+
125
+ return DataFrame([a.data for a in artifact.artifacts])
126
+
127
+
128
+ async def read_scalar_result[T: BaseModel](
129
+ artifact_id: UUID,
130
+ response_model: type[T],
131
+ client: AuthenticatedClient,
132
+ ) -> T:
133
+ response = await get_artifacts_artifacts_get.asyncio(client=client, artifact_ids=[artifact_id])
134
+ response = handle_response(response)
135
+ if len(response) != 1:
136
+ raise EveryrowError(f"Expected 1 artifact, got {len(response)}")
137
+ artifact = response[0]
138
+ if not isinstance(artifact, StandaloneArtifactRecord):
139
+ raise EveryrowError("Expected scalar result, but got a table")
140
+
141
+ artifact = render_citations_standalone(artifact)
142
+
143
+ return response_model(**artifact.data)
@@ -0,0 +1,238 @@
1
+ Metadata-Version: 2.4
2
+ Name: everyrow
3
+ Version: 0.1.0
4
+ Summary: An SDK for everyrow.io: agent ops at spreadsheet scale
5
+ License-File: LICENSE.txt
6
+ Requires-Python: >=3.12
7
+ Requires-Dist: attrs>=25.4.0
8
+ Requires-Dist: pandas>=2.3.3
9
+ Requires-Dist: pydantic>=2.12.5
10
+ Requires-Dist: python-dotenv>=1.2.1
11
+ Description-Content-Type: text/markdown
12
+
13
+ # everyrow SDK
14
+
15
+ The everyrow SDK provides intelligent data processing utilities powered by AI agents. Transform, dedupe, merge, rank, and screen your dataframes using natural language instructions. Whether you're deduplicating research papers, merging complex datasets, ranking organizations, or screening vendors, the SDK handles the heavy lifting by combining AI research capabilities with structured data operations.
16
+
17
+ ## Installation
18
+
19
+ ```bash
20
+ uv pip install -e .
21
+ ```
22
+
23
+ Or install dependencies:
24
+
25
+ ```bash
26
+ uv sync
27
+ ```
28
+
29
+ ## Requirements
30
+
31
+ - Python >= 3.12
32
+
33
+ ## Configuration
34
+
35
+ Get an API key from https://everyrow.io and set it to get started:
36
+
37
+ ```bash
38
+ # Set in your environment or .env file
39
+ EVERYROW_API_KEY=your_api_key_here
40
+ ```
41
+
42
+ ## Usage
43
+
44
+ ### Quick Start
45
+
46
+ ```python
47
+ from everyrow import create_session
48
+ from everyrow.ops import dedupe
49
+ from pandas import DataFrame
50
+
51
+ async with create_session() as session:
52
+ data = DataFrame([...])
53
+ result = await dedupe(
54
+ session=session,
55
+ input=data,
56
+ equivalence_relation="Two items are duplicates if...",
57
+ )
58
+ print(result.data)
59
+ ```
60
+
61
+ ### Core Utilities
62
+
63
+ #### Rank: `rank`
64
+
65
+ Extract and rank rows based on AI-generated scores:
66
+
67
+ ```python
68
+ from everyrow.ops import rank
69
+
70
+ result = await rank(
71
+ session=session,
72
+ task="Score this organization by their contribution to AI research",
73
+ input=dataframe,
74
+ field_name="contribution_score",
75
+ ascending_order=False,
76
+ )
77
+ ```
78
+
79
+ #### Dedupe: `dedupe`
80
+
81
+ Intelligently deduplicate your data using AI-powered equivalence detection:
82
+
83
+ ```python
84
+ from everyrow.ops import dedupe
85
+
86
+ result = await dedupe(
87
+ session=session,
88
+ input=dataframe,
89
+ equivalence_relation="Two entries are duplicates if they represent the same research work",
90
+ )
91
+ ```
92
+
93
+ #### Merge: `merge`
94
+
95
+ Merge two tables using AI to match related rows:
96
+
97
+ ```python
98
+ from everyrow.ops import merge
99
+
100
+ result = await merge(
101
+ session=session,
102
+ task="Match clinical trial sponsors with parent companies",
103
+ left_table=trial_data,
104
+ right_table=company_data,
105
+ merge_on_left="sponsor",
106
+ merge_on_right="company",
107
+ )
108
+ ```
109
+
110
+ #### Screen: `screen`
111
+
112
+ Evaluate and filter rows based on criteria that require research:
113
+
114
+ ```python
115
+ from everyrow.ops import screen
116
+ from pydantic import BaseModel
117
+
118
+ class Assessment(BaseModel):
119
+ risk_level: str
120
+ recommendation: str
121
+
122
+ result = await screen(
123
+ session=session,
124
+ task="Evaluate vendor security and financial stability",
125
+ input=vendors,
126
+ response_model=Assessment,
127
+ )
128
+ ```
129
+
130
+ ### Viewing Sessions
131
+
132
+ Every session has a web interface URL:
133
+
134
+ ```python
135
+ async with create_session(name="My Session") as session:
136
+ print(f"View session at: {session.get_url()}")
137
+ # ... use session for operations
138
+ ```
139
+
140
+ ### Agent Tasks
141
+
142
+ For single-input tasks, use `single_agent`:
143
+
144
+ ```python
145
+ from everyrow.ops import single_agent
146
+ from pydantic import BaseModel
147
+
148
+ class Input(BaseModel):
149
+ country: str
150
+
151
+ result = await single_agent(
152
+ session=session,
153
+ task="What is the capital of the given country?",
154
+ input=Input(country="India"),
155
+ )
156
+ ```
157
+
158
+ For batch processing, use `agent_map`:
159
+
160
+ ```python
161
+ from everyrow.ops import agent_map
162
+
163
+ result = await agent_map(
164
+ session=session,
165
+ task="What is the capital of the given country?",
166
+ input=DataFrame([{"country": "India"}, {"country": "USA"}]),
167
+ )
168
+ ```
169
+
170
+ ### Async Operations
171
+
172
+ All utilities have async variants for background processing:
173
+
174
+ ```python
175
+ from everyrow.ops import rank_async
176
+
177
+ task = await rank_async(
178
+ session=session,
179
+ task="Score this organization",
180
+ input=dataframe,
181
+ field_name="score",
182
+ )
183
+
184
+ # Continue with other work...
185
+
186
+ result = await task.await_result(session.client)
187
+ ```
188
+
189
+ ## Case Studies
190
+
191
+ The `case_studies/` directory contains example workflows demonstrating real-world usage of the SDK. To run case studies, install the optional dependencies:
192
+
193
+ ```bash
194
+ uv sync --group case-studies
195
+ ```
196
+
197
+ Then you can run the case study scripts or open the Jupyter notebooks in your preferred environment.
198
+
199
+ ## Development
200
+
201
+ ### Setup
202
+
203
+ ```bash
204
+ uv sync
205
+ lefthook install
206
+ ```
207
+
208
+ ### Running Tests
209
+
210
+ ```bash
211
+ uv run pytest
212
+ ```
213
+
214
+ ### Linting & Formatting
215
+
216
+ ```bash
217
+ uv run ruff check .
218
+ uv run ruff check --fix .
219
+ uv run ruff format .
220
+ ```
221
+
222
+ ### Type Checking
223
+
224
+ ```bash
225
+ uv run basedpyright
226
+ ```
227
+
228
+ ### Generating OpenAPI Client
229
+
230
+ ```bash
231
+ ./generate_openapi.sh
232
+ ```
233
+
234
+ Note: The `everyrow/generated/` directory is excluded from linting as it contains auto-generated code.
235
+
236
+ ## License
237
+
238
+ This project is licensed under the MIT License - see LICENSE.txt file for details.
@@ -0,0 +1,183 @@
1
+ everyrow/__init__.py,sha256=jzEsDdUID7XTqUjciSqiG0qGNknZ46263eCC4v4apPk,136
2
+ everyrow/api_utils.py,sha256=iU1LZYjB2iPHCRZjDNEW64gEQWQbiZxiB8XVoj5SzPM,1437
3
+ everyrow/citations.py,sha256=Tq71l-KPhdVrJpMLjlqnVhOHQsv-9inWtP1qoD_Nzok,1681
4
+ everyrow/constants.py,sha256=OKsAtaodzvmPy9LNzmYl1u_axEe208NRBuAJGqghZs0,98
5
+ everyrow/ops.py,sha256=w0gOClDB9HS0Pyz1rh4U3eftCYSatoy3ZO5vjUXbfgs,21324
6
+ everyrow/result.py,sha256=2vCiE17kdbgkYKAdvfkpXJsSCr10U8FdO8NpS8eiofg,413
7
+ everyrow/session.py,sha256=AL1s6Yj4aa9cTmhCGjW6pkHug7sEoZfdp8EJ_DHJSnE,1971
8
+ everyrow/task.py,sha256=5-hlWVS2JAVtFMz3TIP9vEjGo7oCqeIPW8E3qzF2SjU,5234
9
+ everyrow/generated/__init__.py,sha256=qUheje2C4lZ8b26EUHXHRJ3dWuzKiExv_JVOdVCFAek,150
10
+ everyrow/generated/client.py,sha256=-rT3epMc77Y7QMTy5o1oH5hkGLufY9qFrD1rb7qItFU,12384
11
+ everyrow/generated/errors.py,sha256=gO8GBmKqmSNgAg-E5oT-oOyxztvp7V_6XG7OUTT15q0,546
12
+ everyrow/generated/py.typed,sha256=8ZJUsxZiuOy1oJeVhsTWQhTG_6pTVHVXk5hJL79ebTk,25
13
+ everyrow/generated/types.py,sha256=0We4NPvhIYASRpQ3le41nmJeEAVm42-2VKdzlJ4Ogok,1343
14
+ everyrow/generated/api/__init__.py,sha256=zTSiG_ujSjAqWPyc435YXaX9XTlpMjiJWBbV-f-YtdA,45
15
+ everyrow/generated/api/default/__init__.py,sha256=5vd9uJWAjRqa9xzxzYkLD1yoZ12Ld_bAaNB5WX4fbE8,56
16
+ everyrow/generated/api/default/continue_task_endpoint_tasks_continue_post.py,sha256=3I3FcJB5JR0KitWF794wJeTYaoFylmHDjo0s32YYXx0,6203
17
+ everyrow/generated/api/default/copy_artifacts_artifacts_copy_post.py,sha256=6AGjNEhBA7bZl2QWW-QYP0DKHMl1Xi-HDoFpg9ahbjQ,4335
18
+ everyrow/generated/api/default/copy_workflow_endpoint_workflows_copy_post.py,sha256=2mAAULNbxipq26kCrcaoLIaF_l-xzkjg3WsNhOKXSk4,4343
19
+ everyrow/generated/api/default/create_api_key_endpoint_api_keys_create_post.py,sha256=dWXjiJ01XH-x9vG3vHUKNvPiUSYOuRXfI1XYI0C1cv0,5082
20
+ everyrow/generated/api/default/create_session_endpoint_sessions_create_post.py,sha256=usYoOOmj3nZPardcYQLQFAV9aBhbX9Cv6JdKs__ZpXs,5276
21
+ everyrow/generated/api/default/create_workflow_from_artifact_workflows_from_artifact_post.py,sha256=rHPfaf2VD9SGjRwqHUi2vrYbCEPV1skuOBZscrqO0xY,5028
22
+ everyrow/generated/api/default/export_to_google_sheets_export_post.py,sha256=qYrp9RPzZJQxYRq7b-JS8qOmqNDkODHDgpbmzOGke5Q,4915
23
+ everyrow/generated/api/default/generate_feedback_endpoint_tasks_generate_feedback_post.py,sha256=-YPYUXtJjIwh0a1UVLKFnCRiwuVyb_8U3grd2q5KSf8,5350
24
+ everyrow/generated/api/default/get_artifacts_artifacts_get.py,sha256=OTL_6og35r6yE5nMypzfJ6QV894hljWOOzj9gU5D2P4,9353
25
+ everyrow/generated/api/default/get_default_timeout_seconds_models_default_timeout_seconds_get.py,sha256=0tpVSngnh0Y4Cnsi4yixqCwsJuHAtcFAfdMMfImQsaI,4104
26
+ everyrow/generated/api/default/get_job_progress_for_task_jobs_progress_get.py,sha256=0GDz60tnvYZkwej4_5j7ZcuFjTbTmjnUKc5v1qDkBzY,4213
27
+ everyrow/generated/api/default/get_metrics_metrics_get.py,sha256=8Ns6ncVWabre1B8KvPSlwquse67Y6LBrcoYqPXe6_hU,2041
28
+ everyrow/generated/api/default/get_queues_stats_jobs_queues_get.py,sha256=Gz5nvPr_wSRd6f9gkpTxYu6ozik0LEiZ6DU7EtEYvz8,3092
29
+ everyrow/generated/api/default/get_task_status_endpoint_tasks_task_id_status_get.py,sha256=vxhg3Fr6YCmK5mE4LSjdRS_Lcoh7nC5Z8zOJtuiirCA,5079
30
+ everyrow/generated/api/default/get_user_usage_usage_get.py,sha256=3781oZKqIrUQ8B0D4P2GZf3x_rXkkcbJBJ1Oc0AEFXE,3117
31
+ everyrow/generated/api/default/healthz_healthz_get.py,sha256=LqVuqIP-tUuqIsnEloCmQueY6e5YdxJ7igsBtyzuVcA,3521
32
+ everyrow/generated/api/default/import_from_google_sheets_import_post.py,sha256=S2L5LShx51ZrhdzzyOEgvi92vruFApFI4FfEzs17r2U,4997
33
+ everyrow/generated/api/default/interrupt_chat_task_tasks_chat_interrupt_post.py,sha256=h0YSgbbw3j9tzm3mMcoCn944JA9hH2ThyZX7h-BOt6w,4394
34
+ everyrow/generated/api/default/list_api_keys_endpoint_api_keys_get.py,sha256=sCzsi_Tor7SsbA9Q-OcCGhVF0EGzG_L78EVZlGyOSa4,5104
35
+ everyrow/generated/api/default/re_execute_task_endpoint_tasks_re_execute_post.py,sha256=wzqpj2j9zcNcx14MiWGwEjKA3hN1o_GIV59VFMbmvSQ,5427
36
+ everyrow/generated/api/default/revoke_api_key_endpoint_api_keys_key_id_revoke_post.py,sha256=kPoEB1TtidxOgOFvzc-P8bS-PTxNPxMraU0PGvsRGr8,4790
37
+ everyrow/generated/api/default/revoke_jobs_for_task_jobs_revoke_post.py,sha256=iTunH8VG_PzrzFclcNMo20kQUIXqkOCVWew0jlyKIrA,3997
38
+ everyrow/generated/api/default/rollback_to_message_endpoint_tasks_chat_rollback_post.py,sha256=ydDWsPOl6yK7mB0XcEjxvNw2nc7Y-9wJO1QzZgWs0Uk,5418
39
+ everyrow/generated/api/default/submit_chat_task_tasks_chat_post.py,sha256=FijhtA6laxh7GuvzgjjhoJk1SNYe85EXVclO9nW1RKs,4036
40
+ everyrow/generated/api/default/submit_task_tasks_post.py,sha256=60fnt4ubSi1n_nRr4V7czhaJ3-IJYoSgvBV-0-bzNrE,4615
41
+ everyrow/generated/api/default/task_resource_estimation_task_resource_estimation_post.py,sha256=o4-Smjou0gD-Lzh2rSG5YTyfdqBTybX6h9rF5x9UiyM,10628
42
+ everyrow/generated/api/default/trigger_workflow_execution_endpoint_workflows_trigger_post.py,sha256=oP5bDLciYJagXMDZF4F1ULEXJPIn1nvitOxCFOBj4oI,4688
43
+ everyrow/generated/api/default/whoami_whoami_get.py,sha256=s1hj_NIATmg7YD3vSmce7ZPDBL1ldS5xWaSDyrW8Kqg,3428
44
+ everyrow/generated/models/__init__.py,sha256=iGVmD5wEhYGHOtjvsi18IKdPSobE24FpqwFQHIcxXZM,12037
45
+ everyrow/generated/models/agent_improvement_instruction.py,sha256=M5J_4xsC-B9HPFoFi84fEEu4xGCfT4WRpEjFdzasFI8,1859
46
+ everyrow/generated/models/agent_query_params.py,sha256=lh2Kr2lEjhutAbYzlMl7OOal-7tPU3e4FbqDrM9LeAs,14854
47
+ everyrow/generated/models/agent_query_params_system_prompt_kind_type_0.py,sha256=5fkIgjOcr9pM1A3dxDe7GtPfGy-uZkKNYvDmnwNd0VU,284
48
+ everyrow/generated/models/agent_task_args.py,sha256=DjsbTF-4be4IfsXT3vO0SWsmV5rk-2QGcgx1eRvyNnY,5984
49
+ everyrow/generated/models/agent_task_args_processing_mode.py,sha256=p3eVdNK2hfPl1RPSlr33LECvg9aUEYbuX1gIusJ817I,170
50
+ everyrow/generated/models/allowed_suggestions.py,sha256=vrgqbC9o7mwvSDPDrJebe3hL9TYO_VImZF2BGBV9Jcw,163
51
+ everyrow/generated/models/api_key_info.py,sha256=vNFeNHLTaE1vSqervHV2A7n2EBbh9GYIpmSJNZqyjg0,4871
52
+ everyrow/generated/models/artifact_changed_payload.py,sha256=Olt7FdT4P99u3xexqeaWJMtm9_12pcLQ8gJIPrKWXe4,2635
53
+ everyrow/generated/models/artifact_group_record.py,sha256=PtWNTX8WAAdSJE4wtjqVTc_WuCr_8_vbfUtoxQU_6oA,11938
54
+ everyrow/generated/models/artifact_group_record_metadata_type_0.py,sha256=rGO0cmGhyQyMy81MjGwnlcv7BgRwHa5Wn2OSgRmuSpY,1353
55
+ everyrow/generated/models/artifact_group_record_trace_mapping_type_0.py,sha256=pfu3BejCJQ9iuaKp6Yeuuf9ICOS7qE8rWvyhGrHBffU,1376
56
+ everyrow/generated/models/artifact_status.py,sha256=F_mWQ2Zr5kvDP_w830X6Yp0jmiQ6POexDehU6oOc_Tw,325
57
+ everyrow/generated/models/auto_cohort_conversation_message.py,sha256=vapZysyLYQh6C086cBoeCEcge3PKQofUvOs6PFOzMss,23249
58
+ everyrow/generated/models/aux_data.py,sha256=_c62gtkscD9Hi8kTH-VtfIh7YZPD1iB8sJ40Jy95JFk,4199
59
+ everyrow/generated/models/aux_data_source_bank.py,sha256=AuzXCyio8FWGrPlGK-JfVIK0_czwDMa8_WUl02AzX4E,1804
60
+ everyrow/generated/models/chat_completion_message_tool_call.py,sha256=P6gACIBgeHzehwhdZY0CA2H0fRq9tgEy9DcsEnDSoZM,1335
61
+ everyrow/generated/models/chat_message_metadata.py,sha256=Z0F7--Dh_2jNI8CsAdNdNAm3mIHa5afaWkhBZRRrDFY,6338
62
+ everyrow/generated/models/concatenate_query_params.py,sha256=dS4BdiC89MK9N1qzTBmPIlXre-WXHPW6y1Cd61nW9w0,1376
63
+ everyrow/generated/models/concatenate_request.py,sha256=St8LdF7DzRyiLJo5VEIdnqwhPGUxKm4pKQY6eSeQ5-o,11924
64
+ everyrow/generated/models/continue_reason.py,sha256=0bfHlRCeBbNNK0E88JEaTJ2MfxRNm7ZaahaMPp_CLzY,177
65
+ everyrow/generated/models/continue_task_request.py,sha256=YLwTjPX9ASrzYKKK3JGDJWO7yNJgcY0KWiQl1vrgk18,4121
66
+ everyrow/generated/models/controller_improvement_round.py,sha256=cBvr9WQpLbbTJhlpW9HwBvwb73C-Teg8XLon3wSvAk4,2647
67
+ everyrow/generated/models/conversation_changed_payload.py,sha256=RMzrmGMKUSwwiDSeCbV5iD1UtGn4j5CqZQ5gArtfKGk,2743
68
+ everyrow/generated/models/copy_artifacts_request.py,sha256=bxe9VyipX9WgfkpmgGS7gMjj_3eTtUWIajgklFrZJzk,1982
69
+ everyrow/generated/models/copy_artifacts_response.py,sha256=HmU11iUks_PH6-Hko3sQzzngkGnRjdkRLn6lYPbmBHs,1817
70
+ everyrow/generated/models/copy_workflow_request.py,sha256=anv96BLP9T8zaeZJaGo8-8iC5VZbGTEezUBktz2o54Q,1621
71
+ everyrow/generated/models/copy_workflow_response.py,sha256=XJAJqdXkoH_AIf05Zi0dSESKrYhzQNcTQs54wReFf_8,1799
72
+ everyrow/generated/models/create_api_key_request.py,sha256=7r_2VIdrpRoHN5ai5IcERya_RYKRYU77_TK_8fqkuPQ,2756
73
+ everyrow/generated/models/create_api_key_response.py,sha256=OiMH3RYYDu74Cb-b6iIiHnahgrnVeSo93y4unoyBaCk,2324
74
+ everyrow/generated/models/create_group_query_params.py,sha256=bQ-X-_bh5ZSrSvqNrw96pUAJh77coiB90ciDU05fM6I,1669
75
+ everyrow/generated/models/create_group_request.py,sha256=8spD4Hi1v3Rk8wImu1rKyBBt26DdJadBrR-WPI-gr4M,11839
76
+ everyrow/generated/models/create_query_params.py,sha256=BkYFq2j-evzj9wQtNEaMpQIKV73ZZp3-KRi7f0pLGx8,1606
77
+ everyrow/generated/models/create_request.py,sha256=cjTbsm8sZqr6ikTJxmt7-XVMwpIpO_XpnGFDYtIJDCM,11730
78
+ everyrow/generated/models/create_session_request.py,sha256=DuF92OjEpZXJsISwdYygrNlFzXPX9k3pOoo-3VGyaR4,1574
79
+ everyrow/generated/models/create_session_response.py,sha256=6GCpL1cEyHrxFe35fS3icWFDaOvCjciIJGp7WKitFIM,1665
80
+ everyrow/generated/models/create_workflow_from_artifact_request.py,sha256=V-k5wwabJupqqOpoWWkYKqOybP2n8UuMhl_YVCfNWjM,2585
81
+ everyrow/generated/models/create_workflow_from_artifact_response.py,sha256=NUhP6clDlWPjeVR01t6PbKIDv9BF-kSExfGbxyIOeLs,1875
82
+ everyrow/generated/models/data_frame_method.py,sha256=b76Tam9r9Kfgo1tp_QTm-LuHblkFHBR-zkWILqk1t9U,364
83
+ everyrow/generated/models/date_cutoffs.py,sha256=U7xF8GerEOhLfDlaQSMRqwRPSjtxKjAwR4gAPHZ8tCE,4611
84
+ everyrow/generated/models/dedupe_mode.py,sha256=IKIMJHXfZQIm8FYlerPyN6mCty_cdrPmGPXSoUHV35E,161
85
+ everyrow/generated/models/dedupe_query_params.py,sha256=2xG652gWyt_HC84PqhUKBq3MXF-Ju74AhozfgekRmJ8,6123
86
+ everyrow/generated/models/dedupe_request_params.py,sha256=mZXx_JfV0OfoNsdKDdOen3irkhxs-F8If1rETinkFuo,11919
87
+ everyrow/generated/models/deep_merge_public_params.py,sha256=SlXSoxoN5wKsxPKAikll99VpDP-OazZ0lVrc1u4ug14,4701
88
+ everyrow/generated/models/deep_merge_request.py,sha256=iQ8t9IIjfVXdlGLPJ26f7kvfyB734JKR4bb9jrvuHP0,12054
89
+ everyrow/generated/models/deep_rank_public_params.py,sha256=fZz5AW1JKL4ud6IZDl5sCWpHdk_z4HM3CMGcAEV-zOw,3079
90
+ everyrow/generated/models/deep_rank_request.py,sha256=wB9dq8U0d92FwtCPgdSZKxD_MNikxSSSdiyTpLKSph4,12035
91
+ everyrow/generated/models/deep_screen_public_params.py,sha256=SzWji1Nmhb9wkQZZqBHdoU-TClbWdAABckUQTHwcJSU,4095
92
+ everyrow/generated/models/deep_screen_request.py,sha256=GK1b1yHmwPd1tjznTOfQlxCXlvnmTqX_8TOIShW8A8U,12073
93
+ everyrow/generated/models/derive_expression.py,sha256=_ZZ58niRV_s8Zt0PKleYDAEVc8N_Auq34BhDbK_gr9g,1883
94
+ everyrow/generated/models/derive_query_params.py,sha256=VN3CJ0bbXeKX9Vk7zqA-qVlQAyh36geUfU4DEyuJLpM,2171
95
+ everyrow/generated/models/derive_request.py,sha256=GbUFuWPl29DjPL6LlZm5kf_Wg9Ula1NfXukMjSkuOqI,11845
96
+ everyrow/generated/models/document_query_tool.py,sha256=bX8S0kNIJfcfoWQ5Fh18YGue7mPHcrljAomLsVqG54Q,388
97
+ everyrow/generated/models/drop_columns_query_params.py,sha256=Ym-sr6imPyLvJtV-csvCQ8RfIcmKf87ab6RRw-MZxZs,1679
98
+ everyrow/generated/models/drop_columns_request.py,sha256=4fiqiPGybOGsmSwEqZ5shtraBoeevuWhRjEFH2U711E,11845
99
+ everyrow/generated/models/embedding_models.py,sha256=1tedZFC86cPCFrFHHwaodErusZpzQQJMYfqOONzD2PE,228
100
+ everyrow/generated/models/event_type.py,sha256=DF8cHLM7femjWYb3h_cwL0yIlLVYE-y_SIlx7MbmeAU,409
101
+ everyrow/generated/models/execution_metadata.py,sha256=txNqFX7mlYLzdIIM_CeAtcXNX_5iBWCMIfI8lU3yqrc,4765
102
+ everyrow/generated/models/export_request.py,sha256=CxKNBfFN1duGhIxrmuIeaYKVR80jF_D7ovoURMSH8nI,2026
103
+ everyrow/generated/models/export_request_token_data.py,sha256=AmeoDkPWPHmypjE604HXkh1448RNM30bQzMw-n8iOc8,1297
104
+ everyrow/generated/models/export_to_google_sheets_export_post_response_export_to_google_sheets_export_post.py,sha256=xp1ct1-G1Z3W7VDpzmNBn_v7sywBB5wvVLKsJSRh-tQ,1554
105
+ everyrow/generated/models/filter_query_params.py,sha256=fPySwjC9c1xGdlhtXB0CUkrL48P7q-AaoTfIchWPkn8,2501
106
+ everyrow/generated/models/filter_request.py,sha256=LvX1Z4PpSpvHRpE7xQt7WjiYYrRE53Eml3UjkgoqL6I,11727
107
+ everyrow/generated/models/flatten_query_params.py,sha256=Je5w6lPfJ5pGd9UQQPejYXcv1fEFUsVuNMnJKtCPWzI,1349
108
+ everyrow/generated/models/flatten_request.py,sha256=bMyn91sD6bpcDyD7kaNGofsdLd3Ktx9yLmi-96w23DY,11853
109
+ everyrow/generated/models/generate_feedback_request.py,sha256=KXVJlmM-a9NcWdv3F5OVp3207EhnkvZ_EmFElZ3sf6Q,1601
110
+ everyrow/generated/models/group_by_query_params.py,sha256=bBoHwnK_t5_EDFfxk54zmt4Y1m8bObNxHNPrnYJpgyI,1714
111
+ everyrow/generated/models/group_by_request.py,sha256=uh8eS1olptMB9GK8MmJ1a_VIYktnxwqZrq6erYpJDx8,11840
112
+ everyrow/generated/models/healthz_healthz_get_response_healthz_healthz_get.py,sha256=HJUh7GuwvI190YA-j2cHjCg1N_armHup7-Z5jFoB1t0,1406
113
+ everyrow/generated/models/http_validation_error.py,sha256=ceDDkSqsvFmTdFwrra6lwo-L-BAHNX8h8bwaKyxPkEk,2317
114
+ everyrow/generated/models/image_chat_content_part.py,sha256=agBULx4yMCPwYsAk38vx3201ya0fquOUnZiUIqYCzII,2407
115
+ everyrow/generated/models/image_chat_content_part_image_url.py,sha256=O-X7VsTnMYhEByLaL0_O4WTZHkBe7l8ZXE4H2fJ6JyM,1333
116
+ everyrow/generated/models/import_from_google_sheets_import_post_response_import_from_google_sheets_import_post.py,sha256=iF_fSmDQWHEg3OQFl2aRuAhdjoubXUER69AzIgBe2q4,1574
117
+ everyrow/generated/models/import_request.py,sha256=4QAaNnXzimZPlnMGIiRBZdM0uVsATtBddAKWxxKTfR4,2219
118
+ everyrow/generated/models/import_request_token_data.py,sha256=o7uMJC6LKbU0l3VjN-U9dMuzW64nasth3XZ7cPm4dEA,1297
119
+ everyrow/generated/models/insufficient_balance_error.py,sha256=9JTNeuAWCx2g3KlqJWB6mKAfDgukY9taPbhNGHKrhxY,2291
120
+ everyrow/generated/models/join_query_params.py,sha256=llM4I8jzzZjaUfMjoek4bfyUQd0I_Iu1MJCCi4m4Tbc,2201
121
+ everyrow/generated/models/join_request.py,sha256=9pA56Iv2rhkdpSz0DnsfGoZiCSE8G5WrcDfwl3ZvLwg,11704
122
+ everyrow/generated/models/llm_enum.py,sha256=9OHthrnPBJYt4DTQ0fwCCOjwfMACzDODz5gMBaDaJOo,2144
123
+ everyrow/generated/models/map_agent_request_params.py,sha256=gPh9iJ6-dv0Nev7mDUIRpmoV6JiMvX3FDj_cPJKdA3Q,12012
124
+ everyrow/generated/models/map_multi_agent_request_params.py,sha256=a1vqfN3QfgLUGrlge8bVplREzeA34SzWn58_LvRIlNo,12112
125
+ everyrow/generated/models/message_created_payload.py,sha256=c9wz7DZOT07NQ29w4xEY3lTxa3w8KUZIAtTPOerfH-g,3081
126
+ everyrow/generated/models/multi_agent_effort_level.py,sha256=wTc2sYNChtoZoIrv9_fiIoDNFfIjwsNcIbjshs_nzPs,182
127
+ everyrow/generated/models/multi_agent_query_params.py,sha256=osP_6xYpVL-pJj3Fl1f8ejwQeGfUyLIlhfQQvYATTE0,9825
128
+ everyrow/generated/models/multi_modal_chat_message.py,sha256=RIDly7UGxiksmPzCGZcUSFHdhzWMusuHDu9X-cYpIfQ,5665
129
+ everyrow/generated/models/multi_modal_chat_message_role.py,sha256=ce-Je_jzgGwLO6gHdtTNETzDPF_jyEFY6m8rs3AckHs,198
130
+ everyrow/generated/models/preview_metadata.py,sha256=zrzhLuQ2O0_ao3GN-7zEigeFqAt5EWftSy5I-XYOXQ8,4476
131
+ everyrow/generated/models/processing_mode.py,sha256=uSMcZoq7WFsDCCfGOXDs33xU9poCUvzdsxbee6kLvhw,185
132
+ everyrow/generated/models/progress_status.py,sha256=gn3_U1JsIvAunsUWeP7rAZSSv0iStKh4OVYa2qsF444,2191
133
+ everyrow/generated/models/queue_stats.py,sha256=ek2CCFD6Qf0XecpvXQ9MdFry3x9cLX2A7hEn5c1SsuQ,1774
134
+ everyrow/generated/models/reduce_agent_request_params.py,sha256=DRee_a64cSv3BQYD114A5KpV2Z1EExfEGtPY5obWU1s,11762
135
+ everyrow/generated/models/reduce_multi_agent_request_params.py,sha256=KDCUz4trPyTnshvj1ocOsYQAmHTxqVfGKd2Os3spkao,11862
136
+ everyrow/generated/models/resource_estimation_response.py,sha256=bk9K2H-qGaCAm4xbF0gLSnQcTRRNSZk7i8sNVqzgEh0,2464
137
+ everyrow/generated/models/response_schema_type.py,sha256=ybtuA9WiH1y9-D8dShsgwZlyp5Xmqiu2NgvikEEcnjk,163
138
+ everyrow/generated/models/revoke_api_key_response.py,sha256=66S8be-LmAafpzINZUlKlkWo3lwCAhUmXlhGkZ8BIHk,1554
139
+ everyrow/generated/models/rollback_to_message_request.py,sha256=0-o4-zFg0CWfXaIfazvi36b_HD6084YB_ePDuIsvuyw,1639
140
+ everyrow/generated/models/rollback_to_message_response.py,sha256=vEfr9duOuOnfOkwiJrE0hcBlBLpk6G_2D4VItrnu6cI,2075
141
+ everyrow/generated/models/session_changed_payload.py,sha256=r6NVwFljYXwH8kdq0ZMpznA56qBXeMyDnHLONV6zRdY,1990
142
+ everyrow/generated/models/simple_chat_message.py,sha256=itzqNz5Tp-pnR0pZnRohE0jrX154foB3zgsCI1Okh6E,3965
143
+ everyrow/generated/models/simple_chat_message_role.py,sha256=s4I3p5EVBQAobwuInqpQeV8qXa333gfeUO3aL-3Yun4,194
144
+ everyrow/generated/models/simple_chat_message_with_tool_calls.py,sha256=UJqXFLTiLyFZuZ_SZSZIZ_ar0DRIds9SEWLnKyVy1sw,5508
145
+ everyrow/generated/models/source_database_entry.py,sha256=eWDcpFTb_SMHSVZy1Op6rBztfJuVDgLeBOfZXsrvef4,2486
146
+ everyrow/generated/models/standalone_artifact_record.py,sha256=5F-MbXe2qy4GU07VXxq9ggyrqZB1qMWfjMk5J_L2fQc,9891
147
+ everyrow/generated/models/standalone_artifact_record_metadata_type_0.py,sha256=7BzFz1s9ecrNu56GTBot0AuqSTVRqFlZgrHl_9vA0pc,1378
148
+ everyrow/generated/models/standalone_artifact_record_trace_mapping_type_0.py,sha256=f6RA3b3fR9MRov5VF9mJ4lmlbsIPUVu8irgdvEhroVg,1401
149
+ everyrow/generated/models/status_count.py,sha256=avaIuYabln9HPLiQidxHjit_Az80y8x2j9xmTxhZHB8,1759
150
+ everyrow/generated/models/status_count_status.py,sha256=QK67nd3GxtIotuhoSjvNJuvZL6N2LPO20qakQ_NqaPQ,262
151
+ everyrow/generated/models/submit_chat_task_body.py,sha256=PNYmDQvm39EMt2nEpY-gHoShaEkVVufhzi0ElkFDFsQ,21119
152
+ everyrow/generated/models/submit_chat_task_body_selected_task_type_type_0.py,sha256=WZRbnRJmC07sPGm9miQZN43dvXrZ4ga1_vxSdlt9euY,256
153
+ everyrow/generated/models/submit_task_body.py,sha256=tWVJ63D_IzNgPg76se6FS-4HUQ7JJpsDEzmd0lwBeoI,31079
154
+ everyrow/generated/models/task_changed_payload.py,sha256=rsCNuOkYDA8HVNj1qtqF1zNoKTsfVagYmx2HO-IXR7A,3110
155
+ everyrow/generated/models/task_effort.py,sha256=wKtwQHx_8nECY5M-6qRk5cRbpfZhfYnR6mgpEcljHCs,173
156
+ everyrow/generated/models/task_id_request.py,sha256=lvxOstda8_CC9h4cHt_KXgsscsqntiN30ZUZGdCn344,1551
157
+ everyrow/generated/models/task_insert.py,sha256=PCqau3K-BB0CgHm0nWMM0uRFA3vgirAv0pa8olEPhWA,27027
158
+ everyrow/generated/models/task_insert_query_params.py,sha256=cBbHcQMgvyFb0Vxe03_OJbl1fScjQIwF2kuF2NCQigE,1292
159
+ everyrow/generated/models/task_metadata.py,sha256=QPHWPmUA8UHKemXGuiZXeWUJeifH8yxCNnHCQLmBWgM,12117
160
+ everyrow/generated/models/task_metadata_cols_to_rename_type_0.py,sha256=mdUa5KLCk8wwvjGCElP36yguVtxN6i5LJ1ijnYASOls,1341
161
+ everyrow/generated/models/task_response.py,sha256=w7h7dlMGVUh6qQLwvKRNTAFZbq_8AaW9_73RhvR-59Y,1543
162
+ everyrow/generated/models/task_status.py,sha256=wtFjPLXyNeLQrudS8IJgkQUU_gGx53OdliHlwJhaQPc,237
163
+ everyrow/generated/models/task_status_response.py,sha256=d8_gYMAsJ20l3ItOPdv_NVBmjMa0QDfvc3DUd6dlvRE,3080
164
+ everyrow/generated/models/task_type.py,sha256=ILWCh-ouRvBYoh8kK_adCKeE9Vihu5mCSnSVMenp-uo,829
165
+ everyrow/generated/models/text_chat_content_part.py,sha256=G60W45ngv-ghn4loRrPvAuv0Z5BbaatyK6eL3Ggq8-o,2001
166
+ everyrow/generated/models/tool_response_message.py,sha256=q70Ihz5KvsxSE7VF_9T7U8qYredf9aWizXnLbvrTLHI,3997
167
+ everyrow/generated/models/toolkit_constants.py,sha256=Tfj21nVfHC69TnGyiNiAZZAvnREp9Cf5Kr3WBBhPkkc,3115
168
+ everyrow/generated/models/trace_changed_payload.py,sha256=vjZWrGYp8E4dTBwX7GIt3UksXnVhQIQ7RsBGHT7Tt5U,2628
169
+ everyrow/generated/models/trace_info.py,sha256=ia3avfR3jwYJYCGN94nsbEQXwe1z7sB11VPT3ZnRepY,1950
170
+ everyrow/generated/models/trigger_workflow_execution_request.py,sha256=ZJC8f1HCHZC20o0zGBZNsoow-5BBvFrvcbNFSMPk3CM,3604
171
+ everyrow/generated/models/trigger_workflow_execution_request_task_params.py,sha256=gdykR0Kj16XM8ZCo0dkbvSJn7qvXAte9Du_n7gTws10,2316
172
+ everyrow/generated/models/trigger_workflow_execution_request_task_params_additional_property.py,sha256=xq5kY784q6LrQY8cVOJnx1P2NnJfzV0nGTYSMbDxg4Q,1494
173
+ everyrow/generated/models/trigger_workflow_execution_response.py,sha256=RZflqu0dfS5595Jttq6BylSp6brO86qtsQ-wCGkNRhM,1867
174
+ everyrow/generated/models/upload_csv_payload.py,sha256=jWgw-CJwEh5cNJGKy6jD5Zde3hQftk8bi2k08LJXj1k,11846
175
+ everyrow/generated/models/upload_csv_query_params.py,sha256=_T6_fljeimYCsMvyCNEYV42fKkP66Ifci0uTS7ZdqF4,3576
176
+ everyrow/generated/models/usage_response.py,sha256=k4WU5fOfyTMpXTTZ8OJG9i-TgU6ZwG1j1PeV2U9V-Ek,1919
177
+ everyrow/generated/models/validation_error.py,sha256=n8d_ZobQV26pm0KyDAKvIo93uOBhz2BH59jpJAKwoPY,2180
178
+ everyrow/generated/models/whoami_whoami_get_response_whoami_whoami_get.py,sha256=-NkKDTygoMsXFibAuU9nTRUOrsGwqm7PZ7EXfYI0G8E,1386
179
+ everyrow/generated/models/workflow_leaf_node_input.py,sha256=TQ-y_VHus3WmpMUiFsXlD-d6Sm2nKraVvRFSWb_SzH0,1970
180
+ everyrow-0.1.0.dist-info/METADATA,sha256=j2tGV1xg_qneY6UlRHoXlNnuajosqD-huI24VUbLvTI,4833
181
+ everyrow-0.1.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
182
+ everyrow-0.1.0.dist-info/licenses/LICENSE.txt,sha256=8gN2nA06HyReyL7Mfu9nsBIpUF-B6wL5SJenlMRN8ac,1070
183
+ everyrow-0.1.0.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.28.0
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Varuna AI Inc
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.