Metadata-Version: 2.4
Name: hiresquire
Version: 1.1.2
Summary: HireSquire LangChain Tools - AI-powered candidate screening for agents
Author-email: HireSquire Team <info@hiresquireai.com>
License: MIT
Project-URL: Homepage, https://hiresquireai.com
Project-URL: Documentation, https://hiresquireai.com/docs/api
Project-URL: AgentDocs, https://hiresquireai.com/docs/agents
Project-URL: Repository, https://github.com/hiresquire/hiresquire-python
Project-URL: Issues, https://github.com/hiresquire/hiresquire-python/issues
Keywords: hiresquire,langchain,ai,hiring,recruitment,screening,resume
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: langchain-core>=0.1.0
Requires-Dist: requests>=2.28.0
Provides-Extra: pdf
Requires-Dist: PyPDF2>=3.0.0; extra == "pdf"
Provides-Extra: docx
Requires-Dist: python-docx>=0.8.0; extra == "docx"
Provides-Extra: all
Requires-Dist: PyPDF2>=3.0.0; extra == "all"
Requires-Dist: python-docx>=0.8.0; extra == "all"
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
Requires-Dist: black>=23.0.0; extra == "dev"
Requires-Dist: ruff>=0.1.0; extra == "dev"

# HireSquire Python SDK

[![PyPI Version](https://img.shields.io/pypi/v/hiresquire.svg)](https://pypi.org/project/hiresquire/)
[![Python Versions](https://img.shields.io/pypi/pyversions/hiresquire.svg)](https://pypi.org/project/hiresquire/)
[![License](https://img.shields.io/pypi/l/hiresquire.svg)](https://pypi.org/project/hiresquire/)

LangChain tools for HireSquire's AI-powered candidate screening API.

## Installation

```bash
pip install hiresquire
```

## Quick Start

```python
from hiresquire import create_screening_job, get_screening_status, get_screening_results

# Submit a screening job
result = create_screening_job(
    title="Senior Python Developer",
    description="Looking for experienced Python developer with Django experience...",
    resumes=[
        {"filename": "john_doe.pdf", "content": "John Doe\n5 years Python experience..."}
    ]
)
job_id = result["job_id"]

# Poll for completion
status = get_screening_status(job_id=job_id)
while status["status"] == "processing":
    time.sleep(3)
    status = get_screening_status(job_id=job_id)

# Get results
results = get_screening_results(job_id=job_id)
for candidate in results["candidates"]:
    print(f"{candidate['name']}: {candidate['score']}/100")
```

## Environment Variables

Set these before using the SDK:

```bash
export HIRESQUIRE_API_TOKEN="your_api_token_here"
export HIRESQUIRE_BASE_URL="https://api.hiresquireai.com/api/v1"  # optional
```

## LangChain Integration

```python
from langchain.agents import AgentExecutor, create_openai_functions_agent
from langchain_openai import ChatOpenAI
from hiresquire import get_hiresquire_tools

llm = ChatOpenAI(temperature=0)
tools = get_hiresquire_tools()

agent = create_openai_functions_agent(llm, tools)
executor = AgentExecutor(agent=agent, tools=tools, verbose=True)

# Use in an agent
result = executor.invoke({
    "input": "Submit a screening job for a Python developer and find candidates with score > 80"
})
```

## Available Tools

| Tool | Description |
|------|-------------|
| `create_screening_job` | Submit a new screening job |
| `get_screening_status` | Check job status |
| `get_screening_results` | Get completed job results |
| `wait_for_screening_completion` | Poll until job completes |
| `generate_candidate_email` | Generate outreach email |
| `get_candidates_by_score` | Filter candidates by score |

## API Documentation

Full API documentation available at: https://docs.hiresquireai.com

## License

MIT License - see LICENSE file for details.
