write_docker
write_docker
Functions
Name | Description |
---|---|
prepare_docker | Create all files needed for Docker |
write_docker | Writes a Dockerfile to run VetiverAPI in a container |
prepare_docker
write_docker.prepare_docker(
board,
pin_name,='./',
path=None,
version=False,
rspm_env='0.0.0.0',
host='8080',
port )
Create all files needed for Docker
Parameters
Name | Type | Description | Default |
---|---|---|---|
board | Pin board for model | required | |
pin_name | str | Name of pin | required |
path | str | Path to output | './' |
version | Pin version to be used | None |
|
rspm_env | bool | Whether or not Posit Package Manager should be used | False |
host | str | Host address to run VetiverAPI from Dockerfile | '0.0.0.0' |
port | str | Port to run VetiverAPI from Dockerfile | '8080' |
Examples
>>> import vetiver
>>> import tempfile
>>> import pins
>>> tmp = tempfile.TemporaryDirectory()
>>> board = pins.board_temp(allow_pickle_read=True)
>>> X, y = vetiver.get_mock_data()
>>> model = vetiver.get_mock_model().fit(X, y)
>>> v = vetiver.VetiverModel(model, "my_model", prototype_data = X)
>>> vetiver.vetiver_pin_write(board, v)
>>> vetiver.prepare_docker(board = board, pin_name = "my_model", path = tmp.name)
Notes
This function uses vetiver.get_board_pkgs(board)
for generating requirements. For more complex use cases, call write_docker()
, load_pkgs()
, and write_app()
individually.
write_docker
write_docker.write_docker(='app.py',
app_file='./',
path=False,
rspm_env='0.0.0.0',
host='8080',
port )
Writes a Dockerfile to run VetiverAPI in a container
Parameters
Name | Type | Description | Default |
---|---|---|---|
app_file | str | File containing VetiverAPI to be deployed into container | 'app.py' |
path | str | Path to save Dockerfile | './' |
rspm_env | bool | Whether or not Posit Package Manager should be used | False |
host | str | Host address to run VetiverAPI from Dockerfile | '0.0.0.0' |
port | str | Port to run VetiverAPI from Dockerfile | '8080' |
Examples
>>> import vetiver
>>> import tempfile
>>> import pins
>>> tmp = tempfile.TemporaryDirectory()
>>> board = pins.board_temp(allow_pickle_read=True)
>>> X, y = vetiver.get_mock_data()
>>> model = vetiver.get_mock_model().fit(X, y)
>>> v = vetiver.VetiverModel(model, "my_model", prototype_data = X)
>>> vetiver.vetiver_pin_write(board, v)
>>> vetiver.write_app(board,
"my_model",
... file = tmp.name + "/app.py") # need file for model
... >>> vetiver.write_docker(app_file = "app.py", path = tmp.name)