Skip to main content

Agentlys

image image Actions status

Turn any Python class into an AI tool. Instantly.

Async-native • MCP support • Multi-providers • ~500 lines of core code

class Database:
    def __llm__(self):
        return f"Tables: {self.list_tables()}"  # AI sees this every turn

    def query(self, sql: str) -> list[dict]:
        """Execute SQL query"""
        return self.execute(sql)

    def describe(self, table: str) -> dict:
        """Get table schema"""
        return self.get_schema(table)

agent = Agentlys()
agent.add_tool(Database(conn))  # That's it. All methods are now AI tools.
agent.run("What drove revenue decline in Q3?")

Other frameworks: 50 lines of tool definitions, separate schemas, manual state management.
Agentlys: Your class IS the tool. Methods become actions. __llm__() injects state.


Why Agentlys?

If you want... Use
Graphs and state machines LangGraph
Team-based agent crews CrewAI
Your existing classes as AI tools Agentlys

~500 lines of core code. No framework lock-in. No magic.


Install

pip install 'agentlys[all]'  # OpenAI + Anthropic + MCP

The Pattern

1. Functions → Tools

def get_weather(city: str) -> str:
    """Get current weather for a city"""
    return requests.get(f"https://wttr.in/{city}?format=3").text

agent.add_function(get_weather)

2. Classes → Stateful Tools (the killer feature)

class FileSystem:
    def __init__(self, root: str):
        self.root = root

    def __llm__(self):
        """State shown to AI each turn"""
        return f"Current directory: {self.root}\nFiles: {os.listdir(self.root)}"

    def read(self, path: str) -> str:
        """Read file contents"""
        return open(f"{self.root}/{path}").read()

    def write(self, path: str, content: str):
        """Write to file"""
        open(f"{self.root}/{path}", 'w').write(content)

agent.add_tool(FileSystem("/workspace"))
# AI now sees file state, can read/write, all from one class

3. Run Conversations

for message in agent.run_conversation("Refactor config.json to use environment variables"):
    print(message.content)

Async Support

# Async conversation loop
async for message in agent.run_conversation_async("Analyze the data"):
    print(message.content)

# Single async call
response = await agent.ask_async("What tables exist?")

Real Example: agentlys-dev

A coding agent in 15 lines:

from agentlys import Agentlys
from agentlys_tools import CodeEditor, Terminal, Git

agent = Agentlys(
    instruction="You are a senior developer",
    provider="anthropic",
    model="claude-sonnet-4-20250514"
)

agent.add_tool(CodeEditor())
agent.add_tool(Terminal())
agent.add_tool(Git())

agent.run_conversation("Create a FastAPI app with tests")

Providers

# Anthropic (default)
agent = Agentlys(provider="anthropic", model="claude-sonnet-4-20250514")

# OpenAI
agent = Agentlys(model="gpt-4o")

# Any OpenAI-compatible API (Ollama, vLLM, LiteLLM, OpenRouter, ...)
agent = Agentlys(model="llama3.1", base_url="http://localhost:11434/v1")

See the Provider Guide for details.


4. Tool Search (defer loading)

When you have many tools, defer most of them and let the LLM discover what it needs:

agent.add_tool(Database(conn), "db")
agent.add_tool(Charts(), "charts")
agent.add_tool(Documents(), "docs")
agent.add_function(answer)

agent.enable_tool_search(always_loaded=["answer", "Database-db__query"])
# Charts and Documents tools are hidden until the LLM searches for them

Reduces context usage by 50-85% with large tool sets. See API Reference.


More


Used By

  • Myriade — AI-native data platform

When NOT to use Agentlys

  • You need graph-based workflows → Use LangGraph
  • You want pre-built agent teams → Use CrewAI
  • You need sandboxed code execution → Use Smolagents

Agentlys is for: turning your existing Python code into AI tools with zero ceremony.

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agentlys-1.16.3.tar.gz (92.0 kB view details)

Uploaded Source

Built Distribution

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

agentlys-1.16.3-py3-none-any.whl (54.7 kB view details)

Uploaded Python 3

File details

Details for the file agentlys-1.16.3.tar.gz.

File metadata

  • Download URL: agentlys-1.16.3.tar.gz
  • Upload date:
  • Size: 92.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for agentlys-1.16.3.tar.gz
Algorithm Hash digest
SHA256 3f43493fa0cbf5e1053bd03f03804d8d135d3ea9c04705aa01bdeacada9beaf3
MD5 e32960edeb43c0a6ba92ec5bc1d8d70a
BLAKE2b-256 d6e8ffee9c47cfdfed2e7b4ec73216e512540fff05f25383139ecd7569344208

See more details on using hashes here.

File details

Details for the file agentlys-1.16.3-py3-none-any.whl.

File metadata

  • Download URL: agentlys-1.16.3-py3-none-any.whl
  • Upload date:
  • Size: 54.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for agentlys-1.16.3-py3-none-any.whl
Algorithm Hash digest
SHA256 307c1c38ff9d4a6df2d80eb0c8dc4ff623290b0fd14475d9fa9c72f9efc0c4b1
MD5 d14a09cdfe108aaa3441dcb3a3296ba7
BLAKE2b-256 b758831ae70e0bf9e173919b53f83d71d0dd477e31fbfc89ef1cccc10624b460

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.16.3 This release

2 files

1.16.2

2 files

1.16.1

2 files

1.16.0

2 files

1.15.2

2 files

1.15.1

2 files

1.15.0

2 files

1.14.0

2 files

1.13.0

2 files

1.12.2

2 files

1.12.1

2 files

1.12.0

2 files

1.11.0

2 files

1.10.0

2 files

1.9.1

2 files

1.9.0

2 files

1.8.2

2 files

1.8.1

2 files

1.8.0

2 files

1.7.1

2 files

1.7.0

2 files

1.6.6

2 files

1.6.5

2 files

1.6.4

2 files

1.6.3

2 files

1.6.2

2 files

1.6.1

2 files

1.6.0

2 files

1.5.2

2 files

1.5.1

2 files

1.5.0

2 files

1.4.1

2 files

1.4.0

2 files

1.3.0

2 files

1.2.0

2 files

1.1.0

2 files

1.0.0

2 files

0.20.0

2 files

0.19.2

2 files

0.19.1

1 file

Supported by

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