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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
|