matimo 0.1.0a14__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.
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: matimo
|
|
3
|
+
Version: 0.1.0a14
|
|
4
|
+
Summary: Configuration-driven AI tools SDK — write tools once in YAML, use them everywhere
|
|
5
|
+
Project-URL: Homepage, https://matimo.dev
|
|
6
|
+
Project-URL: Documentation, https://matimo.dev/docs
|
|
7
|
+
Project-URL: Repository, https://github.com/tallclub/matimo
|
|
8
|
+
Project-URL: Issues, https://github.com/tallclub/matimo/issues
|
|
9
|
+
License: MIT
|
|
10
|
+
Keywords: agents,ai,crewai,langchain,matimo,mcp,tools
|
|
11
|
+
Classifier: Development Status :: 4 - Beta
|
|
12
|
+
Classifier: Intended Audience :: Developers
|
|
13
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
14
|
+
Classifier: Programming Language :: Python :: 3
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
17
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
18
|
+
Classifier: Topic :: Software Development :: Libraries
|
|
19
|
+
Requires-Python: >=3.11
|
|
20
|
+
Requires-Dist: matimo-cli<0.2.0,>=0.1.0a14
|
|
21
|
+
Requires-Dist: matimo-core<0.2.0,>=0.1.0a14
|
|
22
|
+
Provides-Extra: all
|
|
23
|
+
Requires-Dist: matimo-core[all]; extra == 'all'
|
|
24
|
+
Provides-Extra: aws
|
|
25
|
+
Requires-Dist: matimo-core[aws]; extra == 'aws'
|
|
26
|
+
Provides-Extra: crewai
|
|
27
|
+
Requires-Dist: matimo-core[crewai]; extra == 'crewai'
|
|
28
|
+
Provides-Extra: dotenv
|
|
29
|
+
Requires-Dist: matimo-core[dotenv]; extra == 'dotenv'
|
|
30
|
+
Provides-Extra: langchain
|
|
31
|
+
Requires-Dist: matimo-core[langchain]; extra == 'langchain'
|
|
32
|
+
Provides-Extra: mcp
|
|
33
|
+
Requires-Dist: matimo-core[mcp]; extra == 'mcp'
|
|
34
|
+
Provides-Extra: vault
|
|
35
|
+
Requires-Dist: matimo-core[vault]; extra == 'vault'
|
|
36
|
+
Description-Content-Type: text/markdown
|
|
37
|
+
|
|
38
|
+
# matimo
|
|
39
|
+
|
|
40
|
+
> Configuration-driven AI tools SDK — write tools once in YAML, use them everywhere.
|
|
41
|
+
|
|
42
|
+
[](https://pypi.org/project/matimo/)
|
|
43
|
+
[](https://pypi.org/project/matimo/)
|
|
44
|
+
[](https://matimo.dev/docs)
|
|
45
|
+
|
|
46
|
+
`matimo` is the convenience meta-package that installs [`matimo-core`](https://pypi.org/project/matimo-core/) and re-exports its full public API. Everything you need is in one `pip install`.
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## Installation
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
pip install matimo
|
|
54
|
+
# with LangChain support
|
|
55
|
+
pip install "matimo[langchain]"
|
|
56
|
+
# with CrewAI support
|
|
57
|
+
pip install "matimo[crewai]"
|
|
58
|
+
# with MCP server
|
|
59
|
+
pip install "matimo[mcp]"
|
|
60
|
+
# everything
|
|
61
|
+
pip install "matimo[langchain,crewai,mcp]"
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Quick Start
|
|
67
|
+
|
|
68
|
+
### Factory pattern
|
|
69
|
+
|
|
70
|
+
```python
|
|
71
|
+
import asyncio
|
|
72
|
+
from matimo import Matimo
|
|
73
|
+
|
|
74
|
+
async def main():
|
|
75
|
+
matimo = await Matimo.init('./tools')
|
|
76
|
+
result = await matimo.execute('my_tool', {'param': 'value'})
|
|
77
|
+
print(result)
|
|
78
|
+
|
|
79
|
+
asyncio.run(main())
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Auto-discover installed providers
|
|
83
|
+
|
|
84
|
+
```python
|
|
85
|
+
from matimo import Matimo
|
|
86
|
+
|
|
87
|
+
matimo = await Matimo.init(auto_discover=True)
|
|
88
|
+
print([t.name for t in matimo.list_tools()])
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### With provider packages
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
pip install matimo matimo-slack matimo-github matimo-gmail
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
```python
|
|
98
|
+
from matimo import Matimo
|
|
99
|
+
from matimo_slack import get_tools_path as slack_tools
|
|
100
|
+
from matimo_github import get_tools_path as github_tools
|
|
101
|
+
|
|
102
|
+
matimo = await Matimo.init([slack_tools(), github_tools()])
|
|
103
|
+
result = await matimo.execute('slack_send_channel_message', {
|
|
104
|
+
'channel': '#general',
|
|
105
|
+
'text': 'Hello from Matimo!',
|
|
106
|
+
})
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### LangChain agent
|
|
110
|
+
|
|
111
|
+
```python
|
|
112
|
+
from matimo import Matimo
|
|
113
|
+
from matimo.integrations.langchain import convert_tools_to_langchain
|
|
114
|
+
from langchain_openai import ChatOpenAI
|
|
115
|
+
from langchain.agents import AgentExecutor, create_tool_calling_agent
|
|
116
|
+
from langchain_core.prompts import ChatPromptTemplate
|
|
117
|
+
|
|
118
|
+
matimo = await Matimo.init(auto_discover=True)
|
|
119
|
+
lc_tools = convert_tools_to_langchain(matimo.list_tools(), matimo)
|
|
120
|
+
|
|
121
|
+
llm = ChatOpenAI(model='gpt-4o-mini')
|
|
122
|
+
prompt = ChatPromptTemplate.from_messages([
|
|
123
|
+
('system', 'You are a helpful assistant.'),
|
|
124
|
+
('human', '{input}'),
|
|
125
|
+
('placeholder', '{agent_scratchpad}'),
|
|
126
|
+
])
|
|
127
|
+
agent = create_tool_calling_agent(llm, lc_tools, prompt)
|
|
128
|
+
executor = AgentExecutor(agent=agent, tools=lc_tools)
|
|
129
|
+
result = await executor.ainvoke({'input': 'List all Slack channels'})
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### CrewAI agent
|
|
133
|
+
|
|
134
|
+
```python
|
|
135
|
+
from matimo import Matimo
|
|
136
|
+
from matimo.integrations.crewai import convert_tools_to_crewai
|
|
137
|
+
|
|
138
|
+
matimo = await Matimo.init(auto_discover=True)
|
|
139
|
+
crewai_tools = convert_tools_to_crewai(matimo.list_tools(), matimo)
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### MCP server (Claude Desktop / Cursor)
|
|
143
|
+
|
|
144
|
+
```python
|
|
145
|
+
from matimo import Matimo, create_mcp_server, MCPServerOptions
|
|
146
|
+
|
|
147
|
+
matimo = await Matimo.init(auto_discover=True)
|
|
148
|
+
server = await create_mcp_server(matimo, MCPServerOptions(name='my-agent', version='1.0.0'))
|
|
149
|
+
await server.start()
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## Provider Packages
|
|
155
|
+
|
|
156
|
+
Install the tools you need:
|
|
157
|
+
|
|
158
|
+
| Package | Tools | Install |
|
|
159
|
+
|---------|-------|---------|
|
|
160
|
+
| [`matimo-slack`](https://pypi.org/project/matimo-slack/) | Messaging, channels, files, reactions | `pip install matimo-slack` |
|
|
161
|
+
| [`matimo-github`](https://pypi.org/project/matimo-github/) | Repos, issues, PRs, releases | `pip install matimo-github` |
|
|
162
|
+
| [`matimo-gmail`](https://pypi.org/project/matimo-gmail/) | Send, list, read, delete emails | `pip install matimo-gmail` |
|
|
163
|
+
| [`matimo-notion`](https://pypi.org/project/matimo-notion/) | Pages, databases, comments | `pip install matimo-notion` |
|
|
164
|
+
| [`matimo-postgres`](https://pypi.org/project/matimo-postgres/) | Execute SQL queries | `pip install matimo-postgres` |
|
|
165
|
+
| [`matimo-twilio`](https://pypi.org/project/matimo-twilio/) | SMS, MMS, message history | `pip install matimo-twilio` |
|
|
166
|
+
| [`matimo-hubspot`](https://pypi.org/project/matimo-hubspot/) | CRM: contacts, deals, companies | `pip install matimo-hubspot` |
|
|
167
|
+
| [`matimo-mailchimp`](https://pypi.org/project/matimo-mailchimp/) | Campaigns, lists, members | `pip install matimo-mailchimp` |
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## Key Features
|
|
172
|
+
|
|
173
|
+
- **YAML-defined tools** — define once, use from any framework
|
|
174
|
+
- **10 provider packages** — 100+ pre-built tools ready to use
|
|
175
|
+
- **LangChain / CrewAI / MCP** — first-class integrations
|
|
176
|
+
- **Policy engine** — risk classification, HITL approvals, content validation
|
|
177
|
+
- **Skills system** — inject reusable domain knowledge into agents
|
|
178
|
+
- **Meta-tools** — agents can create, approve, and reload tools at runtime
|
|
179
|
+
- **Secrets management** — env, `.env`, Vault, AWS Secrets Manager resolver chain
|
|
180
|
+
- **Structured logging** — JSON/simple formats, configurable log levels
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## Documentation
|
|
185
|
+
|
|
186
|
+
- [Getting Started](https://matimo.dev/docs/getting-started/QUICK_START)
|
|
187
|
+
- [API Reference](https://matimo.dev/docs/api-reference/SDK)
|
|
188
|
+
- [LangChain Integration](https://matimo.dev/docs/framework-integrations/LANGCHAIN)
|
|
189
|
+
- [CrewAI Integration](https://matimo.dev/docs/framework-integrations/CREWAI)
|
|
190
|
+
- [MCP Guide](https://matimo.dev/docs/MCP)
|
|
191
|
+
- [Policy & Lifecycle](https://matimo.dev/docs/api-reference/POLICY_AND_LIFECYCLE)
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## Links
|
|
196
|
+
|
|
197
|
+
- **PyPI:** https://pypi.org/project/matimo/
|
|
198
|
+
- **Docs:** https://matimo.dev/docs
|
|
199
|
+
- **GitHub:** https://github.com/tallclub/matimo
|
|
200
|
+
- **Changelog:** https://github.com/tallclub/matimo/blob/main/docs/RELEASES.md
|
|
201
|
+
|