agent-runtime-core 0.2.1__tar.gz → 0.3.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. {agent_runtime_core-0.2.1 → agent_runtime_core-0.3.0}/PKG-INFO +1 -1
  2. {agent_runtime_core-0.2.1/agent_runtime → agent_runtime_core-0.3.0/agent_runtime_core}/__init__.py +8 -8
  3. {agent_runtime_core-0.2.1/agent_runtime → agent_runtime_core-0.3.0/agent_runtime_core}/config.py +1 -1
  4. {agent_runtime_core-0.2.1/agent_runtime → agent_runtime_core-0.3.0/agent_runtime_core}/events/__init__.py +5 -5
  5. {agent_runtime_core-0.2.1/agent_runtime → agent_runtime_core-0.3.0/agent_runtime_core}/events/memory.py +1 -1
  6. {agent_runtime_core-0.2.1/agent_runtime → agent_runtime_core-0.3.0/agent_runtime_core}/events/redis.py +1 -1
  7. {agent_runtime_core-0.2.1/agent_runtime → agent_runtime_core-0.3.0/agent_runtime_core}/events/sqlite.py +1 -1
  8. {agent_runtime_core-0.2.1/agent_runtime → agent_runtime_core-0.3.0/agent_runtime_core}/llm/__init__.py +6 -6
  9. {agent_runtime_core-0.2.1/agent_runtime → agent_runtime_core-0.3.0/agent_runtime_core}/llm/anthropic.py +4 -4
  10. {agent_runtime_core-0.2.1/agent_runtime → agent_runtime_core-0.3.0/agent_runtime_core}/llm/litellm_client.py +2 -2
  11. {agent_runtime_core-0.2.1/agent_runtime → agent_runtime_core-0.3.0/agent_runtime_core}/llm/openai.py +4 -4
  12. {agent_runtime_core-0.2.1/agent_runtime → agent_runtime_core-0.3.0/agent_runtime_core}/persistence/__init__.py +4 -4
  13. {agent_runtime_core-0.2.1/agent_runtime → agent_runtime_core-0.3.0/agent_runtime_core}/persistence/file.py +1 -1
  14. {agent_runtime_core-0.2.1/agent_runtime → agent_runtime_core-0.3.0/agent_runtime_core}/persistence/manager.py +2 -2
  15. {agent_runtime_core-0.2.1/agent_runtime → agent_runtime_core-0.3.0/agent_runtime_core}/queue/__init__.py +5 -5
  16. {agent_runtime_core-0.2.1/agent_runtime → agent_runtime_core-0.3.0/agent_runtime_core}/queue/memory.py +1 -1
  17. {agent_runtime_core-0.2.1/agent_runtime → agent_runtime_core-0.3.0/agent_runtime_core}/queue/redis.py +1 -1
  18. {agent_runtime_core-0.2.1/agent_runtime → agent_runtime_core-0.3.0/agent_runtime_core}/queue/sqlite.py +1 -1
  19. {agent_runtime_core-0.2.1/agent_runtime → agent_runtime_core-0.3.0/agent_runtime_core}/registry.py +1 -1
  20. {agent_runtime_core-0.2.1/agent_runtime → agent_runtime_core-0.3.0/agent_runtime_core}/runner.py +6 -6
  21. {agent_runtime_core-0.2.1/agent_runtime → agent_runtime_core-0.3.0/agent_runtime_core}/state/__init__.py +5 -5
  22. {agent_runtime_core-0.2.1/agent_runtime → agent_runtime_core-0.3.0/agent_runtime_core}/state/memory.py +1 -1
  23. {agent_runtime_core-0.2.1/agent_runtime → agent_runtime_core-0.3.0/agent_runtime_core}/state/redis.py +1 -1
  24. {agent_runtime_core-0.2.1/agent_runtime → agent_runtime_core-0.3.0/agent_runtime_core}/state/sqlite.py +1 -1
  25. {agent_runtime_core-0.2.1/agent_runtime → agent_runtime_core-0.3.0/agent_runtime_core}/testing.py +1 -1
  26. {agent_runtime_core-0.2.1/agent_runtime → agent_runtime_core-0.3.0/agent_runtime_core}/tracing/__init__.py +4 -4
  27. {agent_runtime_core-0.2.1/agent_runtime → agent_runtime_core-0.3.0/agent_runtime_core}/tracing/langfuse.py +1 -1
  28. {agent_runtime_core-0.2.1/agent_runtime → agent_runtime_core-0.3.0/agent_runtime_core}/tracing/noop.py +1 -1
  29. {agent_runtime_core-0.2.1 → agent_runtime_core-0.3.0}/pyproject.toml +2 -2
  30. agent_runtime_core-0.3.0/tests/__init__.py +1 -0
  31. {agent_runtime_core-0.2.1 → agent_runtime_core-0.3.0}/tests/test_events.py +1 -1
  32. {agent_runtime_core-0.2.1 → agent_runtime_core-0.3.0}/tests/test_imports.py +11 -11
  33. {agent_runtime_core-0.2.1 → agent_runtime_core-0.3.0}/tests/test_persistence.py +1 -1
  34. {agent_runtime_core-0.2.1 → agent_runtime_core-0.3.0}/tests/test_queue.py +1 -1
  35. {agent_runtime_core-0.2.1 → agent_runtime_core-0.3.0}/tests/test_state.py +1 -1
  36. {agent_runtime_core-0.2.1 → agent_runtime_core-0.3.0}/tests/test_testing.py +2 -2
  37. agent_runtime_core-0.2.1/tests/__init__.py +0 -1
  38. {agent_runtime_core-0.2.1 → agent_runtime_core-0.3.0}/.gitignore +0 -0
  39. {agent_runtime_core-0.2.1 → agent_runtime_core-0.3.0}/LICENSE +0 -0
  40. {agent_runtime_core-0.2.1 → agent_runtime_core-0.3.0}/README.md +0 -0
  41. {agent_runtime_core-0.2.1/agent_runtime → agent_runtime_core-0.3.0/agent_runtime_core}/events/base.py +0 -0
  42. {agent_runtime_core-0.2.1/agent_runtime → agent_runtime_core-0.3.0/agent_runtime_core}/interfaces.py +0 -0
  43. {agent_runtime_core-0.2.1/agent_runtime → agent_runtime_core-0.3.0/agent_runtime_core}/persistence/base.py +0 -0
  44. {agent_runtime_core-0.2.1/agent_runtime → agent_runtime_core-0.3.0/agent_runtime_core}/queue/base.py +0 -0
  45. {agent_runtime_core-0.2.1/agent_runtime → agent_runtime_core-0.3.0/agent_runtime_core}/state/base.py +0 -0
  46. {agent_runtime_core-0.2.1 → agent_runtime_core-0.3.0}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agent-runtime-core
3
- Version: 0.2.1
3
+ Version: 0.3.0
4
4
  Summary: Framework-agnostic Python library for executing AI agents with consistent patterns
5
5
  Project-URL: Homepage, https://github.com/colstrom/agent_runtime_core
6
6
  Project-URL: Repository, https://github.com/colstrom/agent_runtime_core
@@ -9,7 +9,7 @@ This package provides:
9
9
  - A runner for executing agent runs
10
10
 
11
11
  Example usage:
12
- from agent_runtime import (
12
+ from agent_runtime_core import (
13
13
  AgentRuntime,
14
14
  RunContext,
15
15
  RunResult,
@@ -34,10 +34,10 @@ Example usage:
34
34
  return RunResult(final_output={"message": "Hello!"})
35
35
  """
36
36
 
37
- __version__ = "0.2.1"
37
+ __version__ = "0.3.0"
38
38
 
39
39
  # Core interfaces
40
- from agent_runtime.interfaces import (
40
+ from agent_runtime_core.interfaces import (
41
41
  AgentRuntime,
42
42
  EventType,
43
43
  ErrorInfo,
@@ -54,14 +54,14 @@ from agent_runtime.interfaces import (
54
54
  )
55
55
 
56
56
  # Configuration
57
- from agent_runtime.config import (
57
+ from agent_runtime_core.config import (
58
58
  RuntimeConfig,
59
59
  configure,
60
60
  get_config,
61
61
  )
62
62
 
63
63
  # Registry
64
- from agent_runtime.registry import (
64
+ from agent_runtime_core.registry import (
65
65
  register_runtime,
66
66
  get_runtime,
67
67
  list_runtimes,
@@ -70,7 +70,7 @@ from agent_runtime.registry import (
70
70
  )
71
71
 
72
72
  # Runner
73
- from agent_runtime.runner import (
73
+ from agent_runtime_core.runner import (
74
74
  AgentRunner,
75
75
  RunnerConfig,
76
76
  RunContextImpl,
@@ -78,7 +78,7 @@ from agent_runtime.runner import (
78
78
 
79
79
 
80
80
  # Testing utilities
81
- from agent_runtime.testing import (
81
+ from agent_runtime_core.testing import (
82
82
  MockRunContext,
83
83
  MockLLMClient,
84
84
  MockLLMResponse,
@@ -88,7 +88,7 @@ from agent_runtime.testing import (
88
88
  )
89
89
 
90
90
  # Persistence (memory, conversations, tasks, preferences)
91
- from agent_runtime.persistence import (
91
+ from agent_runtime_core.persistence import (
92
92
  # Abstract interfaces
93
93
  MemoryStore,
94
94
  ConversationStore,
@@ -84,7 +84,7 @@ def configure(**kwargs) -> RuntimeConfig:
84
84
  The configured RuntimeConfig instance
85
85
 
86
86
  Example:
87
- from agent_runtime import configure
87
+ from agent_runtime_core import configure
88
88
 
89
89
  configure(
90
90
  model_provider="openai",
@@ -9,8 +9,8 @@ Provides:
9
9
  - SQLiteEventBus: For persistent local storage
10
10
  """
11
11
 
12
- from agent_runtime.events.base import EventBus, Event
13
- from agent_runtime.events.memory import InMemoryEventBus
12
+ from agent_runtime_core.events.base import EventBus, Event
13
+ from agent_runtime_core.events.memory import InMemoryEventBus
14
14
 
15
15
  __all__ = [
16
16
  "EventBus",
@@ -31,7 +31,7 @@ def get_event_bus(backend: str = None, **kwargs) -> EventBus:
31
31
  Returns:
32
32
  EventBus instance
33
33
  """
34
- from agent_runtime.config import get_config
34
+ from agent_runtime_core.config import get_config
35
35
 
36
36
  config = get_config()
37
37
  backend = backend or config.event_bus_backend
@@ -40,14 +40,14 @@ def get_event_bus(backend: str = None, **kwargs) -> EventBus:
40
40
  return InMemoryEventBus()
41
41
 
42
42
  elif backend == "redis":
43
- from agent_runtime.events.redis import RedisEventBus
43
+ from agent_runtime_core.events.redis import RedisEventBus
44
44
  url = kwargs.get("url") or config.redis_url
45
45
  if not url:
46
46
  raise ValueError("redis_url is required for redis event bus backend")
47
47
  return RedisEventBus(url=url, **kwargs)
48
48
 
49
49
  elif backend == "sqlite":
50
- from agent_runtime.events.sqlite import SQLiteEventBus
50
+ from agent_runtime_core.events.sqlite import SQLiteEventBus
51
51
  path = kwargs.get("path") or config.sqlite_path or "agent_runtime.db"
52
52
  return SQLiteEventBus(path=path)
53
53
 
@@ -13,7 +13,7 @@ from datetime import datetime, timezone
13
13
  from typing import AsyncIterator, Optional
14
14
  from uuid import UUID
15
15
 
16
- from agent_runtime.events.base import EventBus, Event
16
+ from agent_runtime_core.events.base import EventBus, Event
17
17
 
18
18
 
19
19
  class InMemoryEventBus(EventBus):
@@ -12,7 +12,7 @@ import json
12
12
  from typing import AsyncIterator, Optional
13
13
  from uuid import UUID
14
14
 
15
- from agent_runtime.events.base import EventBus, Event
15
+ from agent_runtime_core.events.base import EventBus, Event
16
16
 
17
17
 
18
18
  class RedisEventBus(EventBus):
@@ -15,7 +15,7 @@ from datetime import datetime, timezone
15
15
  from typing import AsyncIterator, Optional
16
16
  from uuid import UUID
17
17
 
18
- from agent_runtime.events.base import EventBus, Event
18
+ from agent_runtime_core.events.base import EventBus, Event
19
19
 
20
20
 
21
21
  class SQLiteEventBus(EventBus):
@@ -8,7 +8,7 @@ Provides:
8
8
  - LiteLLMClient: LiteLLM adapter (optional)
9
9
  """
10
10
 
11
- from agent_runtime.interfaces import LLMClient, LLMResponse, LLMStreamChunk
11
+ from agent_runtime_core.interfaces import LLMClient, LLMResponse, LLMStreamChunk
12
12
 
13
13
  __all__ = [
14
14
  "LLMClient",
@@ -48,7 +48,7 @@ def get_llm_client(provider: str = None, **kwargs) -> LLMClient:
48
48
 
49
49
  Example:
50
50
  # Using config (recommended)
51
- from agent_runtime.config import configure
51
+ from agent_runtime_core.config import configure
52
52
  configure(model_provider="openai", openai_api_key="sk-...")
53
53
  llm = get_llm_client()
54
54
 
@@ -58,21 +58,21 @@ def get_llm_client(provider: str = None, **kwargs) -> LLMClient:
58
58
  # Or with a different provider
59
59
  llm = get_llm_client(provider='anthropic', api_key='sk-ant-...')
60
60
  """
61
- from agent_runtime.config import get_config
61
+ from agent_runtime_core.config import get_config
62
62
 
63
63
  config = get_config()
64
64
  provider = provider or config.model_provider
65
65
 
66
66
  if provider == "openai":
67
- from agent_runtime.llm.openai import OpenAIClient
67
+ from agent_runtime_core.llm.openai import OpenAIClient
68
68
  return OpenAIClient(**kwargs)
69
69
 
70
70
  elif provider == "anthropic":
71
- from agent_runtime.llm.anthropic import AnthropicClient
71
+ from agent_runtime_core.llm.anthropic import AnthropicClient
72
72
  return AnthropicClient(**kwargs)
73
73
 
74
74
  elif provider == "litellm":
75
- from agent_runtime.llm.litellm_client import LiteLLMClient
75
+ from agent_runtime_core.llm.litellm_client import LiteLLMClient
76
76
  return LiteLLMClient(**kwargs)
77
77
 
78
78
  else:
@@ -5,7 +5,7 @@ Anthropic API client implementation.
5
5
  import os
6
6
  from typing import AsyncIterator, Optional
7
7
 
8
- from agent_runtime.interfaces import (
8
+ from agent_runtime_core.interfaces import (
9
9
  LLMClient,
10
10
  LLMResponse,
11
11
  LLMStreamChunk,
@@ -43,7 +43,7 @@ class AnthropicClient(LLMClient):
43
43
  "Install it with: pip install agent-runtime-core[anthropic]"
44
44
  )
45
45
 
46
- from agent_runtime.config import get_config
46
+ from agent_runtime_core.config import get_config
47
47
  config = get_config()
48
48
 
49
49
  self.default_model = default_model or config.default_model or "claude-sonnet-4-20250514"
@@ -56,7 +56,7 @@ class AnthropicClient(LLMClient):
56
56
  "Anthropic API key is not configured.\n\n"
57
57
  "Configure it using one of these methods:\n"
58
58
  " 1. Use configure():\n"
59
- " from agent_runtime.config import configure\n"
59
+ " from agent_runtime_core.config import configure\n"
60
60
  " configure(anthropic_api_key='sk-ant-...')\n\n"
61
61
  " 2. Set the ANTHROPIC_API_KEY environment variable:\n"
62
62
  " export ANTHROPIC_API_KEY='sk-ant-...'\n\n"
@@ -81,7 +81,7 @@ class AnthropicClient(LLMClient):
81
81
  if explicit_key:
82
82
  return explicit_key
83
83
 
84
- from agent_runtime.config import get_config
84
+ from agent_runtime_core.config import get_config
85
85
  config = get_config()
86
86
  settings_key = config.get_anthropic_api_key()
87
87
  if settings_key:
@@ -7,7 +7,7 @@ This is an OPTIONAL adapter - the core runtime doesn't depend on it.
7
7
 
8
8
  from typing import AsyncIterator, Optional
9
9
 
10
- from agent_runtime.interfaces import (
10
+ from agent_runtime_core.interfaces import (
11
11
  LLMClient,
12
12
  LLMResponse,
13
13
  LLMStreamChunk,
@@ -41,7 +41,7 @@ class LiteLLMClient(LLMClient):
41
41
  "Install it with: pip install agent-runtime-core[litellm]"
42
42
  )
43
43
 
44
- from agent_runtime.config import get_config
44
+ from agent_runtime_core.config import get_config
45
45
  config = get_config()
46
46
 
47
47
  self.default_model = default_model or config.default_model or "gpt-4o"
@@ -5,7 +5,7 @@ OpenAI API client implementation.
5
5
  import os
6
6
  from typing import AsyncIterator, Optional
7
7
 
8
- from agent_runtime.interfaces import (
8
+ from agent_runtime_core.interfaces import (
9
9
  LLMClient,
10
10
  LLMResponse,
11
11
  LLMStreamChunk,
@@ -45,7 +45,7 @@ class OpenAIClient(LLMClient):
45
45
  "Install it with: pip install agent-runtime-core[openai]"
46
46
  )
47
47
 
48
- from agent_runtime.config import get_config
48
+ from agent_runtime_core.config import get_config
49
49
  config = get_config()
50
50
 
51
51
  self.default_model = default_model or config.default_model
@@ -66,7 +66,7 @@ class OpenAIClient(LLMClient):
66
66
  "OpenAI API key is not configured.\n\n"
67
67
  "Configure it using one of these methods:\n"
68
68
  " 1. Use configure():\n"
69
- " from agent_runtime.config import configure\n"
69
+ " from agent_runtime_core.config import configure\n"
70
70
  " configure(openai_api_key='sk-...')\n\n"
71
71
  " 2. Set the OPENAI_API_KEY environment variable:\n"
72
72
  " export OPENAI_API_KEY='sk-...'\n\n"
@@ -87,7 +87,7 @@ class OpenAIClient(LLMClient):
87
87
  if explicit_key:
88
88
  return explicit_key
89
89
 
90
- from agent_runtime.config import get_config
90
+ from agent_runtime_core.config import get_config
91
91
  config = get_config()
92
92
  settings_key = config.get_openai_api_key()
93
93
  if settings_key:
@@ -8,7 +8,7 @@ This module provides pluggable storage backends for:
8
8
  - Preferences (user and agent configuration)
9
9
 
10
10
  Example usage:
11
- from agent_runtime.persistence import (
11
+ from agent_runtime_core.persistence import (
12
12
  MemoryStore,
13
13
  ConversationStore,
14
14
  FileMemoryStore,
@@ -30,7 +30,7 @@ Example usage:
30
30
  await manager.conversations.save(conversation)
31
31
  """
32
32
 
33
- from agent_runtime.persistence.base import (
33
+ from agent_runtime_core.persistence.base import (
34
34
  MemoryStore,
35
35
  ConversationStore,
36
36
  TaskStore,
@@ -45,14 +45,14 @@ from agent_runtime.persistence.base import (
45
45
  TaskState,
46
46
  )
47
47
 
48
- from agent_runtime.persistence.file import (
48
+ from agent_runtime_core.persistence.file import (
49
49
  FileMemoryStore,
50
50
  FileConversationStore,
51
51
  FileTaskStore,
52
52
  FilePreferencesStore,
53
53
  )
54
54
 
55
- from agent_runtime.persistence.manager import (
55
+ from agent_runtime_core.persistence.manager import (
56
56
  PersistenceManager,
57
57
  PersistenceConfig,
58
58
  get_persistence_manager,
@@ -15,7 +15,7 @@ from pathlib import Path
15
15
  from typing import Any, Optional
16
16
  from uuid import UUID
17
17
 
18
- from agent_runtime.persistence.base import (
18
+ from agent_runtime_core.persistence.base import (
19
19
  MemoryStore,
20
20
  ConversationStore,
21
21
  TaskStore,
@@ -14,14 +14,14 @@ from dataclasses import dataclass, field
14
14
  from pathlib import Path
15
15
  from typing import Any, Callable, Optional, Type, Union
16
16
 
17
- from agent_runtime.persistence.base import (
17
+ from agent_runtime_core.persistence.base import (
18
18
  MemoryStore,
19
19
  ConversationStore,
20
20
  TaskStore,
21
21
  PreferencesStore,
22
22
  Scope,
23
23
  )
24
- from agent_runtime.persistence.file import (
24
+ from agent_runtime_core.persistence.file import (
25
25
  FileMemoryStore,
26
26
  FileConversationStore,
27
27
  FileTaskStore,
@@ -9,8 +9,8 @@ Provides:
9
9
  - SQLiteQueue: For persistent local storage
10
10
  """
11
11
 
12
- from agent_runtime.queue.base import RunQueue, QueuedRun
13
- from agent_runtime.queue.memory import InMemoryQueue
12
+ from agent_runtime_core.queue.base import RunQueue, QueuedRun
13
+ from agent_runtime_core.queue.memory import InMemoryQueue
14
14
 
15
15
  __all__ = [
16
16
  "RunQueue",
@@ -31,7 +31,7 @@ def get_queue(backend: str = None, **kwargs) -> RunQueue:
31
31
  Returns:
32
32
  RunQueue instance
33
33
  """
34
- from agent_runtime.config import get_config
34
+ from agent_runtime_core.config import get_config
35
35
 
36
36
  config = get_config()
37
37
  backend = backend or config.queue_backend
@@ -40,14 +40,14 @@ def get_queue(backend: str = None, **kwargs) -> RunQueue:
40
40
  return InMemoryQueue()
41
41
 
42
42
  elif backend == "redis":
43
- from agent_runtime.queue.redis import RedisQueue
43
+ from agent_runtime_core.queue.redis import RedisQueue
44
44
  url = kwargs.get("url") or config.redis_url
45
45
  if not url:
46
46
  raise ValueError("redis_url is required for redis queue backend")
47
47
  return RedisQueue(url=url)
48
48
 
49
49
  elif backend == "sqlite":
50
- from agent_runtime.queue.sqlite import SQLiteQueue
50
+ from agent_runtime_core.queue.sqlite import SQLiteQueue
51
51
  path = kwargs.get("path") or config.sqlite_path or "agent_runtime.db"
52
52
  return SQLiteQueue(path=path)
53
53
 
@@ -14,7 +14,7 @@ from datetime import datetime, timezone, timedelta
14
14
  from typing import Optional
15
15
  from uuid import UUID
16
16
 
17
- from agent_runtime.queue.base import RunQueue, QueuedRun
17
+ from agent_runtime_core.queue.base import RunQueue, QueuedRun
18
18
 
19
19
 
20
20
  @dataclass
@@ -12,7 +12,7 @@ from datetime import datetime, timedelta, timezone
12
12
  from typing import Optional
13
13
  from uuid import UUID
14
14
 
15
- from agent_runtime.queue.base import RunQueue, QueuedRun, RunStatus
15
+ from agent_runtime_core.queue.base import RunQueue, QueuedRun, RunStatus
16
16
 
17
17
 
18
18
  class RedisQueue(RunQueue):
@@ -14,7 +14,7 @@ from datetime import datetime, timedelta, timezone
14
14
  from typing import Optional
15
15
  from uuid import UUID
16
16
 
17
- from agent_runtime.queue.base import RunQueue, QueuedRun, RunStatus
17
+ from agent_runtime_core.queue.base import RunQueue, QueuedRun, RunStatus
18
18
 
19
19
 
20
20
  class SQLiteQueue(RunQueue):
@@ -7,7 +7,7 @@ looked up by key.
7
7
 
8
8
  from typing import Optional
9
9
 
10
- from agent_runtime.interfaces import AgentRuntime
10
+ from agent_runtime_core.interfaces import AgentRuntime
11
11
 
12
12
 
13
13
  # Global registry
@@ -17,9 +17,9 @@ from datetime import datetime, timezone
17
17
  from typing import Optional
18
18
  from uuid import UUID
19
19
 
20
- from agent_runtime.config import get_config
21
- from agent_runtime.events.base import EventBus
22
- from agent_runtime.interfaces import (
20
+ from agent_runtime_core.config import get_config
21
+ from agent_runtime_core.events.base import EventBus
22
+ from agent_runtime_core.interfaces import (
23
23
  AgentRuntime,
24
24
  EventType,
25
25
  ErrorInfo,
@@ -27,9 +27,9 @@ from agent_runtime.interfaces import (
27
27
  RunResult,
28
28
  ToolRegistry,
29
29
  )
30
- from agent_runtime.queue.base import RunQueue, QueuedRun
31
- from agent_runtime.registry import get_runtime
32
- from agent_runtime.state.base import StateStore
30
+ from agent_runtime_core.queue.base import RunQueue, QueuedRun
31
+ from agent_runtime_core.registry import get_runtime
32
+ from agent_runtime_core.state.base import StateStore
33
33
 
34
34
 
35
35
  @dataclass
@@ -8,8 +8,8 @@ Provides:
8
8
  - SQLiteStateStore: For persistent local storage
9
9
  """
10
10
 
11
- from agent_runtime.state.base import StateStore
12
- from agent_runtime.state.memory import InMemoryStateStore
11
+ from agent_runtime_core.state.base import StateStore
12
+ from agent_runtime_core.state.memory import InMemoryStateStore
13
13
 
14
14
  __all__ = [
15
15
  "StateStore",
@@ -29,7 +29,7 @@ def get_state_store(backend: str = None, **kwargs) -> StateStore:
29
29
  Returns:
30
30
  StateStore instance
31
31
  """
32
- from agent_runtime.config import get_config
32
+ from agent_runtime_core.config import get_config
33
33
 
34
34
  config = get_config()
35
35
  backend = backend or config.state_store_backend
@@ -38,14 +38,14 @@ def get_state_store(backend: str = None, **kwargs) -> StateStore:
38
38
  return InMemoryStateStore()
39
39
 
40
40
  elif backend == "redis":
41
- from agent_runtime.state.redis import RedisStateStore
41
+ from agent_runtime_core.state.redis import RedisStateStore
42
42
  url = kwargs.get("url") or config.redis_url
43
43
  if not url:
44
44
  raise ValueError("redis_url is required for redis state store backend")
45
45
  return RedisStateStore(url=url)
46
46
 
47
47
  elif backend == "sqlite":
48
- from agent_runtime.state.sqlite import SQLiteStateStore
48
+ from agent_runtime_core.state.sqlite import SQLiteStateStore
49
49
  path = kwargs.get("path") or config.sqlite_path or "agent_runtime.db"
50
50
  return SQLiteStateStore(path=path)
51
51
 
@@ -10,7 +10,7 @@ Good for:
10
10
  from typing import Optional
11
11
  from uuid import UUID
12
12
 
13
- from agent_runtime.state.base import StateStore
13
+ from agent_runtime_core.state.base import StateStore
14
14
 
15
15
 
16
16
  class InMemoryStateStore(StateStore):
@@ -12,7 +12,7 @@ from datetime import datetime
12
12
  from typing import Optional
13
13
  from uuid import UUID
14
14
 
15
- from agent_runtime.state.base import StateStore, Checkpoint
15
+ from agent_runtime_core.state.base import StateStore, Checkpoint
16
16
 
17
17
 
18
18
  class RedisStateStore(StateStore):
@@ -15,7 +15,7 @@ from pathlib import Path
15
15
  from typing import Optional
16
16
  from uuid import UUID
17
17
 
18
- from agent_runtime.state.base import StateStore, Checkpoint
18
+ from agent_runtime_core.state.base import StateStore, Checkpoint
19
19
 
20
20
 
21
21
  class SQLiteStateStore(StateStore):
@@ -8,7 +8,7 @@ This module provides tools for testing agent implementations:
8
8
  - LLMEvaluator: Use LLM to evaluate agent responses
9
9
 
10
10
  Example usage:
11
- from agent_runtime.testing import MockRunContext, MockLLMClient, AgentTestCase
11
+ from agent_runtime_core.testing import MockRunContext, MockLLMClient, AgentTestCase
12
12
 
13
13
  class TestMyAgent(AgentTestCase):
14
14
  async def test_agent_responds(self):
@@ -7,7 +7,7 @@ Provides:
7
7
  - LangfuseTraceSink: Langfuse integration
8
8
  """
9
9
 
10
- from agent_runtime.tracing.noop import NoopTraceSink
10
+ from agent_runtime_core.tracing.noop import NoopTraceSink
11
11
 
12
12
  __all__ = [
13
13
  "NoopTraceSink",
@@ -26,8 +26,8 @@ def get_trace_sink(backend: str = None, **kwargs):
26
26
  Returns:
27
27
  TraceSink instance
28
28
  """
29
- from agent_runtime.config import get_config
30
- from agent_runtime.interfaces import TraceSink
29
+ from agent_runtime_core.config import get_config
30
+ from agent_runtime_core.interfaces import TraceSink
31
31
 
32
32
  config = get_config()
33
33
  backend = backend or config.tracing_backend or "noop"
@@ -36,7 +36,7 @@ def get_trace_sink(backend: str = None, **kwargs):
36
36
  return NoopTraceSink()
37
37
 
38
38
  elif backend == "langfuse":
39
- from agent_runtime.tracing.langfuse import LangfuseTraceSink
39
+ from agent_runtime_core.tracing.langfuse import LangfuseTraceSink
40
40
  return LangfuseTraceSink(
41
41
  public_key=kwargs.get("public_key") or config.langfuse_public_key,
42
42
  secret_key=kwargs.get("secret_key") or config.langfuse_secret_key,
@@ -11,7 +11,7 @@ import logging
11
11
  from typing import Optional
12
12
  from uuid import UUID
13
13
 
14
- from agent_runtime.interfaces import TraceSink
14
+ from agent_runtime_core.interfaces import TraceSink
15
15
 
16
16
  try:
17
17
  from langfuse import Langfuse
@@ -7,7 +7,7 @@ Used when tracing is disabled or not configured.
7
7
  from typing import Optional
8
8
  from uuid import UUID
9
9
 
10
- from agent_runtime.interfaces import TraceSink
10
+ from agent_runtime_core.interfaces import TraceSink
11
11
 
12
12
 
13
13
  class NoopTraceSink(TraceSink):
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "agent-runtime-core"
7
- version = "0.2.1"
7
+ version = "0.3.0"
8
8
  description = "Framework-agnostic Python library for executing AI agents with consistent patterns"
9
9
  readme = "README.md"
10
10
  license = "MIT"
@@ -52,7 +52,7 @@ Homepage = "https://github.com/colstrom/agent_runtime_core"
52
52
  Repository = "https://github.com/colstrom/agent_runtime_core"
53
53
 
54
54
  [tool.hatch.build.targets.wheel]
55
- packages = ["agent_runtime"]
55
+ packages = ["agent_runtime_core"]
56
56
 
57
57
  [tool.pytest.ini_options]
58
58
  asyncio_mode = "auto"
@@ -0,0 +1 @@
1
+ """Tests for agent_runtime_core package."""
@@ -4,7 +4,7 @@ import pytest
4
4
  import asyncio
5
5
  from uuid import uuid4
6
6
 
7
- from agent_runtime.events import InMemoryEventBus
7
+ from agent_runtime_core.events import InMemoryEventBus
8
8
 
9
9
 
10
10
  @pytest.fixture
@@ -5,16 +5,16 @@ import pytest
5
5
 
6
6
  def test_version():
7
7
  """Test that version is accessible."""
8
- import agent_runtime
8
+ import agent_runtime_core
9
9
  # Just check that version is a string in semver format
10
- assert isinstance(agent_runtime.__version__, str)
11
- parts = agent_runtime.__version__.split(".")
10
+ assert isinstance(agent_runtime_core.__version__, str)
11
+ parts = agent_runtime_core.__version__.split(".")
12
12
  assert len(parts) >= 2 # At least major.minor
13
13
 
14
14
 
15
15
  def test_core_imports():
16
16
  """Test that core interfaces can be imported."""
17
- from agent_runtime import (
17
+ from agent_runtime_core import (
18
18
  AgentRuntime,
19
19
  RunContext,
20
20
  RunResult,
@@ -33,7 +33,7 @@ def test_core_imports():
33
33
 
34
34
  def test_config_imports():
35
35
  """Test that config can be imported."""
36
- from agent_runtime import (
36
+ from agent_runtime_core import (
37
37
  RuntimeConfig,
38
38
  configure,
39
39
  get_config,
@@ -46,7 +46,7 @@ def test_config_imports():
46
46
 
47
47
  def test_registry_imports():
48
48
  """Test that registry can be imported."""
49
- from agent_runtime import (
49
+ from agent_runtime_core import (
50
50
  register_runtime,
51
51
  get_runtime,
52
52
  list_runtimes,
@@ -60,7 +60,7 @@ def test_registry_imports():
60
60
 
61
61
  def test_runner_imports():
62
62
  """Test that runner can be imported."""
63
- from agent_runtime import (
63
+ from agent_runtime_core import (
64
64
  AgentRunner,
65
65
  RunnerConfig,
66
66
  RunContextImpl,
@@ -72,10 +72,10 @@ def test_runner_imports():
72
72
 
73
73
  def test_submodule_imports():
74
74
  """Test that submodules can be imported."""
75
- from agent_runtime.state import get_state_store, InMemoryStateStore
76
- from agent_runtime.queue import get_queue, InMemoryQueue
77
- from agent_runtime.events import get_event_bus, InMemoryEventBus
78
- from agent_runtime.tracing import get_trace_sink, NoopTraceSink
75
+ from agent_runtime_core.state import get_state_store, InMemoryStateStore
76
+ from agent_runtime_core.queue import get_queue, InMemoryQueue
77
+ from agent_runtime_core.events import get_event_bus, InMemoryEventBus
78
+ from agent_runtime_core.tracing import get_trace_sink, NoopTraceSink
79
79
 
80
80
  assert get_state_store is not None
81
81
  assert get_queue is not None
@@ -7,7 +7,7 @@ from pathlib import Path
7
7
  from uuid import uuid4
8
8
  from datetime import datetime
9
9
 
10
- from agent_runtime.persistence import (
10
+ from agent_runtime_core.persistence import (
11
11
  # Abstract interfaces
12
12
  MemoryStore,
13
13
  ConversationStore,
@@ -3,7 +3,7 @@
3
3
  import pytest
4
4
  from uuid import uuid4
5
5
 
6
- from agent_runtime.queue import InMemoryQueue
6
+ from agent_runtime_core.queue import InMemoryQueue
7
7
 
8
8
 
9
9
  @pytest.fixture
@@ -3,7 +3,7 @@
3
3
  import pytest
4
4
  from uuid import uuid4
5
5
 
6
- from agent_runtime.state import InMemoryStateStore
6
+ from agent_runtime_core.state import InMemoryStateStore
7
7
 
8
8
 
9
9
  @pytest.fixture
@@ -3,7 +3,7 @@
3
3
  import pytest
4
4
  from uuid import UUID
5
5
 
6
- from agent_runtime import (
6
+ from agent_runtime_core import (
7
7
  AgentRuntime,
8
8
  EventType,
9
9
  RunContext,
@@ -11,7 +11,7 @@ from agent_runtime import (
11
11
  Tool,
12
12
  ToolRegistry,
13
13
  )
14
- from agent_runtime.testing import (
14
+ from agent_runtime_core.testing import (
15
15
  MockRunContext,
16
16
  MockLLMClient,
17
17
  MockLLMResponse,
@@ -1 +0,0 @@
1
- """Tests for agent_runtime package."""