wolfpackai 0.1.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 (90) hide show
  1. wolfpackai-0.1.0/PKG-INFO +166 -0
  2. wolfpackai-0.1.0/README.md +119 -0
  3. wolfpackai-0.1.0/pyproject.toml +56 -0
  4. wolfpackai-0.1.0/setup.cfg +4 -0
  5. wolfpackai-0.1.0/tests/test_agent.py +413 -0
  6. wolfpackai-0.1.0/tests/test_channels.py +147 -0
  7. wolfpackai-0.1.0/tests/test_chat_runtimes.py +39 -0
  8. wolfpackai-0.1.0/tests/test_coding.py +125 -0
  9. wolfpackai-0.1.0/tests/test_concurrency.py +108 -0
  10. wolfpackai-0.1.0/tests/test_deterministic_team_telemetry_example.py +40 -0
  11. wolfpackai-0.1.0/tests/test_evals.py +54 -0
  12. wolfpackai-0.1.0/tests/test_http_runtime.py +45 -0
  13. wolfpackai-0.1.0/tests/test_mcp.py +22 -0
  14. wolfpackai-0.1.0/tests/test_mesh_telemetry_example.py +43 -0
  15. wolfpackai-0.1.0/tests/test_model_utils.py +60 -0
  16. wolfpackai-0.1.0/tests/test_personal.py +83 -0
  17. wolfpackai-0.1.0/tests/test_phase5.py +376 -0
  18. wolfpackai-0.1.0/tests/test_privacy.py +116 -0
  19. wolfpackai-0.1.0/tests/test_schedules.py +82 -0
  20. wolfpackai-0.1.0/tests/test_team.py +115 -0
  21. wolfpackai-0.1.0/tests/test_team_knowledge.py +114 -0
  22. wolfpackai-0.1.0/tests/test_workflow.py +44 -0
  23. wolfpackai-0.1.0/wolfpack/__init__.py +123 -0
  24. wolfpackai-0.1.0/wolfpack/__main__.py +13 -0
  25. wolfpackai-0.1.0/wolfpack/agent/__init__.py +0 -0
  26. wolfpackai-0.1.0/wolfpack/agent/agent.py +747 -0
  27. wolfpackai-0.1.0/wolfpack/agent/events.py +104 -0
  28. wolfpackai-0.1.0/wolfpack/channels/__init__.py +7 -0
  29. wolfpackai-0.1.0/wolfpack/channels/adapters.py +217 -0
  30. wolfpackai-0.1.0/wolfpack/channels/amp.py +27 -0
  31. wolfpackai-0.1.0/wolfpack/channels/contracts.py +31 -0
  32. wolfpackai-0.1.0/wolfpack/coding/__init__.py +23 -0
  33. wolfpackai-0.1.0/wolfpack/coding/command.py +105 -0
  34. wolfpackai-0.1.0/wolfpack/coding/git.py +82 -0
  35. wolfpackai-0.1.0/wolfpack/coding/tools.py +58 -0
  36. wolfpackai-0.1.0/wolfpack/coding/workspace.py +206 -0
  37. wolfpackai-0.1.0/wolfpack/evals/__init__.py +16 -0
  38. wolfpackai-0.1.0/wolfpack/evals/amp.py +41 -0
  39. wolfpackai-0.1.0/wolfpack/evals/runner.py +114 -0
  40. wolfpackai-0.1.0/wolfpack/guardrails/__init__.py +0 -0
  41. wolfpackai-0.1.0/wolfpack/guardrails/base.py +167 -0
  42. wolfpackai-0.1.0/wolfpack/knowledge/__init__.py +0 -0
  43. wolfpackai-0.1.0/wolfpack/knowledge/knowledge.py +117 -0
  44. wolfpackai-0.1.0/wolfpack/knowledge/readers.py +67 -0
  45. wolfpackai-0.1.0/wolfpack/mcp/__init__.py +3 -0
  46. wolfpackai-0.1.0/wolfpack/mcp/client.py +45 -0
  47. wolfpackai-0.1.0/wolfpack/memory/__init__.py +4 -0
  48. wolfpackai-0.1.0/wolfpack/memory/memory.py +182 -0
  49. wolfpackai-0.1.0/wolfpack/memory/personal.py +138 -0
  50. wolfpackai-0.1.0/wolfpack/mesh.py +32 -0
  51. wolfpackai-0.1.0/wolfpack/models/__init__.py +0 -0
  52. wolfpackai-0.1.0/wolfpack/models/base.py +471 -0
  53. wolfpackai-0.1.0/wolfpack/models/message.py +56 -0
  54. wolfpackai-0.1.0/wolfpack/models/response.py +50 -0
  55. wolfpackai-0.1.0/wolfpack/models/utils.py +92 -0
  56. wolfpackai-0.1.0/wolfpack/observer/__init__.py +0 -0
  57. wolfpackai-0.1.0/wolfpack/observer/client.py +306 -0
  58. wolfpackai-0.1.0/wolfpack/personal/__init__.py +9 -0
  59. wolfpackai-0.1.0/wolfpack/personal/actions.py +90 -0
  60. wolfpackai-0.1.0/wolfpack/personal/reminders.py +38 -0
  61. wolfpackai-0.1.0/wolfpack/run/__init__.py +0 -0
  62. wolfpackai-0.1.0/wolfpack/run/approval_store.py +342 -0
  63. wolfpackai-0.1.0/wolfpack/run/requirement.py +237 -0
  64. wolfpackai-0.1.0/wolfpack/runtimes/__init__.py +5 -0
  65. wolfpackai-0.1.0/wolfpack/runtimes/chat.py +66 -0
  66. wolfpackai-0.1.0/wolfpack/schedules/__init__.py +8 -0
  67. wolfpackai-0.1.0/wolfpack/schedules/amp.py +63 -0
  68. wolfpackai-0.1.0/wolfpack/schedules/contracts.py +45 -0
  69. wolfpackai-0.1.0/wolfpack/schedules/runtime.py +129 -0
  70. wolfpackai-0.1.0/wolfpack/schedules/toolkit.py +77 -0
  71. wolfpackai-0.1.0/wolfpack/team/__init__.py +3 -0
  72. wolfpackai-0.1.0/wolfpack/team/team.py +164 -0
  73. wolfpackai-0.1.0/wolfpack/telemetry/__init__.py +0 -0
  74. wolfpackai-0.1.0/wolfpack/telemetry/otel.py +174 -0
  75. wolfpackai-0.1.0/wolfpack/tools/__init__.py +0 -0
  76. wolfpackai-0.1.0/wolfpack/tools/decorator.py +58 -0
  77. wolfpackai-0.1.0/wolfpack/tools/factory.py +35 -0
  78. wolfpackai-0.1.0/wolfpack/tools/function.py +143 -0
  79. wolfpackai-0.1.0/wolfpack/tools/json_schema.py +136 -0
  80. wolfpackai-0.1.0/wolfpack/tools/toolkit.py +55 -0
  81. wolfpackai-0.1.0/wolfpack/vectordb/__init__.py +0 -0
  82. wolfpackai-0.1.0/wolfpack/vectordb/base.py +230 -0
  83. wolfpackai-0.1.0/wolfpack/vectordb/embeddings.py +77 -0
  84. wolfpackai-0.1.0/wolfpack/workflow/__init__.py +3 -0
  85. wolfpackai-0.1.0/wolfpack/workflow/workflow.py +76 -0
  86. wolfpackai-0.1.0/wolfpackai.egg-info/PKG-INFO +166 -0
  87. wolfpackai-0.1.0/wolfpackai.egg-info/SOURCES.txt +88 -0
  88. wolfpackai-0.1.0/wolfpackai.egg-info/dependency_links.txt +1 -0
  89. wolfpackai-0.1.0/wolfpackai.egg-info/requires.txt +32 -0
  90. wolfpackai-0.1.0/wolfpackai.egg-info/top_level.txt +1 -0
@@ -0,0 +1,166 @@
1
+ Metadata-Version: 2.4
2
+ Name: wolfpackai
3
+ Version: 0.1.0
4
+ Summary: Python framework for AI agents with observability, governance, and a production control plane.
5
+ Author: Wolfpack AI
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://github.com/wolfpackaiagents/wolfpackai
8
+ Project-URL: Repository, https://github.com/wolfpackaiagents/wolfpackai
9
+ Project-URL: Issues, https://github.com/wolfpackaiagents/wolfpackai/issues
10
+ Keywords: agents,ai,llm,observability,rag,workflow
11
+ Classifier: Development Status :: 3 - Alpha
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: Operating System :: OS Independent
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Python :: 3.10
16
+ Classifier: Programming Language :: Python :: 3.11
17
+ Classifier: Programming Language :: Python :: 3.12
18
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
19
+ Requires-Python: >=3.10
20
+ Description-Content-Type: text/markdown
21
+ Requires-Dist: pydantic>=2.0
22
+ Requires-Dist: openai>=1.40
23
+ Requires-Dist: anthropic>=0.34
24
+ Requires-Dist: google-genai>=0.2
25
+ Requires-Dist: opentelemetry-api>=1.25
26
+ Requires-Dist: opentelemetry-sdk>=1.25
27
+ Requires-Dist: opentelemetry-exporter-otlp-proto-http>=1.25
28
+ Requires-Dist: pyyaml>=6.0
29
+ Requires-Dist: cryptography>=42.0
30
+ Provides-Extra: qdrant
31
+ Requires-Dist: qdrant-client>=1.9; extra == "qdrant"
32
+ Provides-Extra: pgvector
33
+ Requires-Dist: pgvector>=0.2; extra == "pgvector"
34
+ Requires-Dist: psycopg[binary]>=3.1; extra == "pgvector"
35
+ Provides-Extra: chroma
36
+ Requires-Dist: chromadb>=0.4; extra == "chroma"
37
+ Provides-Extra: knowledge
38
+ Requires-Dist: pypdf>=4.0; extra == "knowledge"
39
+ Requires-Dist: python-docx>=1.1; extra == "knowledge"
40
+ Requires-Dist: beautifulsoup4>=4.12; extra == "knowledge"
41
+ Requires-Dist: markdown>=3.5; extra == "knowledge"
42
+ Provides-Extra: mcp
43
+ Requires-Dist: mcp<2,>=1.0; extra == "mcp"
44
+ Provides-Extra: test
45
+ Requires-Dist: pytest>=8; extra == "test"
46
+ Requires-Dist: pytest-asyncio>=0.23; extra == "test"
47
+
48
+ # Wolfpack AI
49
+
50
+ Wolfpack AI is a Python framework for building production-ready artificial
51
+ intelligence agents. It
52
+ combines agent execution, tool calling, retrieval-augmented generation (RAG),
53
+ memory, human approval flows, guardrails, and OpenTelemetry observability in a
54
+ single developer-focused library.
55
+
56
+ Every agent run can emit structured traces for model calls, tool executions,
57
+ token usage, latency, and cost. The optional Wolfpack Agent Management Platform
58
+ (AMP) receives those traces and provides an operational interface for
59
+ monitoring, governance, evaluation, and agent lifecycle management.
60
+
61
+ ## Install
62
+
63
+ Wolfpack AI requires Python 3.10 or later.
64
+
65
+ ```bash
66
+ pip install wolfpackai
67
+ ```
68
+
69
+ The published package is named `wolfpackai`; Python imports remain under the
70
+ stable `wolfpack` module.
71
+
72
+ Install optional integrations as needed:
73
+
74
+ ```bash
75
+ pip install "wolfpackai[qdrant]" # Qdrant vector database
76
+ pip install "wolfpackai[pgvector]" # PostgreSQL vector search
77
+ pip install "wolfpackai[knowledge]" # Document readers
78
+ pip install "wolfpackai[mcp]" # Model Context Protocol client
79
+ ```
80
+
81
+ ## Quick Start
82
+
83
+ Configure a supported model provider, then create an agent and attach typed
84
+ Python functions as tools.
85
+
86
+ ```bash
87
+ export OPENAI_API_KEY="..."
88
+ ```
89
+
90
+ ```python
91
+ from wolfpack import Agent, get_model_from_env, tool
92
+
93
+
94
+ @tool
95
+ def get_weather(city: str) -> str:
96
+ """Return the current weather for a city.
97
+
98
+ Args:
99
+ city: City name.
100
+ """
101
+ return f"{city}: 22 C, cloudy."
102
+
103
+
104
+ agent = Agent(
105
+ name="Weather assistant",
106
+ model=get_model_from_env(),
107
+ tools=[get_weather],
108
+ )
109
+
110
+ result = agent.run("What is the weather in Lisbon?")
111
+ print(result.content)
112
+ ```
113
+
114
+ ## Capabilities
115
+
116
+ - Agent loop with synchronous execution, asynchronous execution, streaming,
117
+ events, and typed tool calling.
118
+ - Model adapters for OpenAI, Anthropic, Google Gemini, Ollama, Groq, and
119
+ OpenAI-compatible providers.
120
+ - Knowledge retrieval with chunking, embeddings, and memory, Qdrant, or
121
+ PostgreSQL vector stores.
122
+ - Persistent session memory with in-memory and SQLite stores.
123
+ - Guardrails for personally identifiable information, prompt injection, and
124
+ tool allowlists.
125
+ - Durable human-in-the-loop approvals, including pause and resume workflows.
126
+ - Pydantic-based structured output with validation and retry feedback.
127
+ - Deterministic workflows with directed acyclic graph execution, conditions,
128
+ and retries.
129
+ - Multi-agent teams with delegation, routing, broadcast, and task modes.
130
+ - Model Context Protocol client support for external tool servers.
131
+ - Evaluation runners, score publishing, scheduled tasks, and channel adapters
132
+ for Telegram, Slack, Discord, and web chat.
133
+
134
+ ## Observability
135
+
136
+ Wolfpack AI emits OpenTelemetry spans using the generative artificial
137
+ intelligence semantic conventions. Set an Agent Management Platform endpoint
138
+ and project Application Programming Interface key to send runs to the control
139
+ plane:
140
+
141
+ ```bash
142
+ export WOLFPACK_AMP_URL="http://localhost:8000"
143
+ export WOLFPACK_AMP_API_KEY="pk-...:secret"
144
+ ```
145
+
146
+ The Agent Management Platform stores traces and provides dashboards, trace
147
+ exploration, session views, approvals, guardrail settings, evaluation scores,
148
+ privacy controls, schedules, runtime mesh monitoring, and channel management.
149
+
150
+ ## Development
151
+
152
+ Clone the repository and install the development dependencies with uv:
153
+
154
+ ```bash
155
+ git clone https://github.com/wolfpackaiagents/wolfpackai.git
156
+ cd wolfpackai/framework
157
+ uv sync --extra test --group dev
158
+ pytest
159
+ ```
160
+
161
+ Examples are organized by capability in `examples/`, including basic agents,
162
+ tools, knowledge retrieval, observability, human approval, workflows, teams,
163
+
164
+ ## License
165
+
166
+ Wolfpack AI is released under the MIT License.
@@ -0,0 +1,119 @@
1
+ # Wolfpack AI
2
+
3
+ Wolfpack AI is a Python framework for building production-ready artificial
4
+ intelligence agents. It
5
+ combines agent execution, tool calling, retrieval-augmented generation (RAG),
6
+ memory, human approval flows, guardrails, and OpenTelemetry observability in a
7
+ single developer-focused library.
8
+
9
+ Every agent run can emit structured traces for model calls, tool executions,
10
+ token usage, latency, and cost. The optional Wolfpack Agent Management Platform
11
+ (AMP) receives those traces and provides an operational interface for
12
+ monitoring, governance, evaluation, and agent lifecycle management.
13
+
14
+ ## Install
15
+
16
+ Wolfpack AI requires Python 3.10 or later.
17
+
18
+ ```bash
19
+ pip install wolfpackai
20
+ ```
21
+
22
+ The published package is named `wolfpackai`; Python imports remain under the
23
+ stable `wolfpack` module.
24
+
25
+ Install optional integrations as needed:
26
+
27
+ ```bash
28
+ pip install "wolfpackai[qdrant]" # Qdrant vector database
29
+ pip install "wolfpackai[pgvector]" # PostgreSQL vector search
30
+ pip install "wolfpackai[knowledge]" # Document readers
31
+ pip install "wolfpackai[mcp]" # Model Context Protocol client
32
+ ```
33
+
34
+ ## Quick Start
35
+
36
+ Configure a supported model provider, then create an agent and attach typed
37
+ Python functions as tools.
38
+
39
+ ```bash
40
+ export OPENAI_API_KEY="..."
41
+ ```
42
+
43
+ ```python
44
+ from wolfpack import Agent, get_model_from_env, tool
45
+
46
+
47
+ @tool
48
+ def get_weather(city: str) -> str:
49
+ """Return the current weather for a city.
50
+
51
+ Args:
52
+ city: City name.
53
+ """
54
+ return f"{city}: 22 C, cloudy."
55
+
56
+
57
+ agent = Agent(
58
+ name="Weather assistant",
59
+ model=get_model_from_env(),
60
+ tools=[get_weather],
61
+ )
62
+
63
+ result = agent.run("What is the weather in Lisbon?")
64
+ print(result.content)
65
+ ```
66
+
67
+ ## Capabilities
68
+
69
+ - Agent loop with synchronous execution, asynchronous execution, streaming,
70
+ events, and typed tool calling.
71
+ - Model adapters for OpenAI, Anthropic, Google Gemini, Ollama, Groq, and
72
+ OpenAI-compatible providers.
73
+ - Knowledge retrieval with chunking, embeddings, and memory, Qdrant, or
74
+ PostgreSQL vector stores.
75
+ - Persistent session memory with in-memory and SQLite stores.
76
+ - Guardrails for personally identifiable information, prompt injection, and
77
+ tool allowlists.
78
+ - Durable human-in-the-loop approvals, including pause and resume workflows.
79
+ - Pydantic-based structured output with validation and retry feedback.
80
+ - Deterministic workflows with directed acyclic graph execution, conditions,
81
+ and retries.
82
+ - Multi-agent teams with delegation, routing, broadcast, and task modes.
83
+ - Model Context Protocol client support for external tool servers.
84
+ - Evaluation runners, score publishing, scheduled tasks, and channel adapters
85
+ for Telegram, Slack, Discord, and web chat.
86
+
87
+ ## Observability
88
+
89
+ Wolfpack AI emits OpenTelemetry spans using the generative artificial
90
+ intelligence semantic conventions. Set an Agent Management Platform endpoint
91
+ and project Application Programming Interface key to send runs to the control
92
+ plane:
93
+
94
+ ```bash
95
+ export WOLFPACK_AMP_URL="http://localhost:8000"
96
+ export WOLFPACK_AMP_API_KEY="pk-...:secret"
97
+ ```
98
+
99
+ The Agent Management Platform stores traces and provides dashboards, trace
100
+ exploration, session views, approvals, guardrail settings, evaluation scores,
101
+ privacy controls, schedules, runtime mesh monitoring, and channel management.
102
+
103
+ ## Development
104
+
105
+ Clone the repository and install the development dependencies with uv:
106
+
107
+ ```bash
108
+ git clone https://github.com/wolfpackaiagents/wolfpackai.git
109
+ cd wolfpackai/framework
110
+ uv sync --extra test --group dev
111
+ pytest
112
+ ```
113
+
114
+ Examples are organized by capability in `examples/`, including basic agents,
115
+ tools, knowledge retrieval, observability, human approval, workflows, teams,
116
+
117
+ ## License
118
+
119
+ Wolfpack AI is released under the MIT License.
@@ -0,0 +1,56 @@
1
+ [build-system]
2
+ requires = ["setuptools>=61"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "wolfpackai"
7
+ version = "0.1.0"
8
+ description = "Python framework for AI agents with observability, governance, and a production control plane."
9
+ readme = "README.md"
10
+ requires-python = ">=3.10"
11
+ license = "MIT"
12
+ authors = [{ name = "Wolfpack AI" }]
13
+ keywords = ["agents", "ai", "llm", "observability", "rag", "workflow"]
14
+ classifiers = [
15
+ "Development Status :: 3 - Alpha",
16
+ "Intended Audience :: Developers",
17
+ "Operating System :: OS Independent",
18
+ "Programming Language :: Python :: 3",
19
+ "Programming Language :: Python :: 3.10",
20
+ "Programming Language :: Python :: 3.11",
21
+ "Programming Language :: Python :: 3.12",
22
+ "Topic :: Software Development :: Libraries :: Python Modules",
23
+ ]
24
+ dependencies = [
25
+ "pydantic>=2.0",
26
+ "openai>=1.40",
27
+ "anthropic>=0.34",
28
+ "google-genai>=0.2",
29
+ "opentelemetry-api>=1.25",
30
+ "opentelemetry-sdk>=1.25",
31
+ "opentelemetry-exporter-otlp-proto-http>=1.25",
32
+ "pyyaml>=6.0",
33
+ "cryptography>=42.0",
34
+ ]
35
+
36
+ [project.optional-dependencies]
37
+ qdrant = ["qdrant-client>=1.9"]
38
+ pgvector = ["pgvector>=0.2", "psycopg[binary]>=3.1"]
39
+ chroma = ["chromadb>=0.4"]
40
+ knowledge = ["pypdf>=4.0", "python-docx>=1.1", "beautifulsoup4>=4.12", "markdown>=3.5"]
41
+ mcp = ["mcp>=1.0,<2"]
42
+ test = ["pytest>=8", "pytest-asyncio>=0.23"]
43
+
44
+ [dependency-groups]
45
+ dev = ["pytest>=8", "pytest-asyncio>=0.23"]
46
+
47
+ [tool.uv]
48
+ package = true
49
+
50
+ [project.urls]
51
+ Homepage = "https://github.com/wolfpackaiagents/wolfpackai"
52
+ Repository = "https://github.com/wolfpackaiagents/wolfpackai"
53
+ Issues = "https://github.com/wolfpackaiagents/wolfpackai/issues"
54
+
55
+ [tool.setuptools.packages.find]
56
+ include = ["wolfpack*"]
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+