Skip to main content

File, shell, and web tools for exoclaw — filesystem subset is MicroPython-compat

Project description

exoclaw-tools-workspace

File system, shell, and web tools implementing the exoclaw ToolBase protocol — read/write/edit files, list directories, execute shell commands, search the web, and fetch URLs.

Install

pip install exoclaw-tools-workspace

Usage

from pathlib import Path
from exoclaw_tools_workspace.filesystem import ReadFileTool, WriteFileTool, EditFileTool, ListDirTool
from exoclaw_tools_workspace.shell import ExecTool
from exoclaw_tools_workspace.web import WebSearchTool, WebFetchTool

workspace = Path("~/.nanobot/workspace").expanduser()

tools = [
    ReadFileTool(workspace=workspace),
    WriteFileTool(workspace=workspace),
    EditFileTool(workspace=workspace),
    ListDirTool(workspace=workspace),
    ExecTool(timeout=30, working_dir=str(workspace)),
    WebSearchTool(api_key="..."),   # Brave Search API key, or set BRAVE_API_KEY
    WebFetchTool(),
]

All tools accept an optional allowed_dir to restrict file operations to within a directory. ExecTool ships with a built-in deny-list of destructive shell patterns.

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

exoclaw_tools_workspace-0.7.0.tar.gz (14.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

exoclaw_tools_workspace-0.7.0-py3-none-any.whl (17.2 kB view details)

Uploaded Python 3

File details

Details for the file exoclaw_tools_workspace-0.7.0.tar.gz.

File metadata

  • Download URL: exoclaw_tools_workspace-0.7.0.tar.gz
  • Upload date:
  • Size: 14.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for exoclaw_tools_workspace-0.7.0.tar.gz
Algorithm Hash digest
SHA256 c8b9d237f126147c6558176f808d379729b074b8059d96286000b861b026e801
MD5 35fa9c21e13d8461d952e731b09bf49a
BLAKE2b-256 3403dc46562e44abd09e8a2c0aac126bf40097e08752b285de922afc1ed0fdff

See more details on using hashes here.

File details

Details for the file exoclaw_tools_workspace-0.7.0-py3-none-any.whl.

File metadata

  • Download URL: exoclaw_tools_workspace-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 17.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for exoclaw_tools_workspace-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5e675b48719b25389f733ebf15864182094490af797aab1cb7886cf26b8d7bfd
MD5 246d4526b080521e17d6a3440591c160
BLAKE2b-256 2f5525304817449a2bbdb18a112c61680c95e6b5beeb2765fc345af672bcf602

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page