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
File details
Details for the file fastapi-socketio-0.0.10.tar.gz
.
File metadata
- Download URL: fastapi-socketio-0.0.10.tar.gz
- Upload date:
- Size: 7.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 202f9b319f010001cbd1114ec92a0d9eb5f5ca9316eae5fd41a6088da0812727 |
|
MD5 | f627a90d4aeaf1c381da9b751b9c47f7 |
|
BLAKE2b-256 | e114dde9633af2168f1929447c7d8a8947e9371dfca37d58c72d8c1ad686db75 |
File details
Details for the file fastapi_socketio-0.0.10-py3-none-any.whl
.
File metadata
- Download URL: fastapi_socketio-0.0.10-py3-none-any.whl
- Upload date:
- Size: 7.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 11c2bfa3f25d786bd860ed13c892472e86bfeba85e7a0bec4f922ae5e4d8650f |
|
MD5 | 79e81bfc4d8c741a2eeb234bcc9f3086 |
|
BLAKE2b-256 | b54950fe1f72b10c1902fc057e5810f51bffc94c5cab416cf9f16358e71b021a |