# ZeroProof Python SDK
[](https://badge.fury.io/py/zeroproof)
[](https://www.python.org/downloads/)
[](https://opensource.org/licenses/MIT)
Python SDK for the ZeroProof AI verification API. Secure your agentic e-commerce ecosystem with zero-knowledge proofs.
## Installation
```bash
pip install zeroproof
```
## Quick Start
```python
from zeroproof import ZeroProof
# Initialize the client with your API key
client = ZeroProof(api_key="zkp_your_api_key_here")
# Create a verification challenge
challenge = client.create_challenge(
agent_id="shopping-assistant-v1",
action="add_to_cart",
context={"item_id": "laptop-123", "price": 999.99}
)
print(f"Challenge ID: {challenge.challenge_id}")
print(f"Nonce: {challenge.nonce}")
print(f"Expires in: {challenge.expires_in} seconds")
# Verify the proof (in production, this would be generated by your agent)
result = client.verify_proof(
challenge_id=challenge.challenge_id,
proof="your_cryptographic_proof_here",
agent_signature="optional_signature_here"
)
if result.verified:
print(f"✅ Verification successful!")
print(f" Agent: {result.agent_id}")
print(f" Action: {result.action}")
print(f" Confidence: {result.confidence * 100}%")
# Now execute the actual e-commerce action
else:
print("❌ Verification failed")
```
## Features
- 🔐 **Zero-Knowledge Proof Verification**: Verify agent authenticity without revealing sensitive data
- 🔒 **Encrypted Messaging**: Secure agent-to-agent communication with AES-256-GCM
- 🚀 **Simple API**: Easy-to-use Python interface
- ⚡ **Fast**: Low-latency operations (< 100ms for encryption)
- 🛡️ **Secure**: End-to-end encryption with automatic key management
## Use Cases
### Encrypted Agent Communication
```python
from zeroproof import ZeroProof
client = ZeroProof(api_key="zkp_...")
# Agent 1 sends encrypted message
result = client.send_encrypted(
to_agent_id="checkout-agent",
message={
"action": "process_order",
"order_id": "ORD-12345",
"amount": 299.99
},
ttl_minutes=60
)
print(f"Message ID: {result.message_id}")
# Agent 2 receives and decrypts
message = client.receive_encrypted(message_id=result.message_id)
print(f"Order: {message.message['order_id']}")
print(f"Amount: ${message.message['amount']}")
```
### E-Commerce Agent Authorization
```python
from zeroproof import ZeroProof
client = ZeroProof(api_key="zkp_...")
# Before allowing an agent to make a purchase
challenge = client.create_challenge(
agent_id="checkout-agent-v2",
action="initiate_purchase",
context={
"amount": 1499.99,
"merchant": "TechStore",
"items": ["laptop", "mouse", "keyboard"]
}
)
# Agent generates proof
proof = your_agent.generate_proof(challenge)
# Verify before processing payment
result = client.verify_proof(challenge.challenge_id, proof)
if result.verified and result.confidence > 0.95:
process_payment(1499.99)
else:
log_security_incident(result)
```
### Refund Authorization
```python
# Verify agent before approving refund
challenge = client.create_challenge(
agent_id="refund-processor",
action="approve_refund",
context={"order_id": "ORD-12345", "amount": 299.99}
)
result = client.verify_proof(challenge.challenge_id, proof)
if result.verified:
approve_refund(order_id="ORD-12345")
```
### Inventory Management
```python
# Verify agent before updating inventory
challenge = client.create_challenge(
agent_id="inventory-manager",
action="update_stock",
context={"product_id": "PROD-789", "quantity_change": -50}
)
result = client.verify_proof(challenge.challenge_id, proof)
if result.verified:
update_inventory("PROD-789", quantity=-50)
```
## API Reference
### ZeroProof
The main client class for interacting with the API.
#### `__init__(api_key: str, base_url: Optional[str] = None)`
Initialize the ZeroProof client.
**Parameters:**
- `api_key` (str): Your ZeroProof API key (starts with 'zkp_')
- `base_url` (str, optional): Custom API base URL (defaults to production)
**Raises:**
- `ValueError`: If API key is invalid or missing
#### `create_challenge(agent_id: str, action: str, context: Optional[Dict] = None) -> Challenge`
Create a new verification challenge.
**Parameters:**
- `agent_id` (str): Unique identifier for the AI agent
- `action` (str): The action the agent wants to perform
- `context` (dict, optional): Additional context for the action
**Returns:**
- `Challenge`: Object containing challenge_id, nonce, expires_in, timestamp
**Raises:**
- `ZeroProofError`: If the request fails
#### `verify_proof(challenge_id: str, proof: str, agent_signature: Optional[str] = None) -> VerificationResult`
Verify a proof for a given challenge.
**Parameters:**
- `challenge_id` (str): The challenge ID from create_challenge()
- `proof` (str): The cryptographic proof data
- `agent_signature` (str, optional): Optional agent signature
**Returns:**
- `VerificationResult`: Object containing verification details
**Raises:**
- `ZeroProofError`: If verification fails
#### `get_status(session_id: str) -> Dict`
Get the status of a verification session.
**Parameters:**
- `session_id` (str): The session/challenge ID to check
**Returns:**
- `dict`: Session status details
**Raises:**
- `ZeroProofError`: If the request fails
### Encrypted Messaging
#### `send_encrypted(to_agent_id: str, message: Any, ttl_minutes: int = 60) -> EncryptedMessage`
Send an encrypted message to another agent.
**Parameters:**
- `to_agent_id` (str): Target agent identifier
- `message` (Any): Message content (string, dict, or JSON-serializable data)
- `ttl_minutes` (int, optional): Time-to-live in minutes (default: 60, max: 1440)
**Returns:**
- `EncryptedMessage`: Object containing message_id, expires_at, status, ttl_minutes
**Example:**
```python
result = client.send_encrypted(
to_agent_id="agent_456",
message="Hello, secure world!",
ttl_minutes=30
)
```
#### `receive_encrypted(message_id: str) -> DecryptedMessage`
Receive and decrypt an encrypted message.
**Parameters:**
- `message_id` (str): The message ID from send_encrypted()
**Returns:**
- `DecryptedMessage`: Object with decrypted message and metadata
**Raises:**
- `ZeroProofError`: If message not found, expired, or decryption fails
**Example:**
```python
message = client.receive_encrypted(message_id="msg_abc123...")
print(f"Content: {message.message}")
print(f"Read count: {message.read_count}")
```
### Data Classes
#### Challenge
Represents a verification challenge.
**Attributes:**
- `challenge_id` (str): Unique challenge identifier
- `nonce` (str): Random nonce for this challenge
- `expires_in` (int): Time until expiration in seconds
- `timestamp` (int): Challenge creation timestamp
#### VerificationResult
Represents the result of proof verification.
**Attributes:**
- `verified` (bool): Whether the proof was verified
- `agent_id` (str): The agent that was verified
- `action` (str): The action that was authorized
- `confidence` (float): Confidence score (0.0 to 1.0)
- `timestamp` (str): Verification timestamp
- `session_id` (str): Session identifier
#### EncryptedMessage
Represents an encrypted message response.
**Attributes:**
- `message_id` (str): Unique message identifier
- `expires_at` (str): Expiration timestamp (ISO 8601)
- `status` (str): Message status ("ready")
- `ttl_minutes` (int): Time-to-live in minutes
#### DecryptedMessage
Represents a decrypted message.
**Attributes:**
- `message_id` (str): Message identifier
- `from_agent_id` (str): Sender's API key (partial)
- `to_agent_id` (str): Recipient identifier
- `message` (Any): Decrypted message content
- `read_count` (int): Number of times message was read
- `created_at` (str): Creation timestamp
- `expires_at` (str): Expiration timestamp
### Exceptions
#### ZeroProofError
Base exception for SDK errors.
**Attributes:**
- `message` (str): Error message
- `status_code` (int, optional): HTTP status code
- `response` (dict, optional): Full API response
## Context Manager Support
The SDK supports context managers for automatic resource cleanup:
```python
with ZeroProof(api_key="zkp_...") as client:
challenge = client.create_challenge("agent-1", "purchase")
result = client.verify_proof(challenge.challenge_id, proof)
# Session is automatically closed
```
## Error Handling
```python
from zeroproof import ZeroProof, ZeroProofError
client = ZeroProof(api_key="zkp_...")
try:
challenge = client.create_challenge("agent", "action")
result = client.verify_proof(challenge.challenge_id, "invalid_proof")
except ZeroProofError as e:
print(f"Error: {e.message}")
print(f"Status Code: {e.status_code}")
print(f"Response: {e.response}")
```
### Handling Message Expiration
```python
try:
message = client.receive_encrypted(message_id="msg_...")
except ZeroProofError as e:
if e.status_code == 410:
print("Message expired")
elif e.status_code == 404:
print("Message not found")
else:
print(f"Error: {e.message}")
```
## Configuration
### Custom API Endpoint
For testing or self-hosted deployments:
```python
client = ZeroProof(
api_key="zkp_...",
base_url="https://api.custom-domain.com/v1"
)
```
### Environment Variables
You can set your API key via environment variable:
```python
import os
from zeroproof import ZeroProof
api_key = os.getenv("ZEROPROOF_API_KEY")
client = ZeroProof(api_key=api_key)
```
## Requirements
- Python 3.8+
- requests >= 2.25.0
## Examples
See the [examples](examples/) directory for complete examples:
- `shopping_agent_demo.py` - ZKP verification demo
- `encrypted_messaging_demo.py` - Encrypted messaging demo with multiple scenarios
Run an example:
```bash
export ZEROPROOF_API_KEY="zkp_your_key_here"
python examples/encrypted_messaging_demo.py
```
## Getting an API Key
1. Sign up at [https://zeroproofai.com](https://zeroproofai.com)
2. Navigate to your dashboard
3. Generate a new API key
4. Copy the key (starts with `zkp_`)
## Development
### Installing for Development
```bash
git clone https://github.com/jacobweiss2305/zeroproof.git
cd zeroproof/python-sdk
pip install -e ".[dev]"
```
### Running Tests
```bash
pytest tests/
```
### Code Formatting
```bash
black zeroproof/
flake8 zeroproof/
mypy zeroproof/
```
## Support
- **Documentation**: [https://docs.zeroproofai.com](https://docs.zeroproofai.com)
- **Issues**: [GitHub Issues](https://github.com/jacobweiss2305/zeroproof/issues)
- **Email**: support@zeroproofai.com
## License
MIT License - see [LICENSE](LICENSE) file for details.
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## Changelog
### 0.2.0 (2025-10-02)
- ✨ Added encrypted messaging service
- 🔒 AES-256-GCM encryption for agent-to-agent communication
- ⏰ TTL-based message expiration with auto-cleanup
- 📖 Multiple reads supported until expiration
- 📝 New example: encrypted_messaging_demo.py
### 0.1.0 (2025-01-10)
- Initial release
- Basic challenge/proof verification flow
- Context manager support
- Comprehensive error handling
- Full type hints
Raw data
{
"_id": null,
"home_page": null,
"name": "zeroproof",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "ZeroProof AI <support@zeroproofai.com>",
"keywords": "agent, ai, ecommerce, security, verification, zero-knowledge-proof, zeroproof, zkp",
"author": null,
"author_email": "ZeroProof AI <support@zeroproofai.com>",
"download_url": "https://files.pythonhosted.org/packages/47/02/451057980bdb14d361ef51f8159614ae819dd106ba0f5c90e33828af8856/zeroproof-0.2.5.tar.gz",
"platform": null,
"description": "# ZeroProof Python SDK\n\n[](https://badge.fury.io/py/zeroproof)\n[](https://www.python.org/downloads/)\n[](https://opensource.org/licenses/MIT)\n\nPython SDK for the ZeroProof AI verification API. Secure your agentic e-commerce ecosystem with zero-knowledge proofs.\n\n## Installation\n\n```bash\npip install zeroproof\n```\n\n## Quick Start\n\n```python\nfrom zeroproof import ZeroProof\n\n# Initialize the client with your API key\nclient = ZeroProof(api_key=\"zkp_your_api_key_here\")\n\n# Create a verification challenge\nchallenge = client.create_challenge(\n agent_id=\"shopping-assistant-v1\",\n action=\"add_to_cart\",\n context={\"item_id\": \"laptop-123\", \"price\": 999.99}\n)\n\nprint(f\"Challenge ID: {challenge.challenge_id}\")\nprint(f\"Nonce: {challenge.nonce}\")\nprint(f\"Expires in: {challenge.expires_in} seconds\")\n\n# Verify the proof (in production, this would be generated by your agent)\nresult = client.verify_proof(\n challenge_id=challenge.challenge_id,\n proof=\"your_cryptographic_proof_here\",\n agent_signature=\"optional_signature_here\"\n)\n\nif result.verified:\n print(f\"\u2705 Verification successful!\")\n print(f\" Agent: {result.agent_id}\")\n print(f\" Action: {result.action}\")\n print(f\" Confidence: {result.confidence * 100}%\")\n # Now execute the actual e-commerce action\nelse:\n print(\"\u274c Verification failed\")\n```\n\n## Features\n\n- \ud83d\udd10 **Zero-Knowledge Proof Verification**: Verify agent authenticity without revealing sensitive data\n- \ud83d\udd12 **Encrypted Messaging**: Secure agent-to-agent communication with AES-256-GCM\n- \ud83d\ude80 **Simple API**: Easy-to-use Python interface\n- \u26a1 **Fast**: Low-latency operations (< 100ms for encryption)\n- \ud83d\udee1\ufe0f **Secure**: End-to-end encryption with automatic key management\n\n## Use Cases\n\n### Encrypted Agent Communication\n\n```python\nfrom zeroproof import ZeroProof\n\nclient = ZeroProof(api_key=\"zkp_...\")\n\n# Agent 1 sends encrypted message\nresult = client.send_encrypted(\n to_agent_id=\"checkout-agent\",\n message={\n \"action\": \"process_order\",\n \"order_id\": \"ORD-12345\",\n \"amount\": 299.99\n },\n ttl_minutes=60\n)\n\nprint(f\"Message ID: {result.message_id}\")\n\n# Agent 2 receives and decrypts\nmessage = client.receive_encrypted(message_id=result.message_id)\nprint(f\"Order: {message.message['order_id']}\")\nprint(f\"Amount: ${message.message['amount']}\")\n```\n\n### E-Commerce Agent Authorization\n\n```python\nfrom zeroproof import ZeroProof\n\nclient = ZeroProof(api_key=\"zkp_...\")\n\n# Before allowing an agent to make a purchase\nchallenge = client.create_challenge(\n agent_id=\"checkout-agent-v2\",\n action=\"initiate_purchase\",\n context={\n \"amount\": 1499.99,\n \"merchant\": \"TechStore\",\n \"items\": [\"laptop\", \"mouse\", \"keyboard\"]\n }\n)\n\n# Agent generates proof\nproof = your_agent.generate_proof(challenge)\n\n# Verify before processing payment\nresult = client.verify_proof(challenge.challenge_id, proof)\n\nif result.verified and result.confidence > 0.95:\n process_payment(1499.99)\nelse:\n log_security_incident(result)\n```\n\n### Refund Authorization\n\n```python\n# Verify agent before approving refund\nchallenge = client.create_challenge(\n agent_id=\"refund-processor\",\n action=\"approve_refund\",\n context={\"order_id\": \"ORD-12345\", \"amount\": 299.99}\n)\n\nresult = client.verify_proof(challenge.challenge_id, proof)\n\nif result.verified:\n approve_refund(order_id=\"ORD-12345\")\n```\n\n### Inventory Management\n\n```python\n# Verify agent before updating inventory\nchallenge = client.create_challenge(\n agent_id=\"inventory-manager\",\n action=\"update_stock\",\n context={\"product_id\": \"PROD-789\", \"quantity_change\": -50}\n)\n\nresult = client.verify_proof(challenge.challenge_id, proof)\n\nif result.verified:\n update_inventory(\"PROD-789\", quantity=-50)\n```\n\n## API Reference\n\n### ZeroProof\n\nThe main client class for interacting with the API.\n\n#### `__init__(api_key: str, base_url: Optional[str] = None)`\n\nInitialize the ZeroProof client.\n\n**Parameters:**\n- `api_key` (str): Your ZeroProof API key (starts with 'zkp_')\n- `base_url` (str, optional): Custom API base URL (defaults to production)\n\n**Raises:**\n- `ValueError`: If API key is invalid or missing\n\n#### `create_challenge(agent_id: str, action: str, context: Optional[Dict] = None) -> Challenge`\n\nCreate a new verification challenge.\n\n**Parameters:**\n- `agent_id` (str): Unique identifier for the AI agent\n- `action` (str): The action the agent wants to perform\n- `context` (dict, optional): Additional context for the action\n\n**Returns:**\n- `Challenge`: Object containing challenge_id, nonce, expires_in, timestamp\n\n**Raises:**\n- `ZeroProofError`: If the request fails\n\n#### `verify_proof(challenge_id: str, proof: str, agent_signature: Optional[str] = None) -> VerificationResult`\n\nVerify a proof for a given challenge.\n\n**Parameters:**\n- `challenge_id` (str): The challenge ID from create_challenge()\n- `proof` (str): The cryptographic proof data\n- `agent_signature` (str, optional): Optional agent signature\n\n**Returns:**\n- `VerificationResult`: Object containing verification details\n\n**Raises:**\n- `ZeroProofError`: If verification fails\n\n#### `get_status(session_id: str) -> Dict`\n\nGet the status of a verification session.\n\n**Parameters:**\n- `session_id` (str): The session/challenge ID to check\n\n**Returns:**\n- `dict`: Session status details\n\n**Raises:**\n- `ZeroProofError`: If the request fails\n\n### Encrypted Messaging\n\n#### `send_encrypted(to_agent_id: str, message: Any, ttl_minutes: int = 60) -> EncryptedMessage`\n\nSend an encrypted message to another agent.\n\n**Parameters:**\n- `to_agent_id` (str): Target agent identifier\n- `message` (Any): Message content (string, dict, or JSON-serializable data)\n- `ttl_minutes` (int, optional): Time-to-live in minutes (default: 60, max: 1440)\n\n**Returns:**\n- `EncryptedMessage`: Object containing message_id, expires_at, status, ttl_minutes\n\n**Example:**\n```python\nresult = client.send_encrypted(\n to_agent_id=\"agent_456\",\n message=\"Hello, secure world!\",\n ttl_minutes=30\n)\n```\n\n#### `receive_encrypted(message_id: str) -> DecryptedMessage`\n\nReceive and decrypt an encrypted message.\n\n**Parameters:**\n- `message_id` (str): The message ID from send_encrypted()\n\n**Returns:**\n- `DecryptedMessage`: Object with decrypted message and metadata\n\n**Raises:**\n- `ZeroProofError`: If message not found, expired, or decryption fails\n\n**Example:**\n```python\nmessage = client.receive_encrypted(message_id=\"msg_abc123...\")\nprint(f\"Content: {message.message}\")\nprint(f\"Read count: {message.read_count}\")\n```\n\n### Data Classes\n\n#### Challenge\n\nRepresents a verification challenge.\n\n**Attributes:**\n- `challenge_id` (str): Unique challenge identifier\n- `nonce` (str): Random nonce for this challenge\n- `expires_in` (int): Time until expiration in seconds\n- `timestamp` (int): Challenge creation timestamp\n\n#### VerificationResult\n\nRepresents the result of proof verification.\n\n**Attributes:**\n- `verified` (bool): Whether the proof was verified\n- `agent_id` (str): The agent that was verified\n- `action` (str): The action that was authorized\n- `confidence` (float): Confidence score (0.0 to 1.0)\n- `timestamp` (str): Verification timestamp\n- `session_id` (str): Session identifier\n\n#### EncryptedMessage\n\nRepresents an encrypted message response.\n\n**Attributes:**\n- `message_id` (str): Unique message identifier\n- `expires_at` (str): Expiration timestamp (ISO 8601)\n- `status` (str): Message status (\"ready\")\n- `ttl_minutes` (int): Time-to-live in minutes\n\n#### DecryptedMessage\n\nRepresents a decrypted message.\n\n**Attributes:**\n- `message_id` (str): Message identifier\n- `from_agent_id` (str): Sender's API key (partial)\n- `to_agent_id` (str): Recipient identifier\n- `message` (Any): Decrypted message content\n- `read_count` (int): Number of times message was read\n- `created_at` (str): Creation timestamp\n- `expires_at` (str): Expiration timestamp\n\n### Exceptions\n\n#### ZeroProofError\n\nBase exception for SDK errors.\n\n**Attributes:**\n- `message` (str): Error message\n- `status_code` (int, optional): HTTP status code\n- `response` (dict, optional): Full API response\n\n## Context Manager Support\n\nThe SDK supports context managers for automatic resource cleanup:\n\n```python\nwith ZeroProof(api_key=\"zkp_...\") as client:\n challenge = client.create_challenge(\"agent-1\", \"purchase\")\n result = client.verify_proof(challenge.challenge_id, proof)\n# Session is automatically closed\n```\n\n## Error Handling\n\n```python\nfrom zeroproof import ZeroProof, ZeroProofError\n\nclient = ZeroProof(api_key=\"zkp_...\")\n\ntry:\n challenge = client.create_challenge(\"agent\", \"action\")\n result = client.verify_proof(challenge.challenge_id, \"invalid_proof\")\nexcept ZeroProofError as e:\n print(f\"Error: {e.message}\")\n print(f\"Status Code: {e.status_code}\")\n print(f\"Response: {e.response}\")\n```\n\n### Handling Message Expiration\n\n```python\ntry:\n message = client.receive_encrypted(message_id=\"msg_...\")\nexcept ZeroProofError as e:\n if e.status_code == 410:\n print(\"Message expired\")\n elif e.status_code == 404:\n print(\"Message not found\")\n else:\n print(f\"Error: {e.message}\")\n```\n\n## Configuration\n\n### Custom API Endpoint\n\nFor testing or self-hosted deployments:\n\n```python\nclient = ZeroProof(\n api_key=\"zkp_...\",\n base_url=\"https://api.custom-domain.com/v1\"\n)\n```\n\n### Environment Variables\n\nYou can set your API key via environment variable:\n\n```python\nimport os\nfrom zeroproof import ZeroProof\n\napi_key = os.getenv(\"ZEROPROOF_API_KEY\")\nclient = ZeroProof(api_key=api_key)\n```\n\n## Requirements\n\n- Python 3.8+\n- requests >= 2.25.0\n\n## Examples\n\nSee the [examples](examples/) directory for complete examples:\n\n- `shopping_agent_demo.py` - ZKP verification demo\n- `encrypted_messaging_demo.py` - Encrypted messaging demo with multiple scenarios\n\nRun an example:\n\n```bash\nexport ZEROPROOF_API_KEY=\"zkp_your_key_here\"\npython examples/encrypted_messaging_demo.py\n```\n\n## Getting an API Key\n\n1. Sign up at [https://zeroproofai.com](https://zeroproofai.com)\n2. Navigate to your dashboard\n3. Generate a new API key\n4. Copy the key (starts with `zkp_`)\n\n## Development\n\n### Installing for Development\n\n```bash\ngit clone https://github.com/jacobweiss2305/zeroproof.git\ncd zeroproof/python-sdk\npip install -e \".[dev]\"\n```\n\n### Running Tests\n\n```bash\npytest tests/\n```\n\n### Code Formatting\n\n```bash\nblack zeroproof/\nflake8 zeroproof/\nmypy zeroproof/\n```\n\n## Support\n\n- **Documentation**: [https://docs.zeroproofai.com](https://docs.zeroproofai.com)\n- **Issues**: [GitHub Issues](https://github.com/jacobweiss2305/zeroproof/issues)\n- **Email**: support@zeroproofai.com\n\n## License\n\nMIT License - see [LICENSE](LICENSE) file for details.\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## Changelog\n\n### 0.2.0 (2025-10-02)\n\n- \u2728 Added encrypted messaging service\n- \ud83d\udd12 AES-256-GCM encryption for agent-to-agent communication\n- \u23f0 TTL-based message expiration with auto-cleanup\n- \ud83d\udcd6 Multiple reads supported until expiration\n- \ud83d\udcdd New example: encrypted_messaging_demo.py\n\n### 0.1.0 (2025-01-10)\n\n- Initial release\n- Basic challenge/proof verification flow\n- Context manager support\n- Comprehensive error handling\n- Full type hints\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Python SDK for ZeroProof AI verification API - Secure your agentic e-commerce ecosystem",
"version": "0.2.5",
"project_urls": {
"Bug Tracker": "https://github.com/jacobweiss2305/zeroproof/issues",
"Documentation": "https://docs.zeroproofai.com",
"Homepage": "https://github.com/jacobweiss2305/zeroproof",
"Repository": "https://github.com/jacobweiss2305/zeroproof"
},
"split_keywords": [
"agent",
" ai",
" ecommerce",
" security",
" verification",
" zero-knowledge-proof",
" zeroproof",
" zkp"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "bc30e26804df83f0af99fb2f9cfb09ec67e56b77b7c7762215565b7584cb6259",
"md5": "cd0dc901c94c8edb1ea5ef0732f4c62b",
"sha256": "7cbc97b0b7c783f9794d1129686677d172d3bb71cb949b84bc78de59a28006c0"
},
"downloads": -1,
"filename": "zeroproof-0.2.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "cd0dc901c94c8edb1ea5ef0732f4c62b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 10798,
"upload_time": "2025-10-06T03:09:52",
"upload_time_iso_8601": "2025-10-06T03:09:52.317590Z",
"url": "https://files.pythonhosted.org/packages/bc/30/e26804df83f0af99fb2f9cfb09ec67e56b77b7c7762215565b7584cb6259/zeroproof-0.2.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "4702451057980bdb14d361ef51f8159614ae819dd106ba0f5c90e33828af8856",
"md5": "420b364a1b9a3863790b9097618584d2",
"sha256": "a7f93dcaef3179dcf764826f02573832ae97247ec2a91944743f36b99db9d72a"
},
"downloads": -1,
"filename": "zeroproof-0.2.5.tar.gz",
"has_sig": false,
"md5_digest": "420b364a1b9a3863790b9097618584d2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 17107,
"upload_time": "2025-10-06T03:09:53",
"upload_time_iso_8601": "2025-10-06T03:09:53.446427Z",
"url": "https://files.pythonhosted.org/packages/47/02/451057980bdb14d361ef51f8159614ae819dd106ba0f5c90e33828af8856/zeroproof-0.2.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-06 03:09:53",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "jacobweiss2305",
"github_project": "zeroproof",
"github_not_found": true,
"lcname": "zeroproof"
}