Metadata-Version: 2.4
Name: webhookguard
Version: 1.0.0
Summary: A secure webhook signature library for Python.
Project-URL: Homepage, https://github.com/killcod3/webhookguard-python
Project-URL: Bug Tracker, https://github.com/killcod3/webhookguard-python/issues
Author-email: Jawad Shafique <shafiquejr@gmail.com>
License-File: LICENSE
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.7
Requires-Dist: cryptography>=3.4
Description-Content-Type: text/markdown

# WebhookGuard for Python

[![PyPI version](https://badge.fury.io/py/webhookguard.svg)](https://badge.fury.io/py/webhookguard)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

A secure, modern webhook signature library for Python. `WebhookGuard` uses asymmetric cryptography (RSA-SHA256 with PSS padding) and replay attack prevention to ensure your webhook endpoints are robust and secure.

The core principle is to sign webhooks with a **private key** and verify them with a **public key**, eliminating the need to share secrets.

---

### Features

-   **Asymmetric Signatures:** Secure RSA key pair authentication.
-   **Modern Cryptography:** Implements the recommended RSA-PSS padding scheme.
-   **Replay Attack Prevention:** Built-in support for timestamp and nonce checking.
-   **Developer-Friendly:** Raises detailed, specific exceptions for easy debugging.

---

### Getting Started

1.  **Installation**
    ```bash
    pip install webhookguard
    ```

2.  **Key Generation**
    ```bash
    # Generate a 2048-bit private key
    openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048

    # Extract the public key from the private key
    openssl rsa -pubout -in private_key.pem -out public_key.pem
    ```

### Documentation

For detailed usage examples, API reference, and security best practices, please see our full documentation.

➡️ **[View the Full Documentation](./DOCUMENTATION.md)**

### Contributing

Contributions are welcome! Please feel free to open an issue or submit a pull request.

### Author

-   **[Jawad Shafique](https://github.com/killcod3)**

### License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
