Easily integrate socket.io with your FastAPI app.
Project description
fastapi-socketio
Easly integrate socket.io with your FastAPI app.
Installation
Install this plugin using pip
:
$ pip install fastapi-socketio
Usage
To add SocketIO support to FastAPI all you need to do is import SocketManager
and pass it FastAPI
object.
# app.py
from fastapi import FastAPI
from fastapi_socketio import SocketManager
app = FastAPI()
socket_manager = SocketManager(app=app)
Now you can use SocketIO directly from your FastAPI
app object.
# socket_handlers.py
from .app import app
@app.sio.on('join')
async def handle_join(sid, *args, **kwargs):
await app.sio.emit('lobby', 'User joined')
Or you can import SocketManager
object that exposes most of the SocketIO functionality.
# socket_handlers2.py
from .app import socket_manager as sm
@sm.on('leave')
async def handle_leave(sid, *args, **kwargs):
await sm.emit('lobby', 'User left')
Development
To contribute to this library, first checkout the code. Then create a new virtual environment:
cd fastapi-socketio
python -mvenv venv
source venv/bin/activate
Or if you are using pipenv
:
pipenv shell
Now install the dependencies and tests:
pip install -e '.[test]'
To run the tests:
pytest
Run example
To run the examples simply run:
PYTHONPATH=. python examples/app.py
Before running example make sure you have all dependencies installed.
Contributors
For list of contributors please reefer to CONTRIBUTORS.md file in this repository.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for fastapi_socketio-0.0.10-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 11c2bfa3f25d786bd860ed13c892472e86bfeba85e7a0bec4f922ae5e4d8650f |
|
MD5 | 79e81bfc4d8c741a2eeb234bcc9f3086 |
|
BLAKE2b-256 | b54950fe1f72b10c1902fc057e5810f51bffc94c5cab416cf9f16358e71b021a |