Skip to content

App Model

This is Miniappi's Python package for communicating with Miniappi server.

Bases: Streamer[AppSession]

Miniappi application

This class is the entrypoint to create apps and it handles the communication with Miniappi server.

Parameters:

Name Type Description Default
user_context Context

Optional extra user scoped context to keep track on user level data. This is automatically scoped and can be set globally.

None
app_context Context

Optional app scoped context to keep track on app level data. This is automatically scoped and can be set globally.

None

Examples:

from miniappi import App

app = App()

@app.on_open()
async def new_user(session):
    print("New user joined")
    ...

app.run()

on_start()

Callback for the app starting.

Examples

@app.on_start()
async def app_start():
    ...

on_open(pass_session=False)

Callback for user opening an app session (user connected to the app)

Examples

@app.on_open()
async def new_user(session):
    ...

on_message()

Callback for user sending a message (data).

Examples

@app.on_message()
async def new_message(msg):
    ...

on_close()

Callback for user closing the app session (user left the app).

Examples

@app.on_close()
async def user_left(exc_type, exc, tb):
    ...

on_end()

Callback for app shutting down.

Examples

@app.on_end()
async def app_shutdown(exc_type, exc, tb):
    ...

temp()

Temporarily set callbacks to the app

This is useful for syncing other sessions

Examples

async with app.temp() as temp:

    @temp.on_open()
    async def new_users(session):
        ...

    # Callback "new_users" will called
    # now for all new user sessions
    ...

# Callback "new_users" won't be called
# anymore
...