haive-tools 1.0.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 (123) hide show
  1. haive_tools-1.0.0/LICENSE +21 -0
  2. haive_tools-1.0.0/PKG-INFO +378 -0
  3. haive_tools-1.0.0/README.md +357 -0
  4. haive_tools-1.0.0/pyproject.toml +77 -0
  5. haive_tools-1.0.0/src/haive/tools/README.md +41 -0
  6. haive_tools-1.0.0/src/haive/tools/__init__.py +104 -0
  7. haive_tools-1.0.0/src/haive/tools/search/__init__.py +35 -0
  8. haive_tools-1.0.0/src/haive/tools/tools/README.md +39 -0
  9. haive_tools-1.0.0/src/haive/tools/tools/__init__.py +86 -0
  10. haive_tools-1.0.0/src/haive/tools/tools/agify_tool.py +80 -0
  11. haive_tools-1.0.0/src/haive/tools/tools/apify_tools.py +27 -0
  12. haive_tools-1.0.0/src/haive/tools/tools/arxiv.py +34 -0
  13. haive_tools-1.0.0/src/haive/tools/tools/asknews_tool.py +41 -0
  14. haive_tools-1.0.0/src/haive/tools/tools/bing_search_tool_INC.py +27 -0
  15. haive_tools-1.0.0/src/haive/tools/tools/binlist_lookup.py +80 -0
  16. haive_tools-1.0.0/src/haive/tools/tools/brave_search.py +39 -0
  17. haive_tools-1.0.0/src/haive/tools/tools/corporate_bs_tool.py +53 -0
  18. haive_tools-1.0.0/src/haive/tools/tools/dalle_image_generator_tool.py +43 -0
  19. haive_tools-1.0.0/src/haive/tools/tools/dataforseo_tool.py +53 -0
  20. haive_tools-1.0.0/src/haive/tools/tools/dev_tools.py +43 -0
  21. haive_tools-1.0.0/src/haive/tools/tools/discord_tools.py +36 -0
  22. haive_tools-1.0.0/src/haive/tools/tools/domain_search_tool.py +84 -0
  23. haive_tools-1.0.0/src/haive/tools/tools/duckduckgo_search.py +42 -0
  24. haive_tools-1.0.0/src/haive/tools/tools/eleven_labs.py +47 -0
  25. haive_tools-1.0.0/src/haive/tools/tools/fruityvice_tool.py +67 -0
  26. haive_tools-1.0.0/src/haive/tools/tools/geek_jokes_tool.py +65 -0
  27. haive_tools-1.0.0/src/haive/tools/tools/genderize_tool.py +77 -0
  28. haive_tools-1.0.0/src/haive/tools/tools/google/README.md +37 -0
  29. haive_tools-1.0.0/src/haive/tools/tools/google/__init__.py +58 -0
  30. haive_tools-1.0.0/src/haive/tools/tools/google/google_books.py +78 -0
  31. haive_tools-1.0.0/src/haive/tools/tools/google/google_finance.py +78 -0
  32. haive_tools-1.0.0/src/haive/tools/tools/google/google_jobs.py +95 -0
  33. haive_tools-1.0.0/src/haive/tools/tools/google/google_lens.py +92 -0
  34. haive_tools-1.0.0/src/haive/tools/tools/google/google_places.py +80 -0
  35. haive_tools-1.0.0/src/haive/tools/tools/google/google_scholar.py +77 -0
  36. haive_tools-1.0.0/src/haive/tools/tools/google/google_search.py +80 -0
  37. haive_tools-1.0.0/src/haive/tools/tools/google/google_trends.py +69 -0
  38. haive_tools-1.0.0/src/haive/tools/tools/hinge_tools.py +37 -0
  39. haive_tools-1.0.0/src/haive/tools/tools/ionic_tool.py +44 -0
  40. haive_tools-1.0.0/src/haive/tools/tools/merriam_webster.py +55 -0
  41. haive_tools-1.0.0/src/haive/tools/tools/open_food_tool.py +66 -0
  42. haive_tools-1.0.0/src/haive/tools/tools/openaq_tool.py +62 -0
  43. haive_tools-1.0.0/src/haive/tools/tools/pokebase_tool.py +93 -0
  44. haive_tools-1.0.0/src/haive/tools/tools/pubmed.py +51 -0
  45. haive_tools-1.0.0/src/haive/tools/tools/reddit_search.py +145 -0
  46. haive_tools-1.0.0/src/haive/tools/tools/report_of_the_week_tool.py +164 -0
  47. haive_tools-1.0.0/src/haive/tools/tools/scene_explain_tool.py +44 -0
  48. haive_tools-1.0.0/src/haive/tools/tools/search_tools.py +252 -0
  49. haive_tools-1.0.0/src/haive/tools/tools/stack_exchange.py +5 -0
  50. haive_tools-1.0.0/src/haive/tools/tools/techy_phrase_tool.py +67 -0
  51. haive_tools-1.0.0/src/haive/tools/tools/toolkits/README.md +39 -0
  52. haive_tools-1.0.0/src/haive/tools/tools/toolkits/__init__.py +320 -0
  53. haive_tools-1.0.0/src/haive/tools/tools/toolkits/alpha_vantage.py +132 -0
  54. haive_tools-1.0.0/src/haive/tools/tools/toolkits/amadues_toolkit.py +184 -0
  55. haive_tools-1.0.0/src/haive/tools/tools/toolkits/azure_ai_services_toolkit.py +4 -0
  56. haive_tools-1.0.0/src/haive/tools/tools/toolkits/base.py +79 -0
  57. haive_tools-1.0.0/src/haive/tools/tools/toolkits/chuck_norris_jokes_toolkit.py +131 -0
  58. haive_tools-1.0.0/src/haive/tools/tools/toolkits/citydsk_toolkit.py +134 -0
  59. haive_tools-1.0.0/src/haive/tools/tools/toolkits/clickup_toolkit.py +55 -0
  60. haive_tools-1.0.0/src/haive/tools/tools/toolkits/dataforseo_toolkit.py +8 -0
  61. haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/README.md +41 -0
  62. haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/__init__.py +64 -0
  63. haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/project_creation/README.md +37 -0
  64. haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/project_creation/__init__.py +22 -0
  65. haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/project_creation/github.py +289 -0
  66. haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/python/README.md +37 -0
  67. haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/python/__init__.py +13 -0
  68. haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/python/cst_toolkit/transformers/function_logging_transformer.py +127 -0
  69. haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/python/cst_toolkit/transformers/import_consolidator.py +93 -0
  70. haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/python/cst_toolkit/transformers/multi_file_rename.py +114 -0
  71. haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/python/cst_toolkit/transformers/print_to_logging.py +84 -0
  72. haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/python/cst_toolkit/transformers/refactor.py +103 -0
  73. haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/python/cst_toolkit/transformers/type_hints.py +90 -0
  74. haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/python/cst_toolkit/visitors/automatic_test_case_generator.py +113 -0
  75. haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/python/cst_toolkit/visitors/code_smell_detector.py +103 -0
  76. haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/python/cst_toolkit/visitors/complexity_analyzer.py +219 -0
  77. haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/python/cst_toolkit/visitors/dependency_analyzer.py +109 -0
  78. haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/python/cst_toolkit/visitors/function_call_analyzer.py +116 -0
  79. haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/python/cst_toolkit/visitors/import_analyzer.py +146 -0
  80. haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/python/cst_toolkit/visitors/type_checking.py +105 -0
  81. haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/shell/background_process_manager.py +298 -0
  82. haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/shell/logger.py +51 -0
  83. haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/shell/permission.py +234 -0
  84. haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/shell/remote_execution.py +56 -0
  85. haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/shell/shell.py +163 -0
  86. haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/tools.py +1514 -0
  87. haive_tools-1.0.0/src/haive/tools/tools/toolkits/financialdatasets_toolkit.py +119 -0
  88. haive_tools-1.0.0/src/haive/tools/tools/toolkits/fred_toolkit.py +255 -0
  89. haive_tools-1.0.0/src/haive/tools/tools/toolkits/free_to_game_toolkit.py +173 -0
  90. haive_tools-1.0.0/src/haive/tools/tools/toolkits/github_toolkit.py +37 -0
  91. haive_tools-1.0.0/src/haive/tools/tools/toolkits/gitlab_toolkit.py +132 -0
  92. haive_tools-1.0.0/src/haive/tools/tools/toolkits/gmail_toolkit.py +38 -0
  93. haive_tools-1.0.0/src/haive/tools/tools/toolkits/google_calendar.py +113 -0
  94. haive_tools-1.0.0/src/haive/tools/tools/toolkits/gradio_toolkit.py +51 -0
  95. haive_tools-1.0.0/src/haive/tools/tools/toolkits/jira_toolkit.py +162 -0
  96. haive_tools-1.0.0/src/haive/tools/tools/toolkits/lcbo_toolkit.py +122 -0
  97. haive_tools-1.0.0/src/haive/tools/tools/toolkits/mongodb_toolkit.py +74 -0
  98. haive_tools-1.0.0/src/haive/tools/tools/toolkits/nasa_toolkit.py +6 -0
  99. haive_tools-1.0.0/src/haive/tools/tools/toolkits/nla_toolkit.py +157 -0
  100. haive_tools-1.0.0/src/haive/tools/tools/toolkits/office_365.py +52 -0
  101. haive_tools-1.0.0/src/haive/tools/tools/toolkits/openlibrary_toolkit.py +182 -0
  102. haive_tools-1.0.0/src/haive/tools/tools/toolkits/pandas_toolkits.py +3 -0
  103. haive_tools-1.0.0/src/haive/tools/tools/toolkits/poetry_db_toolkit.py +195 -0
  104. haive_tools-1.0.0/src/haive/tools/tools/toolkits/polygon_toolkit.py +85 -0
  105. haive_tools-1.0.0/src/haive/tools/tools/toolkits/powerbi_toolkit.py +16 -0
  106. haive_tools-1.0.0/src/haive/tools/tools/toolkits/request_tools.py +80 -0
  107. haive_tools-1.0.0/src/haive/tools/tools/toolkits/rick_and_morty_toolkit.py +300 -0
  108. haive_tools-1.0.0/src/haive/tools/tools/toolkits/rps_101_toolkit.py +174 -0
  109. haive_tools-1.0.0/src/haive/tools/tools/toolkits/slack_toolkit.py +60 -0
  110. haive_tools-1.0.0/src/haive/tools/tools/toolkits/sql_db_toolkit.py +39 -0
  111. haive_tools-1.0.0/src/haive/tools/tools/toolkits/stack_exchange_toolkit.py +44 -0
  112. haive_tools-1.0.0/src/haive/tools/tools/toolkits/steam_toolkit.py +39 -0
  113. haive_tools-1.0.0/src/haive/tools/tools/toolkits/stripe_toolkit.py +101 -0
  114. haive_tools-1.0.0/src/haive/tools/tools/toolkits/trip_advisor_toolkit.py +269 -0
  115. haive_tools-1.0.0/src/haive/tools/tools/toolkits/twilio_toolkit.py +78 -0
  116. haive_tools-1.0.0/src/haive/tools/tools/toolkits/useless_facts_toolkit.py +107 -0
  117. haive_tools-1.0.0/src/haive/tools/tools/toolkits/vbible_toolkit.py +309 -0
  118. haive_tools-1.0.0/src/haive/tools/tools/toolkits/weather.py +261 -0
  119. haive_tools-1.0.0/src/haive/tools/tools/toolkits/yugiioh_toolkit.py +173 -0
  120. haive_tools-1.0.0/src/haive/tools/tools/translate_tools.py +203 -0
  121. haive_tools-1.0.0/src/haive/tools/tools/wolfram_alpha_tool.py +92 -0
  122. haive_tools-1.0.0/src/haive/tools/tools/yfinance_tool.py +23 -0
  123. haive_tools-1.0.0/src/haive/tools/tools/youtube_search_tool.py +20 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Will
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,378 @@
1
+ Metadata-Version: 2.3
2
+ Name: haive-tools
3
+ Version: 1.0.0
4
+ Summary: haive-tools for Haive framework
5
+ License: MIT
6
+ Author: pr1m8
7
+ Author-email: william.astley@algebraicwealth.com
8
+ Requires-Python: >=3.12,<3.13
9
+ Classifier: License :: OSI Approved :: MIT License
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Programming Language :: Python :: 3.12
12
+ Requires-Dist: google-search-results (>=2.4.2,<3.0.0)
13
+ Requires-Dist: haive-core (>=1.0.0,<2.0.0)
14
+ Requires-Dist: langchain (>=0.3.20,<0.4.0)
15
+ Requires-Dist: langchain-core (>=0.3.44,<0.4.0)
16
+ Requires-Dist: langgraph (>=0.3.5,<0.4.0)
17
+ Requires-Dist: pokebase (>=1.4.1,<2.0.0)
18
+ Requires-Dist: pydantic (>=2.10.6,<3.0.0)
19
+ Description-Content-Type: text/markdown
20
+
21
+ # Haive Tools - Comprehensive Tool Ecosystem
22
+
23
+ ## Overview
24
+
25
+ Haive Tools provides 110+ curated tool integrations and toolkits, plus seamless integration with 100+ MCP (Model Context Protocol) servers. This package makes it easy to give your agents real-world capabilities through a standardized interface.
26
+
27
+ ## Tool Categories
28
+
29
+ ### 1. Web & Internet Tools
30
+
31
+ **Search & Information**
32
+
33
+ - **Web Search**: Google, Bing, DuckDuckGo, Perplexity
34
+ - **News Search**: Real-time news from multiple sources
35
+ - **Academic Search**: ArXiv, PubMed, Google Scholar
36
+ - **Social Media Search**: Twitter, Reddit, LinkedIn
37
+
38
+ **Web Interaction**
39
+
40
+ - **Web Scraping**: Beautiful Soup, Playwright integration
41
+ - **Browser Automation**: Selenium, Puppeteer wrappers
42
+ - **API Clients**: REST, GraphQL, WebSocket
43
+ - **URL Tools**: Shortening, QR codes, validation
44
+
45
+ ### 2. Data & Analytics Tools
46
+
47
+ **Data Processing**
48
+
49
+ - **Pandas Integration**: DataFrame operations
50
+ - **SQL Tools**: Query builders, executors
51
+ - **Data Validation**: Schema checking, quality assurance
52
+ - **ETL Tools**: Extract, transform, load pipelines
53
+
54
+ **Visualization**
55
+
56
+ - **Chart Generation**: Matplotlib, Plotly, D3.js
57
+ - **Dashboard Creation**: Streamlit, Dash integration
58
+ - **Report Generation**: PDF, HTML, Markdown
59
+
60
+ **Analysis**
61
+
62
+ - **Statistical Tools**: SciPy, StatsModels
63
+ - **ML Integration**: Scikit-learn, XGBoost
64
+ - **Time Series**: Prophet, ARIMA
65
+ - **Text Analytics**: Sentiment, NER, classification
66
+
67
+ ### 3. Document Tools
68
+
69
+ **File Processing**
70
+
71
+ - **PDF Tools**: Read, write, merge, split, OCR
72
+ - **Office Files**: Excel, Word, PowerPoint manipulation
73
+ - **Image Processing**: PIL, OpenCV integration
74
+ - **Audio/Video**: Transcription, extraction
75
+
76
+ **Document Intelligence**
77
+
78
+ - **Text Extraction**: From any format
79
+ - **Table Extraction**: Structured data from documents
80
+ - **Form Processing**: Extract form fields
81
+ - **Document Classification**: Auto-categorization
82
+
83
+ ### 4. Communication Tools
84
+
85
+ **Messaging**
86
+
87
+ - **Email**: Send, receive, parse (Gmail, Outlook)
88
+ - **Slack Integration**: Read, post, react
89
+ - **Discord Tools**: Bot capabilities
90
+ - **SMS/WhatsApp**: Through Twilio
91
+
92
+ **Calendar & Scheduling**
93
+
94
+ - **Google Calendar**: CRUD operations
95
+ - **Outlook Calendar**: Full integration
96
+ - **Scheduling**: Find available slots
97
+ - **Meeting Tools**: Zoom, Teams integration
98
+
99
+ ### 5. Development Tools
100
+
101
+ **Code Execution**
102
+
103
+ - **Python Executor**: Safe sandboxed execution
104
+ - **JavaScript Runner**: Node.js integration
105
+ - **SQL Executor**: Multi-database support
106
+ - **Shell Commands**: Controlled system access
107
+
108
+ **Code Analysis**
109
+
110
+ - **Linting**: Multiple language support
111
+ - **Complexity Analysis**: Cyclomatic complexity
112
+ - **Security Scanning**: Vulnerability detection
113
+ - **Documentation Generation**: Auto-docs
114
+
115
+ **Version Control**
116
+
117
+ - **Git Operations**: Clone, commit, push, pull
118
+ - **GitHub Integration**: Issues, PRs, Actions
119
+ - **GitLab Tools**: Full API access
120
+ - **Code Review**: Automated suggestions
121
+
122
+ ### 6. Database Tools
123
+
124
+ **SQL Databases**
125
+
126
+ - **PostgreSQL**: Full CRUD + advanced features
127
+ - **MySQL/MariaDB**: Complete integration
128
+ - **SQLite**: Local database operations
129
+ - **SQL Server**: Enterprise features
130
+
131
+ **NoSQL Databases**
132
+
133
+ - **MongoDB**: Document operations
134
+ - **Redis**: Caching and pub/sub
135
+ - **Elasticsearch**: Search and analytics
136
+ - **DynamoDB**: AWS integration
137
+
138
+ **Vector Databases**
139
+
140
+ - **Pinecone**: Vector search
141
+ - **Weaviate**: Semantic search
142
+ - **Qdrant**: Neural search
143
+ - **ChromaDB**: Local vector store
144
+
145
+ ### 7. AI/ML Tools
146
+
147
+ **Model Integration**
148
+
149
+ - **OpenAI Tools**: GPT, DALL-E, Whisper
150
+ - **Anthropic**: Claude integration
151
+ - **HuggingFace**: Model hub access
152
+ - **Local Models**: Ollama, LlamaCpp
153
+
154
+ **Computer Vision**
155
+
156
+ - **Image Recognition**: Object detection
157
+ - **Face Recognition**: Detection and matching
158
+ - **OCR**: Multiple language support
159
+ - **Image Generation**: Stable Diffusion, DALL-E
160
+
161
+ **NLP Tools**
162
+
163
+ - **Translation**: 100+ languages
164
+ - **Summarization**: Extractive and abstractive
165
+ - **Entity Recognition**: People, places, organizations
166
+ - **Sentiment Analysis**: Fine-grained analysis
167
+
168
+ ### 8. Financial Tools
169
+
170
+ **Market Data**
171
+
172
+ - **Stock Prices**: Real-time and historical
173
+ - **Crypto**: Prices, volumes, DeFi data
174
+ - **Forex**: Currency exchange rates
175
+ - **Economic Indicators**: GDP, inflation, etc.
176
+
177
+ **Analysis Tools**
178
+
179
+ - **Technical Analysis**: Indicators, patterns
180
+ - **Portfolio Analysis**: Risk, returns, optimization
181
+ - **Financial Calculations**: NPV, IRR, amortization
182
+ - **Tax Calculators**: Multi-jurisdiction
183
+
184
+ ### 9. Geographic Tools
185
+
186
+ **Mapping**
187
+
188
+ - **Geocoding**: Address to coordinates
189
+ - **Reverse Geocoding**: Coordinates to address
190
+ - **Route Planning**: Directions, optimization
191
+ - **Map Generation**: Static and interactive
192
+
193
+ **Location Services**
194
+
195
+ - **Distance Calculations**: Haversine, driving
196
+ - **Timezone Tools**: Conversion, DST handling
197
+ - **Weather Data**: Current and forecast
198
+ - **Points of Interest**: Nearby places
199
+
200
+ ### 10. Utility Tools
201
+
202
+ **Math & Science**
203
+
204
+ - **Calculator**: Advanced operations
205
+ - **Unit Conversion**: All standard units
206
+ - **Scientific Constants**: Physics, chemistry
207
+ - **Formula Evaluation**: LaTeX, MathML
208
+
209
+ **Time & Date**
210
+
211
+ - **Date Parsing**: Natural language
212
+ - **Time Calculations**: Durations, differences
213
+ - **Scheduling Logic**: Recurrence rules
214
+ - **Holiday Calendars**: Multiple countries
215
+
216
+ **Text Utilities**
217
+
218
+ - **Text Manipulation**: Split, join, replace
219
+ - **Encoding/Decoding**: Base64, URL, etc.
220
+ - **Hashing**: MD5, SHA, bcrypt
221
+ - **Regex Tools**: Match, extract, replace
222
+
223
+ ## MCP (Model Context Protocol) Integration
224
+
225
+ ### What is MCP?
226
+
227
+ MCP provides a standard protocol for connecting AI models to external data sources and tools.
228
+
229
+ ### 100+ MCP Servers
230
+
231
+ - **Database Servers**: Direct DB access
232
+ - **File System Servers**: Local and remote files
233
+ - **API Servers**: REST endpoint access
234
+ - **Application Servers**: App-specific integrations
235
+
236
+ ### Seamless Integration
237
+
238
+ ```python
239
+ from haive.tools import MCPToolkit
240
+
241
+ # Auto-discover available MCP servers
242
+ toolkit = MCPToolkit()
243
+ available_servers = toolkit.discover()
244
+
245
+ # Connect to specific server
246
+ db_tools = toolkit.connect("postgresql://localhost/mydb")
247
+ ```
248
+
249
+ ## Tool Usage Patterns
250
+
251
+ ### Basic Tool Usage
252
+
253
+ ```python
254
+ from haive.tools import WebSearch, Calculator
255
+
256
+ # Single tool
257
+ search = WebSearch()
258
+ results = search.search("Haive framework")
259
+
260
+ # Multiple tools
261
+ tools = [WebSearch(), Calculator(), EmailSender()]
262
+ agent = Agent(tools=tools)
263
+ ```
264
+
265
+ ### Toolkit Usage
266
+
267
+ ```python
268
+ from haive.tools.toolkits import DataAnalysisToolkit
269
+
270
+ # Get all related tools at once
271
+ toolkit = DataAnalysisToolkit()
272
+ # Includes: pandas_tool, visualization_tool, stats_tool, etc.
273
+ ```
274
+
275
+ ### Dynamic Tool Loading
276
+
277
+ ```python
278
+ from haive.tools import ToolRegistry
279
+
280
+ # Discover tools by capability
281
+ registry = ToolRegistry()
282
+ search_tools = registry.find_by_capability("search")
283
+ math_tools = registry.find_by_capability("calculation")
284
+ ```
285
+
286
+ ### Tool Composition
287
+
288
+ ```python
289
+ from haive.tools import compose_tools
290
+
291
+ # Chain tools together
292
+ pipeline = compose_tools([
293
+ WebSearch(),
294
+ TextExtractor(),
295
+ Summarizer(),
296
+ EmailSender()
297
+ ])
298
+
299
+ result = pipeline.run("Research and email me about quantum computing")
300
+ ```
301
+
302
+ ## Advanced Features
303
+
304
+ ### Tool Authentication
305
+
306
+ ```python
307
+ from haive.tools import configure_auth
308
+
309
+ # Configure once, use everywhere
310
+ configure_auth({
311
+ "openai": "sk-...",
312
+ "google": {"client_id": "...", "client_secret": "..."},
313
+ "slack": {"token": "xoxb-..."}
314
+ })
315
+ ```
316
+
317
+ ### Rate Limiting
318
+
319
+ ```python
320
+ from haive.tools import RateLimitedTool
321
+
322
+ # Automatic rate limiting
323
+ search = RateLimitedTool(
324
+ WebSearch(),
325
+ calls_per_minute=60
326
+ )
327
+ ```
328
+
329
+ ### Caching
330
+
331
+ ```python
332
+ from haive.tools import CachedTool
333
+
334
+ # Cache expensive operations
335
+ cached_search = CachedTool(
336
+ WebSearch(),
337
+ cache_duration=3600 # 1 hour
338
+ )
339
+ ```
340
+
341
+ ### Error Handling
342
+
343
+ ```python
344
+ from haive.tools import SafeTool
345
+
346
+ # Graceful error handling
347
+ safe_tool = SafeTool(
348
+ DatabaseQuery(),
349
+ fallback="Database temporarily unavailable"
350
+ )
351
+ ```
352
+
353
+ ## Best Practices
354
+
355
+ 1. **Use Toolkits**: Group related tools together
356
+ 2. **Configure Authentication**: Set up once at startup
357
+ 3. **Handle Errors**: Use SafeTool wrapper
358
+ 4. **Cache Results**: For expensive operations
359
+ 5. **Respect Rate Limits**: Use RateLimitedTool
360
+ 6. **Log Tool Usage**: Built-in usage analytics
361
+ 7. **Test Tools**: Each tool includes test suites
362
+
363
+ ## Creating Custom Tools
364
+
365
+ ```python
366
+ from haive.tools import BaseTool
367
+
368
+ class MyCustomTool(BaseTool):
369
+ name = "my_tool"
370
+ description = "Does something useful"
371
+
372
+ def _run(self, input: str) -> str:
373
+ # Your implementation
374
+ return f"Processed: {input}"
375
+ ```
376
+
377
+ _Note: Each tool includes detailed documentation, examples, and integration guides. Tools are continuously updated and tested for reliability._
378
+