nvidia-nat 1.2rc9__py3-none-any.whl → 1.2.1__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.
nat/agent/base.py CHANGED
@@ -179,6 +179,7 @@ class BaseAgent(ABC):
179
179
  logger.debug("%s Retrying tool call for %s in %d seconds...", AGENT_LOG_PREFIX, tool.name, sleep_time)
180
180
  await asyncio.sleep(sleep_time)
181
181
 
182
+ # pylint: disable=C0209
182
183
  # All retries exhausted, return error message
183
184
  error_content = "Tool call failed after all retry attempts. Last error: %s" % str(last_exception)
184
185
  logger.error("%s %s", AGENT_LOG_PREFIX, error_content)
@@ -234,6 +235,22 @@ class BaseAgent(ABC):
234
235
  logger.warning("%s Unexpected error during JSON parsing: %s", AGENT_LOG_PREFIX, str(e))
235
236
  return {"error": f"Unexpected parsing error: {str(e)}", "original_string": json_string}
236
237
 
238
+ def _get_chat_history(self, messages: list[BaseMessage]) -> str:
239
+ """
240
+ Get the chat history excluding the last message.
241
+
242
+ Parameters
243
+ ----------
244
+ messages : list[BaseMessage]
245
+ The messages to get the chat history from
246
+
247
+ Returns
248
+ -------
249
+ str
250
+ The chat history excluding the last message
251
+ """
252
+ return "\n".join([f"{message.type}: {message.content}" for message in messages[:-1]])
253
+
237
254
  @abstractmethod
238
255
  async def _build_graph(self, state_schema: type) -> CompiledGraph:
239
256
  pass
@@ -17,6 +17,7 @@ import json
17
17
  # pylint: disable=R0917
18
18
  import logging
19
19
  from json import JSONDecodeError
20
+ from typing import TYPE_CHECKING
20
21
 
21
22
  from langchain_core.agents import AgentAction
22
23
  from langchain_core.agents import AgentFinish
@@ -44,7 +45,10 @@ from nat.agent.react_agent.output_parser import ReActOutputParser
44
45
  from nat.agent.react_agent.output_parser import ReActOutputParserException
45
46
  from nat.agent.react_agent.prompt import SYSTEM_PROMPT
46
47
  from nat.agent.react_agent.prompt import USER_PROMPT
47
- from nat.agent.react_agent.register import ReActAgentWorkflowConfig
48
+
49
+ # To avoid circular imports
50
+ if TYPE_CHECKING:
51
+ from nat.agent.react_agent.register import ReActAgentWorkflowConfig
48
52
 
49
53
  logger = logging.getLogger(__name__)
50
54
 
@@ -124,17 +128,19 @@ class ReActAgentGraph(DualNodeAgent):
124
128
  if len(state.messages) == 0:
125
129
  raise RuntimeError('No input received in state: "messages"')
126
130
  # to check is any human input passed or not, if no input passed Agent will return the state
127
- content = str(state.messages[0].content)
131
+ content = str(state.messages[-1].content)
128
132
  if content.strip() == "":
129
133
  logger.error("%s No human input passed to the agent.", AGENT_LOG_PREFIX)
130
134
  state.messages += [AIMessage(content=NO_INPUT_ERROR_MESSAGE)]
131
135
  return state
132
136
  question = content
133
137
  logger.debug("%s Querying agent, attempt: %s", AGENT_LOG_PREFIX, attempt)
134
-
138
+ chat_history = self._get_chat_history(state.messages)
135
139
  output_message = await self._stream_llm(
136
140
  self.agent,
137
- {"question": question},
141
+ {
142
+ "question": question, "chat_history": chat_history
143
+ },
138
144
  RunnableConfig(callbacks=self.callbacks) # type: ignore
139
145
  )
140
146
 
@@ -152,13 +158,15 @@ class ReActAgentGraph(DualNodeAgent):
152
158
  tool_response = HumanMessage(content=tool_response_content)
153
159
  agent_scratchpad.append(tool_response)
154
160
  agent_scratchpad += working_state
155
- question = str(state.messages[0].content)
161
+ chat_history = self._get_chat_history(state.messages)
162
+ question = str(state.messages[-1].content)
156
163
  logger.debug("%s Querying agent, attempt: %s", AGENT_LOG_PREFIX, attempt)
157
164
 
158
- output_message = await self._stream_llm(self.agent, {
159
- "question": question, "agent_scratchpad": agent_scratchpad
160
- },
161
- RunnableConfig(callbacks=self.callbacks))
165
+ output_message = await self._stream_llm(
166
+ self.agent, {
167
+ "question": question, "agent_scratchpad": agent_scratchpad, "chat_history": chat_history
168
+ },
169
+ RunnableConfig(callbacks=self.callbacks))
162
170
 
163
171
  if self.detailed_logs:
164
172
  logger.info(AGENT_CALL_LOG_MESSAGE, question, output_message.content)
@@ -326,7 +334,7 @@ class ReActAgentGraph(DualNodeAgent):
326
334
  return True
327
335
 
328
336
 
329
- def create_react_agent_prompt(config: ReActAgentWorkflowConfig) -> ChatPromptTemplate:
337
+ def create_react_agent_prompt(config: "ReActAgentWorkflowConfig") -> ChatPromptTemplate:
330
338
  """
331
339
  Create a ReAct Agent prompt from the config.
332
340
 
@@ -26,7 +26,7 @@ Use the following format exactly to ask the human to use a tool:
26
26
  Question: the input question you must answer
27
27
  Thought: you should always think about what to do
28
28
  Action: the action to take, should be one of [{tool_names}]
29
- Action Input: the input to the action (if there is no required input, include "Action Input: None")
29
+ Action Input: the input to the action (if there is no required input, include "Action Input: None")
30
30
  Observation: wait for the human to respond with the result from the tool, do not assume the response
31
31
 
32
32
  ... (this Thought/Action/Action Input/Observation can repeat N times. If you do not need to use a tool, or after asking the human to use any tools and waiting for the human to respond, you might know the final answer.)
@@ -37,5 +37,8 @@ Final Answer: the final answer to the original input question
37
37
  """
38
38
 
39
39
  USER_PROMPT = """
40
+ Previous conversation history:
41
+ {chat_history}
42
+
40
43
  Question: {question}
41
44
  """
@@ -21,6 +21,7 @@ from json import JSONDecodeError
21
21
  from langchain_core.callbacks.base import AsyncCallbackHandler
22
22
  from langchain_core.language_models import BaseChatModel
23
23
  from langchain_core.messages.ai import AIMessage
24
+ from langchain_core.messages.base import BaseMessage
24
25
  from langchain_core.messages.human import HumanMessage
25
26
  from langchain_core.messages.tool import ToolMessage
26
27
  from langchain_core.prompts.chat import ChatPromptTemplate
@@ -43,6 +44,7 @@ logger = logging.getLogger(__name__)
43
44
 
44
45
  class ReWOOGraphState(BaseModel):
45
46
  """State schema for the ReWOO Agent Graph"""
47
+ messages: list[BaseMessage] = Field(default_factory=list) # input and output of the ReWOO Agent
46
48
  task: HumanMessage = Field(default_factory=lambda: HumanMessage(content="")) # the task provided by user
47
49
  plan: AIMessage = Field(
48
50
  default_factory=lambda: AIMessage(content="")) # the plan generated by the planner to solve the task
@@ -183,10 +185,12 @@ class ReWOOAgentGraph(BaseAgent):
183
185
  if not task:
184
186
  logger.error("%s No task provided to the ReWOO Agent. Please provide a valid task.", AGENT_LOG_PREFIX)
185
187
  return {"result": NO_INPUT_ERROR_MESSAGE}
186
-
188
+ chat_history = self._get_chat_history(state.messages)
187
189
  plan = await self._stream_llm(
188
190
  planner,
189
- {"task": task},
191
+ {
192
+ "task": task, "chat_history": chat_history
193
+ },
190
194
  RunnableConfig(callbacks=self.callbacks) # type: ignore
191
195
  )
192
196
 
@@ -87,6 +87,9 @@ Begin!
87
87
  """
88
88
 
89
89
  PLANNER_USER_PROMPT = """
90
+ Previous conversation history:
91
+ {chat_history}
92
+
90
93
  task: {task}
91
94
  """
92
95
 
@@ -124,8 +124,9 @@ async def rewoo_agent_workflow(config: ReWOOAgentWorkflowConfig, builder: Builde
124
124
  token_counter=len,
125
125
  start_on="human",
126
126
  include_system=True)
127
- task = HumanMessage(content=messages[0].content)
128
- state = ReWOOGraphState(task=task)
127
+
128
+ task = HumanMessage(content=messages[-1].content)
129
+ state = ReWOOGraphState(messages=messages, task=task)
129
130
 
130
131
  # run the ReWOO Agent Graph
131
132
  state = await graph.ainvoke(state)
nat/meta/pypi.md CHANGED
@@ -23,19 +23,19 @@ NeMo Agent toolkit is a flexible library designed to seamlessly integrate your e
23
23
 
24
24
  ## Key Features
25
25
 
26
- - [**Framework Agnostic:**](https://docs.nvidia.com/nemo/agent-toolkit/1.2.0/extend/plugins.html) Works with any agentic framework, so you can use your current technology stack without replatforming.
27
- - [**Reusability:**](https://docs.nvidia.com/nemo/agent-toolkit/1.2.0/extend/sharing-components.html) Every agent, tool, or workflow can be combined and repurposed, allowing developers to leverage existing work in new scenarios.
28
- - [**Rapid Development:**](https://docs.nvidia.com/nemo/agent-toolkit/1.2.0/tutorials/index.html) Start with a pre-built agent, tool, or workflow, and customize it to your needs.
29
- - [**Profiling:**](https://docs.nvidia.com/nemo/agent-toolkit/1.2.0/workflows/profiler.html) Profile entire workflows down to the tool and agent level, track input/output tokens and timings, and identify bottlenecks.
30
- - [**Observability:**](https://docs.nvidia.com/nemo/agent-toolkit/1.2.0/workflows/observe/observe-workflow-with-phoenix.html) Monitor and debug your workflows with any OpenTelemetry-compatible observability tool, with examples using [Phoenix](https://docs.nvidia.com/nemo/agent-toolkit/1.2.0/workflows/observe/observe-workflow-with-phoenix.html) and [W&B Weave](https://docs.nvidia.com/nemo/agent-toolkit/1.2.0/workflows/observe/observe-workflow-with-weave.html).
31
- - [**Evaluation System:**](https://docs.nvidia.com/nemo/agent-toolkit/1.2.0/workflows/evaluate.html) Validate and maintain accuracy of agentic workflows with built-in evaluation tools.
32
- - [**User Interface:**](https://docs.nvidia.com/nemo/agent-toolkit/1.2.0/quick-start/launching-ui.html) Use the NeMo Agent toolkit UI chat interface to interact with your agents, visualize output, and debug workflows.
33
- - [**MCP Compatibility**](https://docs.nvidia.com/nemo/agent-toolkit/1.2.0/workflows/mcp/mcp-client.html) Compatible with Model Context Protocol (MCP), allowing tools served by MCP Servers to be used as NeMo Agent toolkit functions.
26
+ - [**Framework Agnostic:**](https://docs.nvidia.com/nemo/agent-toolkit/1.2/extend/plugins.html) Works with any agentic framework, so you can use your current technology stack without replatforming.
27
+ - [**Reusability:**](https://docs.nvidia.com/nemo/agent-toolkit/1.2/extend/sharing-components.html) Every agent, tool, or workflow can be combined and repurposed, allowing developers to leverage existing work in new scenarios.
28
+ - [**Rapid Development:**](https://docs.nvidia.com/nemo/agent-toolkit/1.2/tutorials/index.html) Start with a pre-built agent, tool, or workflow, and customize it to your needs.
29
+ - [**Profiling:**](https://docs.nvidia.com/nemo/agent-toolkit/1.2/workflows/profiler.html) Profile entire workflows down to the tool and agent level, track input/output tokens and timings, and identify bottlenecks.
30
+ - [**Observability:**](https://docs.nvidia.com/nemo/agent-toolkit/1.2/workflows/observe/observe-workflow-with-phoenix.html) Monitor and debug your workflows with any OpenTelemetry-compatible observability tool, with examples using [Phoenix](https://docs.nvidia.com/nemo/agent-toolkit/1.2/workflows/observe/observe-workflow-with-phoenix.html) and [W&B Weave](https://docs.nvidia.com/nemo/agent-toolkit/1.2/workflows/observe/observe-workflow-with-weave.html).
31
+ - [**Evaluation System:**](https://docs.nvidia.com/nemo/agent-toolkit/1.2/workflows/evaluate.html) Validate and maintain accuracy of agentic workflows with built-in evaluation tools.
32
+ - [**User Interface:**](https://docs.nvidia.com/nemo/agent-toolkit/1.2/quick-start/launching-ui.html) Use the NeMo Agent toolkit UI chat interface to interact with your agents, visualize output, and debug workflows.
33
+ - [**MCP Compatibility**](https://docs.nvidia.com/nemo/agent-toolkit/1.2/workflows/mcp/mcp-client.html) Compatible with Model Context Protocol (MCP), allowing tools served by MCP Servers to be used as NeMo Agent toolkit functions.
34
34
 
35
35
  With NeMo Agent toolkit, you can move quickly, experiment freely, and ensure reliability across all your agent-driven projects.
36
36
 
37
37
  ## Links
38
- * [Documentation](https://docs.nvidia.com/nemo/agent-toolkit/1.2.0/index.html): Explore the full documentation for NeMo Agent toolkit.
38
+ * [Documentation](https://docs.nvidia.com/nemo/agent-toolkit/1.2/index.html): Explore the full documentation for NeMo Agent toolkit.
39
39
 
40
40
  ## First time user?
41
41
  If this is your first time using NeMo Agent toolkit, it is recommended to install the latest version from the [source repository](https://github.com/NVIDIA/NeMo-Agent-Toolkit?tab=readme-ov-file#quick-start) on GitHub. This package is intended for users who are familiar with NeMo Agent toolkit applications and need to add NeMo Agent toolkit as a dependency to their project.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nvidia-nat
3
- Version: 1.2rc9
3
+ Version: 1.2.1
4
4
  Summary: NVIDIA NeMo Agent toolkit
5
5
  Author: NVIDIA Corporation
6
6
  Maintainer: NVIDIA Corporation
@@ -330,19 +330,19 @@ NeMo Agent toolkit is a flexible library designed to seamlessly integrate your e
330
330
 
331
331
  ## Key Features
332
332
 
333
- - [**Framework Agnostic:**](https://docs.nvidia.com/nemo/agent-toolkit/1.2.0/extend/plugins.html) Works with any agentic framework, so you can use your current technology stack without replatforming.
334
- - [**Reusability:**](https://docs.nvidia.com/nemo/agent-toolkit/1.2.0/extend/sharing-components.html) Every agent, tool, or workflow can be combined and repurposed, allowing developers to leverage existing work in new scenarios.
335
- - [**Rapid Development:**](https://docs.nvidia.com/nemo/agent-toolkit/1.2.0/tutorials/index.html) Start with a pre-built agent, tool, or workflow, and customize it to your needs.
336
- - [**Profiling:**](https://docs.nvidia.com/nemo/agent-toolkit/1.2.0/workflows/profiler.html) Profile entire workflows down to the tool and agent level, track input/output tokens and timings, and identify bottlenecks.
337
- - [**Observability:**](https://docs.nvidia.com/nemo/agent-toolkit/1.2.0/workflows/observe/observe-workflow-with-phoenix.html) Monitor and debug your workflows with any OpenTelemetry-compatible observability tool, with examples using [Phoenix](https://docs.nvidia.com/nemo/agent-toolkit/1.2.0/workflows/observe/observe-workflow-with-phoenix.html) and [W&B Weave](https://docs.nvidia.com/nemo/agent-toolkit/1.2.0/workflows/observe/observe-workflow-with-weave.html).
338
- - [**Evaluation System:**](https://docs.nvidia.com/nemo/agent-toolkit/1.2.0/workflows/evaluate.html) Validate and maintain accuracy of agentic workflows with built-in evaluation tools.
339
- - [**User Interface:**](https://docs.nvidia.com/nemo/agent-toolkit/1.2.0/quick-start/launching-ui.html) Use the NeMo Agent toolkit UI chat interface to interact with your agents, visualize output, and debug workflows.
340
- - [**MCP Compatibility**](https://docs.nvidia.com/nemo/agent-toolkit/1.2.0/workflows/mcp/mcp-client.html) Compatible with Model Context Protocol (MCP), allowing tools served by MCP Servers to be used as NeMo Agent toolkit functions.
333
+ - [**Framework Agnostic:**](https://docs.nvidia.com/nemo/agent-toolkit/1.2/extend/plugins.html) Works with any agentic framework, so you can use your current technology stack without replatforming.
334
+ - [**Reusability:**](https://docs.nvidia.com/nemo/agent-toolkit/1.2/extend/sharing-components.html) Every agent, tool, or workflow can be combined and repurposed, allowing developers to leverage existing work in new scenarios.
335
+ - [**Rapid Development:**](https://docs.nvidia.com/nemo/agent-toolkit/1.2/tutorials/index.html) Start with a pre-built agent, tool, or workflow, and customize it to your needs.
336
+ - [**Profiling:**](https://docs.nvidia.com/nemo/agent-toolkit/1.2/workflows/profiler.html) Profile entire workflows down to the tool and agent level, track input/output tokens and timings, and identify bottlenecks.
337
+ - [**Observability:**](https://docs.nvidia.com/nemo/agent-toolkit/1.2/workflows/observe/observe-workflow-with-phoenix.html) Monitor and debug your workflows with any OpenTelemetry-compatible observability tool, with examples using [Phoenix](https://docs.nvidia.com/nemo/agent-toolkit/1.2/workflows/observe/observe-workflow-with-phoenix.html) and [W&B Weave](https://docs.nvidia.com/nemo/agent-toolkit/1.2/workflows/observe/observe-workflow-with-weave.html).
338
+ - [**Evaluation System:**](https://docs.nvidia.com/nemo/agent-toolkit/1.2/workflows/evaluate.html) Validate and maintain accuracy of agentic workflows with built-in evaluation tools.
339
+ - [**User Interface:**](https://docs.nvidia.com/nemo/agent-toolkit/1.2/quick-start/launching-ui.html) Use the NeMo Agent toolkit UI chat interface to interact with your agents, visualize output, and debug workflows.
340
+ - [**MCP Compatibility**](https://docs.nvidia.com/nemo/agent-toolkit/1.2/workflows/mcp/mcp-client.html) Compatible with Model Context Protocol (MCP), allowing tools served by MCP Servers to be used as NeMo Agent toolkit functions.
341
341
 
342
342
  With NeMo Agent toolkit, you can move quickly, experiment freely, and ensure reliability across all your agent-driven projects.
343
343
 
344
344
  ## Links
345
- * [Documentation](https://docs.nvidia.com/nemo/agent-toolkit/1.2.0/index.html): Explore the full documentation for NeMo Agent toolkit.
345
+ * [Documentation](https://docs.nvidia.com/nemo/agent-toolkit/1.2/index.html): Explore the full documentation for NeMo Agent toolkit.
346
346
 
347
347
  ## First time user?
348
348
  If this is your first time using NeMo Agent toolkit, it is recommended to install the latest version from the [source repository](https://github.com/NVIDIA/NeMo-Agent-Toolkit?tab=readme-ov-file#quick-start) on GitHub. This package is intended for users who are familiar with NeMo Agent toolkit applications and need to add NeMo Agent toolkit as a dependency to their project.
@@ -1,19 +1,19 @@
1
1
  aiq/__init__.py,sha256=E9vuQX0dCZIALhOg360sRLO53f6NXPgMTv3X1sh8WAM,2376
2
2
  nat/agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
- nat/agent/base.py,sha256=vKD3q6RiRdXYlmsZOsB9DB0cVfSMNByhjn7uwp8TxGw,9094
3
+ nat/agent/base.py,sha256=DVSUq1VBhrgeTxnDgcESMFcJlEhnBa3PU9I1Rl5t3B8,9602
4
4
  nat/agent/dual_node.py,sha256=EOYpYzhaY-m1t2W3eiQrBjSfNjYMDttAwtzEEEcYP4s,2353
5
5
  nat/agent/register.py,sha256=EATlFFl7ov5HNGySLcPv1T7jzV-Jy-jPVkUzSXDT-7s,1005
6
6
  nat/agent/react_agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
- nat/agent/react_agent/agent.py,sha256=UJBhVVpPwNB0fcHtHeJk2U0TKQtVnWe9R-_BNXVZlw4,19424
7
+ nat/agent/react_agent/agent.py,sha256=s968IEwb3toBRDfeBFTOQlseC_5zULu_3IQaS5li9xY,19770
8
8
  nat/agent/react_agent/output_parser.py,sha256=m7K6wRwtckBBpAHqOf3BZ9mqZLwrP13Kxz5fvNxbyZE,4219
9
- nat/agent/react_agent/prompt.py,sha256=iGPBU6kh1xbp4QsU1p3o4A0JDov23J1EVM3HSAX6S0A,1713
9
+ nat/agent/react_agent/prompt.py,sha256=N47JJrT6xwYQCv1jedHhlul2AE7EfKsSYfAbgJwWRew,1758
10
10
  nat/agent/react_agent/register.py,sha256=g3xkVWqr1p26Gjk4OJF_kolV6WBtS5GJkLvFHG7e7-I,8099
11
11
  nat/agent/reasoning_agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
12
  nat/agent/reasoning_agent/reasoning_agent.py,sha256=2NDDHeesM2s2PnJfRsv2OTYjeajR1rYUVDvJZLzWGAQ,9434
13
13
  nat/agent/rewoo_agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
- nat/agent/rewoo_agent/agent.py,sha256=BE4w8Tk1XvxN3qH-lbrT03RQlGP7WAEFfqXjAly8JCM,19009
15
- nat/agent/rewoo_agent/prompt.py,sha256=yRDaH8qMVBVchz--rZIJt8dP3GgFi4akVpclt-q1lHw,3673
16
- nat/agent/rewoo_agent/register.py,sha256=6lZVKi7dWC9324mqAMvsO4pLAAz1Vv914NlhFWvAYwk,8411
14
+ nat/agent/rewoo_agent/agent.py,sha256=MEyBaFjxWaTwAtaKHNwHR0q4fR_-SpO85U_6d2kGZUg,19296
15
+ nat/agent/rewoo_agent/prompt.py,sha256=nFMav3Zl_vmKPLzAIhbQHlldWnurPJb1GlwnekUuxDs,3720
16
+ nat/agent/rewoo_agent/register.py,sha256=v04nBg6608HoQL1lxuOSZjX1gr2DpscjyQwMCRWF94Y,8432
17
17
  nat/agent/tool_calling_agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
18
  nat/agent/tool_calling_agent/agent.py,sha256=tKcVIV1EI0D9qlSDUJ7mJOhWCAotFBka2Ii0f4mukoU,5718
19
19
  nat/agent/tool_calling_agent/register.py,sha256=iUZ53Ki-KfNwJ-R17r7a3JqmKdKbZCNZReUK0uPJfbU,5413
@@ -245,7 +245,7 @@ nat/llm/utils/error.py,sha256=gFFDG_v_3hBZVWpcD7HWkno-NBHDjXae7qDGnfiCNwA,820
245
245
  nat/memory/__init__.py,sha256=ARS_HJipPR4mLDqw3VISSQLzeezru_vgNgsi1Ku0GRE,828
246
246
  nat/memory/interfaces.py,sha256=lyj1TGr3Fhibul8Y64Emj-BUEqDotmmFoVCEMqTujUA,5531
247
247
  nat/memory/models.py,sha256=c5dA7nKHQ4AS1_ptQZcfC_oXO495-ehocnf_qXTE6c8,4319
248
- nat/meta/pypi.md,sha256=6oXSSS1rmCZGbW32_mGq0qrMh0g6aSe-_E9QwIle4Og,4524
248
+ nat/meta/pypi.md,sha256=MTsUdLhHjwZOZZStmaJYn6AbUWbzJvueyjN_AyYSVes,4502
249
249
  nat/object_store/__init__.py,sha256=81UKtZ6qcc__hfNjMnEYBHE16k7XBXX6R5IJNg1zfRs,831
250
250
  nat/object_store/in_memory_object_store.py,sha256=98UgQK2YdXTTQjBfQS-mjBCCugm1XUB7DZCFS8xe9yQ,2644
251
251
  nat/object_store/interfaces.py,sha256=5NbsE9TccihOf5ScG04hE1eNOaiajOZIUOeK_Kvukk8,2519
@@ -426,10 +426,10 @@ nat/utils/reactive/base/observer_base.py,sha256=UAlyAY_ky4q2t0P81RVFo2Bs_R7z5Nde
426
426
  nat/utils/reactive/base/subject_base.py,sha256=UQOxlkZTIeeyYmG5qLtDpNf_63Y7p-doEeUA08_R8ME,2521
427
427
  nat/utils/settings/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
428
428
  nat/utils/settings/global_settings.py,sha256=CYHQX7F6MDR18vsVFTrEySpS9cBufuVGTUqZm9lREFs,7446
429
- nvidia_nat-1.2rc9.dist-info/licenses/LICENSE-3rd-party.txt,sha256=fOk5jMmCX9YoKWyYzTtfgl-SUy477audFC5hNY4oP7Q,284609
430
- nvidia_nat-1.2rc9.dist-info/licenses/LICENSE.md,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
431
- nvidia_nat-1.2rc9.dist-info/METADATA,sha256=LoxwV8a37Yb459jgDXB4Yg97s2Mh_uw1wTgNNpfeKjk,21776
432
- nvidia_nat-1.2rc9.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
433
- nvidia_nat-1.2rc9.dist-info/entry_points.txt,sha256=FNh4pZVSe_61s29zdks66lmXBPtsnko8KSZ4ffv7WVE,653
434
- nvidia_nat-1.2rc9.dist-info/top_level.txt,sha256=lgJWLkigiVZuZ_O1nxVnD_ziYBwgpE2OStdaCduMEGc,8
435
- nvidia_nat-1.2rc9.dist-info/RECORD,,
429
+ nvidia_nat-1.2.1.dist-info/licenses/LICENSE-3rd-party.txt,sha256=fOk5jMmCX9YoKWyYzTtfgl-SUy477audFC5hNY4oP7Q,284609
430
+ nvidia_nat-1.2.1.dist-info/licenses/LICENSE.md,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
431
+ nvidia_nat-1.2.1.dist-info/METADATA,sha256=A3UM1ZwV1L2bT5lEZ5hcO9sAPckzR2W_7j_SrhzyLk8,21753
432
+ nvidia_nat-1.2.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
433
+ nvidia_nat-1.2.1.dist-info/entry_points.txt,sha256=FNh4pZVSe_61s29zdks66lmXBPtsnko8KSZ4ffv7WVE,653
434
+ nvidia_nat-1.2.1.dist-info/top_level.txt,sha256=lgJWLkigiVZuZ_O1nxVnD_ziYBwgpE2OStdaCduMEGc,8
435
+ nvidia_nat-1.2.1.dist-info/RECORD,,