Skip to main content

How to Reference Tools from GitHub

1

Add GitHub URL to tools_sources

# TEMPLATE.yaml
name: my-template
version: "1.0.0"

requires:
  tools_sources:
    - github:MervinPraison/PraisonAI-tools/praisonai_tools/video
2

Reference Tools in agents.yaml

roles:
  agent:
    tools:
      - shell_tool
    tasks:
      main:
        description: "Use video tools from GitHub"
3

Run Template

praisonai templates run ./my-template

How to Use Tools from Raw GitHub URLs

1

Get Raw URL

Navigate to the tools.py file on GitHub and click “Raw” to get the raw URL:
https://raw.githubusercontent.com/MervinPraison/PraisonAI-tools/main/tools.py
2

Add to tools_sources

# TEMPLATE.yaml
requires:
  tools_sources:
    - https://raw.githubusercontent.com/user/repo/main/tools.py
3

Run Template

praisonai templates run ./my-template

How to Use Tools via CLI Override

1

Run with Remote Tool Source

praisonai templates run my-template \
  --tools-source github:MervinPraison/PraisonAI-tools/praisonai_tools
2

Run with Multiple Sources

praisonai templates run my-template \
  --tools-source github:user/repo/tools \
  --tools-source ./local_tools.py

How to Install Tools from PyPI

1

Install Package

pip install praisonai-tools
2

Add to tools_sources

# TEMPLATE.yaml
requires:
  packages:
    - praisonai-tools
  tools_sources:
    - praisonai_tools.video
3

Use Tools

praisonai templates run ./my-template

How to Create Shareable Tool Packages

1

Create Package Structure

my-tools/
├── pyproject.toml
├── my_tools/
│   ├── __init__.py
│   └── tools.py
2

Define pyproject.toml

[project]
name = "my-tools"
version = "1.0.0"

[project.entry-points."praisonai.tools"]
my_tools = "my_tools:tools"
3

Publish to PyPI

pip install build twine
python -m build
twine upload dist/*
4

Use in Templates

requires:
  packages:
    - my-tools
  tools_sources:
    - my_tools

Remote Tool Source Formats

FormatExample
GitHub shorthandgithub:user/repo/path
GitHub with branchgithub:user/repo/path@branch
Raw URLhttps://raw.githubusercontent.com/...
PyPI packagepackage_name.module
Local path./tools.py or ./tools_dir/