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.
- haive_tools-1.0.0/LICENSE +21 -0
- haive_tools-1.0.0/PKG-INFO +378 -0
- haive_tools-1.0.0/README.md +357 -0
- haive_tools-1.0.0/pyproject.toml +77 -0
- haive_tools-1.0.0/src/haive/tools/README.md +41 -0
- haive_tools-1.0.0/src/haive/tools/__init__.py +104 -0
- haive_tools-1.0.0/src/haive/tools/search/__init__.py +35 -0
- haive_tools-1.0.0/src/haive/tools/tools/README.md +39 -0
- haive_tools-1.0.0/src/haive/tools/tools/__init__.py +86 -0
- haive_tools-1.0.0/src/haive/tools/tools/agify_tool.py +80 -0
- haive_tools-1.0.0/src/haive/tools/tools/apify_tools.py +27 -0
- haive_tools-1.0.0/src/haive/tools/tools/arxiv.py +34 -0
- haive_tools-1.0.0/src/haive/tools/tools/asknews_tool.py +41 -0
- haive_tools-1.0.0/src/haive/tools/tools/bing_search_tool_INC.py +27 -0
- haive_tools-1.0.0/src/haive/tools/tools/binlist_lookup.py +80 -0
- haive_tools-1.0.0/src/haive/tools/tools/brave_search.py +39 -0
- haive_tools-1.0.0/src/haive/tools/tools/corporate_bs_tool.py +53 -0
- haive_tools-1.0.0/src/haive/tools/tools/dalle_image_generator_tool.py +43 -0
- haive_tools-1.0.0/src/haive/tools/tools/dataforseo_tool.py +53 -0
- haive_tools-1.0.0/src/haive/tools/tools/dev_tools.py +43 -0
- haive_tools-1.0.0/src/haive/tools/tools/discord_tools.py +36 -0
- haive_tools-1.0.0/src/haive/tools/tools/domain_search_tool.py +84 -0
- haive_tools-1.0.0/src/haive/tools/tools/duckduckgo_search.py +42 -0
- haive_tools-1.0.0/src/haive/tools/tools/eleven_labs.py +47 -0
- haive_tools-1.0.0/src/haive/tools/tools/fruityvice_tool.py +67 -0
- haive_tools-1.0.0/src/haive/tools/tools/geek_jokes_tool.py +65 -0
- haive_tools-1.0.0/src/haive/tools/tools/genderize_tool.py +77 -0
- haive_tools-1.0.0/src/haive/tools/tools/google/README.md +37 -0
- haive_tools-1.0.0/src/haive/tools/tools/google/__init__.py +58 -0
- haive_tools-1.0.0/src/haive/tools/tools/google/google_books.py +78 -0
- haive_tools-1.0.0/src/haive/tools/tools/google/google_finance.py +78 -0
- haive_tools-1.0.0/src/haive/tools/tools/google/google_jobs.py +95 -0
- haive_tools-1.0.0/src/haive/tools/tools/google/google_lens.py +92 -0
- haive_tools-1.0.0/src/haive/tools/tools/google/google_places.py +80 -0
- haive_tools-1.0.0/src/haive/tools/tools/google/google_scholar.py +77 -0
- haive_tools-1.0.0/src/haive/tools/tools/google/google_search.py +80 -0
- haive_tools-1.0.0/src/haive/tools/tools/google/google_trends.py +69 -0
- haive_tools-1.0.0/src/haive/tools/tools/hinge_tools.py +37 -0
- haive_tools-1.0.0/src/haive/tools/tools/ionic_tool.py +44 -0
- haive_tools-1.0.0/src/haive/tools/tools/merriam_webster.py +55 -0
- haive_tools-1.0.0/src/haive/tools/tools/open_food_tool.py +66 -0
- haive_tools-1.0.0/src/haive/tools/tools/openaq_tool.py +62 -0
- haive_tools-1.0.0/src/haive/tools/tools/pokebase_tool.py +93 -0
- haive_tools-1.0.0/src/haive/tools/tools/pubmed.py +51 -0
- haive_tools-1.0.0/src/haive/tools/tools/reddit_search.py +145 -0
- haive_tools-1.0.0/src/haive/tools/tools/report_of_the_week_tool.py +164 -0
- haive_tools-1.0.0/src/haive/tools/tools/scene_explain_tool.py +44 -0
- haive_tools-1.0.0/src/haive/tools/tools/search_tools.py +252 -0
- haive_tools-1.0.0/src/haive/tools/tools/stack_exchange.py +5 -0
- haive_tools-1.0.0/src/haive/tools/tools/techy_phrase_tool.py +67 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/README.md +39 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/__init__.py +320 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/alpha_vantage.py +132 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/amadues_toolkit.py +184 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/azure_ai_services_toolkit.py +4 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/base.py +79 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/chuck_norris_jokes_toolkit.py +131 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/citydsk_toolkit.py +134 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/clickup_toolkit.py +55 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/dataforseo_toolkit.py +8 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/README.md +41 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/__init__.py +64 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/project_creation/README.md +37 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/project_creation/__init__.py +22 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/project_creation/github.py +289 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/python/README.md +37 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/python/__init__.py +13 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/python/cst_toolkit/transformers/function_logging_transformer.py +127 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/python/cst_toolkit/transformers/import_consolidator.py +93 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/python/cst_toolkit/transformers/multi_file_rename.py +114 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/python/cst_toolkit/transformers/print_to_logging.py +84 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/python/cst_toolkit/transformers/refactor.py +103 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/python/cst_toolkit/transformers/type_hints.py +90 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/python/cst_toolkit/visitors/automatic_test_case_generator.py +113 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/python/cst_toolkit/visitors/code_smell_detector.py +103 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/python/cst_toolkit/visitors/complexity_analyzer.py +219 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/python/cst_toolkit/visitors/dependency_analyzer.py +109 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/python/cst_toolkit/visitors/function_call_analyzer.py +116 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/python/cst_toolkit/visitors/import_analyzer.py +146 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/python/cst_toolkit/visitors/type_checking.py +105 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/shell/background_process_manager.py +298 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/shell/logger.py +51 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/shell/permission.py +234 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/shell/remote_execution.py +56 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/shell/shell.py +163 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/dev/tools.py +1514 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/financialdatasets_toolkit.py +119 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/fred_toolkit.py +255 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/free_to_game_toolkit.py +173 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/github_toolkit.py +37 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/gitlab_toolkit.py +132 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/gmail_toolkit.py +38 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/google_calendar.py +113 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/gradio_toolkit.py +51 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/jira_toolkit.py +162 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/lcbo_toolkit.py +122 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/mongodb_toolkit.py +74 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/nasa_toolkit.py +6 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/nla_toolkit.py +157 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/office_365.py +52 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/openlibrary_toolkit.py +182 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/pandas_toolkits.py +3 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/poetry_db_toolkit.py +195 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/polygon_toolkit.py +85 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/powerbi_toolkit.py +16 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/request_tools.py +80 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/rick_and_morty_toolkit.py +300 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/rps_101_toolkit.py +174 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/slack_toolkit.py +60 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/sql_db_toolkit.py +39 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/stack_exchange_toolkit.py +44 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/steam_toolkit.py +39 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/stripe_toolkit.py +101 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/trip_advisor_toolkit.py +269 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/twilio_toolkit.py +78 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/useless_facts_toolkit.py +107 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/vbible_toolkit.py +309 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/weather.py +261 -0
- haive_tools-1.0.0/src/haive/tools/tools/toolkits/yugiioh_toolkit.py +173 -0
- haive_tools-1.0.0/src/haive/tools/tools/translate_tools.py +203 -0
- haive_tools-1.0.0/src/haive/tools/tools/wolfram_alpha_tool.py +92 -0
- haive_tools-1.0.0/src/haive/tools/tools/yfinance_tool.py +23 -0
- 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
|
+
|