Metadata-Version: 2.4
Name: draggit-sdk
Version: 1.0.0
Summary: Professional PDF watermarking service SDK
Home-page: https://github.com/draggit/draggit-sdk
Author: Draggit Team
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: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Office/Business
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests>=2.28.0
Dynamic: author
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# Draggit SDK

Professional PDF watermarking service for Python applications.

## Features

✅ **Easy Integration** - Simple Python API
✅ **Flexible Watermarking** - Text + Logo positioning
✅ **License Tracking** - Built-in usage monitoring
✅ **Secure** - API key authentication
✅ **Black Box** - No code modification possible

## Installation

```bash
pip install draggit-sdk
```

## Quick Start

```python
from draggit import DraggitClient

# Initialize client
client = DraggitClient(api_key="your-api-key")

# Sign PDF
result = client.sign_and_save(
    input_pdf="document.pdf",
    output_pdf="document_signed.pdf"
)

print(f"Signed! Used {result['signatures_used']} signatures")
```

## Usage

### Basic Signing

```python
client = DraggitClient(api_key="demo-key")

# Sign and save
result = client.sign_and_save("input.pdf", "output.pdf")
# Returns: {
#   'status': 'success',
#   'message': 'PDF signed successfully with Draggit watermarks',
#   'tier': 'free',
#   'signatures_used': 1,
#   'output_file': 'output.pdf',
#   'file_size': 28136
# }
```

### Check License

```python
# Validate API key
is_valid, info = client.validate_license()

if is_valid:
    print(f"Valid! Remaining: {info['signatures_remaining']}")
else:
    print("Invalid or expired API key")

# Get detailed info
license_info = client.get_license_info()
print(f"Tier: {license_info['license_type']}")
print(f"Used: {license_info['signatures_used']}/{license_info['signatures_limit']}")
```

### Configuration

```python
from draggit import WatermarkConfig

# Get current config
config = client.get_config()

# Modify config
config.logo_x = 100
config.logo_y = 150
config.logo_opacity = 0.9

# Save config
client.update_config(config)

# Use presets
config = WatermarkConfig.preset_subtle()
config = WatermarkConfig.preset_default()
config = WatermarkConfig.preset_prominent()
```

## API Keys

- `demo-key` - Free tier (100 signatures)
- `pro-key` - Pro tier (1,000 signatures)
- Contact support for custom keys

## Configuration Options

| Option | Type | Default | Range |
|--------|------|---------|-------|
| text_opacity | float | 0.08 | 0-1 |
| text_rotation | float | -25 | -45 to 45 |
| text_scale | float | 0.35 | 0-1 |
| logo_opacity | float | 0.85 | 0-1 |
| logo_width | int | 100 | 50-200 |
| logo_height | int | 70 | 40-150 |
| logo_x | int | 50 | 0+ |
| logo_y | int | 80 | 0+ |

## Error Handling

```python
from draggit import DraggitClient

try:
    client = DraggitClient(api_key="invalid-key")
except ConnectionError as e:
    print(f"Connection error: {e}")

try:
    result = client.sign_and_save("nonexistent.pdf", "output.pdf")
except FileNotFoundError as e:
    print(f"File error: {e}")
except ValueError as e:
    print(f"API error: {e}")
```

## What This SDK Does

✅ Adds watermarks to PDFs
✅ Flexible positioning and opacity control
✅ License-based usage tracking
✅ Simple Python API

## What This SDK Does NOT Do

❌ Digital signature with certificates (client's responsibility)
❌ Code modification (black box - no source code access)
❌ Decompilation possible

## Support

For support, contact: support@draggit.com

## License

Proprietary - See LICENSE file
