loomflow 0.9.9__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.
Files changed (116) hide show
  1. loomflow/__init__.py +185 -0
  2. loomflow/agent/__init__.py +5 -0
  3. loomflow/agent/api.py +1437 -0
  4. loomflow/architecture/__init__.py +64 -0
  5. loomflow/architecture/actor_critic.py +405 -0
  6. loomflow/architecture/base.py +218 -0
  7. loomflow/architecture/blackboard.py +474 -0
  8. loomflow/architecture/debate.py +471 -0
  9. loomflow/architecture/helpers.py +210 -0
  10. loomflow/architecture/plan_and_execute.py +404 -0
  11. loomflow/architecture/react.py +775 -0
  12. loomflow/architecture/reflexion.py +363 -0
  13. loomflow/architecture/resolver.py +56 -0
  14. loomflow/architecture/rewoo.py +549 -0
  15. loomflow/architecture/router.py +292 -0
  16. loomflow/architecture/self_refine.py +232 -0
  17. loomflow/architecture/supervisor.py +476 -0
  18. loomflow/architecture/swarm.py +490 -0
  19. loomflow/architecture/tool_host_wrappers.py +94 -0
  20. loomflow/architecture/tree_of_thoughts.py +500 -0
  21. loomflow/core/__init__.py +139 -0
  22. loomflow/core/_deprecation.py +104 -0
  23. loomflow/core/_eviction.py +221 -0
  24. loomflow/core/context.py +230 -0
  25. loomflow/core/errors.py +195 -0
  26. loomflow/core/ids.py +45 -0
  27. loomflow/core/protocols.py +444 -0
  28. loomflow/core/types.py +552 -0
  29. loomflow/data/__init__.py +25 -0
  30. loomflow/data/lineage.py +163 -0
  31. loomflow/governance/__init__.py +13 -0
  32. loomflow/governance/budget.py +276 -0
  33. loomflow/governance/retry.py +390 -0
  34. loomflow/graph.py +648 -0
  35. loomflow/loader/__init__.py +82 -0
  36. loomflow/loader/base.py +67 -0
  37. loomflow/loader/chunking.py +552 -0
  38. loomflow/loader/csv.py +67 -0
  39. loomflow/loader/dispatch.py +54 -0
  40. loomflow/loader/docx.py +156 -0
  41. loomflow/loader/excel.py +119 -0
  42. loomflow/loader/html.py +147 -0
  43. loomflow/loader/pdf.py +449 -0
  44. loomflow/loader/text.py +43 -0
  45. loomflow/mcp/__init__.py +21 -0
  46. loomflow/mcp/client.py +171 -0
  47. loomflow/mcp/registry.py +213 -0
  48. loomflow/mcp/spec.py +69 -0
  49. loomflow/memory/__init__.py +72 -0
  50. loomflow/memory/_embedding_util.py +30 -0
  51. loomflow/memory/auto_extract.py +282 -0
  52. loomflow/memory/chroma.py +533 -0
  53. loomflow/memory/chroma_facts.py +362 -0
  54. loomflow/memory/consolidator.py +163 -0
  55. loomflow/memory/embedder.py +281 -0
  56. loomflow/memory/facts.py +419 -0
  57. loomflow/memory/inmemory.py +372 -0
  58. loomflow/memory/lazy.py +241 -0
  59. loomflow/memory/postgres.py +606 -0
  60. loomflow/memory/postgres_facts.py +372 -0
  61. loomflow/memory/redis.py +611 -0
  62. loomflow/memory/redis_facts.py +332 -0
  63. loomflow/memory/resolver.py +386 -0
  64. loomflow/memory/sqlite.py +730 -0
  65. loomflow/memory/sqlite_facts.py +426 -0
  66. loomflow/memory/vector.py +367 -0
  67. loomflow/memory/worker.py +130 -0
  68. loomflow/model/__init__.py +27 -0
  69. loomflow/model/anthropic.py +354 -0
  70. loomflow/model/echo.py +96 -0
  71. loomflow/model/litellm.py +149 -0
  72. loomflow/model/openai.py +352 -0
  73. loomflow/model/retrying.py +207 -0
  74. loomflow/model/scripted.py +97 -0
  75. loomflow/observability/__init__.py +9 -0
  76. loomflow/observability/tracing.py +115 -0
  77. loomflow/py.typed +0 -0
  78. loomflow/runtime/__init__.py +38 -0
  79. loomflow/runtime/inproc.py +63 -0
  80. loomflow/runtime/journal.py +426 -0
  81. loomflow/runtime/journaled.py +137 -0
  82. loomflow/runtime/postgres.py +59 -0
  83. loomflow/runtime/sqlite.py +34 -0
  84. loomflow/security/__init__.py +26 -0
  85. loomflow/security/audit.py +336 -0
  86. loomflow/security/hooks.py +93 -0
  87. loomflow/security/permissions.py +157 -0
  88. loomflow/security/sandbox/__init__.py +26 -0
  89. loomflow/security/sandbox/base.py +42 -0
  90. loomflow/security/sandbox/filesystem.py +140 -0
  91. loomflow/security/sandbox/subprocess_.py +222 -0
  92. loomflow/security/secrets.py +120 -0
  93. loomflow/skills/__init__.py +67 -0
  94. loomflow/skills/_frontmatter.py +239 -0
  95. loomflow/skills/registry.py +161 -0
  96. loomflow/skills/skill.py +507 -0
  97. loomflow/skills/source.py +76 -0
  98. loomflow/skills/tools.py +114 -0
  99. loomflow/team.py +542 -0
  100. loomflow/tools/__init__.py +34 -0
  101. loomflow/tools/builtin.py +659 -0
  102. loomflow/tools/registry.py +197 -0
  103. loomflow/vectorstore/__init__.py +61 -0
  104. loomflow/vectorstore/_bm25.py +128 -0
  105. loomflow/vectorstore/_filter.py +189 -0
  106. loomflow/vectorstore/_mmr.py +87 -0
  107. loomflow/vectorstore/base.py +170 -0
  108. loomflow/vectorstore/chroma.py +328 -0
  109. loomflow/vectorstore/faiss.py +310 -0
  110. loomflow/vectorstore/inmemory.py +354 -0
  111. loomflow/vectorstore/postgres.py +468 -0
  112. loomflow/workflow/__init__.py +912 -0
  113. loomflow-0.9.9.dist-info/METADATA +1397 -0
  114. loomflow-0.9.9.dist-info/RECORD +116 -0
  115. loomflow-0.9.9.dist-info/WHEEL +4 -0
  116. loomflow-0.9.9.dist-info/licenses/LICENSE +201 -0
loomflow/__init__.py ADDED
@@ -0,0 +1,185 @@
1
+ """Loom — production workflow + agent framework.
2
+
3
+ Public API tiers:
4
+
5
+ * **Top-level** (this module) — the daily-use surface. Importing
6
+ ``Agent``, ``Workflow``, ``step``, ``tool``, common types, the
7
+ default in-memory backends, and the most-caught errors. This is
8
+ what 90% of code touches in the first hour. Stable; will not
9
+ break in 0.x without a migration note.
10
+
11
+ * **Submodule imports** — for backend-specific or specialized
12
+ classes. Examples::
13
+
14
+ from loomflow.memory.postgres import PostgresMemory
15
+ from loomflow.memory.chroma import ChromaMemory
16
+ from loomflow.vectorstore.chroma import ChromaVectorStore
17
+ from loomflow.model.openai import OpenAIModel
18
+ from loomflow.model.anthropic import AnthropicModel
19
+ from loomflow.architecture import (
20
+ SelfRefine, Reflexion, TreeOfThoughts, MultiAgentDebate,
21
+ Supervisor, Swarm, Router, ActorCritic, BlackboardArchitecture,
22
+ PlanAndExecute, ReWOO,
23
+ )
24
+ from loomflow.observability import OTelTelemetry
25
+ from loomflow.runtime import SqliteRuntime, PostgresRuntime
26
+ from loomflow.security import (
27
+ PerUserPermissions, FilesystemSandbox, SubprocessSandbox,
28
+ FileAuditLog, EnvSecrets, DictSecrets,
29
+ )
30
+ from loomflow.tools import (
31
+ read_tool, write_tool, edit_tool, bash_tool, filesystem_tools,
32
+ )
33
+ from loomflow.team import Team
34
+ from loomflow.skills import Skill, SkillRegistry
35
+ from loomflow.mcp import MCPClient, MCPRegistry, MCPServerSpec
36
+
37
+ Demoting these keeps the top-level autocomplete focused on
38
+ things users actually pick first, and avoids loading optional
39
+ SDK dependencies at ``import loomflow`` time.
40
+
41
+ * **Internal** — anything beginning with ``_``. No stability
42
+ promise; subject to change without notice.
43
+ """
44
+
45
+ # ---------------------------------------------------------------------------
46
+ # Top-level (Tier 1) — the daily-use API surface.
47
+ # ---------------------------------------------------------------------------
48
+
49
+ from .agent import Agent
50
+ from .architecture import Architecture, ReAct
51
+ from .core import (
52
+ Budget,
53
+ BudgetExceeded,
54
+ BudgetStatus,
55
+ ConfigError,
56
+ Embedder,
57
+ Episode,
58
+ Event,
59
+ EventKind,
60
+ Fact,
61
+ HookHost,
62
+ IsolationWarning,
63
+ LoomDeprecationWarning,
64
+ LoomError,
65
+ Memory,
66
+ MemoryBlock,
67
+ MemoryExport,
68
+ MemoryProfile,
69
+ Message,
70
+ Model,
71
+ OutputValidationError,
72
+ PermissionDecision,
73
+ Permissions,
74
+ Role,
75
+ RunContext,
76
+ RunResult,
77
+ Runtime,
78
+ Sandbox,
79
+ Secrets,
80
+ Telemetry,
81
+ ToolCall,
82
+ ToolDef,
83
+ ToolHost,
84
+ ToolResult,
85
+ Usage,
86
+ get_run_context,
87
+ new_id,
88
+ set_run_context,
89
+ )
90
+ from .governance import BudgetConfig, NoBudget, StandardBudget
91
+ from .memory import HashEmbedder, InMemoryMemory, resolve_memory
92
+ from .model import EchoModel, ScriptedModel, ScriptedTurn
93
+ from .observability import NoTelemetry
94
+ from .runtime import InProcRuntime
95
+ from .security import (
96
+ AllowAll,
97
+ AuditLog,
98
+ HookRegistry,
99
+ InMemoryAuditLog,
100
+ Mode,
101
+ NoSandbox,
102
+ StandardPermissions,
103
+ )
104
+ from .tools import Tool, tool
105
+ from .workflow import END, START, Workflow, WorkflowResult, step
106
+
107
+ __version__ = "0.9.9"
108
+
109
+ __all__ = [
110
+ "__version__",
111
+ # ----- Daily-use building blocks -----
112
+ "Agent",
113
+ "Workflow",
114
+ "WorkflowResult",
115
+ "step",
116
+ "START",
117
+ "END",
118
+ "tool",
119
+ "Tool",
120
+ # ----- Run context (always-relevant) -----
121
+ "RunContext",
122
+ "RunResult",
123
+ "get_run_context",
124
+ "set_run_context",
125
+ # ----- Common types you'll annotate / construct -----
126
+ "Message",
127
+ "Role",
128
+ "Episode",
129
+ "Fact",
130
+ "ToolCall",
131
+ "ToolDef",
132
+ "ToolResult",
133
+ "Event",
134
+ "EventKind",
135
+ "Usage",
136
+ "MemoryBlock",
137
+ "MemoryProfile",
138
+ "MemoryExport",
139
+ "BudgetStatus",
140
+ "PermissionDecision",
141
+ # ----- Core protocols (for type annotations) -----
142
+ "Memory",
143
+ "Model",
144
+ "Permissions",
145
+ "Budget",
146
+ "HookHost",
147
+ "Sandbox",
148
+ "Telemetry",
149
+ "ToolHost",
150
+ "Runtime",
151
+ "Embedder",
152
+ "Secrets",
153
+ "AuditLog",
154
+ "Architecture",
155
+ # ----- Default in-memory / no-op backends + always-on architecture -----
156
+ "InMemoryMemory",
157
+ "InMemoryAuditLog",
158
+ "NoBudget",
159
+ "NoTelemetry",
160
+ "NoSandbox",
161
+ "AllowAll",
162
+ "Mode",
163
+ "StandardPermissions",
164
+ "HookRegistry",
165
+ "StandardBudget",
166
+ "BudgetConfig",
167
+ "InProcRuntime",
168
+ "ReAct",
169
+ "HashEmbedder",
170
+ # ----- Resolvers (string spec → instance) -----
171
+ "resolve_memory",
172
+ # ----- Test / dev fakes (no API key required) -----
173
+ "EchoModel",
174
+ "ScriptedModel",
175
+ "ScriptedTurn",
176
+ # ----- Common errors -----
177
+ "LoomError",
178
+ "OutputValidationError",
179
+ "IsolationWarning",
180
+ "BudgetExceeded",
181
+ "ConfigError",
182
+ "LoomDeprecationWarning",
183
+ # ----- ID utilities -----
184
+ "new_id",
185
+ ]
@@ -0,0 +1,5 @@
1
+ """The public :class:`Agent` class and its supporting machinery."""
2
+
3
+ from .api import Agent
4
+
5
+ __all__ = ["Agent"]