Metadata-Version: 2.1
Name: fastapi-signals
Version: 0.1.0
Summary: Signalling for FastAPI.
Home-page: https://github.com/henshalb/fastapi-signals.git
Author: Henshal B
Author-email: henshalb@gmail.com
License: MIT
Download-URL: https://github.com/henshalb/fastapi-signals/archive/refs/tags/0.0.1.tar.gz
Description: # fastapi-signals
        Signalling for FastAPI.
        
        # Usage - SignalMiddleware
        NB: Only one signal per function, must take request object
        ### Add middleware
        ```
        from fastapi_signals import SignalMiddleware, signal
        app = FastAPI()
        app.add_midleware(SignalMiddleware, handler=signal)
        ```
        ### Add handler
        Specify how the fired signal should work.
        ```
        from fastapi_signals import signal
        import asyncio
        
        @signal.register
        async def handler():
            await asyncio.sleep(3)
            print('Heyy, it works!')
        ```
        ### Fire signal in function
        Note that only one signal call is allowed using backgroud task.
        ```
        from fastapi_signals import initiate_signal
        @app.get("/")
        async def endpoint(request):
            await initiate_signal('handler',some_data="value")
            return {"status":"Success"}
        ```
        # Usage - TaskMiddleware
        Any number of tasks, no request object needed.
        ### Add middleware
        ```
        from fastapi_signals import TaskMiddleware
        app = FastAPI()
        app.add_midleware(TaskMiddleware)
        ```
        ### Write handler
        Specify how the fired task should work.
        ```
        async def handler():
            await asyncio.sleep(3)
            print('Heyy, it works!')
        ```
        ### Fire task in function
        ```
        from fastapi_signals import initiate_task
        @app.get("/")
        async def endpoint():
            await initiate_task(handler,some_data="value")
            return {"status":"Success"}
        ```
Keywords: fastapi,signals,fastapi-signals,background task
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Build Tools
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Description-Content-Type: text/markdown
