Metadata-Version: 2.1
Name: toolmate
Version: 0.5.98
Summary: ToolMate AI, developed by Eliran Wong, is a cutting-edge AI companion that seamlessly integrates agents, tools, and plugins to excel in conversations, generative work, and task execution. Supports custom workflow and plugins to automate multi-step actions.
Home-page: https://letmedoit.ai
Author: Eliran Wong
Author-email: support@letmedoit.ai
License: GNU General Public License (GPL)
Project-URL: Source, https://github.com/eliranwong/toolmate
Project-URL: Tracker, https://github.com/eliranwong/toolmate/issues
Project-URL: Documentation, https://github.com/eliranwong/toolmate/wiki
Project-URL: Funding, https://www.paypal.me/letmedoitai
Keywords: ai assistant ollama llama llamacpp groq openai chatgpt gemini autogen rag agent stable-diffusion fabric dalle imagen
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: End Users/Desktop
Classifier: Topic :: Utilities
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Build Tools
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.8, <3.13
Requires-Dist: numpy==1.26.4
Requires-Dist: pandas==2.2.3
Requires-Dist: protobuf==4.25.3
Requires-Dist: ollama==0.4.4
Requires-Dist: groq==0.13.0
Requires-Dist: mistralai==1.2.5
Requires-Dist: openai==1.57.2
Requires-Dist: tiktoken==0.8.0
Requires-Dist: anthropic==0.40.0
Requires-Dist: autogen[gemini,graph,groq,lmm,long-context,mistral,ollama,retrievechat,teachable]==0.5.3
Requires-Dist: autogenstudio==0.1.5
Requires-Dist: langchain-unstructured[local]==0.1.6
Requires-Dist: unstructured[all-docs]==0.15.14
Requires-Dist: unstructured-client==0.28.1
Requires-Dist: unstructured-inference==0.7.36
Requires-Dist: unstructured.pytesseract==0.3.13
Requires-Dist: litellm[proxy]==1.54.1
Requires-Dist: huggingface-hub==0.26.5
Requires-Dist: langchain==0.3.11
Requires-Dist: langchain-community==0.3.11
Requires-Dist: langchain-core==0.3.24
Requires-Dist: langchain-openai==0.2.12
Requires-Dist: langchain-huggingface==0.1.2
Requires-Dist: langchain-ollama==0.2.1
Requires-Dist: langchain-text-splitters==0.3.2
Requires-Dist: langsmith==0.2.2
Requires-Dist: chromadb==0.5.3
Requires-Dist: chroma-hnswlib==0.7.3
Requires-Dist: sentence-transformers==3.3.1
Requires-Dist: scikit-image==0.24.0
Requires-Dist: scikit-learn==1.6.0
Requires-Dist: kiwisolver==1.4.7
Requires-Dist: termcolor==2.5.0
Requires-Dist: wcwidth==0.2.13
Requires-Dist: aiosignal==1.3.1
Requires-Dist: aiohappyeyeballs==2.4.4
Requires-Dist: jsonpath-python==1.0.6
Requires-Dist: annotated-types==0.7.0
Requires-Dist: exceptiongroup==1.2.2
Requires-Dist: h11==0.14.0
Requires-Dist: cachetools==5.5.0
Requires-Dist: marshmallow==3.23.1
Requires-Dist: httplib2==0.22.0
Requires-Dist: frozenlist==1.5.0
Requires-Dist: google-ai-generativelanguage==0.6.10
Requires-Dist: google-api-core==2.24.0
Requires-Dist: google-api-python-client==2.154.0
Requires-Dist: google-auth==2.36.0
Requires-Dist: google-auth-httplib2==0.2.0
Requires-Dist: google-cloud-aiplatform==1.74.0
Requires-Dist: google-cloud-bigquery==3.27.0
Requires-Dist: google-cloud-core==2.4.1
Requires-Dist: google-cloud-resource-manager==1.13.1
Requires-Dist: google-cloud-storage==2.19.0
Requires-Dist: google-crc32c==1.6.0
Requires-Dist: google-generativeai==0.8.3
Requires-Dist: google-resumable-media==2.7.2
Requires-Dist: googleapis-common-protos==1.66.0
Requires-Dist: grpc-google-iam-v1==0.13.1
Requires-Dist: grpcio==1.68.1
Requires-Dist: grpcio-status==1.62.3
Requires-Dist: cryptography==42.0.8
Requires-Dist: sqlmodel==0.0.22
Requires-Dist: tabulate==0.9.0
Requires-Dist: xlrd==2.0.1
Requires-Dist: humanfriendly==10.0
Requires-Dist: httptools==0.6.4
Requires-Dist: joblib==1.4.2
Requires-Dist: opentelemetry_sdk==1.27.0
Requires-Dist: opentelemetry-proto==1.27.0
Requires-Dist: opentelemetry-api==1.27.0
Requires-Dist: matplotlib==3.9.3
Requires-Dist: matplotlib-inline==0.1.7
Requires-Dist: onnxruntime==1.19.2
Requires-Dist: importlib_metadata==8.4.0
Requires-Dist: jedi==0.19.2
Requires-Dist: MarkupSafe==3.0.2
Requires-Dist: jsonschema==4.23.0
Requires-Dist: jsonschema-specifications==2024.10.1
Requires-Dist: wikipedia==1.4.0
Requires-Dist: xyzservices==2024.9.0
Requires-Dist: zope.interface==7.0.3
Requires-Dist: blinker==1.9.0
Requires-Dist: deepdiff==8.0.1
Requires-Dist: itsdangerous==2.2.0
Requires-Dist: imageio==2.35.1
Requires-Dist: multitasking==0.0.11
Requires-Dist: llvmlite==0.43.0
Requires-Dist: lazy-loader==0.4
Requires-Dist: cmake==3.30.3
Requires-Dist: soundfile==0.12.1
Requires-Dist: sounddevice==0.5.0
Requires-Dist: elevenlabs==1.5.0
Requires-Dist: wheel
Requires-Dist: setuptools
Requires-Dist: pipdeptree
Requires-Dist: googlesearch-python
Requires-Dist: google-cloud-speech
Requires-Dist: google-cloud-texttospeech
Requires-Dist: requests
Requires-Dist: argparse
Requires-Dist: pendulum
Requires-Dist: folium
Requires-Dist: seaborn[stats]
Requires-Dist: sympy
Requires-Dist: prompt_toolkit
Requires-Dist: Pygments
Requires-Dist: datetime
Requires-Dist: geocoder
Requires-Dist: art
Requires-Dist: apsw
Requires-Dist: gTTS
Requires-Dist: yt-dlp
Requires-Dist: rembg
Requires-Dist: qrcode
Requires-Dist: pyperclip
Requires-Dist: colorama
Requires-Dist: pillow
Requires-Dist: docker
Requires-Dist: einops
Requires-Dist: python-magic
Requires-Dist: pygame
Requires-Dist: feedparser
Requires-Dist: html2text
Requires-Dist: pypdf
Requires-Dist: PyMuPDF
Requires-Dist: yfinance
Requires-Dist: setuptools-rust
Requires-Dist: SpeechRecognition
Requires-Dist: openai-whisper
Requires-Dist: pydub
Requires-Dist: pytz
Requires-Dist: geopy
Requires-Dist: psutil
Requires-Dist: flashtext
Requires-Dist: tavily-python
Requires-Dist: wikipedia
Requires-Dist: tqdm
Requires-Dist: vosk
Requires-Dist: edge-tts
Requires-Dist: ftfy
Requires-Dist: lightrag-hku
Requires-Dist: fastapi
Requires-Dist: uvicorn
Requires-Dist: xonsh[full]
Requires-Dist: pymupdf
Requires-Dist: wikipedia-api
Requires-Dist: easyocr
Provides-Extra: linux
Requires-Dist: flaml[automl]; extra == "linux"
Requires-Dist: piper-tts; extra == "linux"
Requires-Dist: pysqlite3; extra == "linux"
Provides-Extra: cpp
Requires-Dist: llama-cpp-python[server]==0.3.0; extra == "cpp"
Requires-Dist: stable-diffusion-cpp-python; extra == "cpp"
Provides-Extra: gui
Requires-Dist: PySide6; extra == "gui"
Provides-Extra: bible
Requires-Dist: uniquebible>=0.2.8; extra == "bible"
Requires-Dist: searchbible>=0.1.6; extra == "bible"

# ToolMate AI

ToolMate AI, formerly known as FreeGenius AI, is a cutting-edge AI companion that seamlessly integrates agents, tools, and plugins to excel in conversations, generative work, and task execution. With the ability to perform multi-step actions, users can customize workflows to tackle complex projects with ease.

# Three Inteface Options

1. [Graphical User Interface](https://github.com/eliranwong/toolmate/blob/main/package/toolmate/docs/GUI.md)

> toolmateai

![desktop_assistant](https://github.com/user-attachments/assets/0b29e38f-e3bb-4deb-b07e-589dc4519626)

2. [Terminal Interactive Mode](https://github.com/eliranwong/toolmate/blob/main/package/toolmate/docs/Quick%20Guide.md#prompt-interface), run:

> toolmate

![ToolMateAI](https://github.com/user-attachments/assets/64525e6c-0e01-4316-bd3e-06c1f06ec5dd)

3. [Command Line Interface](https://github.com/eliranwong/toolmate/blob/main/package/toolmate/docs/ToolMate%20API%20Server.md), for options, run:

> tm -h

![cli_tm](https://github.com/user-attachments/assets/fe8669e7-f2d9-4234-9225-c2b1453698f9)

# Background

https://github.com/eliranwong/toolmate/blob/main/package/toolmate/docs/LetMeDoIt%20Mode.md

# Documentation

https://github.com/eliranwong/toolmate/wiki

# Latest changes

https://github.com/eliranwong/toolmate/blob/main/latest_changes.md

# Supported Platforms

Windows, macOS, Linux, ChromeOS, Android

# AI Backends and Models

ToolMate AI supports a wide range of AI backends and models, including [Ollama, Llama.cpp, Llama-cpp-python, Groq Cloud API, Mistral AI API, X AI API, OpenAI API, Google AI Studio API and Google Vertex AI](https://github.com/eliranwong/toolmate/blob/main/package/toolmate/docs/Supported%20Backends%20and%20Models.md). Llama-cpp-python is selected as the default backend because it is completely free and requires no additional setup. However, users can switch backends at any time.

Our recommendations:
* For backend selection, we consider [Ollama](https://ollama.com/) as the best friendly free `offline` option and [Groq Cloud API](https://github.com/eliranwong/toolmate/blob/main/package/toolmate/docs/Groq%20API%20Setup.md) as the best freiendly and free `online` option.

* Remarks: Though Llama.cpp requires extra setup, it runs faster inference with the same model, compared to Ollama, when they are running on Android Termux.

Read more at https://github.com/eliranwong/toolmate/blob/main/package/toolmate/docs/Supported%20Backends%20and%20Models.md

# New Additions

[NEW! Graphical User Interface](https://github.com/eliranwong/toolmate/blob/main/package/toolmate/docs/GUI.md)

[NEW! AutoGen Agents Integration](https://github.com/eliranwong/toolmate/blob/main/package/toolmate/docs/AutoGen%20Integration.md)

[NEW! Support Ollama v0.5.0+ latest structured output feature](https://github.com/eliranwong/toolmate/blob/main/package/toolmate/docs/Configure%20Ollama%20Server.md)

[NEW! Support Llama.cpp server running on Android](https://github.com/eliranwong/toolmate/blob/main/package/toolmate/docs/Android%20Versions.md)

[NEW! Support X AI / Grok API Keys](https://github.com/eliranwong/toolmate/blob/main/package/toolmate/docs/xAI.md)

[NEW! ToolMate API Server & Client](https://github.com/eliranwong/toolmate/blob/main/package/toolmate/docs/ToolMate%20API%20Server.md)

[NEW! Support Mistral API Keys](https://github.com/eliranwong/toolmate/blob/main/package/toolmate/docs/Mistral%20API%20Setup.md)

[NEW! Edit Current Conversation](https://github.com/eliranwong/toolmate/blob/main/package/toolmate/docs/Edit%20Current%20Conversation.md)

[NEW! Support Android](https://github.com/eliranwong/toolmate/blob/main/package/toolmate/docs/Android%20Versions.md)

[NEW! Perplexica and SearXNG Integration](https://github.com/eliranwong/toolmate/blob/main/package/toolmate/docs/Perplexica%20and%20SearXNG%20Integration.md#searxng-setup)

# Distinctive Features

[Tool Selection Agent](https://github.com/eliranwong/toolmate/blob/main/package/toolmate/docs/Tool%20Selection%20Configurations.md)

[Deep Reflection Agents](https://github.com/eliranwong/toolmate/blob/main/package/toolmate/docs/Reflection%20Agents.md)

[Risk Management Agent](https://github.com/eliranwong/toolmate/blob/main/package/toolmate/docs/Risk%20Management%20Agent.md)

[Running Multiple Tools in One Go](https://github.com/eliranwong/toolmate/blob/main/package/toolmate/docs/Running%20Multiple%20Tools%20in%20One%20Go.md)

[Plentiful Built-in Tools](https://github.com/eliranwong/toolmate/blob/main/package/toolmate/docs/Tool%20Descriptions.md)

[Highly Customisable Plugins](https://github.com/eliranwong/toolmate/wiki#plugins)

[Savable, Searchable and Sharable Records](https://github.com/eliranwong/toolmate/blob/main/package/toolmate/docs/Chat%20Record%20Management.md)

[Integration with Popular AI Tools](https://github.com/eliranwong/toolmate/wiki#integration)

# Quick Tool Calling

Starting with version 0.2.86+, users can utilize the `@` symbol to designate a specific tool within the application. The `toolmate` package now comes with a suite of pre-built tools:

@add_google_calendar_event @add_outlook_calendar_event @agents @append_command @append_fabric @append_instruction @apps @b @bapi @bible @bible_commentary @captain @chat @chatgpt @codey @command @convert_relative_datetime @copy_to_clipboard @correct_python_code @create_image_dalle3 @create_image_imagen3 @create_map @create_qrcode @create_statistical_graphics @datetimes @deep_reflection @download_web_content @download_youtube_audio @download_youtube_video @edit_text @examine_audio_google @examine_audio_groq @examine_audio_openai @examine_audio_whisper @examine_files @examine_images_chatgpt @examine_images_googleai @examine_images_groq @examine_images_llamacpp @examine_images_ollama @examine_images_pixtral @examine_images_vertexai @examine_web_content @execute_python_code @extract_bible_references @extract_python_code @fabric @files @general @googleai @groq @group @help @images @improve_writing @install_python_package @it @list_current_directory_contents @llamacpppython @llamacppserver @load_conversations @lyrics @map @mistral @modify_images @music @news @o1 @o1_mini @ollama @online @open_browser @packages @palm2 @paste_from_clipboard @perplexica_chatgpt @perplexica_googleai @perplexica_groq @perplexica_xai @proxy @qna @radio @read_aloud @recommend_tool @reflection @remove_image_background @repos @save_memory @science @scientific_publications @search_bible @search_bible_paragraphs @search_conversations @search_finance @search_google @search_google_news @search_memory @search_searxng @search_sqlite @search_tavily @search_weather @send_gmail @send_outlook @send_tweet @social_media @software_wikis @task @tavily @transcribe_audio_google @transcribe_audio_groq @transcribe_audio_openai @transcribe_audio_whisper @translate @uniquebible @uniquebible_api @uniquebible_web @vertexai @videos @web @wikimedia @workflow @xai

Android-only tools:

@show_location @show_connection @start_recording @stop_recording @phone_call @play_media @search_contacts @take_photo @selfie @read_sms @send_sms @send_email @send_whatsapp @share @share_file

Optional and additional bible tools, if you install optional `bible` module, by running `pip install --upgrade toolmate[bible]`:

@bible @bible_commentary @extract_bible_references @search_bible_ @search_bible_paragraphs @uba @uniquebible @uba_api @uniquebible_api

For those interested in expanding the capabilities of ToolMate AI, [custom tools can be added to the system via plugins](https://github.com/eliranwong/toolmate/blob/main/package/toolmate/docs/Plugins%20-%20How%20to%20Write%20a%20Custom%20Plugin.md).

Tips: 

* Type the `@` symbol to launch a drop-down menu listing all available tools for selection..
* Enter the `@` symbol to display a list of all available tools and their descriptions
* `@chat` is regarded as a single tool.  If you just want a direct response generated by LLM, simply use `@chat`.
* `@command` `@task` is like a magic tools designed to execute computing tasks upon user requests.
* `@recommend_tool` is designed to help users to find an appropriate tool to resolve a given request.
* `@help` is created for searching documentations

# Selectie Screenshots

## NEW! Supports Android

![android](https://github.com/user-attachments/assets/21775454-bd8e-412b-86ab-54e424ed1754)

## Brand New Tool Selection Agent

![tool_selection_agent_compressed](https://github.com/user-attachments/assets/c963ca48-cb01-4eb7-b40d-57e2a4a92eaf)

[Read more ...](https://github.com/eliranwong/toolmate/blob/main/package/toolmate/docs/Tool%20Selection%20Configurations.md)

## Multiple Tools in One Go

From version 0.2.87+, ToolMate AI supports use of multiple tools in a single request. It enables individual tools to work on results, generated by running previous tools.

![multiple_tools_in_single_prompt](https://github.com/user-attachments/assets/7bdc63cd-beca-44c9-bfb0-27596a5e0632)

Read more at: https://github.com/eliranwong/toolmate/blob/main/package/toolmate/docs/Running%20Multiple%20Tools%20in%20One%20Go.md

## Customizable Plugins

![plugins](https://github.com/eliranwong/toolmate/assets/25262722/6bb4b2f6-5684-42c1-95e3-7b12c3a38db6)

## AutoGen Agents Integration

https://github.com/eliranwong/toolmate/blob/main/package/toolmate/docs/AutoGen%20Integration.md

## System Command and Fabric Integration

CLI Options: https://github.com/eliranwong/toolmate/blob/main/package/toolmate/docs/CLI%20Options.md

System Command Integration: https://github.com/eliranwong/toolmate/blob/main/package/toolmate/docs/System%20Command%20Integration.md

Fabric Integration: https://github.com/eliranwong/toolmate/blob/main/package/toolmate/docs/Fabric%20Integration.md

## Support GPU Offloading

![llamacpp_with_gpu_offloading_compressed](https://github.com/eliranwong/toolmate/assets/25262722/2d607fc1-e6b5-4c62-be14-325d73866fce)

## Access to Real-time Data

![realtime_information](https://github.com/eliranwong/toolmate/assets/25262722/d94fd9c3-f242-4c8c-8564-308f866e9adb)

## Access to Device Information

![access_device_information](https://github.com/eliranwong/toolmate/assets/25262722/6e3386a4-7314-4ce5-a64f-fffe35dff92e)

## Task Execution

![toolmate_ai_screenshot](https://github.com/eliranwong/toolmate/assets/25262722/1e9dd18e-aa4b-4e2c-8d76-386af7ba00ea)

## Content Creation

![content_creation](https://github.com/eliranwong/toolmate/assets/25262722/5582d519-b925-4e1b-8fd8-ecaa8422d391)

# Installation

For Windows / macOS / LinuX / ChromeOS users:

> pip install --upgrade toolmate

or 

> pip install --upgrade toolmate_lite

The lite version `toolmate_lite` runs faster and supports Android Termux.  It lacks some of the features that are equipped with the full version `toolmate`.

For Android users:

> pip install --upgrade toolmate_lite

## Extra Modules

`cpp` install additional cpp libraries, i.e. `llama-cpp-python[server]` and `stable-diffusion-cpp-python`

> pip install --upgrade toolmate[cpp]

`gui` install additional GUI library for running gui system tray and experimental desktop assistant

> pip install --upgrade toolmate[gui]

`linux` install additional packages for Linux users, i.e. `flaml[automl]`, `piper-tts`

> pip install --upgrade toolmate[linux]

`bible` install additional libraries for working with bible tools

> pip install --upgrade toolmate[bible]

Read more at https://github.com/eliranwong/toolmate/blob/main/package/toolmate/docs/Install%20ToolMate.md

# Setup

> tmsetup

# Interactive Mode

> toolmate

# CLI

> tm -h

# GPU Acceleration

[GPU Acceleration](https://github.com/eliranwong/toolmate/blob/main/package/toolmate/docs/GPU%20Acceleration.md)

[GPU Acceleration with Llama.cpp Server](https://github.com/eliranwong/toolmate/blob/main/package/toolmate/docs/GPU%20Acceleration%20with%20Llama_cpp%20server.md)

# Quick Guide

https://github.com/eliranwong/toolmate/blob/main/package/toolmate/docs/Quick%20Guide.md

# More

Documentation https://github.com/eliranwong/toolmate/wiki

# Welcome Contributions

You are welcome to make contributions to this project by:

* joining the development collaboratively

* donations to show support and invest for the future

Support link: https://www.paypal.me/letmedoitai

Please kindly report of any issues at https://github.com/eliranwong/toolmate/issues
