Bentoml

Latest version: v1.3.14

Safety actively analyzes 682441 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 12 of 25

1.0.16

Not secure
- Triton Inference Server can be configured as a Runner in BentoML with its model repository and CLI arguments specified as parameters.

python
import bentoml

triton_runner = bentoml.triton.Runner(
"triton_runner",
model_repository="s3://bucket/path/to/model_repository",
cli_args=["--load-model=torchscrip_yolov5s", "--model-control-mode=explicit"],
)


- Models served by the Triton Inference Server Runner can be called as a method on the runner handle both synchronously and asynchronously.

python
svc.api(
input=bentoml.io.Image.from_sample("./data/0.png"), output=bentoml.io.NumpyNdarray()
)
async def bentoml_torchscript_mnist_infer(im: Image) -> NDArray[t.Any]:
arr = np.array(im) / 255.0
arr = np.expand_dims(arr, (0, 1)).astype("float32")
InferResult = await triton_runner.torchscript_mnist.async_run(arr)
return InferResult.as_numpy("OUTPUT__0")


- Build bentos and containerize images with Triton Runners by specifying `nvcr.io/nvidia/tritonserver` base image in `bentofile.yaml`.

yaml
service: service:svc
include:
- /model_repository
- /data/*.png
- /*.py
exclude:
- /__pycache__
- /venv
- /train.py
- /build_bento.py
- /containerize_bento.py
python:
packages:
- bentoml[triton]
docker:
base_image: nvcr.io/nvidia/tritonserver:22.12-py3


💡 If you are an existing Triton user, the integration provides simpler ways to add custom logics in Python, deploy distributed multi-model inference graph, unify model management across different ML frameworks and workflows, and standardize model packaging format with versioning and collaboration features. If you are an existing BentoML user, the integration improves the runner efficiency and throughput under high load thanks to Triton’s efficient C++ runtime.

What's Changed
* fix(container): podman virtual machine healthcheck (3575) by timc in https://github.com/bentoml/BentoML/pull/3576
* chore(aiohttp): remove deprecated verify_ssl to ssl by aarnphm in https://github.com/bentoml/BentoML/pull/3574
* feat(triton): support HTTP client by aarnphm in https://github.com/bentoml/BentoML/pull/3502
* fix(grpc): handle backward protocol version by aarnphm in https://github.com/bentoml/BentoML/pull/3332
* chore(deps): bump ruff from 0.0.246 to 0.0.247 by dependabot in https://github.com/bentoml/BentoML/pull/3579
* chore(test): using container API for testing by aarnphm in https://github.com/bentoml/BentoML/pull/3582
* fix(serve-cli): Make sure to use BENTOML_CONFIG value by aarnphm in https://github.com/bentoml/BentoML/pull/3597
* docs: Update documentation with an examples link by ssheng in https://github.com/bentoml/BentoML/pull/3599
* chore: lock starlette version by sauyon in https://github.com/bentoml/BentoML/pull/3600
* feature(diffusers): support `enable_attention_slicing` by larme in https://github.com/bentoml/BentoML/pull/3598
* chore(cli): figlet to show on CLI only by aarnphm in https://github.com/bentoml/BentoML/pull/3603
* chore(cli): using default background as color by aarnphm in https://github.com/bentoml/BentoML/pull/3608
* feat: Flax by aarnphm in https://github.com/bentoml/BentoML/pull/3123
* feat(gRPC): client implementation by aarnphm in https://github.com/bentoml/BentoML/pull/3280
* fix: invalid option dtype=True for pd.read_csv by parano in https://github.com/bentoml/BentoML/pull/3601
* chore(deps): bump coverage[toml] from 7.1.0 to 7.2.0 by dependabot in https://github.com/bentoml/BentoML/pull/3616
* chore(deps): bump ruff from 0.0.247 to 0.0.252 by dependabot in https://github.com/bentoml/BentoML/pull/3617
* docs: containerisation API by aarnphm in https://github.com/bentoml/BentoML/pull/3518
* chore(deps): bump coverage[toml] from 7.2.0 to 7.2.1 by dependabot in https://github.com/bentoml/BentoML/pull/3621
* chore(deps): bump imageio from 2.25.1 to 2.26.0 by dependabot in https://github.com/bentoml/BentoML/pull/3620
* fix(docs): missing space bug causes table not to render by aarnphm in https://github.com/bentoml/BentoML/pull/3622
* chore(deps): bump ruff from 0.0.252 to 0.0.253 by dependabot in https://github.com/bentoml/BentoML/pull/3624
* feat: enable cork for non-batched workloads by sauyon in https://github.com/bentoml/BentoML/pull/3602
* docs: Fix typo in concepts/service by FelixSchuSi in https://github.com/bentoml/BentoML/pull/3627
* chore(deps): bump tritonclient[all] from 2.30.0 to 2.31.0 by dependabot in https://github.com/bentoml/BentoML/pull/3628
* fix(docs): broken inline docstring by aarnphm in https://github.com/bentoml/BentoML/pull/3538
* fix: use a semaphore to limit runner connections by sauyon in https://github.com/bentoml/BentoML/pull/3607
* fix: make inference_api handle None type by aarnphm in https://github.com/bentoml/BentoML/pull/3611
* fix: make sure not to override user set values for from_sample by aarnphm in https://github.com/bentoml/BentoML/pull/3610
* docs: add exceptions API section by aarnphm in https://github.com/bentoml/BentoML/pull/3609
* revert(pyproject): add back pytest plugins by aarnphm in https://github.com/bentoml/BentoML/pull/3633
* fix(configuration): CORS docs, `allow_origins` and `allow_headers` by larme in https://github.com/bentoml/BentoML/pull/3643
* chore(deps): bump ruff from 0.0.253 to 0.0.254 by dependabot in https://github.com/bentoml/BentoML/pull/3641
* chore(deps): bump pytest from 7.2.1 to 7.2.2 by dependabot in https://github.com/bentoml/BentoML/pull/3642
* chore: http client healthcheck by denyszhak in https://github.com/bentoml/BentoML/pull/3636
* docs: typo in configuration.rst by davkime in https://github.com/bentoml/BentoML/pull/3644
* docs: correct links to configuration source code by davkime in https://github.com/bentoml/BentoML/pull/3645
* example: add fraud detection and benchmark examples by parano in https://github.com/bentoml/BentoML/pull/3647
* fix(containerize): remove autoconfig for buildctl by aarnphm in https://github.com/bentoml/BentoML/pull/3484
* feat: name in bentofile.yaml by aarnphm in https://github.com/bentoml/BentoML/pull/3604
* chore: ensure all labels are dict[str,str] by aarnphm in https://github.com/bentoml/BentoML/pull/3605
* fix(triton): enable runtime options by aarnphm in https://github.com/bentoml/BentoML/pull/3649
* docs: Triton Inference Server by aarnphm in https://github.com/bentoml/BentoML/pull/3519
* example: Triton Inference Server by aarnphm in https://github.com/bentoml/BentoML/pull/3471
* chore(deps): bump pytest from 7.2.1 to 7.2.2 in /requirements by dependabot in https://github.com/bentoml/BentoML/pull/3639
* chore(deps): bump bufbuild/buf-setup-action from 1.14.0 to 1.15.0 by dependabot in https://github.com/bentoml/BentoML/pull/3638
* fix: some missing logics for triton examples by aarnphm in https://github.com/bentoml/BentoML/pull/3650
* fix: use async implementation by characat0 in https://github.com/bentoml/BentoML/pull/3654
* feat: add ray deploy support by parano in https://github.com/bentoml/BentoML/pull/3632
* chore(deps): bump pytest-xdist[psutil] from 3.2.0 to 3.2.1 by dependabot in https://github.com/bentoml/BentoML/pull/3659
* chore(deps): bump bufbuild/buf-setup-action from 1.15.0 to 1.15.1 by dependabot in https://github.com/bentoml/BentoML/pull/3655
* fix: update scheme logic using ssl.enabled by aarnphm in https://github.com/bentoml/BentoML/pull/3660
* feat: `from_sample` docstring by aarnphm in https://github.com/bentoml/BentoML/pull/3318
* fix(ci): locking starlette for container tests by aarnphm in https://github.com/bentoml/BentoML/pull/3666
* chore: better exception for numpy by sauyon in https://github.com/bentoml/BentoML/pull/3665
* feat: make file io descriptor allow any mime type by default by sauyon in https://github.com/bentoml/BentoML/pull/3626
* fix(docs): broken link by aarnphm in https://github.com/bentoml/BentoML/pull/3537
* chore(stubs): remove unused by aarnphm in https://github.com/bentoml/BentoML/pull/3612
* docs: Update Triton documentation and examples by ssheng in https://github.com/bentoml/BentoML/pull/3668
* chore(deps): bump ruff from 0.0.254 to 0.0.255 by dependabot in https://github.com/bentoml/BentoML/pull/3671
* docs: Update integration docs by ssheng in https://github.com/bentoml/BentoML/pull/3672

New Contributors
* FelixSchuSi made their first contribution in https://github.com/bentoml/BentoML/pull/3627
* denyszhak made their first contribution in https://github.com/bentoml/BentoML/pull/3636
* davkime made their first contribution in https://github.com/bentoml/BentoML/pull/3644

**Full Changelog**: https://github.com/bentoml/BentoML/compare/v1.0.15...v1.0.16

1.0.15

Not secure
🍱 BentoML `v1.0.15` release is here featuring the introduction of the `bentoml.diffusers` framework.

- Learn more about the capabilities of the `bentoml.diffusers` framework in the [Creating Stable Diffusion 2.0 Service With BentoML And Diffusers](https://modelserving.com/blog/creating-stable-diffusion-20-service-with-bentoml-and-diffusers) blog and [BentoML Diffusers](https://github.com/bentoml/diffusers-examples) example project.
- Import a diffusion model with the `bentoml.diffusers.import_model` API.

python
import bentoml

bentoml.diffusers.import_model(
"sd2",
"stabilityai/stable-diffusion-2",
)


- Create a `text2img` service using a Stable Diffusion 2.0 model runner with the familiar `to_runner` API from the `bentoml.diffuser` framework.

python
import torch
from diffusers import StableDiffusionPipeline

import bentoml
from bentoml.io import Image, JSON, Multipart

bento_model = bentoml.diffusers.get("sd2:latest")
stable_diffusion_runner = bento_model.to_runner()

svc = bentoml.Service("stable_diffusion_v2", runners=[stable_diffusion_runner])

svc.api(input=JSON(), output=Image())
def txt2img(input_data):
images, _ = stable_diffusion_runner.run(**input_data)
return images[0]


🍱 Fixed a incompatibility change introduced in `starlette==0.25.0` result in the type `MultiPartMessage` not being found in `starlette.formparsers`.

ImportError: cannot import name 'MultiPartMessage' from 'starlette.formparsers' (/opt/miniconda3/envs/bentoml/lib/python3.10/site-packages/starlette/formparsers.py)


What's Changed
* chore(deps): bump pytest-xdist[psutil] from 3.1.0 to 3.2.0 by dependabot in https://github.com/bentoml/BentoML/pull/3536
* fix: include dockerfile_template to Bento for containerize by aarnphm in https://github.com/bentoml/BentoML/pull/3501
* chore: add missing logger and fix types by aarnphm in https://github.com/bentoml/BentoML/pull/3453
* chore(rtd): disable epub and pdf as format by aarnphm in https://github.com/bentoml/BentoML/pull/3544
* feat(torchscript): support `_extra_files` by aarnphm in https://github.com/bentoml/BentoML/pull/3480
* refactor(ci): make sure to run types on py,pyi files by aarnphm in https://github.com/bentoml/BentoML/pull/3545
* fix(server): deprecate client and cache get_client by aarnphm in https://github.com/bentoml/BentoML/pull/3547
* chore(serve): update options for triton_options by aarnphm in https://github.com/bentoml/BentoML/pull/3503
* tools(linter): Ruff by aarnphm in https://github.com/bentoml/BentoML/pull/3539
* chore(deps): bump ruff from 0.0.243 to 0.0.244 by dependabot in https://github.com/bentoml/BentoML/pull/3548
* chore(type): remove cattr type ignore by aarnphm in https://github.com/bentoml/BentoML/pull/3550
* chore: bumping otlp deps to 1.15 by aarnphm in https://github.com/bentoml/BentoML/pull/3351
* docs: Add an example index by ssheng in https://github.com/bentoml/BentoML/pull/3551
* revert: "chore: bumping otlp deps to 1.15" by bojiang in https://github.com/bentoml/BentoML/pull/3553
* chore(deps): bump bufbuild/buf-setup-action from 1.13.1 to 1.14.0 by dependabot in https://github.com/bentoml/BentoML/pull/3554
* chore(deps): bump ruff from 0.0.244 to 0.0.246 by dependabot in https://github.com/bentoml/BentoML/pull/3559
* chore(deps): bump imageio from 2.25.0 to 2.25.1 by dependabot in https://github.com/bentoml/BentoML/pull/3557
* chore: update README.md by timliubentoml in https://github.com/bentoml/BentoML/pull/3565
* feat(containerization): support 11.7 by aarnphm in https://github.com/bentoml/BentoML/pull/3567
* chore: remove deprecation warning when building bentos by CheeksTheGeek in https://github.com/bentoml/BentoML/pull/3566
* feature(framework): diffusers by larme in https://github.com/bentoml/BentoML/pull/3534
* fix: update formparser for new starlette by sauyon in https://github.com/bentoml/BentoML/pull/3569

New Contributors
* CheeksTheGeek made their first contribution in https://github.com/bentoml/BentoML/pull/3566

**Full Changelog**: https://github.com/bentoml/BentoML/compare/v1.0.14...v1.0.15

1.0.14

Not secure
🍱 Fixed the backward incompatibility introduced in `starlette` version `0.24.0`. Upgrade BentoML to `v1.0.14` if you encounter the error related to `content_type` like below.


Traceback (most recent call last):
File "/usr/local/lib/python3.8/dist-packages/bentoml/_internal/server/service_app.py", line 305, in api_func
input_data = await api.input.from_http_request(request)
File "/usr/local/lib/python3.8/dist-packages/bentoml/_internal/io_descriptors/multipart.py", line 208, in from_http_request
reqs = await populate_multipart_requests(request)
File "/usr/local/lib/python3.8/dist-packages/bentoml/_internal/utils/formparser.py", line 188, in populate_multipart_requests
form = await multipart_parser.parse()
File "/usr/local/lib/python3.8/dist-packages/bentoml/_internal/utils/formparser.py", line 158, in parse
multipart_file = UploadFile(
TypeError: __init__() got an unexpected keyword argument 'content_type'

1.0.13

Not secure
🍱 BentoML `v1.0.13` is released featuring a preview of [batch inference with Spark](https://docs.bentoml.org/en/latest/integrations/spark.html).

- Run the batch inference job using the `bentoml.batch.run_in_spark()` method. This method takes the API name, the Spark DataFrame containing the input data, and the Spark session itself as parameters, and it returns a DataFrame containing the results of the batch inference job.

python
import bentoml

Import the bento from a repository or get the bento from the bento store
bento = bentoml.import_bento("s3://bentoml/quickstart")

Run the run_in_spark function with the bento, API name, and Spark session
results_df = bentoml.batch.run_in_spark(bento, "classify", df, spark)


- Internally, what happens when you run `run_in_spark` is as follows:
- First, the bento is distributed to the cluster. Note that if the bento has already been distributed, i.e. you have already run a computation with that bento, this step is skipped.
- Next, a process function is created, which starts a BentoML server on each of the Spark workers, then uses a client to process all the data. This is done so that the workers take advantage of the batch processing features of the BentoML server. PySpark pickles this process function and dispatches it, along with the relevant data, to the workers.
- Finally, the function is evaluated on the given dataframe. Once all methods that the user defined in the script have been executed, the data is returned to the master node.

⚠️ The `bentoml.batch` API may undergo incompatible changes until general availability announced in a later minor version release.
🥂 Shout out to [jeffthebear](https://github.com/jeffthebear), [KimSoungRyoul](https://github.com/KimSoungRyoul), [Robert Fernandez](https://github.com/RobbieFernandez), [Marco Vela](https://github.com/characat0), [Quan Nguyen](https://github.com/qu8n), and [y1450](https://github.com/y1450) from the community for their contributions in this release.

What's Changed
* docs: add inline notes and better exception by bojiang in https://github.com/bentoml/BentoML/pull/3296
* chore(deps): bump pytest-asyncio from 0.20.2 to 0.20.3 by dependabot in https://github.com/bentoml/BentoML/pull/3334
* feat: bentoserver client by qu8n in https://github.com/bentoml/BentoML/pull/3321
* fix(transformers): check for task aliases by jeffthebear in https://github.com/bentoml/BentoML/pull/3337
* chore(framework): add partial_kwargs to picklable and pytorch runners by bojiang in https://github.com/bentoml/BentoML/pull/3338
* feat: protobuf shim by aarnphm in https://github.com/bentoml/BentoML/pull/3333
* fix: CI breakage by aarnphm in https://github.com/bentoml/BentoML/pull/3350
* chore(deps): bump black[jupyter] from 22.10.0 to 22.12.0 by dependabot in https://github.com/bentoml/BentoML/pull/3354
* chore(deps): bump isort from 5.10.1 to 5.11.1 by dependabot in https://github.com/bentoml/BentoML/pull/3355
* feat(http server): pass-through openapi of mounted apps by bojiang in https://github.com/bentoml/BentoML/pull/3358
* fix(pytorch): runnable method collision by bojiang in https://github.com/bentoml/BentoML/pull/3357
* fix(torchscript): runnable method collision by bojiang in https://github.com/bentoml/BentoML/pull/3364
* chore(deps): bump isort from 5.11.1 to 5.11.2 by dependabot in https://github.com/bentoml/BentoML/pull/3361
* chore(deps): bump isort from 5.11.2 to 5.11.3 in /requirements by dependabot in https://github.com/bentoml/BentoML/pull/3374
* chore(deps): bump bufbuild/buf-setup-action from 1.9.0 to 1.10.0 by dependabot in https://github.com/bentoml/BentoML/pull/3370
* chore(deps): bump coverage[toml] from 6.5.0 to 7.0.0 in /requirements by dependabot in https://github.com/bentoml/BentoML/pull/3373
* chore(deps): bump pylint from 2.15.8 to 2.15.9 in /requirements by dependabot in https://github.com/bentoml/BentoML/pull/3372
* chore(deps): bump imageio from 2.22.4 to 2.23.0 in /requirements by dependabot in https://github.com/bentoml/BentoML/pull/3371
* fix: make sure to handle relative path for templates by aarnphm in https://github.com/bentoml/BentoML/pull/3375
* fix(containerize): fs path format on windows by bojiang in https://github.com/bentoml/BentoML/pull/3378
* chore(deps): bump isort from 5.11.3 to 5.11.4 by dependabot in https://github.com/bentoml/BentoML/pull/3380
* docs: tracing and configuration by aarnphm in https://github.com/bentoml/BentoML/pull/3067
* fix: use relative urls in swagger UI by sauyon in https://github.com/bentoml/BentoML/pull/3381
* chore(deps): bump bufbuild/buf-setup-action from 1.10.0 to 1.11.0 by dependabot in https://github.com/bentoml/BentoML/pull/3382
* chore(deps): bump coverage[toml] from 7.0.0 to 7.0.1 by dependabot in https://github.com/bentoml/BentoML/pull/3383
* chore(config): ignore blank lines in bentoml config options by bojiang in https://github.com/bentoml/BentoML/pull/3385
* chore(deps): bump coverage[toml] from 7.0.1 to 7.0.2 by dependabot in https://github.com/bentoml/BentoML/pull/3386
* fix: log error when runnable instantiation fails by sauyon in https://github.com/bentoml/BentoML/pull/3388
* chore(deps): bump coverage[toml] from 7.0.2 to 7.0.3 by dependabot in https://github.com/bentoml/BentoML/pull/3390
* fix: don't use logger for CLI output by sauyon in https://github.com/bentoml/BentoML/pull/3395
* fix: allow passing server URLs with paths by sauyon in https://github.com/bentoml/BentoML/pull/3394
* fix(sdk): handling container platform from CLI separately by aarnphm in https://github.com/bentoml/BentoML/pull/3366
* fix: wrong self annotations by aarnphm in https://github.com/bentoml/BentoML/pull/3397
* chore(deps): bump imageio from 2.23.0 to 2.24.0 by dependabot in https://github.com/bentoml/BentoML/pull/3410
* chore(deps): bump coverage[toml] from 7.0.3 to 7.0.4 by dependabot in https://github.com/bentoml/BentoML/pull/3409
* chore(deps): bump pylint from 2.15.9 to 2.15.10 by dependabot in https://github.com/bentoml/BentoML/pull/3407
* fix: serve missing logic from 3321 by aarnphm in https://github.com/bentoml/BentoML/pull/3336
* chore(deps): bump coverage[toml] from 7.0.4 to 7.0.5 by dependabot in https://github.com/bentoml/BentoML/pull/3413
* chore(deps): bump yamllint from 1.28.0 to 1.29.0 by dependabot in https://github.com/bentoml/BentoML/pull/3414
* fix: regression f-string by aarnphm in https://github.com/bentoml/BentoML/pull/3416
* fix(runner): log correct error types during model validation by characat0 in https://github.com/bentoml/BentoML/pull/3421
* fix(client): make sure tags is available in specs by KimSoungRyoul in https://github.com/bentoml/BentoML/pull/3359
* fix: handling KeyError when accessing IODescriptor spec by aarnphm in https://github.com/bentoml/BentoML/pull/3398
* chore(deps): bump build[virtualenv] from 0.9.0 to 0.10.0 by dependabot in https://github.com/bentoml/BentoML/pull/3419
* feat: support bentos and tags in bentoml.bentos.serve by sauyon in https://github.com/bentoml/BentoML/pull/3424
* feat: add endpoints list to client by sauyon in https://github.com/bentoml/BentoML/pull/3423
* fix: 3399 during `containerize` by aarnphm in https://github.com/bentoml/BentoML/pull/3400
* feat: add context manager support for `bentoml.client` by y1450 in https://github.com/bentoml/BentoML/pull/3402
* chore: migrate to newer API in docstring by KimSoungRyoul in https://github.com/bentoml/BentoML/pull/3429
* chore(deps): bump bufbuild/buf-setup-action from 1.11.0 to 1.12.0 by dependabot in https://github.com/bentoml/BentoML/pull/3430
* chore(deps): bump pytest from 7.2.0 to 7.2.1 by dependabot in https://github.com/bentoml/BentoML/pull/3433
* feat: openapi_components method for Multipart by RobbieFernandez in https://github.com/bentoml/BentoML/pull/3438
* ci: disable 3.10 e2e for gRPC on Mac X86 by aarnphm in https://github.com/bentoml/BentoML/pull/3441
* chore(exportable): update exception message and errors imports by aarnphm in https://github.com/bentoml/BentoML/pull/3435
* feat: make `load_bento` take Tag and Bento by sauyon in https://github.com/bentoml/BentoML/pull/3444
* chore: add setuptools-scm as dev deps by aarnphm in https://github.com/bentoml/BentoML/pull/3443
* fix: load_bento Tag import by sauyon in https://github.com/bentoml/BentoML/pull/3445
* feat: support batch inference with Spark by sauyon in https://github.com/bentoml/BentoML/pull/3425
* chore: add pandas-stubs as dev-dependencies by aarnphm in https://github.com/bentoml/BentoML/pull/3442
* fix: raise more specific error in `from_spec` by sauyon in https://github.com/bentoml/BentoML/pull/3447
* fix(cli): overriding memoized options via `--opt` by aarnphm in https://github.com/bentoml/BentoML/pull/3401
* fix(exception): wrong variable reference by aarnphm in https://github.com/bentoml/BentoML/pull/3450
* fix: make sure to run migration for envvar by aarnphm in https://github.com/bentoml/BentoML/pull/3339
* feat: YataiClient context to communicate with multiple Yatai instances by ssheng in https://github.com/bentoml/BentoML/pull/3448

New Contributors
* characat0 made their first contribution in https://github.com/bentoml/BentoML/pull/3421
* y1450 made their first contribution in https://github.com/bentoml/BentoML/pull/3402
* RobbieFernandez made their first contribution in https://github.com/bentoml/BentoML/pull/3438

**Full Changelog**: https://github.com/bentoml/BentoML/compare/v1.0.12...v1.0.13

1.0.12

Not secure
Important bug fixes.
- Fixed runner call failures with keyword arguments.
- Fixed incorrect user base image override .

What's Changed
* fix(runner): content-type error by aarnphm in https://github.com/bentoml/BentoML/pull/3302
* feat: grpc servicer implementation per version by aarnphm in https://github.com/bentoml/BentoML/pull/3316
* feat(grpc): adding service metadata by aarnphm in https://github.com/bentoml/BentoML/pull/3278
* docs: Update monitoring docs format by ssheng in https://github.com/bentoml/BentoML/pull/3324
* fix(runner): remote run_method with kwargs by larme in https://github.com/bentoml/BentoML/pull/3326
* fix: don't overwrite user base image by aarnphm in https://github.com/bentoml/BentoML/pull/3329
* fix: add upper bound for packaging version by aarnphm in https://github.com/bentoml/BentoML/pull/3331
* fix(container): podman health result string parsing by aarnphm in https://github.com/bentoml/BentoML/pull/3330
* fix: io descriptor backward compatibility by sauyon in https://github.com/bentoml/BentoML/pull/3327


**Full Changelog**: https://github.com/bentoml/BentoML/compare/v1.0.11...v1.0.12

1.0.11

Not secure
🍱 BentoML `v1.0.11` is here featuring the introduction of an [inference collection and model monitoring API](https://docs.bentoml.org/en/latest/guides/monitoring.html) that can be easily integrated with any model monitoring frameworks.

![image](https://user-images.githubusercontent.com/861225/206288329-7d13f261-a45a-47b7-8598-3b24b3d29421.png)

- Introduced the `bentoml.monitor` API for monitoring any features, predictions, and target data in numerical, categorical, and numerical sequence types.

python
import bentoml
from bentoml.io import Text
from bentoml.io import NumpyNdarray

CLASS_NAMES = ["setosa", "versicolor", "virginica"]

iris_clf_runner = bentoml.sklearn.get("iris_clf:latest").to_runner()
svc = bentoml.Service("iris_classifier", runners=[iris_clf_runner])

svc.api(
input=NumpyNdarray.from_sample(np.array([4.9, 3.0, 1.4, 0.2], dtype=np.double)),
output=Text(),
)
async def classify(features: np.ndarray) -> str:
with bentoml.monitor("iris_classifier_prediction") as mon:
mon.log(features[0], name="sepal length", role="feature", data_type="numerical")
mon.log(features[1], name="sepal width", role="feature", data_type="numerical")
mon.log(features[2], name="petal length", role="feature", data_type="numerical")
mon.log(features[3], name="petal width", role="feature", data_type="numerical")

results = await iris_clf_runner.predict.async_run([features])
result = results[0]
category = CLASS_NAMES[result]

mon.log(category, name="pred", role="prediction", data_type="categorical")
return category


- Enabled monitoring data collection through log file forwarding using any forwarders (fluentbit, filebeat, logstash) or OTLP exporter implementations.
- Configuration for monitoring data collection through log files.

yaml
monitoring:
enabled: true
type: default
options:
log_path: path/to/log/file


- Configuration for monitoring data collection through an OTLP exporter.

yaml
monitoring:
enable: true
type: otlp
options:
endpoint: http://localhost:5000
insecure: true
credentials: null
headers: null
timeout: 10
compression: null
meta_sample_rate: 1.0


- Supported third-party monitoring data collector integrations through BentoML Plugins. See [bentoml/plugins](https://github.com/bentoml/plugins) repository for more details.

🐳 Improved containerization SDK and CLI options, read more in [3164](https://github.com/bentoml/BentoML/pull/3164).

- Added support for multiple backend builder options (Docker, nerdctl, Podman, Buildah, Buildx) in addition to buildctl (standalone buildkit builder).
- Improved Python SDK for containerization with different backend builder options.

python
import bentoml

bentoml.container.build("iris_classifier:latest", backend="podman", features=["grpc","grpc-reflection"], **kwargs)


- Improved CLI to include the newly added options.

bash
bentoml containerize --help


- Standardized the generated Dockerfile in bentos to be compatible with all build tools for use cases that require building from a Dockerfile directly.

💡 We continue to update the documentation and examples on every release to help the community unlock the full power of BentoML.

- Learn more about [inference data collection and model monitoring](https://docs.bentoml.org/en/latest/guides/monitoring.html) capabilities in BentoML.
- Learn more about the [default metrics](https://docs.bentoml.org/en/latest/guides/metrics.html#default-metrics) that comes out-of-the-box and how to add [custom metrics](https://docs.bentoml.org/en/latest/guides/metrics.html#custom-metrics) in BentoML.

What's Changed
* chore: add framework utils functions directory by larme in https://github.com/bentoml/BentoML/pull/3203
* fix: missing f-string in tag validation error message by csh3695 in https://github.com/bentoml/BentoML/pull/3205
* chore(build_config): bypass exception when cuda and conda is specified by aarnphm in https://github.com/bentoml/BentoML/pull/3188
* docs: Update asynchronous API documentation by ssheng in https://github.com/bentoml/BentoML/pull/3204
* style: use relative import inside _internal/ by larme in https://github.com/bentoml/BentoML/pull/3209
* style: fix `monitoring` type error by aarnphm in https://github.com/bentoml/BentoML/pull/3208
* chore(build): add dependabot for pyproject.toml by aarnphm in https://github.com/bentoml/BentoML/pull/3139
* chore(deps): bump black[jupyter] from 22.8.0 to 22.10.0 in /requirements by dependabot in https://github.com/bentoml/BentoML/pull/3217
* chore(deps): bump pylint from 2.15.3 to 2.15.5 in /requirements by dependabot in https://github.com/bentoml/BentoML/pull/3212
* chore(deps): bump pytest-asyncio from 0.19.0 to 0.20.1 in /requirements by dependabot in https://github.com/bentoml/BentoML/pull/3216
* chore(deps): bump imageio from 2.22.1 to 2.22.4 in /requirements by dependabot in https://github.com/bentoml/BentoML/pull/3211
* fix: don't index ContextVar at runtime by sauyon in https://github.com/bentoml/BentoML/pull/3221
* chore(deps): bump pyarrow from 9.0.0 to 10.0.0 in /requirements by dependabot in https://github.com/bentoml/BentoML/pull/3214
* chore: configuration check for development by aarnphm in https://github.com/bentoml/BentoML/pull/3223
* fix bento create by quandollar in https://github.com/bentoml/BentoML/pull/3220
* fix(docs): missing `table` tag by nyongja in https://github.com/bentoml/BentoML/pull/3231
* docs: grammar corrections by tbazin in https://github.com/bentoml/BentoML/pull/3234
* chore(deps): bump pytest-asyncio from 0.20.1 to 0.20.2 in /requirements by dependabot in https://github.com/bentoml/BentoML/pull/3238
* chore(deps): bump pytest-xdist[psutil] from 2.5.0 to 3.0.2 by dependabot in https://github.com/bentoml/BentoML/pull/3245
* chore(deps): bump pytest from 7.1.3 to 7.2.0 in /requirements by dependabot in https://github.com/bentoml/BentoML/pull/3237
* chore(deps): bump build[virtualenv] from 0.8.0 to 0.9.0 in /requirements by dependabot in https://github.com/bentoml/BentoML/pull/3240
* deps: bumping gRPC and OTLP dependencies by aarnphm in https://github.com/bentoml/BentoML/pull/3228
* feat(file): support custom mime type for file proto by aarnphm in https://github.com/bentoml/BentoML/pull/3095
* fix: multipart for client by sauyon in https://github.com/bentoml/BentoML/pull/3253
* fix(json): make sure to parse a list of dict for_sample by aarnphm in https://github.com/bentoml/BentoML/pull/3229
* chore: move test proto to internal tests only by aarnphm in https://github.com/bentoml/BentoML/pull/3255
* fix(framework): external_modules for loading pytorch by bojiang in https://github.com/bentoml/BentoML/pull/3254
* feat(container): builder implementation by aarnphm in https://github.com/bentoml/BentoML/pull/3164
* feat(sdk): implement otlp monitoring exporter by bojiang in https://github.com/bentoml/BentoML/pull/3257
* chore(grpc): add missing __init__.py by aarnphm in https://github.com/bentoml/BentoML/pull/3259
* docs(metrics): Update docs for the default metrics by ssheng in https://github.com/bentoml/BentoML/pull/3262
* chore: generate plain dockerfile without buildkit syntax by aarnphm in https://github.com/bentoml/BentoML/pull/3261
* style: remove ` type: ignore` by aarnphm in https://github.com/bentoml/BentoML/pull/3265
* fix: lazy load ONNX utils by aarnphm in https://github.com/bentoml/BentoML/pull/3266
* fix(pytorch): pickle is the unpickler of cloudpickle by bojiang in https://github.com/bentoml/BentoML/pull/3269
* fix: instructions for missing sklearn dependency by benjamintanweihao in https://github.com/bentoml/BentoML/pull/3271
* docs: ONNX signature docs by larme in https://github.com/bentoml/BentoML/pull/3272
* chore(deps): bump pyarrow from 10.0.0 to 10.0.1 by dependabot in https://github.com/bentoml/BentoML/pull/3273
* chore(deps): bump pylint from 2.15.5 to 2.15.6 by dependabot in https://github.com/bentoml/BentoML/pull/3274
* fix(pandas): only set columns when `apply_column_names` is set by mqk in https://github.com/bentoml/BentoML/pull/3275
* feat: configuration versioning by aarnphm in https://github.com/bentoml/BentoML/pull/3052
* fix(container): support comma in docker env by larme in https://github.com/bentoml/BentoML/pull/3285
* chore(stub): `import filetype` by aarnphm in https://github.com/bentoml/BentoML/pull/3260
* fix(container): ensure to stream logs when `DOCKER_BUILDKIT=0` by aarnphm in https://github.com/bentoml/BentoML/pull/3294
* docs: update instructions for containerize message by aarnphm in https://github.com/bentoml/BentoML/pull/3289
* fix: unset `NVIDIA_VISIBLE_DEVICES` when cuda image is used by aarnphm in https://github.com/bentoml/BentoML/pull/3298
* fix: multipart logic by sauyon in https://github.com/bentoml/BentoML/pull/3297
* chore(deps): bump pylint from 2.15.6 to 2.15.7 by dependabot in https://github.com/bentoml/BentoML/pull/3291
* docs: wrong arguments when saving by KimSoungRyoul in https://github.com/bentoml/BentoML/pull/3306
* chore(deps): bump pylint from 2.15.7 to 2.15.8 in /requirements by dependabot in https://github.com/bentoml/BentoML/pull/3308
* chore(deps): bump pytest-xdist[psutil] from 3.0.2 to 3.1.0 in /requirements by dependabot in https://github.com/bentoml/BentoML/pull/3309
* chore(pyproject): bumping python version typeshed to 3.11 by aarnphm in https://github.com/bentoml/BentoML/pull/3281
* fix(monitor): disable validate for Formatter by bojiang in https://github.com/bentoml/BentoML/pull/3317
* doc(monitoring): monitoring guide by bojiang in https://github.com/bentoml/BentoML/pull/3300
* feat: parsing path for env by aarnphm in https://github.com/bentoml/BentoML/pull/3314
* fix: remove assertion for dtype by aarnphm in https://github.com/bentoml/BentoML/pull/3320
* feat: client lazy load by aarnphm in https://github.com/bentoml/BentoML/pull/3323
* chore: provides shim for bentoctl by aarnphm in https://github.com/bentoml/BentoML/pull/3322

New Contributors
* csh3695 made their first contribution in https://github.com/bentoml/BentoML/pull/3205
* nyongja made their first contribution in https://github.com/bentoml/BentoML/pull/3231
* tbazin made their first contribution in https://github.com/bentoml/BentoML/pull/3234
* KimSoungRyoul made their first contribution in https://github.com/bentoml/BentoML/pull/3306

**Full Changelog**: https://github.com/bentoml/BentoML/compare/v1.0.10...v1.0.11

Page 12 of 25

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.