Skip to content

Installation

This page covers everything needed to get langchain_mero_tools installed and ready to import — requirements, install commands, optional extras, and optional system binaries that make some tools faster.

Requirements

Requirement Version
Python 3.10 or newer
langchain >= 1.3.14 (installed automatically)
pydantic >= 2.13.4 (installed automatically)
langgraph >= 1.2.10 — optional, only needed for InterruptApproval

The core package has exactly two hard dependencies (langchain, pydantic). Nothing else is required to use the file, directory, search, process, or rsync tools.

Installing the core package

Install from PyPI with either pip or uv:

# pip
pip install langchain-mero-tools

# uv
uv add langchain-mero-tools

This is a normal, non-editable install — the right choice for using the package inside another project or a deployed application.

Installing with LangGraph support

The InterruptApproval backend (see LangGraph Integration) pauses a LangGraph run using interrupt() and resumes it with Command(resume=...). It requires langgraph to be installed. Pull it in with the langgraph extra:

# pip
pip install "langchain-mero-tools[langgraph]"

# uv
uv add "langchain-mero-tools[langgraph]"

If you try to construct InterruptApproval() without langgraph installed, you'll get a clear ImportError telling you to install it — the rest of the package works fine without it.

Development install

If you're contributing to the package itself (running the test suite, linting, etc.), you'll need an editable install from a clone of the repo rather than the PyPI package:

git clone https://github.com/<org>/langchain-mero-tools.git
cd langchain-mero-tools

# pip
pip install -e ".[langgraph]" --group dev

# uv
uv sync --extra langgraph --group dev

This pulls in pytest and ruff in addition to langgraph, and installs the package in "editable" mode, meaning changes to the source under src/langchain_mero_tools/ are picked up immediately without reinstalling. Then:

pytest                        # run the test suite
ruff check src/ tests/        # lint

Optional system binaries

Two tools automatically use a faster external binary if it's on PATH, and fall back to a pure-Python implementation if it isn't. Neither is required — both tools work correctly with zero system dependencies.

Tool Preferred binary Fallback chain What you get by installing the binary
file_search_tool ripgrep (rg) rggrep → pure Python Much faster searches on large trees, .gitignore-aware defaults
rsync_tool rsync rsync → Python copy-based sync Efficient delta transfers, standard rsync semantics

To install them:

# Debian/Ubuntu
sudo apt-get install ripgrep rsync

# macOS (Homebrew)
brew install ripgrep rsync

# Verify
rg --version
rsync --version

Presence is detected at call time via shutil.which(...), so there's nothing to configure — just install the binary and the tools pick it up automatically on the next call.

Verifying the install

python -c "from langchain_mero_tools import get_tools; print([t.name for t in get_tools()])"

Expected output:

['file_tool', 'directory_tool', 'file_search_tool', 'process_tool', 'rsync_tool']

If that runs without error, you're ready to go — head to Quickstart.

Uninstalling

# pip
pip uninstall langchain-mero-tools

# uv
uv remove langchain-mero-tools

Troubleshooting installation

  • ModuleNotFoundError: No module named 'langchain_mero_tools' — you likely installed into a different virtual environment than the one you're running Python in (or, for a dev install, ran the command from the wrong directory). Confirm with pip show langchain-mero-tools (or uv pip show langchain-mero-tools).
  • ImportError: InterruptApproval requires langgraph — install the langgraph extra as shown above.
  • Python version errors — this package requires Python 3.10+ (it uses modern syntax like X | Y union types and Path.is_relative_to). Check with python --version.

For anything else, see FAQ & Troubleshooting.