Metadata-Version: 2.4
Name: langchain-ftirfun
Version: 1.0.0
Summary: LangChain tools for FTIR spectral search and material identification via the FTIR.fun API
Author-email: "FTIR.fun" <ftir.fun@outlook.com>
License: MIT
Project-URL: Homepage, https://ftir.fun
Project-URL: Repository, https://github.com/jxbaoxiaodong/ftirfun
Project-URL: API Docs, https://ftir.fun
Keywords: langchain,ftir,spectroscopy,chemistry,materials,infrared,spectral-search
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering :: Chemistry
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: requests>=2.28.0
Requires-Dist: langchain>=0.3.0
Provides-Extra: dev
Requires-Dist: langchain-openai; extra == "dev"

# LangChain FTIR.fun

[![PyPI version](https://img.shields.io/pypi/v/langchain-ftirfun.svg)](https://pypi.org/project/langchain-ftirfun/)

LangChain tools for FTIR spectral search and material identification via the [FTIR.fun](https://ftir.fun) API.

## Quick Start

```bash
pip install langchain-ftirfun
```

```python
from langchain_ftirfun import get_ftir_tools
from langchain.agents import create_tool_calling_agent
from langchain_openai import ChatOpenAI

# Create FTIR tools
tools = get_ftir_tools(
    api_base_url="https://ftir.fun",
    api_key="your-api-key",
)

# Use with any LangChain agent
llm = ChatOpenAI(model="gpt-4o-mini")
agent = create_tool_calling_agent(llm, tools, "You are a spectroscopy assistant.")
```

## Tools

| Tool | Description |
|------|-------------|
| `ftir_identify_material` | Identify unknown material from FTIR spectrum (peaks or file) |
| `ftir_explain_peaks` | Explain FTIR peaks with peak-group evidence |
| `ftir_match_library_topk` | Return top-k spectral library matches |
| `ftir_assign_functional_groups` | Assign likely functional groups to peaks |

## API Key

Get an API key from [FTIR.fun](https://ftir.fun) and pass it to `get_ftir_tools()`.

## Links

- Website: https://ftir.fun
- Repository: https://github.com/jxbaoxiaodong/ftirfun
- MCP: `https://ftir.fun/mcp`
