appyter.render.flask_app package

Submodules

appyter.render.flask_app.constants module

Constants that can be cached in thread-local storage

appyter.render.flask_app.constants.get_base_files()[source]

Include all (non-hidden) files in cwd (include requirements.txt, utils, etc..)

appyter.render.flask_app.constants.get_cwd_fs()[source]

Return fsspec compatible chroot to the current directory

appyter.render.flask_app.constants.get_deep_fields()[source]

Parse the nbtemplate fields

appyter.render.flask_app.constants.get_env()[source]
appyter.render.flask_app.constants.get_fields()[source]

Parse the nbtemplate fields

appyter.render.flask_app.constants.get_form()[source]

Render a form for the nbtemplate

appyter.render.flask_app.constants.get_html_exporer()[source]

nbconvert html export

appyter.render.flask_app.constants.get_input_fs()[source]

Return fsspec compatible chroot to the static directory

appyter.render.flask_app.constants.get_ipynb_hash()[source]

A hash for the ipynb

appyter.render.flask_app.constants.get_ipynb_io()[source]

Reuse the BytesIO stream

appyter.render.flask_app.constants.get_j2_env()[source]

Get an initialized bare jinja2 environment (no context)

appyter.render.flask_app.constants.get_nbtemplate()[source]

Parse the ipynb

appyter.render.flask_app.constants.get_nbtemplate_json()[source]

Render the nbtemplate as nbtemplate_json

appyter.render.flask_app.constants.get_output_fs()[source]

Return fsspec compatible chroot to the static directory

appyter.render.flask_app.constants.get_static_fs()[source]

Return fsspec compatible chroot to the static directory

appyter.render.flask_app.core module

appyter.render.flask_app.core.post_index()[source]
appyter.render.flask_app.core.post_ssr()[source]

appyter.render.flask_app.development module

async appyter.render.flask_app.development.app_messager(emitter, config)[source]
async appyter.render.flask_app.development.app_runner(emitter, config)[source]
async appyter.render.flask_app.development.file_watcher(emitter, evt, path, **kwargs)[source]
async appyter.render.flask_app.development.run_app(config)[source]
appyter.render.flask_app.development.serve(app_path, **kwargs)[source]

appyter.render.flask_app.drs module

A DRS endpoint for accessing storage://input

appyter.render.flask_app.drs.drs_objects(file_id)[source]
appyter.render.flask_app.drs.drs_objects_access(file_id, access_id)[source]
appyter.render.flask_app.drs.drs_objects_fetch(file_id)[source]
appyter.render.flask_app.drs.drs_service_info()[source]

appyter.render.flask_app.execution module

async appyter.render.flask_app.execution.submit(sid, data)[source]

appyter.render.flask_app.export module

Endpoints for exporting results

appyter.render.flask_app.export.export(path)[source]

appyter.render.flask_app.livereload module

appyter.render.flask_app.prepare module

appyter.render.flask_app.prepare.prepare_data(req)[source]

Extract fields from submission

appyter.render.flask_app.prepare.prepare_executor(data, fallback=None)

Figure out the executor to use for this request

appyter.render.flask_app.prepare.prepare_request(req)

Extract internal session variables from request

appyter.render.flask_app.prepare.prepare_results(data)

Compute instance id & ensure results exist in storage

appyter.render.flask_app.prepare.prepare_storage(data)

Figure out the storage fsspec URI to use for this request

appyter.render.flask_app.production module

appyter.render.flask_app.production.serve(app_path, **kwargs)[source]

appyter.render.flask_app.room_manager module

Manage rooms NOTE: rooms state would need to be distributed if the server was distributed.

async appyter.render.flask_app.room_manager.ensure_joined(client_sid)[source]
async appyter.render.flask_app.room_manager.ensure_room(room)[source]
async appyter.render.flask_app.room_manager.enter_room(client_sid, room_id)[source]
async appyter.render.flask_app.room_manager.find_room(room_id)[source]
async appyter.render.flask_app.room_manager.on_join(client_sid, room_data)[source]
async appyter.render.flask_app.room_manager.remove_client_from_room(room_id, client_sid)[source]
appyter.render.flask_app.room_manager.room_lock(room_id)[source]

appyter.render.flask_app.socketio module

appyter.render.flask_app.static module

Represent the areas that can be handled externally in production

appyter.render.flask_app.static.data_files(path)[source]
appyter.render.flask_app.static.favicon()[source]
appyter.render.flask_app.static.get_index()[source]
appyter.render.flask_app.static.static(filename)[source]

appyter.render.flask_app.upload module

appyter.render.flask_app.upload.check(path)[source]
appyter.render.flask_app.upload.organize_file_content(data_fs, tmp_fs, tmp_path, filename=None)[source]
async appyter.render.flask_app.upload.siofu_done(sid, evt)[source]
async appyter.render.flask_app.upload.siofu_progress(sid, evt)[source]
async appyter.render.flask_app.upload.siofu_start(sid, data)[source]
appyter.render.flask_app.upload.upload_from_request(req, fname, multiple=False)[source]

Module contents

appyter.render.flask_app.create_app(**kwargs)[source]

Completely initialize the flask application