ramabana
Agent runs a model against the tools supplied by a host. A host defines the folders, network access, memory, and approval gate available to the model. The terminal, MCP server, and Agent Client Protocol server use the same agent and tool contracts.
Start with one folder. Ramabana can write only inside the folders named by --root. Read access also stays inside those folders. --read-outside widens read access to the machine.
Run it on a project
Install the terminal frontend and open the current folder:
pip install 'ramabana[cli]'
ramabana --root .
Omit the prompt for the interactive terminal. Pass a prompt for one turn that prints its answer and exits:
ramabana --root . 'Find where request timeouts are configured.'
Ramabana starts with --approve ask. Write tools wait for approval. --approve auto permits writes without asking for the rest of that process. --no-web removes the network tools.
Understand one turn
This example uses the same Agent.ask path as a real model. fake_agent supplies a deterministic backend and an in-memory project. The page runs without credentials, downloads, or writes to disk.
from ramabana.testing import fake_agent
agent, backend = fake_agent(replies=['The threshold is defined in `pkg/sizes.py`.'])
answer = agent.ask('Where is the threshold defined?')
answer
'The threshold is defined in `pkg/sizes.py`.'
assert answer == 'The threshold is defined in `pkg/sizes.py`.'
assert agent.history[-1]['prompt'] == 'Where is the threshold defined?'
agent.turn_lines(), repr(agent.turn_use)
(['🔍 Search Where is the threshold defined?'],
'15 tok · in 10 · out 5 · model')
Choose a frontend
Use the terminal for an interactive coding session or a single shell command. Use MCP when another assistant needs Ramabana’s tools. MCP serves read-only tools by default. --write adds the write tools. Use ACP when an editor launches Ramabana as its agent.
ramabana --root .
ramabana-mcp --root .
ramabana-acp --root .
Add --model MODEL to pin the turn model. Add --vault to retain material read through the memory tools. Run each command with --help for its complete options.
Read the implementation
Start with the page for the contract you need:
- core: errors, routing, model budgets, and shared values
- runtime: backends, usage, runs, and compaction
- tools: hosts, tool construction, and delegation
- agent: turns, approvals, activity, plans, history, and branching
- testing: in-memory hosts and deterministic backends
- terminal, MCP, PyREPL, and ACP: frontend adapters
- vault, API specifications, git, and folder monitoring: optional capabilities
- shop: product search tools
- coding patterns, theory, prose, and documentation: bundled agent skills
Develop Ramabana
The notebooks are the source. nbdev-prepare generates the files under ramabana/.
uv sync --all-extras --group dev
uv run nbdev-prepare
nbdev-prepare exports the notebooks, runs notebook tests, cleans notebook metadata, and rebuilds the README.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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 ramabana-0.1.32.tar.gz.
File metadata
- Download URL: ramabana-0.1.32.tar.gz
- Upload date:
- Size: 182.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e4df8148f9ca2b36c4a3c4e0a5a65a5c96d0f20e493fbdcaf050a3fe5afa004a
|
|
| MD5 |
9e5ad45f7fa5e0e03b8f7ec97515850c
|
|
| BLAKE2b-256 |
a797f2b9b1676954765227ef298e1bcfce0b64758e3b759a396a4a467eb0283d
|
File details
Details for the file ramabana-0.1.32-py3-none-any.whl.
File metadata
- Download URL: ramabana-0.1.32-py3-none-any.whl
- Upload date:
- Size: 195.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4aba151ae416b62513d5e81952c5a25b733faa60768d29254197d9d4d9139d39
|
|
| MD5 |
13995949c13c1ac3292c57986f57b7da
|
|
| BLAKE2b-256 |
f8d36659e16dc470336f7dd48e58689092f4a8a8944b270f370f9b78c2cabea3
|