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.
- everyrow/__init__.py +4 -0
- everyrow/api_utils.py +45 -0
- everyrow/citations.py +46 -0
- everyrow/constants.py +4 -0
- everyrow/generated/__init__.py +8 -0
- everyrow/generated/api/__init__.py +1 -0
- everyrow/generated/api/default/__init__.py +1 -0
- everyrow/generated/api/default/continue_task_endpoint_tasks_continue_post.py +208 -0
- everyrow/generated/api/default/copy_artifacts_artifacts_copy_post.py +166 -0
- everyrow/generated/api/default/copy_workflow_endpoint_workflows_copy_post.py +166 -0
- everyrow/generated/api/default/create_api_key_endpoint_api_keys_create_post.py +186 -0
- everyrow/generated/api/default/create_session_endpoint_sessions_create_post.py +198 -0
- everyrow/generated/api/default/create_workflow_from_artifact_workflows_from_artifact_post.py +174 -0
- everyrow/generated/api/default/export_to_google_sheets_export_post.py +168 -0
- everyrow/generated/api/default/generate_feedback_endpoint_tasks_generate_feedback_post.py +186 -0
- everyrow/generated/api/default/get_artifacts_artifacts_get.py +260 -0
- everyrow/generated/api/default/get_default_timeout_seconds_models_default_timeout_seconds_get.py +165 -0
- everyrow/generated/api/default/get_job_progress_for_task_jobs_progress_get.py +167 -0
- everyrow/generated/api/default/get_metrics_metrics_get.py +80 -0
- everyrow/generated/api/default/get_queues_stats_jobs_queues_get.py +123 -0
- everyrow/generated/api/default/get_task_status_endpoint_tasks_task_id_status_get.py +193 -0
- everyrow/generated/api/default/get_user_usage_usage_get.py +123 -0
- everyrow/generated/api/default/healthz_healthz_get.py +127 -0
- everyrow/generated/api/default/import_from_google_sheets_import_post.py +170 -0
- everyrow/generated/api/default/interrupt_chat_task_tasks_chat_interrupt_post.py +172 -0
- everyrow/generated/api/default/list_api_keys_endpoint_api_keys_get.py +186 -0
- everyrow/generated/api/default/re_execute_task_endpoint_tasks_re_execute_post.py +192 -0
- everyrow/generated/api/default/revoke_api_key_endpoint_api_keys_key_id_revoke_post.py +181 -0
- everyrow/generated/api/default/revoke_jobs_for_task_jobs_revoke_post.py +164 -0
- everyrow/generated/api/default/rollback_to_message_endpoint_tasks_chat_rollback_post.py +186 -0
- everyrow/generated/api/default/submit_chat_task_tasks_chat_post.py +164 -0
- everyrow/generated/api/default/submit_task_tasks_post.py +172 -0
- everyrow/generated/api/default/task_resource_estimation_task_resource_estimation_post.py +319 -0
- everyrow/generated/api/default/trigger_workflow_execution_endpoint_workflows_trigger_post.py +166 -0
- everyrow/generated/api/default/whoami_whoami_get.py +127 -0
- everyrow/generated/client.py +268 -0
- everyrow/generated/errors.py +16 -0
- everyrow/generated/models/__init__.py +281 -0
- everyrow/generated/models/agent_improvement_instruction.py +69 -0
- everyrow/generated/models/agent_query_params.py +362 -0
- everyrow/generated/models/agent_query_params_system_prompt_kind_type_0.py +10 -0
- everyrow/generated/models/agent_task_args.py +163 -0
- everyrow/generated/models/agent_task_args_processing_mode.py +9 -0
- everyrow/generated/models/allowed_suggestions.py +8 -0
- everyrow/generated/models/api_key_info.py +163 -0
- everyrow/generated/models/artifact_changed_payload.py +89 -0
- everyrow/generated/models/artifact_group_record.py +330 -0
- everyrow/generated/models/artifact_group_record_metadata_type_0.py +46 -0
- everyrow/generated/models/artifact_group_record_trace_mapping_type_0.py +46 -0
- everyrow/generated/models/artifact_status.py +14 -0
- everyrow/generated/models/auto_cohort_conversation_message.py +533 -0
- everyrow/generated/models/aux_data.py +128 -0
- everyrow/generated/models/aux_data_source_bank.py +59 -0
- everyrow/generated/models/chat_completion_message_tool_call.py +46 -0
- everyrow/generated/models/chat_message_metadata.py +193 -0
- everyrow/generated/models/concatenate_query_params.py +46 -0
- everyrow/generated/models/concatenate_request.py +306 -0
- everyrow/generated/models/continue_reason.py +9 -0
- everyrow/generated/models/continue_task_request.py +133 -0
- everyrow/generated/models/controller_improvement_round.py +79 -0
- everyrow/generated/models/conversation_changed_payload.py +89 -0
- everyrow/generated/models/copy_artifacts_request.py +70 -0
- everyrow/generated/models/copy_artifacts_response.py +70 -0
- everyrow/generated/models/copy_workflow_request.py +62 -0
- everyrow/generated/models/copy_workflow_response.py +70 -0
- everyrow/generated/models/create_api_key_request.py +95 -0
- everyrow/generated/models/create_api_key_response.py +96 -0
- everyrow/generated/models/create_group_query_params.py +61 -0
- everyrow/generated/models/create_group_request.py +305 -0
- everyrow/generated/models/create_query_params.py +61 -0
- everyrow/generated/models/create_request.py +305 -0
- everyrow/generated/models/create_session_request.py +62 -0
- everyrow/generated/models/create_session_response.py +63 -0
- everyrow/generated/models/create_workflow_from_artifact_request.py +92 -0
- everyrow/generated/models/create_workflow_from_artifact_response.py +70 -0
- everyrow/generated/models/data_frame_method.py +18 -0
- everyrow/generated/models/date_cutoffs.py +145 -0
- everyrow/generated/models/dedupe_mode.py +9 -0
- everyrow/generated/models/dedupe_query_params.py +174 -0
- everyrow/generated/models/dedupe_request_params.py +311 -0
- everyrow/generated/models/deep_merge_public_params.py +143 -0
- everyrow/generated/models/deep_merge_request.py +313 -0
- everyrow/generated/models/deep_rank_public_params.py +99 -0
- everyrow/generated/models/deep_rank_request.py +313 -0
- everyrow/generated/models/deep_screen_public_params.py +122 -0
- everyrow/generated/models/deep_screen_request.py +313 -0
- everyrow/generated/models/derive_expression.py +69 -0
- everyrow/generated/models/derive_query_params.py +75 -0
- everyrow/generated/models/derive_request.py +307 -0
- everyrow/generated/models/document_query_tool.py +12 -0
- everyrow/generated/models/drop_columns_query_params.py +61 -0
- everyrow/generated/models/drop_columns_request.py +305 -0
- everyrow/generated/models/embedding_models.py +9 -0
- everyrow/generated/models/event_type.py +14 -0
- everyrow/generated/models/execution_metadata.py +146 -0
- everyrow/generated/models/export_request.py +75 -0
- everyrow/generated/models/export_request_token_data.py +46 -0
- everyrow/generated/models/export_to_google_sheets_export_post_response_export_to_google_sheets_export_post.py +46 -0
- everyrow/generated/models/filter_query_params.py +91 -0
- everyrow/generated/models/filter_request.py +305 -0
- everyrow/generated/models/flatten_query_params.py +46 -0
- everyrow/generated/models/flatten_request.py +305 -0
- everyrow/generated/models/generate_feedback_request.py +62 -0
- everyrow/generated/models/group_by_query_params.py +62 -0
- everyrow/generated/models/group_by_request.py +305 -0
- everyrow/generated/models/healthz_healthz_get_response_healthz_healthz_get.py +46 -0
- everyrow/generated/models/http_validation_error.py +79 -0
- everyrow/generated/models/image_chat_content_part.py +80 -0
- everyrow/generated/models/image_chat_content_part_image_url.py +46 -0
- everyrow/generated/models/import_from_google_sheets_import_post_response_import_from_google_sheets_import_post.py +46 -0
- everyrow/generated/models/import_request.py +83 -0
- everyrow/generated/models/import_request_token_data.py +46 -0
- everyrow/generated/models/insufficient_balance_error.py +81 -0
- everyrow/generated/models/join_query_params.py +73 -0
- everyrow/generated/models/join_request.py +305 -0
- everyrow/generated/models/llm_enum.py +54 -0
- everyrow/generated/models/map_agent_request_params.py +313 -0
- everyrow/generated/models/map_multi_agent_request_params.py +313 -0
- everyrow/generated/models/message_created_payload.py +98 -0
- everyrow/generated/models/multi_agent_effort_level.py +10 -0
- everyrow/generated/models/multi_agent_query_params.py +264 -0
- everyrow/generated/models/multi_modal_chat_message.py +160 -0
- everyrow/generated/models/multi_modal_chat_message_role.py +10 -0
- everyrow/generated/models/preview_metadata.py +144 -0
- everyrow/generated/models/processing_mode.py +10 -0
- everyrow/generated/models/progress_status.py +83 -0
- everyrow/generated/models/queue_stats.py +77 -0
- everyrow/generated/models/reduce_agent_request_params.py +305 -0
- everyrow/generated/models/reduce_multi_agent_request_params.py +305 -0
- everyrow/generated/models/resource_estimation_response.py +85 -0
- everyrow/generated/models/response_schema_type.py +9 -0
- everyrow/generated/models/revoke_api_key_response.py +61 -0
- everyrow/generated/models/rollback_to_message_request.py +62 -0
- everyrow/generated/models/rollback_to_message_response.py +77 -0
- everyrow/generated/models/session_changed_payload.py +69 -0
- everyrow/generated/models/simple_chat_message.py +121 -0
- everyrow/generated/models/simple_chat_message_role.py +10 -0
- everyrow/generated/models/simple_chat_message_with_tool_calls.py +156 -0
- everyrow/generated/models/source_database_entry.py +92 -0
- everyrow/generated/models/standalone_artifact_record.py +278 -0
- everyrow/generated/models/standalone_artifact_record_metadata_type_0.py +46 -0
- everyrow/generated/models/standalone_artifact_record_trace_mapping_type_0.py +46 -0
- everyrow/generated/models/status_count.py +71 -0
- everyrow/generated/models/status_count_status.py +13 -0
- everyrow/generated/models/submit_chat_task_body.py +497 -0
- everyrow/generated/models/submit_chat_task_body_selected_task_type_type_0.py +11 -0
- everyrow/generated/models/submit_task_body.py +745 -0
- everyrow/generated/models/task_changed_payload.py +105 -0
- everyrow/generated/models/task_effort.py +10 -0
- everyrow/generated/models/task_id_request.py +62 -0
- everyrow/generated/models/task_insert.py +725 -0
- everyrow/generated/models/task_insert_query_params.py +46 -0
- everyrow/generated/models/task_metadata.py +323 -0
- everyrow/generated/models/task_metadata_cols_to_rename_type_0.py +46 -0
- everyrow/generated/models/task_response.py +62 -0
- everyrow/generated/models/task_status.py +12 -0
- everyrow/generated/models/task_status_response.py +112 -0
- everyrow/generated/models/task_type.py +31 -0
- everyrow/generated/models/text_chat_content_part.py +74 -0
- everyrow/generated/models/tool_response_message.py +127 -0
- everyrow/generated/models/toolkit_constants.py +80 -0
- everyrow/generated/models/trace_changed_payload.py +94 -0
- everyrow/generated/models/trace_info.py +78 -0
- everyrow/generated/models/trigger_workflow_execution_request.py +112 -0
- everyrow/generated/models/trigger_workflow_execution_request_task_params.py +65 -0
- everyrow/generated/models/trigger_workflow_execution_request_task_params_additional_property.py +46 -0
- everyrow/generated/models/trigger_workflow_execution_response.py +69 -0
- everyrow/generated/models/upload_csv_payload.py +310 -0
- everyrow/generated/models/upload_csv_query_params.py +114 -0
- everyrow/generated/models/usage_response.py +77 -0
- everyrow/generated/models/validation_error.py +90 -0
- everyrow/generated/models/whoami_whoami_get_response_whoami_whoami_get.py +46 -0
- everyrow/generated/models/workflow_leaf_node_input.py +70 -0
- everyrow/generated/py.typed +1 -0
- everyrow/generated/types.py +54 -0
- everyrow/ops.py +672 -0
- everyrow/result.py +25 -0
- everyrow/session.py +53 -0
- everyrow/task.py +143 -0
- everyrow-0.1.0.dist-info/METADATA +238 -0
- everyrow-0.1.0.dist-info/RECORD +183 -0
- everyrow-0.1.0.dist-info/WHEEL +4 -0
- 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,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.
|