Skip to main content

Easily integrate socket.io with your FastAPI app.

Project description

fastapi-socketio

PyPI Changelog License

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fastapi-socketio-0.0.10.tar.gz (7.2 kB view details)

Uploaded Source

Built Distribution

fastapi_socketio-0.0.10-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

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

Hashes for fastapi-socketio-0.0.10.tar.gz
Algorithm Hash digest
SHA256 202f9b319f010001cbd1114ec92a0d9eb5f5ca9316eae5fd41a6088da0812727
MD5 f627a90d4aeaf1c381da9b751b9c47f7
BLAKE2b-256 e114dde9633af2168f1929447c7d8a8947e9371dfca37d58c72d8c1ad686db75

See more details on using hashes here.

File details

Details for the file fastapi_socketio-0.0.10-py3-none-any.whl.

File metadata

File hashes

Hashes for fastapi_socketio-0.0.10-py3-none-any.whl
Algorithm Hash digest
SHA256 11c2bfa3f25d786bd860ed13c892472e86bfeba85e7a0bec4f922ae5e4d8650f
MD5 79e81bfc4d8c741a2eeb234bcc9f3086
BLAKE2b-256 b54950fe1f72b10c1902fc057e5810f51bffc94c5cab416cf9f16358e71b021a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page