semvec/pypi-packages huggingface dataset:
vanillapay 1.0.1
This module offers a streamlined solution for seamlessly integrating the Vanilla Pay payment system into Python applications.
Requires Python: >=3.12
Keywords: vanilla pay,fintech,online_payment


</br>
</br>
<p align="center"> 
    <img height="80" src="https://raw.githubusercontent.com/Rohan29-AN/vanilla_pay_python/master/assets/logo_VP.png">
</p>
<div align="center"> 
    <p>
        Vanilla Pay Python library simplifies the integration of Vanilla Pay International payment functionalities into your Python applications.
        <h4>
            <a href="">Documentation</a>
            <span> | </span>
            <a href="https://github.com/Rohan29-AN/vanilla_pay_python/issues">Report bugs</a>
            <span> | </span>
            <a href="https://github.com/Rohan29-AN/vanilla_pay_python/fork">Contribute</a>
        </h4>
    </p>
	 <p>
        <a href='https://pypi.org/project/vanillapay/'><img src='https://img.shields.io/pypi/v/vanillapay?style=for-the-badge'/></a>
        <a href='https://github.com/rohan29-an/vanilla_pay_python'> 
            <img src="https://img.shields.io/badge/-python-396E9B?style=for-the-badge&logo=python&logoColor=FFFFFF"/>
        </a>
        <a href='#'> 
            <img src='https://img.shields.io/badge/Maintained-Yes-darkgreen?style=for-the-badge'/>
        </a>  
    </p>
</div>

## Getting Started

1.  **Create Your Vanilla Pay Account**: Sign up on [Vanilla Pay International](https://vanilla-pay.net/) to get your credentials (CLIENT_ID, CLIENT_SECRET, KEY_SECRET, VPI_VERSION).
2.  **Set Up Environment Variables**: Add the required variables to a `.env` file. You can find an example in the repository.
3.  **Start Using the Library**: Initialize the VanillaPay object and start integrating payment functionalities into your application.

## Installation

You can consult the link on [here](https://pypi.org/project/vanillapay/) for mode documentation.

```s
pip install vanillapay==1.0.1
```

## Usage 
> Check the demo file <a href="https://github.com/rohan29-an/vanilla_pay_python/blob/master/demo.py">here</a>


## Features
-   **Token Generation**: Generate authentication tokens for transactions.
-   **Payment Initialization**: Initiate payment processes and generate payment links.
-   **Transaction Status Checking**: Retrieve transaction statuses using payment links.
-   **Data Authenticity Validation**: Verify data authenticity using signatures and secrets.


## Contribution and Development

### To-Do List
-   Improve Documentation

### How to Contribute
1.  Fork the repository.
2.  Create a new branch (`git checkout -b feature/improvement`).
3.  Make your changes.
4.  Commit your changes (`git commit -am 'Add new feature'`).
5.  Push to the branch (`git push origin feature/improvement`).
6.  Create a new Pull Request.


## Contributors

![Image des contributeurs GitHub](https://contrib.rocks/image?repo=Rohan29-AN/vanilla_pay_python)
steroid 0.16b0
Steroid
Requires Python: >=3.8,<4.0

# steroid

Steroid is a Python library built on top of FastAPI, designed to provide developers with a framework for building high-performance APIs using a structured architecture inspired by NestJs.

# Installation
```bash
$ pip install steroid
```

# Usage

```python
import pydantic
from fastapi import Header, HTTPException, Request

from steroid import Controller, CreateApp, Get, Middleware, Post, UseMiddlewares


class Salute(pydantic.BaseModel):
    aye: str


class AuthMiddleware(Middleware):
    HOOK = "POST"

    def action(request: Request):
        authToken = request.headers.get("Authorization")
        if authToken is None or not authToken:
            raise HTTPException(status_code=401, detail="Unauthorized")


class PreMiddleware(Middleware):
    HOOK = "PRE"

    def action(request: Request):
        print("hello")


class PostMiddleware(Middleware):
    HOOK = "POST"

    def action(request: Request):
        print("bye")


@Controller("greetings")
class GreetController:
    @Get("greet/{pk}/{gID}")
    def Greet(
        pk: str,
        gID: int,
        authorization: str = Header(alias="Authorization", default=None),
    ):
        return {"hello": {"pk": pk, "gID": gID, "XToken": authorization}}

    @UseMiddlewares(AuthMiddleware)
    @Post("no-greet")
    def NoGreet(salute: Salute):
        return {"noHello": salute}


@Controller("clutch")
class CluthController:
    @UseMiddlewares(PreMiddleware, PostMiddleware)
    @Get("savage")
    def Savage():
        return {"hello": "clutchers, savage, and everything else"}

    @Get("not-a-savage")
    def NotASavage():
        return {"hello": "clutchers, not a savage, and everything else"}


def main():
    app = CreateApp()

    app.addController(GreetController)
    app.addController(CluthController)
    app.start()


if __name__ == "__main__":
    main()
```

# Start server
```bash
$ python example.py
[23/07/2023, 19:19:57] INFO [Controller] GreetController {/greetings}
[23/07/2023, 19:19:57] INFO [Method] Mapped {/greetings/greet/{pk}/{gID}, GET} route
[23/07/2023, 19:19:57] INFO [Method] Mapped {/greetings/no-greet, POST} route
[23/07/2023, 19:19:57] INFO [Controller] CluthController {/clutch}
[23/07/2023, 19:19:58] INFO [Method] Mapped {/clutch/savage, GET} route
[23/07/2023, 19:19:58] INFO [Method] Mapped {/clutch/not-a-savage, GET} route
```