fastapi-middleware


Namefastapi-middleware JSON
Version 0.2.0 PyPI version JSON
download
home_pagehttps://github.com/Kholodnyi/fastapi-middleware
SummaryMiddleware for FastAPI
upload_time2024-09-11 06:49:15
maintainerNone
docs_urlNone
authorYurii Kholodnyi
requires_python>=3.8
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # [FastAPI](https://fastapi.tiangolo.com/) middleware

## Introduction

`fastapi-middleware` is a set of middlewares for [FastAPI](https://fastapi.tiangolo.com/) framework.
## Installation

```shell
pip install fastapi-middleware
```

## Usage

To use middleware, you need to import it and add to your FastAPI app:

```python
from fastapi import FastAPI

...

from fastapi_middleware import (
    GlobalContextMiddleware,
    global_ctx,
    SQLQueriesMiddleware,
)

...

app = FastAPI()

...

# set desired logging level
logging.getLogger("fastapi-middleware").setLevel(logging.DEBUG)

# add desired middleware
app.add_middleware(SQLQueriesMiddleware)
app.add_middleware(GlobalContextMiddleware)


@app.get("/test")
def get_test():
    global_ctx.foo = 'bar'
    return {'ok': True}
```

`GlobalContextMiddleware` gives you a global context object (`global_ctx`) to store data during the lifetime of the request. You can add request-specific data, for example, in other middleware and use it across application.

`SQLQueriesMiddleware` would log insights about SQL queries made with SQLAlchemy like total number of queries, total duration, slowest/fastest queries, etc.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Kholodnyi/fastapi-middleware",
    "name": "fastapi-middleware",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": null,
    "author": "Yurii Kholodnyi",
    "author_email": "yurii.kholodnyi@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/f7/4b/77fbca363e6900256e424915e5167f679e73f51d93b12786d949d618842c/fastapi_middleware-0.2.0.tar.gz",
    "platform": null,
    "description": "# [FastAPI](https://fastapi.tiangolo.com/) middleware\n\n## Introduction\n\n`fastapi-middleware` is a set of middlewares for [FastAPI](https://fastapi.tiangolo.com/) framework.\n## Installation\n\n```shell\npip install fastapi-middleware\n```\n\n## Usage\n\nTo use middleware, you need to import it and add to your FastAPI app:\n\n```python\nfrom fastapi import FastAPI\n\n...\n\nfrom fastapi_middleware import (\n    GlobalContextMiddleware,\n    global_ctx,\n    SQLQueriesMiddleware,\n)\n\n...\n\napp = FastAPI()\n\n...\n\n# set desired logging level\nlogging.getLogger(\"fastapi-middleware\").setLevel(logging.DEBUG)\n\n# add desired middleware\napp.add_middleware(SQLQueriesMiddleware)\napp.add_middleware(GlobalContextMiddleware)\n\n\n@app.get(\"/test\")\ndef get_test():\n    global_ctx.foo = 'bar'\n    return {'ok': True}\n```\n\n`GlobalContextMiddleware` gives you a global context object (`global_ctx`) to store data during the lifetime of the request. You can add request-specific data, for example, in other middleware and use it across application.\n\n`SQLQueriesMiddleware` would log insights about SQL queries made with SQLAlchemy like total number of queries, total duration, slowest/fastest queries, etc.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Middleware for FastAPI",
    "version": "0.2.0",
    "project_urls": {
        "Bug Tracker": "https://github.com/Kholodnyi/fastapi-middleware/issues",
        "Homepage": "https://github.com/Kholodnyi/fastapi-middleware"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0ddd854aeeb9230f4b13845c2dc7f843087149591c79bc30f906216f088cf5b0",
                "md5": "9cea3037c2bea8c36ba95918ea8f32e5",
                "sha256": "dacce9c9ab913da574a07b32b5fc6f67fe9e07c493adc4c054102a8e12d9b843"
            },
            "downloads": -1,
            "filename": "fastapi_middleware-0.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "9cea3037c2bea8c36ba95918ea8f32e5",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 5655,
            "upload_time": "2024-09-11T06:49:13",
            "upload_time_iso_8601": "2024-09-11T06:49:13.932586Z",
            "url": "https://files.pythonhosted.org/packages/0d/dd/854aeeb9230f4b13845c2dc7f843087149591c79bc30f906216f088cf5b0/fastapi_middleware-0.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f74b77fbca363e6900256e424915e5167f679e73f51d93b12786d949d618842c",
                "md5": "c2c017afe0460148230f28a57d47a3ff",
                "sha256": "8f580723f167469c2abf29c432ebfa2df53ecedf701ecf20500c090c77f002d9"
            },
            "downloads": -1,
            "filename": "fastapi_middleware-0.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "c2c017afe0460148230f28a57d47a3ff",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 4265,
            "upload_time": "2024-09-11T06:49:15",
            "upload_time_iso_8601": "2024-09-11T06:49:15.630579Z",
            "url": "https://files.pythonhosted.org/packages/f7/4b/77fbca363e6900256e424915e5167f679e73f51d93b12786d949d618842c/fastapi_middleware-0.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-09-11 06:49:15",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Kholodnyi",
    "github_project": "fastapi-middleware",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "fastapi-middleware"
}
        
Elapsed time: 0.84858s