Metadata-Version: 2.4
Name: humanod
Version: 0.1.1
Summary: The official Python SDK for Humanod: Hire humans on-demand via API.
Home-page: https://github.com/humanod/humanod-python
Author: Humanod
Author-email: hello@humanod.app
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: requests>=2.25.0
Requires-Dist: pydantic>=2.0.0
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# Humanod Python SDK

The official Python client for [Humanod](https://humanod.app) – the API that allows AI Agents and developers to seamlessly hire humans for physical tasks in the real world.

## Installation

```bash
pip install humanod
```

## Quick Start
Delegate a physical task to a human with just a few lines of code.

```python
from humanod import HumanodClient, CreateTaskRequest, TaskCategory

client = HumanodClient(api_key="your_api_key_here")

# 1. Define the mission
task_spec = CreateTaskRequest(
    title="Take a photo of the Eiffel Tower",
    description="I need a vertical photo of the Eiffel Tower right now for an article.",
    price=15.0,  # EUR
    category=TaskCategory.MEDIA,
    location_name="Paris, France",
    deliverables="1 clear high-res photo",
    validation_criteria="The tower must be centered and fully visible.",
    skills_required=["photography"]
)

# 2. Deploy to the real world
task = client.hire_human(task_spec)
print(f"Mission deployed! View task ID: {task.task_id}")
```

## Core Methods
- `hire_human(task_spec)`: Creates a new task.
- `check_task_status(task_id)`: Gets the current status of the task.
- `get_submissions(task_id)`: Retrieves all proofs of work submitted by humans.
- `review_submission(application_id, validation)`: Approve or reject work.
- `cancel_task(task_id)`: Cancels the mission and refunds the budget.

## Standardized Agent-to-Human Schema
This SDK enforces the open `"Agent-to-Human"` standard JSON schema via statically typed **Pydantic** models (e.g., `CreateTaskRequest`, `ValidationRequest`).
