flowcept 0.9.8__py3-none-any.whl → 0.9.10__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.
- flowcept/__init__.py +6 -0
- flowcept/agents/gui/agent_gui.py +6 -3
- flowcept/agents/prompts/general_prompts.py +1 -1
- flowcept/agents/prompts/in_memory_query_prompts.py +2 -0
- flowcept/agents/tools/general_tools.py +38 -2
- flowcept/cli.py +2 -2
- flowcept/commons/vocabulary.py +20 -0
- flowcept/configs.py +2 -2
- flowcept/flowcept_api/flowcept_controller.py +8 -9
- flowcept/instrumentation/flowcept_loop.py +3 -2
- flowcept/version.py +1 -1
- {flowcept-0.9.8.dist-info → flowcept-0.9.10.dist-info}/METADATA +2 -1
- {flowcept-0.9.8.dist-info → flowcept-0.9.10.dist-info}/RECORD +17 -17
- resources/sample_settings.yaml +1 -1
- {flowcept-0.9.8.dist-info → flowcept-0.9.10.dist-info}/WHEEL +0 -0
- {flowcept-0.9.8.dist-info → flowcept-0.9.10.dist-info}/entry_points.txt +0 -0
- {flowcept-0.9.8.dist-info → flowcept-0.9.10.dist-info}/licenses/LICENSE +0 -0
flowcept/__init__.py
CHANGED
|
@@ -41,6 +41,11 @@ def __getattr__(name):
|
|
|
41
41
|
|
|
42
42
|
return FlowceptLoop
|
|
43
43
|
|
|
44
|
+
elif name == "FlowceptLightweightLoop":
|
|
45
|
+
from flowcept.instrumentation.flowcept_loop import FlowceptLightweightLoop
|
|
46
|
+
|
|
47
|
+
return FlowceptLightweightLoop
|
|
48
|
+
|
|
44
49
|
elif name == "telemetry_flowcept_task":
|
|
45
50
|
from flowcept.instrumentation.flowcept_task import telemetry_flowcept_task
|
|
46
51
|
|
|
@@ -74,6 +79,7 @@ __all__ = [
|
|
|
74
79
|
"TaskQueryAPI",
|
|
75
80
|
"flowcept_task",
|
|
76
81
|
"FlowceptLoop",
|
|
82
|
+
"FlowceptLightweightLoop",
|
|
77
83
|
"FlowceptTask",
|
|
78
84
|
"telemetry_flowcept_task",
|
|
79
85
|
"lightweight_flowcept_task",
|
flowcept/agents/gui/agent_gui.py
CHANGED
|
@@ -37,9 +37,12 @@ display_ai_msg(GREETING)
|
|
|
37
37
|
def main():
|
|
38
38
|
"""Main Agent GUI function."""
|
|
39
39
|
st.caption(
|
|
40
|
-
"💡
|
|
41
|
-
"
|
|
42
|
-
"
|
|
40
|
+
"💡 Quick help\n"
|
|
41
|
+
"Ask about workflow metrics, plots, or summaries.\n\n"
|
|
42
|
+
"I have an internal DataFrame in my context to which you can ask direct questions."
|
|
43
|
+
"Tasks inputs are mapped to `used.*` fields, and outputs to `generated.*`\n"
|
|
44
|
+
"Commands: `@record <note>`; \n `@show records`; \n `reset context` ; `save context` \n"
|
|
45
|
+
"Tip: Inputs like `result = df[some valid df query]` will run direct queries to the df in context."
|
|
43
46
|
)
|
|
44
47
|
|
|
45
48
|
user_input = st.chat_input("Send a message")
|
|
@@ -23,9 +23,9 @@ ROUTING_PROMPT = (
|
|
|
23
23
|
"You are a routing assistant for a provenance AI agent. "
|
|
24
24
|
"Given the following user message, classify it into one of the following routes:\n"
|
|
25
25
|
"- small_talk: if it's casual conversation or some random word (e.g., 'hausdn', 'a', hello, how are you, what can you do, what's your name)\n"
|
|
26
|
+
"- in_context_query: if the user is querying the provenance data questions about tasks or data in running workflow (or a workflow that ran recently) or if the user mentions the in-memory 'df' or a dataframe. I expect that most of the interactions will fall in this category.\n"
|
|
26
27
|
"- plot: if user is requesting plots (e.g., plot, chart, visualize)\n"
|
|
27
28
|
# "- in_context_query: if the user asks questions about tasks or data in running workflow (or a workflow that ran recently) or if the user mentions the in-memory 'df' or a dataframe.\n"
|
|
28
|
-
"- in_context_query: if the user is querying the provenance data questions about tasks or data in running workflow (or a workflow that ran recently) or if the user mentions the in-memory 'df' or a dataframe.\n"
|
|
29
29
|
# "- historical_prov_query: if the user wants to query historical provenance data\n"
|
|
30
30
|
"- in_chat_query: if the user appears to be asking about something that has said recently in this chat.\n"
|
|
31
31
|
"- unknown: if you don't know.\n"
|
|
@@ -180,6 +180,8 @@ QUERY_GUIDELINES = """
|
|
|
180
180
|
-To select the first or earliest or initial tasks, use or adapt the following: `df.sort_values(by='started_at', ascending=True)`
|
|
181
181
|
-To select the last or final or most recent tasks, use or adapt the following: `df.sort_values(by='ended_at', ascending=False)`
|
|
182
182
|
|
|
183
|
+
-If user explicitly asks to display or show all columns or fields, do not project on any particular field or column. Just show all of them.
|
|
184
|
+
|
|
183
185
|
-WHEN the user requests a "summary" of activities, you must incorporate relevant summary statistics such as min, max, and mean, into the code you generate.
|
|
184
186
|
-Do NOT use df[0] or df[integer value] or df[df[<field name>].idxmax()] or df[df[<field name>].idxmin()] because these are obviously not valid Pandas Code!
|
|
185
187
|
-**Do NOT use any of those: df[df['started_at'].idxmax()], df[df['started_at'].idxmin()], df[df['ended_at'].idxmin()], df[df['ended_at'].idxmax()]. Those are not valid Pandas Code.**
|
|
@@ -73,6 +73,38 @@ def record_guidance(message: str) -> ToolResult:
|
|
|
73
73
|
return ToolResult(code=201, result=f"Ok. I recorded in my memory: {message}")
|
|
74
74
|
|
|
75
75
|
|
|
76
|
+
@mcp_flowcept.tool()
|
|
77
|
+
def show_records() -> ToolResult:
|
|
78
|
+
"""
|
|
79
|
+
Lists all recorded user guidance.
|
|
80
|
+
"""
|
|
81
|
+
try:
|
|
82
|
+
ctx = mcp_flowcept.get_context()
|
|
83
|
+
custom_guidance: List = ctx.request_context.lifespan_context.custom_guidance
|
|
84
|
+
if not custom_guidance:
|
|
85
|
+
message = "There is no recorded user guidance."
|
|
86
|
+
else:
|
|
87
|
+
message = "This is the list of custom guidance I have in my memory:\n"
|
|
88
|
+
message += "\n".join(f" - {msg}" for msg in custom_guidance)
|
|
89
|
+
|
|
90
|
+
return ToolResult(code=201, result=message)
|
|
91
|
+
except Exception as e:
|
|
92
|
+
return ToolResult(code=499, result=str(e))
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
@mcp_flowcept.tool()
|
|
96
|
+
def reset_records() -> ToolResult:
|
|
97
|
+
"""
|
|
98
|
+
Resets all recorded user guidance.
|
|
99
|
+
"""
|
|
100
|
+
try:
|
|
101
|
+
ctx = mcp_flowcept.get_context()
|
|
102
|
+
ctx.request_context.lifespan_context.custom_guidance = []
|
|
103
|
+
return ToolResult(code=201, result="Custom guidance reset.")
|
|
104
|
+
except Exception as e:
|
|
105
|
+
return ToolResult(code=499, result=str(e))
|
|
106
|
+
|
|
107
|
+
|
|
76
108
|
@mcp_flowcept.tool()
|
|
77
109
|
def prompt_handler(message: str) -> ToolResult:
|
|
78
110
|
"""
|
|
@@ -95,6 +127,10 @@ def prompt_handler(message: str) -> ToolResult:
|
|
|
95
127
|
|
|
96
128
|
if "@record" in message:
|
|
97
129
|
return record_guidance(message)
|
|
130
|
+
if "@show records" in message:
|
|
131
|
+
return show_records()
|
|
132
|
+
if "@reset records" in message:
|
|
133
|
+
return reset_records(message)
|
|
98
134
|
|
|
99
135
|
llm = build_llm_model()
|
|
100
136
|
|
|
@@ -105,12 +141,12 @@ def prompt_handler(message: str) -> ToolResult:
|
|
|
105
141
|
prompt = SMALL_TALK_PROMPT + message
|
|
106
142
|
response = llm.invoke(prompt)
|
|
107
143
|
return ToolResult(code=201, result=response)
|
|
144
|
+
elif route == "in_context_query":
|
|
145
|
+
return run_df_query(llm, message, plot=False)
|
|
108
146
|
elif route == "plot":
|
|
109
147
|
return run_df_query(llm, message, plot=True)
|
|
110
148
|
elif route == "historical_prov_query":
|
|
111
149
|
return ToolResult(code=201, result="We need to query the Provenance Database. Feature coming soon.")
|
|
112
|
-
elif route == "in_context_query":
|
|
113
|
-
return run_df_query(llm, message, plot=False)
|
|
114
150
|
elif route == "in_chat_query":
|
|
115
151
|
prompt = SMALL_TALK_PROMPT + message
|
|
116
152
|
response = llm.invoke(prompt)
|
flowcept/cli.py
CHANGED
|
@@ -106,7 +106,7 @@ def stream_messages(messages_file_path: Optional[str] = None, keys_to_show: List
|
|
|
106
106
|
Listen to Flowcept's message stream and optionally echo/save messages.
|
|
107
107
|
|
|
108
108
|
Parameters.
|
|
109
|
-
|
|
109
|
+
-----------
|
|
110
110
|
messages_file_path : str, optional
|
|
111
111
|
If provided, append each message as JSON (one per line) to this file.
|
|
112
112
|
If the file already exists, a new timestamped file is created instead.
|
|
@@ -350,7 +350,7 @@ def agent_client(tool_name: str, kwargs: str = None):
|
|
|
350
350
|
"""Agent Client.
|
|
351
351
|
|
|
352
352
|
Parameters.
|
|
353
|
-
|
|
353
|
+
-----------
|
|
354
354
|
tool_name : str
|
|
355
355
|
Name of the tool
|
|
356
356
|
kwargs : str, optional
|
flowcept/commons/vocabulary.py
CHANGED
|
@@ -35,3 +35,23 @@ class Status(str, Enum):
|
|
|
35
35
|
def get_finished_statuses():
|
|
36
36
|
"""Get finished status."""
|
|
37
37
|
return [Status.FINISHED, Status.ERROR]
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
class MimeType(Enum):
|
|
41
|
+
"""MimeTypes used in Flowcept."""
|
|
42
|
+
|
|
43
|
+
JPEG = "image/jpeg"
|
|
44
|
+
PNG = "image/png"
|
|
45
|
+
GIF = "image/gif"
|
|
46
|
+
BMP = "image/bmp"
|
|
47
|
+
TIFF = "image/tiff"
|
|
48
|
+
WEBP = "image/webp"
|
|
49
|
+
SVG = "image/svg+xml"
|
|
50
|
+
|
|
51
|
+
# Documents
|
|
52
|
+
PDF = "application/pdf"
|
|
53
|
+
|
|
54
|
+
# Data formats
|
|
55
|
+
JSON = "application/json"
|
|
56
|
+
CSV = "text/csv"
|
|
57
|
+
JSONL = "application/x-ndjson" # standard for JSON Lines
|
flowcept/configs.py
CHANGED
|
@@ -86,8 +86,8 @@ MQ_PASSWORD = settings["mq"].get("password", None)
|
|
|
86
86
|
MQ_HOST = os.getenv("MQ_HOST", settings["mq"].get("host", "localhost"))
|
|
87
87
|
MQ_PORT = int(os.getenv("MQ_PORT", settings["mq"].get("port", "6379")))
|
|
88
88
|
MQ_URI = os.getenv("MQ_URI", settings["mq"].get("uri", None))
|
|
89
|
-
MQ_BUFFER_SIZE = settings["mq"].get("buffer_size",
|
|
90
|
-
MQ_INSERTION_BUFFER_TIME = settings["mq"].get("insertion_buffer_time_secs",
|
|
89
|
+
MQ_BUFFER_SIZE = settings["mq"].get("buffer_size", 1)
|
|
90
|
+
MQ_INSERTION_BUFFER_TIME = settings["mq"].get("insertion_buffer_time_secs", 1)
|
|
91
91
|
MQ_TIMING = settings["mq"].get("timing", False)
|
|
92
92
|
MQ_CHUNK_SIZE = int(settings["mq"].get("chunk_size", -1))
|
|
93
93
|
|
|
@@ -44,7 +44,7 @@ class Flowcept(object):
|
|
|
44
44
|
def __init__(
|
|
45
45
|
self,
|
|
46
46
|
interceptors: List[str] = None,
|
|
47
|
-
bundle_exec_id=None,
|
|
47
|
+
bundle_exec_id: str = None,
|
|
48
48
|
campaign_id: str = None,
|
|
49
49
|
workflow_id: str = None,
|
|
50
50
|
workflow_name: str = None,
|
|
@@ -68,7 +68,7 @@ class Flowcept(object):
|
|
|
68
68
|
Examples: "instrumentation", "dask", "mlflow", ...
|
|
69
69
|
The order of interceptors matters — place the outer-most interceptor first,
|
|
70
70
|
|
|
71
|
-
bundle_exec_id :
|
|
71
|
+
bundle_exec_id : str, optional
|
|
72
72
|
Identifier for grouping interceptors in a bundle, essential for the correct initialization and stop of
|
|
73
73
|
interceptors. If not provided, a unique ID is assigned.
|
|
74
74
|
|
|
@@ -101,9 +101,9 @@ class Flowcept(object):
|
|
|
101
101
|
self.buffer = None
|
|
102
102
|
self._check_safe_stops = check_safe_stops
|
|
103
103
|
if bundle_exec_id is None:
|
|
104
|
-
self.
|
|
104
|
+
self.bundle_exec_id = str(id(self))
|
|
105
105
|
else:
|
|
106
|
-
self.
|
|
106
|
+
self.bundle_exec_id = str(bundle_exec_id)
|
|
107
107
|
|
|
108
108
|
self.enabled = True
|
|
109
109
|
self.is_started = False
|
|
@@ -154,7 +154,7 @@ class Flowcept(object):
|
|
|
154
154
|
Flowcept.current_workflow_id = self.current_workflow_id
|
|
155
155
|
|
|
156
156
|
interceptor_inst = BaseInterceptor.build(interceptor)
|
|
157
|
-
interceptor_inst.start(bundle_exec_id=self.
|
|
157
|
+
interceptor_inst.start(bundle_exec_id=self.bundle_exec_id, check_safe_stops=self._check_safe_stops)
|
|
158
158
|
self._interceptor_instances.append(interceptor_inst)
|
|
159
159
|
if isinstance(interceptor_inst._mq_dao.buffer, AutoflushBuffer):
|
|
160
160
|
Flowcept.buffer = self.buffer = interceptor_inst._mq_dao.buffer.current_buffer
|
|
@@ -297,7 +297,7 @@ class Flowcept(object):
|
|
|
297
297
|
|
|
298
298
|
from flowcept.flowceptor.consumers.document_inserter import DocumentInserter
|
|
299
299
|
|
|
300
|
-
doc_inserter = DocumentInserter(check_safe_stops=self._check_safe_stops, bundle_exec_id=self.
|
|
300
|
+
doc_inserter = DocumentInserter(check_safe_stops=self._check_safe_stops, bundle_exec_id=self.bundle_exec_id)
|
|
301
301
|
doc_inserter.start()
|
|
302
302
|
self._db_inserters.append(doc_inserter)
|
|
303
303
|
|
|
@@ -316,7 +316,7 @@ class Flowcept(object):
|
|
|
316
316
|
if len(self._db_inserters):
|
|
317
317
|
self.logger.info("Stopping DB Inserters...")
|
|
318
318
|
for db_inserter in self._db_inserters:
|
|
319
|
-
db_inserter.stop(bundle_exec_id=self.
|
|
319
|
+
db_inserter.stop(bundle_exec_id=self.bundle_exec_id)
|
|
320
320
|
|
|
321
321
|
Flowcept.buffer = self.buffer = None
|
|
322
322
|
self.is_started = False
|
|
@@ -346,8 +346,7 @@ class Flowcept(object):
|
|
|
346
346
|
- The method tests the liveness of the MQ service using `MQDao`.
|
|
347
347
|
- If `MONGO_ENABLED` is True, it also checks the liveness of the MongoDB service
|
|
348
348
|
using `MongoDBDAO`.
|
|
349
|
-
- Logs errors if any service is not ready, and logs success when both services are
|
|
350
|
-
operational.
|
|
349
|
+
- Logs errors if any service is not ready, and logs success when both services are operational.
|
|
351
350
|
|
|
352
351
|
Examples
|
|
353
352
|
--------
|
|
@@ -49,6 +49,7 @@ class FlowceptLoop:
|
|
|
49
49
|
----------
|
|
50
50
|
items : Union[Sized, Iterator, int]
|
|
51
51
|
The items to iterate over. Can be:
|
|
52
|
+
|
|
52
53
|
- A sized iterable (e.g., list, range).
|
|
53
54
|
- An integer (interpreted as ``range(items)``).
|
|
54
55
|
- An iterator (requires ``items_length`` if length cannot be inferred).
|
|
@@ -216,8 +217,7 @@ class FlowceptLightweightLoop:
|
|
|
216
217
|
|
|
217
218
|
The `FlowceptLightweightLoop` class supports iterating over a collection of items or a numeric
|
|
218
219
|
range while capturing metadata for each iteration and for the loop as a whole.
|
|
219
|
-
This is particularly useful in scenarios where tracking and instrumentation of loop executions
|
|
220
|
-
is required.
|
|
220
|
+
This is particularly useful in scenarios where tracking and instrumentation of loop executions is required.
|
|
221
221
|
|
|
222
222
|
Parameters
|
|
223
223
|
----------
|
|
@@ -269,6 +269,7 @@ class FlowceptLightweightLoop:
|
|
|
269
269
|
----------
|
|
270
270
|
items : Union[Sized, Iterator]
|
|
271
271
|
The items to iterate over. Must either be:
|
|
272
|
+
|
|
272
273
|
- A sized iterable (with ``__len__``).
|
|
273
274
|
- An explicit iterator (length must be given by ``items_length``).
|
|
274
275
|
loop_name : str, optional
|
flowcept/version.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: flowcept
|
|
3
|
-
Version: 0.9.
|
|
3
|
+
Version: 0.9.10
|
|
4
4
|
Summary: Capture and query workflow provenance data using data observability
|
|
5
5
|
Author: Oak Ridge National Laboratory
|
|
6
6
|
License-Expression: MIT
|
|
@@ -56,6 +56,7 @@ Requires-Dist: tensorflow; extra == 'all'
|
|
|
56
56
|
Requires-Dist: tomli; extra == 'all'
|
|
57
57
|
Requires-Dist: watchdog; extra == 'all'
|
|
58
58
|
Provides-Extra: analytics
|
|
59
|
+
Requires-Dist: matplotlib; extra == 'analytics'
|
|
59
60
|
Requires-Dist: plotly; extra == 'analytics'
|
|
60
61
|
Requires-Dist: scipy; extra == 'analytics'
|
|
61
62
|
Requires-Dist: seaborn; extra == 'analytics'
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
flowcept/__init__.py,sha256=
|
|
2
|
-
flowcept/cli.py,sha256=
|
|
3
|
-
flowcept/configs.py,sha256=
|
|
4
|
-
flowcept/version.py,sha256=
|
|
1
|
+
flowcept/__init__.py,sha256=BjvLyDiPpsnSZMFXwmwcL-cpTURe2lCEV2M2aoR0GP4,2440
|
|
2
|
+
flowcept/cli.py,sha256=Wmj83BaQz4dkHvfLV4wLQJcgFgf7cQZJk0-l9xSKlEk,22844
|
|
3
|
+
flowcept/configs.py,sha256=EfH23b8ix0rQ7kFD9fd2Q33bOnhyIv3CctbJ8FpkVCc,8376
|
|
4
|
+
flowcept/version.py,sha256=mvKXD-9NFAU6Je2DYjAL5IfbuFKjy3TnoVI0gK5tiq0,307
|
|
5
5
|
flowcept/agents/__init__.py,sha256=8eeD2CiKBtHiDsWdrHK_UreIkKlTq4dUbhHDyzw372o,175
|
|
6
6
|
flowcept/agents/agent_client.py,sha256=UiBQkC9WE2weLZR2OTkEOEQt9-zqQOkPwRA17HfI-jk,2027
|
|
7
7
|
flowcept/agents/agents_utils.py,sha256=Az5lvWTsBHs_3sWWwy7jSdDjNn-PvZ7KmYd79wxvdyU,6666
|
|
@@ -9,17 +9,17 @@ flowcept/agents/dynamic_schema_tracker.py,sha256=TsmXRRkyUkqB-0bEgmeqSms8xj1tMMJ
|
|
|
9
9
|
flowcept/agents/flowcept_agent.py,sha256=1sidjnNMdG0S6lUKBvml7ZfIb6o3u7zc6HNogsJbl9g,871
|
|
10
10
|
flowcept/agents/flowcept_ctx_manager.py,sha256=-WmkddzzFY2dnU9LbZaoY4-5RcSAQH4FziEJgcC5LEI,7083
|
|
11
11
|
flowcept/agents/gui/__init__.py,sha256=Qw9YKbAzgZqBjMQGnF7XWmfUo0fivtkDISQRK3LA3gU,113
|
|
12
|
-
flowcept/agents/gui/agent_gui.py,sha256=
|
|
12
|
+
flowcept/agents/gui/agent_gui.py,sha256=VpwhQamzFKBfrmibxOIc-8wXtZnd2Cq7tbKahZZOp7c,2995
|
|
13
13
|
flowcept/agents/gui/audio_utils.py,sha256=piA_dc36io1sYqLF6QArS4AMl-cfDa001jGhYz5LkB4,4279
|
|
14
14
|
flowcept/agents/gui/gui_utils.py,sha256=cQVhOgnfxJNUVZyXyO8f40nB1yaKAKVtBrwQmJjL0B0,14933
|
|
15
15
|
flowcept/agents/llms/__init__.py,sha256=kzOaJic5VhMBnGvy_Fr5C6sRKVrRntH1ZnYz7f5_4-s,23
|
|
16
16
|
flowcept/agents/llms/claude_gcp.py,sha256=fzz7235DgzVueuFj5odsr93jWtYHpYlXkSGW1kmmJwU,4915
|
|
17
17
|
flowcept/agents/llms/gemini25.py,sha256=VARrjb3tITIh3_Wppmocp_ocSKVZNon0o0GeFEwTnTI,4229
|
|
18
18
|
flowcept/agents/prompts/__init__.py,sha256=7ICsNhLYzvPS1esG3Vg519s51b1c4yN0WegJUb6Qvww,26
|
|
19
|
-
flowcept/agents/prompts/general_prompts.py,sha256=
|
|
20
|
-
flowcept/agents/prompts/in_memory_query_prompts.py,sha256=
|
|
19
|
+
flowcept/agents/prompts/general_prompts.py,sha256=b0QhnF-ytIE1_WWrgpamC4VybjS8KuS051DgVVt8r2U,3961
|
|
20
|
+
flowcept/agents/prompts/in_memory_query_prompts.py,sha256=iRaGySybNxZf5vuQ3n9cb14VNk6bMQ0z3tn2mVVke0E,19817
|
|
21
21
|
flowcept/agents/tools/__init__.py,sha256=Xqz2E4-LL_7DDcm1XYJFx2f5RdAsjeTpOJb_DPC7xyc,27
|
|
22
|
-
flowcept/agents/tools/general_tools.py,sha256=
|
|
22
|
+
flowcept/agents/tools/general_tools.py,sha256=JSMG_UGdRKcQfC4_ixzDXDHW92UX5i0UsLTzFq0fmZg,4402
|
|
23
23
|
flowcept/agents/tools/in_memory_queries/__init__.py,sha256=K8-JI_lXUgquKkgga8Nef8AntGg_logQtjjQjaEE7yI,39
|
|
24
24
|
flowcept/agents/tools/in_memory_queries/in_memory_queries_tools.py,sha256=GcfAiUBhQ1DU3QKk0kAy9TSq8XmZw691Xs0beZoO76A,25984
|
|
25
25
|
flowcept/agents/tools/in_memory_queries/pandas_agent_utils.py,sha256=xyrZupR86qoUptnnQ7PeF0LTzSOquEK2cjc0ghT1KBs,9018
|
|
@@ -34,7 +34,7 @@ flowcept/commons/query_utils.py,sha256=3tyK5VYA10iDtmtzNwa8OQGn93DBxsu6rTjHDphft
|
|
|
34
34
|
flowcept/commons/settings_factory.py,sha256=bMTjgXRfb5HsL2lPnLfem-9trqELbNWE04Ie7lSlxYM,1731
|
|
35
35
|
flowcept/commons/task_data_preprocess.py,sha256=-ceLexv2ZfZOAYF43DPagGwQPgt_L_lNKuK8ZCpnzXs,13914
|
|
36
36
|
flowcept/commons/utils.py,sha256=gF6ENWlTpR2ZSw3yVNPNBTVzSpcgy-WuzYzwWSXXsug,9252
|
|
37
|
-
flowcept/commons/vocabulary.py,sha256=
|
|
37
|
+
flowcept/commons/vocabulary.py,sha256=0psC4NulNFn88mjTcoT_aT4QxX8ljMFgTOF3FxzM40A,1118
|
|
38
38
|
flowcept/commons/daos/__init__.py,sha256=RO51svfHOg9naN676zuQwbj_RQ6IFHu-RALeefvtwwk,23
|
|
39
39
|
flowcept/commons/daos/keyvalue_dao.py,sha256=g7zgC9hVC1NTllwUAqGt44YqdqYUgAKgPlX8_G4BRGw,3599
|
|
40
40
|
flowcept/commons/daos/redis_conn.py,sha256=gFyW-5yf6B8ExEYopCmbap8ki-iEwuIw-KH9f6o7UGQ,1495
|
|
@@ -54,7 +54,7 @@ flowcept/commons/flowcept_dataclasses/telemetry.py,sha256=9_5ONCo-06r5nKHXmi5HfI
|
|
|
54
54
|
flowcept/commons/flowcept_dataclasses/workflow_object.py,sha256=cauWtXHhBv9lHS-q6cb7yUsNiwQ6PkZPuSinR1TKcqU,6161
|
|
55
55
|
flowcept/flowcept_api/__init__.py,sha256=T1ty86YlocQ5Z18l5fUqHj_CC6Unq_iBv0lFyiI7Ao8,22
|
|
56
56
|
flowcept/flowcept_api/db_api.py,sha256=hKXep-n50rp9cAzV0ljk2QVEF8O64yxi3ujXv5_Ibac,9723
|
|
57
|
-
flowcept/flowcept_api/flowcept_controller.py,sha256=
|
|
57
|
+
flowcept/flowcept_api/flowcept_controller.py,sha256=ubx2a56iRqpjlSdRlUT2-tMifjjpgswZeR55vhpq4qQ,16064
|
|
58
58
|
flowcept/flowcept_api/task_query_api.py,sha256=SrwB0OCVtbpvCPECkE2ySM10G_g8Wlk5PJ8h-0xEaNc,23821
|
|
59
59
|
flowcept/flowcept_webserver/__init__.py,sha256=8411GIXGddKTKoHUvbo_Rq6svosNG7tG8VzvUEBd7WI,28
|
|
60
60
|
flowcept/flowcept_webserver/app.py,sha256=VUV8_JZbIbx9u_1O7m7XtRdhZb_7uifUa-iNlPhmZws,658
|
|
@@ -90,13 +90,13 @@ flowcept/flowceptor/consumers/agent/base_agent_context_manager.py,sha256=5fBPYs-
|
|
|
90
90
|
flowcept/instrumentation/__init__.py,sha256=M5bTmg80E4QyN91gUX3qfw_nbtJSXwGWcKxdZP3vJz0,34
|
|
91
91
|
flowcept/instrumentation/flowcept_agent_task.py,sha256=XN9JU4LODca0SgojUm4F5iU_V8tuWkOt1fAKcoOAG34,10757
|
|
92
92
|
flowcept/instrumentation/flowcept_decorator.py,sha256=X4Lp_FSsoL08K8ZhRM4mC0OjKupbQtbMQR8zxy3ezDY,1350
|
|
93
|
-
flowcept/instrumentation/flowcept_loop.py,sha256=
|
|
93
|
+
flowcept/instrumentation/flowcept_loop.py,sha256=CZ7iuivE_UwAMSgga6cDMjGOALfwvSNA1DMVPDXtXv8,15667
|
|
94
94
|
flowcept/instrumentation/flowcept_task.py,sha256=EmKODpjl8usNklKSVmsKYyCa6gC_QMqKhAr3DKaw44s,8199
|
|
95
95
|
flowcept/instrumentation/flowcept_torch.py,sha256=kkZQRYq6cDBpdBU6J39_4oKRVkhyF3ODlz8ydV5WGKw,23455
|
|
96
96
|
flowcept/instrumentation/task_capture.py,sha256=1g9EtLdqsTB0RHsF-eRmA2Xh9l_YqTd953d4v89IC24,8287
|
|
97
|
-
resources/sample_settings.yaml,sha256
|
|
98
|
-
flowcept-0.9.
|
|
99
|
-
flowcept-0.9.
|
|
100
|
-
flowcept-0.9.
|
|
101
|
-
flowcept-0.9.
|
|
102
|
-
flowcept-0.9.
|
|
97
|
+
resources/sample_settings.yaml,sha256=-EA2RrZ2enmtOnCtmLu6Kk4T_QoRxqqvVU69go6fSYo,6780
|
|
98
|
+
flowcept-0.9.10.dist-info/METADATA,sha256=poIzrnThG0t4-4nG9d-dP7pGOfXalW3-Sw2pyysIoqM,32488
|
|
99
|
+
flowcept-0.9.10.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
100
|
+
flowcept-0.9.10.dist-info/entry_points.txt,sha256=i8q67WE0201rVxYI2lyBtS52shvgl93x2Szp4q8zMlw,47
|
|
101
|
+
flowcept-0.9.10.dist-info/licenses/LICENSE,sha256=r5-2P6tFTuRGWT5TiX32s1y0tnp4cIqBEC1QjTaXe2k,1086
|
|
102
|
+
flowcept-0.9.10.dist-info/RECORD,,
|
resources/sample_settings.yaml
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
flowcept_version: 0.9.
|
|
1
|
+
flowcept_version: 0.9.10 # Version of the Flowcept package. This setting file is compatible with this version.
|
|
2
2
|
|
|
3
3
|
project:
|
|
4
4
|
debug: true # Toggle debug mode. This will add a property `debug: true` to all saved data, making it easier to retrieve/delete them later.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|