You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This PR contains the generated changelog for the release v1.9.0.
⚠️ **Merging this PR will immediately trigger a new release**. ⚠️
To specify additional release notes, please edit this comment after the
following line.
---
## Highlights
### Environment variables in `tesseract_config.yaml`
You can now set environment variables directly in
`tesseract_config.yaml` via a new `env:` section, without resorting to
`custom_build_steps`:
```yaml
env:
XLA_PYTHON_CLIENT_PREALLOCATE: "false"
OMP_NUM_THREADS: "4"
```
These values are baked into the Docker image at build time. You can
still override them at runtime with `tesseract serve --env` or
`tesseract run --env`. (#591)
### Timeout parameter for the Python API
`Tesseract.from_image()` and `Tesseract.from_url()` now accept an
optional `timeout` parameter to guard against hanging HTTP requests
(e.g. when a container runs out of memory):
```python
with Tesseract.from_image("my_tesseract", timeout=30) as t:
...
# or use a (connect, read) tuple for finer control
t = Tesseract.from_url("http://host:8000", timeout=(5, 300))
```
The default remains no timeout, so existing code is unaffected. (#597)
### `Tesseract.container_info()`
A new `container_info()` method on the `Tesseract` class exposes the
underlying Docker container object during a serve session. This is
useful for resource monitoring, executing commands inside the container,
or retrieving container logs outside of the SDK:
```python
with Tesseract.from_image("my_tesseract") as t:
container = t.container_info()
print(container.id, container.name, container.host_port)
```
(#601)
## Other changes
- `tesseract serve` now supports a `--skip-health-check` flag (also
available as `skip_health_check` in `Tesseract.from_image()`). Use this
for Tesseracts with slow startup, e.g. due to JIT compilation or large
model loading. The caller is responsible for polling `/health` manually.
(#596)
- Foreign array-like objects such as PyTorch tensors can now be passed
directly to the Python API without manual conversion. (#587)
- Docker builds no longer fail when the base image sets a non-root
default user. (#598)
- IO schemas now include explicit field declaration order in their
metadata (`field_order`), allowing downstream clients to restore the
correct order even after round-tripping through systems that scramble
JSON keys. (#595)
- `click` is now an explicit dependency, fixing potential import errors
with newer versions of `typer`. (#610)
---------
Co-authored-by: Dion Häfner <dion.haefner@simulation.science>
0 commit comments