Packages
livebook
0.16.2
0.19.8
0.19.7
0.19.6
0.19.5
0.19.4
0.19.3
0.19.2
0.19.1
0.19.0
0.18.6
0.18.5
0.18.4
0.18.3
0.18.2
0.18.1
0.18.0
0.17.3
0.17.2
0.17.1
0.17.0
0.16.4
0.16.3
0.16.2
0.16.1
0.16.0
0.15.5
0.15.4
0.15.3
0.15.2
0.15.1
0.15.0
0.14.7
0.14.6
0.14.5
0.14.4
0.14.3
0.14.2
0.14.1
0.14.0
0.14.0-rc.1
0.14.0-rc.0
0.13.3
0.13.2
0.13.1
0.13.0
0.12.1
0.12.0
0.11.4
0.11.3
0.11.2
0.11.1
0.11.0
0.10.0
0.9.3
0.9.2
0.9.1
0.9.0
0.8.2
0.8.1
0.8.0
0.7.2
0.7.1
0.7.0
0.6.3
0.6.2
0.6.1
0.6.0
0.5.2
0.5.1
0.5.0
0.4.1
0.4.0
0.3.2
0.3.1
0.3.0
0.2.3
0.2.2
0.2.1
0.2.0
0.1.2
0.1.1
0.1.0
Automate code & data workflows with interactive notebooks
Current section
Files
Jump to
Current section
Files
lib/livebook/apps/app_spec.ex
defprotocol Livebook.Apps.AppSpec do
# This protocol defines an interface for an app blueprint.
#
# An app spec is used to encapsulate information about how to load
# the source for an app. The spec is used by `Livebook.Apps.Manager`
# to deploy permanent apps across the cluster.
#
# Every struct implementing this protocol is also expected to have
# the `:slug` and `:version` (string) attributes.
@doc """
Loads the app notebook and other metadata relevant for deployment.
This function may load the notebook from an external source, so the
caller should avoid calling it multiple times.
The function receives a directory that the notebook files should be
copied into. It is the responsibility of the caller to remove this
directory, regardless of whether loading succeeds or fails.
"""
@spec load(t(), String.t()) ::
{:ok, %{notebook: Livebook.Notebook.t(), warnings: list(String.t())}}
| {:error, String.t()}
def load(app_spec, files_tmp_path)
@doc """
Returns whether warmup procedure should run, before deploying the
app.
You may want to skip warmup, if the app has already been warmed up
beforehand.
"""
@spec should_warmup?(t()) :: boolean()
def should_warmup?(app_spec)
end