Build and package Python tools into standalone executables for LLM integration.
Project description
Hot-Tool
Build and package Python tools into standalone executables for LLM integration.
Features
- Define Tools Simply - Inherit from
HotToolclass and implement therun()method - Build Standalone Executables - Compile Python tools into single binary files using
hot-tool build - Run Without Dependencies - Execute tools without Python installation or source code access
Installation
pip install hot-tool
Quick Start
Define Hot Tool
# get_my_ip.py
from typing import Optional
import requests
from hot_tool import HotTool
class GetMyIpTool(HotTool):
def run(
self, arguments: Optional[str] = None, context: Optional[str] = None
) -> str:
response = requests.get("https://ifconfig.me")
try:
response.raise_for_status()
return response.text.strip()
except Exception as e:
print(f"Error: {type(e).__name__}: {e}")
return "Can not get my IP, please try again later."
Run Programmatically
# main.py
from get_my_ip import GetMyIpTool
from hot_tool.run import run_tool
print(run_tool(GetMyIpTool))
# 198.51.100.156
Build Standalone Executable and Run as Executable
hot-tool build get_my_ip.py -o get_my_ip
# Starting Nuitka compilation...
# ...
# Nuitka-Plugins:upx: Compressing 'get_my_ip'.
# Nuitka: Successfully created 'get_my_ip'.
# Compilation completed successfully.
# Standalone script saved to '/Users/me/path/to/get_my_ip'
./get_my_ip
# 198.51.100.156
License
MIT License
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
hot_tool-0.0.1.tar.gz
(4.5 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hot_tool-0.0.1.tar.gz.
File metadata
- Download URL: hot_tool-0.0.1.tar.gz
- Upload date:
- Size: 4.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.11.14 Darwin/25.1.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
62ca7029a1f32bfb2855891077680e4848b161510bb28db0481c383d722c28a2
|
|
| MD5 |
4d8a213773b961258920d97000c70e75
|
|
| BLAKE2b-256 |
82e297742ac67eafe61bd2a70c02240a53c647196269c998219850a27728b227
|
File details
Details for the file hot_tool-0.0.1-py3-none-any.whl.
File metadata
- Download URL: hot_tool-0.0.1-py3-none-any.whl
- Upload date:
- Size: 6.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.11.14 Darwin/25.1.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bcc093b12748863f80491a5fe998c3c885b6c44d6f0c109e1f4a824d3f4ab75c
|
|
| MD5 |
7311ac0740866de22937f3d5d3fbfc5b
|
|
| BLAKE2b-256 |
37582e04aba12c4170dc386a114be3160a982ec0990b2aa6d1b25412b7bf741c
|