zetta-backend-toolkit


Namezetta-backend-toolkit JSON
Version 0.1.4 PyPI version JSON
download
home_pagehttps://github.com/gonzageraci/Zetta-Backend-Toolkit
SummaryUn toolkit Backend para FastAPI
upload_time2024-08-29 19:13:12
maintainerNone
docs_urlNone
authorGonzalo Geraci
requires_python>=3.10
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # FastAPI Toolkit 

FastAPI Toolkit is a set of tools to enhance the development of applications with FastAPI. It includes middleware for logging, request rate limiting, and more.

## Installation

You can install the package using pip:

  

```bash

pip  install  zetta-backend-toolkit

```

### Logger Middleware

To use the logging middleware, simply add it to your FastAPI application:

  

```python
from fastapi import FastAPI
from zetta-backend-toolkit.logger_middleware import LoggerMiddleware

app = FastAPI()

app.add_middleware(LoggerMiddleware)

@app.get("/")
async def read_root():
	return {"message": "Hello World"}

```

  

### Rate Limiting Middleware

To limit the number of requests per IP:

  

```python
from fastapi import FastAPI
from zetta-backend-toolkit.rate_limit_middleware import RateLimitMiddleware

app = FastAPI()

app.add_middleware(RateLimitMiddleware, max_requests=5, period=60)

@app.get("/")
async def read_root():
	return {"message": "Hello World"}

```
### Translation  Middleware

To translate requests and responses using googletrans: 
```python
from fastapi import FastAPI, Request
from zetta-backend-toolkit.translation_middleware import TranslationMiddleware

app = FastAPI()

app.add_middleware(TranslationMiddleware, target_language="en")

@app.post("/translate")
async def translate_text(request: Request):
    body = await request.body()
    return {"translated_text": body.decode("utf-8")}
```

Project Information

Name: fastapi-toolkit

Version: 0.1.0

Author: Gonzalo Geraci

Author's Email: gonza.geraci@gmail.com

Description: A Backend toolkit for FastAPI

Project URL: https://github.com/gonzageraci/FastAPI-toolkit

Requires Python: >=3.10

Dependencies:

- fastapi
  

### Contribute

Contributions are welcome. Please open an issue or a pull request on the GitHub repository.

  

### License

This project is licensed under the MIT License. See the LICENSE file for more details.

  

Contact

Author: Gonzalo Geraci

Email: gonza.geraci@gmail.com

GitHub: https://www.github.com/gonzageraci

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/gonzageraci/Zetta-Backend-Toolkit",
    "name": "zetta-backend-toolkit",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": null,
    "author": "Gonzalo Geraci",
    "author_email": "gonza.geraci@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/55/09/0ef322f4282fce11534b7d63d3c51b1a0e6741f0b4d876edbb01eb82382d/zetta-backend-toolkit-0.1.4.tar.gz",
    "platform": null,
    "description": "# FastAPI Toolkit \r\n\r\nFastAPI Toolkit is a set of tools to enhance the development of applications with FastAPI. It includes middleware for logging, request rate limiting, and more.\r\n\r\n## Installation\r\n\r\nYou can install the package using pip:\r\n\r\n  \r\n\r\n```bash\r\n\r\npip  install  zetta-backend-toolkit\r\n\r\n```\r\n\r\n### Logger Middleware\r\n\r\nTo use the logging middleware, simply add it to your FastAPI application:\r\n\r\n  \r\n\r\n```python\r\nfrom fastapi import FastAPI\r\nfrom zetta-backend-toolkit.logger_middleware import LoggerMiddleware\r\n\r\napp = FastAPI()\r\n\r\napp.add_middleware(LoggerMiddleware)\r\n\r\n@app.get(\"/\")\r\nasync def read_root():\r\n\treturn {\"message\": \"Hello World\"}\r\n\r\n```\r\n\r\n  \r\n\r\n### Rate Limiting Middleware\r\n\r\nTo limit the number of requests per IP:\r\n\r\n  \r\n\r\n```python\r\nfrom fastapi import FastAPI\r\nfrom zetta-backend-toolkit.rate_limit_middleware import RateLimitMiddleware\r\n\r\napp = FastAPI()\r\n\r\napp.add_middleware(RateLimitMiddleware, max_requests=5, period=60)\r\n\r\n@app.get(\"/\")\r\nasync def read_root():\r\n\treturn {\"message\": \"Hello World\"}\r\n\r\n```\r\n### Translation  Middleware\r\n\r\nTo translate requests and responses using googletrans: \r\n```python\r\nfrom fastapi import FastAPI, Request\r\nfrom zetta-backend-toolkit.translation_middleware import TranslationMiddleware\r\n\r\napp = FastAPI()\r\n\r\napp.add_middleware(TranslationMiddleware, target_language=\"en\")\r\n\r\n@app.post(\"/translate\")\r\nasync def translate_text(request: Request):\r\n    body = await request.body()\r\n    return {\"translated_text\": body.decode(\"utf-8\")}\r\n```\r\n\r\nProject Information\r\n\r\nName: fastapi-toolkit\r\n\r\nVersion: 0.1.0\r\n\r\nAuthor: Gonzalo Geraci\r\n\r\nAuthor's Email: gonza.geraci@gmail.com\r\n\r\nDescription: A Backend toolkit for FastAPI\r\n\r\nProject URL: https://github.com/gonzageraci/FastAPI-toolkit\r\n\r\nRequires Python: >=3.10\r\n\r\nDependencies:\r\n\r\n- fastapi\r\n  \r\n\r\n### Contribute\r\n\r\nContributions are welcome. Please open an issue or a pull request on the GitHub repository.\r\n\r\n  \r\n\r\n### License\r\n\r\nThis project is licensed under the MIT License. See the LICENSE file for more details.\r\n\r\n  \r\n\r\nContact\r\n\r\nAuthor: Gonzalo Geraci\r\n\r\nEmail: gonza.geraci@gmail.com\r\n\r\nGitHub: https://www.github.com/gonzageraci\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Un toolkit Backend para FastAPI",
    "version": "0.1.4",
    "project_urls": {
        "Homepage": "https://github.com/gonzageraci/Zetta-Backend-Toolkit"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b4c4c7456b533f7b0171955806af5e4b1585800c9de32453cd80bc013a5f7e9f",
                "md5": "8f1bcf0ceaa18d0eea957043e9bba528",
                "sha256": "d2538696ac070299dabcb95fa64c7cf9dee3e1513c2376ddb43c35179004c482"
            },
            "downloads": -1,
            "filename": "zetta_backend_toolkit-0.1.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8f1bcf0ceaa18d0eea957043e9bba528",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 7639,
            "upload_time": "2024-08-29T19:13:10",
            "upload_time_iso_8601": "2024-08-29T19:13:10.888362Z",
            "url": "https://files.pythonhosted.org/packages/b4/c4/c7456b533f7b0171955806af5e4b1585800c9de32453cd80bc013a5f7e9f/zetta_backend_toolkit-0.1.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "55090ef322f4282fce11534b7d63d3c51b1a0e6741f0b4d876edbb01eb82382d",
                "md5": "8a0e5c8a665ab0fb75f6937709259a1d",
                "sha256": "1ec269bf445486c76b2f1955f14e0e2842414fb81002ece757220e876cb0ad9b"
            },
            "downloads": -1,
            "filename": "zetta-backend-toolkit-0.1.4.tar.gz",
            "has_sig": false,
            "md5_digest": "8a0e5c8a665ab0fb75f6937709259a1d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 6220,
            "upload_time": "2024-08-29T19:13:12",
            "upload_time_iso_8601": "2024-08-29T19:13:12.607277Z",
            "url": "https://files.pythonhosted.org/packages/55/09/0ef322f4282fce11534b7d63d3c51b1a0e6741f0b4d876edbb01eb82382d/zetta-backend-toolkit-0.1.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-08-29 19:13:12",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "gonzageraci",
    "github_project": "Zetta-Backend-Toolkit",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [],
    "lcname": "zetta-backend-toolkit"
}
        
Elapsed time: 0.41630s