fix: patch .utcnow warning (#1702)
This commit is contained in:
@@ -40,7 +40,7 @@ def main():
|
|||||||
service = build("calendar", "v3", credentials=creds)
|
service = build("calendar", "v3", credentials=creds)
|
||||||
|
|
||||||
# Call the Calendar API
|
# Call the Calendar API
|
||||||
now = datetime.datetime.utcnow().isoformat() + "Z" # 'Z' indicates UTC time
|
now = datetime.datetime.now(datetime.timezone.utc).isoformat() + "Z" # 'Z' indicates UTC time
|
||||||
print("Getting the upcoming 10 events")
|
print("Getting the upcoming 10 events")
|
||||||
events_result = (
|
events_result = (
|
||||||
service.events()
|
service.events()
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import asyncio
|
import asyncio
|
||||||
import threading
|
import threading
|
||||||
from datetime import datetime
|
from datetime import datetime, timezone
|
||||||
from typing import List, Optional
|
from typing import List, Optional
|
||||||
|
|
||||||
from letta.agent import Agent, AgentState
|
from letta.agent import Agent, AgentState
|
||||||
@@ -154,7 +154,7 @@ class SleeptimeMultiAgent(Agent):
|
|||||||
)
|
)
|
||||||
job_update = JobUpdate(
|
job_update = JobUpdate(
|
||||||
status=JobStatus.completed,
|
status=JobStatus.completed,
|
||||||
completed_at=datetime.utcnow(),
|
completed_at=datetime.now(timezone.utc),
|
||||||
metadata={
|
metadata={
|
||||||
"result": result.model_dump(mode="json"),
|
"result": result.model_dump(mode="json"),
|
||||||
"agent_id": participant_agent.agent_state.id,
|
"agent_id": participant_agent.agent_state.id,
|
||||||
@@ -165,7 +165,7 @@ class SleeptimeMultiAgent(Agent):
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
job_update = JobUpdate(
|
job_update = JobUpdate(
|
||||||
status=JobStatus.failed,
|
status=JobStatus.failed,
|
||||||
completed_at=datetime.utcnow(),
|
completed_at=datetime.now(timezone.utc),
|
||||||
metadata={"error": str(e)},
|
metadata={"error": str(e)},
|
||||||
)
|
)
|
||||||
self.job_manager.update_job_by_id(job_id=run_id, job_update=job_update, actor=self.user)
|
self.job_manager.update_job_by_id(job_id=run_id, job_update=job_update, actor=self.user)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
from datetime import datetime
|
from datetime import datetime, timezone
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
|
||||||
from sqlalchemy import Boolean, DateTime, String, func, text
|
from sqlalchemy import Boolean, DateTime, String, func, text
|
||||||
@@ -25,7 +25,7 @@ class CommonSqlalchemyMetaMixins(Base):
|
|||||||
timestamp (Optional[datetime]): The timestamp to set.
|
timestamp (Optional[datetime]): The timestamp to set.
|
||||||
If None, uses the current UTC time.
|
If None, uses the current UTC time.
|
||||||
"""
|
"""
|
||||||
self.updated_at = timestamp or datetime.utcnow()
|
self.updated_at = timestamp or datetime.now(timezone.utc)
|
||||||
|
|
||||||
def _set_created_and_updated_by_fields(self, actor_id: str) -> None:
|
def _set_created_and_updated_by_fields(self, actor_id: str) -> None:
|
||||||
"""Populate created_by_id and last_updated_by_id based on actor."""
|
"""Populate created_by_id and last_updated_by_id based on actor."""
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import json
|
import json
|
||||||
import traceback
|
import traceback
|
||||||
from datetime import datetime
|
from datetime import datetime, timezone
|
||||||
from typing import Annotated, Any, List, Optional
|
from typing import Annotated, Any, List, Optional
|
||||||
|
|
||||||
from fastapi import APIRouter, BackgroundTasks, Body, Depends, File, Header, HTTPException, Query, UploadFile, status
|
from fastapi import APIRouter, BackgroundTasks, Body, Depends, File, Header, HTTPException, Query, UploadFile, status
|
||||||
@@ -729,7 +729,7 @@ async def process_message_background(
|
|||||||
# Update job status to completed
|
# Update job status to completed
|
||||||
job_update = JobUpdate(
|
job_update = JobUpdate(
|
||||||
status=JobStatus.completed,
|
status=JobStatus.completed,
|
||||||
completed_at=datetime.utcnow(),
|
completed_at=datetime.now(timezone.utc),
|
||||||
metadata={"result": result.model_dump(mode="json")}, # Store the result in metadata
|
metadata={"result": result.model_dump(mode="json")}, # Store the result in metadata
|
||||||
)
|
)
|
||||||
server.job_manager.update_job_by_id(job_id=job_id, job_update=job_update, actor=actor)
|
server.job_manager.update_job_by_id(job_id=job_id, job_update=job_update, actor=actor)
|
||||||
@@ -738,7 +738,7 @@ async def process_message_background(
|
|||||||
# Update job status to failed
|
# Update job status to failed
|
||||||
job_update = JobUpdate(
|
job_update = JobUpdate(
|
||||||
status=JobStatus.failed,
|
status=JobStatus.failed,
|
||||||
completed_at=datetime.utcnow(),
|
completed_at=datetime.now(timezone.utc),
|
||||||
metadata={"error": str(e)},
|
metadata={"error": str(e)},
|
||||||
)
|
)
|
||||||
server.job_manager.update_job_by_id(job_id=job_id, job_update=job_update, actor=actor)
|
server.job_manager.update_job_by_id(job_id=job_id, job_update=job_update, actor=actor)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
from datetime import datetime
|
from datetime import datetime, timezone
|
||||||
from typing import List, Optional
|
from typing import List, Optional
|
||||||
|
|
||||||
from openai import OpenAI
|
from openai import OpenAI
|
||||||
@@ -49,7 +49,7 @@ class PassageManager:
|
|||||||
"organization_id": data["organization_id"],
|
"organization_id": data["organization_id"],
|
||||||
"metadata_": data.get("metadata", {}),
|
"metadata_": data.get("metadata", {}),
|
||||||
"is_deleted": data.get("is_deleted", False),
|
"is_deleted": data.get("is_deleted", False),
|
||||||
"created_at": data.get("created_at", datetime.utcnow()),
|
"created_at": data.get("created_at", datetime.now(timezone.utc)),
|
||||||
}
|
}
|
||||||
|
|
||||||
if "agent_id" in data and data["agent_id"]:
|
if "agent_id" in data and data["agent_id"]:
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
import uuid
|
import uuid
|
||||||
from datetime import datetime
|
from datetime import datetime, timezone
|
||||||
from typing import List
|
from typing import List
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
@@ -55,7 +55,7 @@ def generate_message(role: str, text: str = None, tool_calls: List = None) -> Me
|
|||||||
id="message-" + str(uuid.uuid4()),
|
id="message-" + str(uuid.uuid4()),
|
||||||
role=MessageRole(role),
|
role=MessageRole(role),
|
||||||
content=[TextContent(text=text or f"{role} message text")],
|
content=[TextContent(text=text or f"{role} message text")],
|
||||||
created_at=datetime.utcnow(),
|
created_at=datetime.now(timezone.utc),
|
||||||
tool_calls=tool_calls or [],
|
tool_calls=tool_calls or [],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
from datetime import datetime
|
from datetime import datetime, timezone
|
||||||
from unittest.mock import AsyncMock, patch
|
from unittest.mock import AsyncMock, patch
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
@@ -35,10 +35,12 @@ def mock_agent_messages():
|
|||||||
return {
|
return {
|
||||||
"agent-1": [
|
"agent-1": [
|
||||||
PydanticMessage(
|
PydanticMessage(
|
||||||
role=MessageRole.system, content=[{"type": "text", "text": "You are a helpful assistant."}], created_at=datetime.utcnow()
|
role=MessageRole.system,
|
||||||
|
content=[{"type": "text", "text": "You are a helpful assistant."}],
|
||||||
|
created_at=datetime.now(timezone.utc),
|
||||||
),
|
),
|
||||||
PydanticMessage(
|
PydanticMessage(
|
||||||
role=MessageRole.user, content=[{"type": "text", "text": "What's the weather like?"}], created_at=datetime.utcnow()
|
role=MessageRole.user, content=[{"type": "text", "text": "What's the weather like?"}], created_at=datetime.now(timezone.utc)
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1768,7 +1768,7 @@ def test_agent_list_passages_filtering(server, default_user, sarah_agent, defaul
|
|||||||
assert len(source_filtered) == 3
|
assert len(source_filtered) == 3
|
||||||
|
|
||||||
# Test date filtering
|
# Test date filtering
|
||||||
now = datetime.utcnow()
|
now = datetime.now(timezone.utc)
|
||||||
future_date = now + timedelta(days=1)
|
future_date = now + timedelta(days=1)
|
||||||
past_date = now - timedelta(days=1)
|
past_date = now - timedelta(days=1)
|
||||||
|
|
||||||
@@ -4302,7 +4302,7 @@ def test_job_messages_pagination(server: SyncServer, default_run, default_user,
|
|||||||
def test_job_messages_ordering(server: SyncServer, default_run, default_user, sarah_agent):
|
def test_job_messages_ordering(server: SyncServer, default_run, default_user, sarah_agent):
|
||||||
"""Test that messages are ordered by created_at."""
|
"""Test that messages are ordered by created_at."""
|
||||||
# Create messages with different timestamps
|
# Create messages with different timestamps
|
||||||
base_time = datetime.utcnow()
|
base_time = datetime.now(timezone.utc)
|
||||||
message_times = [
|
message_times = [
|
||||||
base_time - timedelta(minutes=2),
|
base_time - timedelta(minutes=2),
|
||||||
base_time - timedelta(minutes=1),
|
base_time - timedelta(minutes=1),
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import json
|
import json
|
||||||
from datetime import datetime
|
from datetime import datetime, timezone
|
||||||
from unittest.mock import AsyncMock
|
from unittest.mock import AsyncMock
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
@@ -31,7 +31,7 @@ def messages():
|
|||||||
Message(
|
Message(
|
||||||
role=MessageRole.user if i % 2 == 0 else MessageRole.assistant,
|
role=MessageRole.user if i % 2 == 0 else MessageRole.assistant,
|
||||||
content=[TextContent(type="text", text=json.dumps({"message": f"Test message {i}"}))],
|
content=[TextContent(type="text", text=json.dumps({"message": f"Test message {i}"}))],
|
||||||
created_at=datetime.utcnow(),
|
created_at=datetime.now(timezone.utc),
|
||||||
)
|
)
|
||||||
for i in range(15)
|
for i in range(15)
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
from datetime import datetime
|
from datetime import datetime, timezone
|
||||||
from unittest.mock import MagicMock, Mock
|
from unittest.mock import MagicMock, Mock
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
@@ -209,7 +209,7 @@ def test_upsert_base_tools(client, mock_sync_server, add_integers_tool):
|
|||||||
def test_get_run_messages(client, mock_sync_server):
|
def test_get_run_messages(client, mock_sync_server):
|
||||||
"""Test getting messages for a run."""
|
"""Test getting messages for a run."""
|
||||||
# Create properly formatted mock messages
|
# Create properly formatted mock messages
|
||||||
current_time = datetime.utcnow()
|
current_time = datetime.now(timezone.utc)
|
||||||
mock_messages = [
|
mock_messages = [
|
||||||
UserMessage(
|
UserMessage(
|
||||||
id=f"message-{i:08x}",
|
id=f"message-{i:08x}",
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
import datetime
|
|
||||||
import os
|
import os
|
||||||
import time
|
import time
|
||||||
from datetime import datetime
|
from datetime import datetime, timezone
|
||||||
from importlib import util
|
from importlib import util
|
||||||
from typing import Dict, Iterator, List, Tuple
|
from typing import Dict, Iterator, List, Tuple
|
||||||
|
|
||||||
@@ -34,7 +33,7 @@ class DummyDataConnector(DataConnector):
|
|||||||
file_size=0, # Set to 0 as a placeholder
|
file_size=0, # Set to 0 as a placeholder
|
||||||
file_creation_date="1970-01-01", # Placeholder date
|
file_creation_date="1970-01-01", # Placeholder date
|
||||||
file_last_modified_date="1970-01-01", # Placeholder date
|
file_last_modified_date="1970-01-01", # Placeholder date
|
||||||
created_at=datetime.utcnow(),
|
created_at=datetime.now(timezone.utc),
|
||||||
)
|
)
|
||||||
self.file_to_text[file_metadata.id] = text
|
self.file_to_text[file_metadata.id] = text
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user