Metadata-Version: 2.4
Name: poi-sdk
Version: 0.1.0
Summary: A Python SDK for creating trustworthy AI agent transactions with Proof-of-Intent
Home-page: https://github.com/giovannypietro/poi-examples
Author: Giovanny Pietro
Author-email: giovanny.pietro@example.com
Project-URL: Bug Tracker, https://github.com/giovannypietro/poi-examples/issues
Project-URL: Documentation, https://github.com/giovannypietro/poi-examples/blob/main/README.md
Project-URL: Source Code, https://github.com/giovannypietro/poi-examples
Keywords: proof-of-intent,ai,security,cryptography,agents,trust,audit
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Security
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Systems Administration :: Authentication/Directory
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: cryptography>=3.4.8
Requires-Dist: pyyaml>=6.0
Requires-Dist: pydantic>=2.0.0
Requires-Dist: python-dateutil>=2.8.2
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
Requires-Dist: black>=23.0.0; extra == "dev"
Requires-Dist: isort>=5.12.0; extra == "dev"
Requires-Dist: flake8>=6.0.0; extra == "dev"
Requires-Dist: mypy>=1.0.0; extra == "dev"
Requires-Dist: pre-commit>=3.0.0; extra == "dev"
Requires-Dist: tox>=4.0.0; extra == "dev"
Provides-Extra: test
Requires-Dist: pytest>=7.0.0; extra == "test"
Requires-Dist: pytest-cov>=4.0.0; extra == "test"
Provides-Extra: docs
Requires-Dist: sphinx>=6.0.0; extra == "docs"
Requires-Dist: sphinx-rtd-theme>=1.2.0; extra == "docs"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license-file
Dynamic: project-url
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# PoI Python SDK Package

This folder contains the PyPI package for the Proof-of-Intent Python SDK.

## Package Structure

```
package/
├── src/                    # Source code
│   └── poi_sdk/          # Main package
├── setup.py               # Package setup script
├── MANIFEST.in            # Package manifest
├── requirements.txt       # Dependencies
├── LICENSE                # MIT License
├── README.md              # This file
└── build_package.py       # Build automation script
```

## Building the Package

### Prerequisites

```bash
pip install setuptools wheel twine
```

### Quick Build

```bash
cd package
python build_package.py
```

### Manual Build

```bash
cd package

# Clean previous builds
rm -rf build dist *.egg-info

# Build source distribution
python setup.py sdist

# Build wheel
python setup.py bdist_wheel

# Check package
twine check dist/*
```

## Package Contents

The package includes:

- **Core SDK**: `PoIReceipt`, `PoIGenerator`, `PoIValidator`, `PoIConfig`
- **CLI Tool**: `poi-cli` command-line interface
- **Type Hints**: Full type annotation support
- **Dependencies**: All required packages with version constraints

## Installation

### From PyPI (when published)

```bash
pip install poi-sdk
```

### From Local Package

```bash
# Install from built wheel
pip install dist/poi_sdk-0.1.0-py3-none-any.whl

# Install in development mode
pip install -e .
```

## Usage

```python
from poi_sdk import PoIGenerator, PoIValidator

# Generate a receipt
generator = PoIGenerator()
receipt = generator.generate_receipt(
    agent_id="my_agent",
    action="data_access",
    target_resource="user_database",
    declared_objective="Fetch user profile"
)

# Validate the receipt
validator = PoIValidator()
is_valid = validator.validate_receipt(receipt)
```

## CLI Usage

```bash
# Generate a receipt
poi-cli generate --agent-id "cli_agent" --action "test" --resource "test" --objective "Testing"

# Validate a receipt
poi-cli validate --receipt receipt.json
```

## Development

For development setup and contribution guidelines, see the main repository's [CONTRIBUTING.md](../CONTRIBUTING.md).

## License

MIT License - see [LICENSE](LICENSE) file for details.
