Metadata-Version: 2.4
Name: signedby
Version: 1.0.0
Classifier: Development Status :: 4 - Beta
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
Classifier: Programming Language :: Rust
Classifier: License :: Other/Proprietary License
Classifier: Topic :: Security :: Cryptography
License-File: LICENSE
Summary: SIGNEDBYME SDK - Self-signing digital signatures with zero-knowledge proofs
Keywords: identity,zkp,groth16,nostr,bitcoin,authentication
Home-Page: https://signedbyme.com
Author-email: SIGNEDBYME <contact@signedbyme.com>
License: SSAL-1.0
Requires-Python: >=3.9
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Documentation, https://signedbyme.com/docs/sdk-quickstart.html
Project-URL: Homepage, https://signedbyme.com
Project-URL: Repository, https://github.com/SIGNEDBYME-APP/SIGNEDBYME

# SIGNEDBYME Python SDK

Self-signing digital signatures with zero-knowledge proofs.

## Installation

```bash
pip install signedby
```

## Quick Start

```python
from signedby import SignedByAgent, SignedByClient

# Initialize agent
agent = SignedByAgent.init(storage_path="./agent_data")

# Set email mapping for enterprises
agent.set_email_mapping({
    "example.com": "user@example.com"
})

# Connect to SIGNEDBYME relays
agent.connect_relays()

# Watch for authorization requests
async for auth_request in agent.watch_for_authorizations():
    print(f"Authorization from {auth_request.enterprise}")
    
# Authenticate
client = SignedByClient(api_url="https://api.signedbyme.com")
token = await client.authenticate(
    client_id="example",
    proof=agent.generate_proof()
)
print(f"Authenticated: {token.sub}")
```

## Features

- **Agent Management**: DID generation, secure storage
- **Groth16 ZK Proofs**: Native Rust core via PyO3
- **NOSTR Integration**: Automatic relay management
- **OIDC Compatible**: Standard JWT id_tokens

## Requirements

- Python 3.9+
- Rust toolchain (for building native extension)

## Documentation

Full documentation: [https://docs.signedbyme.com](https://docs.signedbyme.com)

## License

SSAL-1.0 (SignedByMe Source-Available License)

## Links

- [GitHub](https://github.com/SIGNEDBYME-APP/SIGNEDBYME)
- [Website](https://signedbyme.com)

