Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 8 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
name: CI
on:
push:
branches-ignore:
- 'generated'
- 'codegen/**'
- 'integrated/**'
- 'stl-preview-head/**'
- 'stl-preview-base/**'
branches:
- '**'
- '!integrated/**'
- '!stl-preview-head/**'
- '!stl-preview-base/**'
- '!generated'
- '!codegen/**'
- 'codegen/stl/**'
pull_request:
branches-ignore:
- 'stl-preview-head/**'
Expand Down
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.47.1"
".": "0.48.0"
}
4 changes: 2 additions & 2 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 56
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/mixedbread%2Fmixedbread-928efac57471dbd8ac930afd8b7b3aec2d1c09190b5aadd1686606c73029ebf6.yml
openapi_spec_hash: 6891b8b114fca054953e941d22b8d87e
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/mixedbread%2Fmixedbread-aee97de4d3aed6b0d4c4ace37a0b32972f51502127796354b791ee61d5176eab.yml
openapi_spec_hash: 3752a46f3eca4db340f0fe9df10fed44
config_hash: c32ffa6858a02d7f23f6f3dda0b461ed
20 changes: 20 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,25 @@
# Changelog

## 0.48.0 (2026-03-18)

Full Changelog: [v0.47.1...v0.48.0](https://github.com/mixedbread-ai/mixedbread-python/compare/v0.47.1...v0.48.0)

### Features

* **api:** api update ([d6162fc](https://github.com/mixedbread-ai/mixedbread-python/commit/d6162fc5da00d48833fd957e7fcea8f8031fbb50))
* **api:** api update ([4405e7f](https://github.com/mixedbread-ai/mixedbread-python/commit/4405e7fb5f927cde5ab0f282fa588faa7e09bbd3))


### Bug Fixes

* **deps:** bump minimum typing-extensions version ([b7a8459](https://github.com/mixedbread-ai/mixedbread-python/commit/b7a84597b8d41c54ab99197d818326327dbf9e06))
* **pydantic:** do not pass `by_alias` unless set ([d37406c](https://github.com/mixedbread-ai/mixedbread-python/commit/d37406cba3065f5b61c1d76fa228df3ef3133e3d))


### Chores

* **internal:** tweak CI branches ([a1dbb21](https://github.com/mixedbread-ai/mixedbread-python/commit/a1dbb2102fd91079706db5c0bb82cbb01b280459))

## 0.47.1 (2026-03-12)

Full Changelog: [v0.47.0...v0.47.1](https://github.com/mixedbread-ai/mixedbread-python/compare/v0.47.0...v0.47.1)
Expand Down
4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "mixedbread"
version = "0.47.1"
version = "0.48.0"
description = "The official Python library for the Mixedbread API"
dynamic = ["readme"]
license = "Apache-2.0"
Expand All @@ -11,7 +11,7 @@ authors = [
dependencies = [
"httpx>=0.23.0, <1",
"pydantic>=1.9.0, <3",
"typing-extensions>=4.10, <5",
"typing-extensions>=4.14, <5",
"anyio>=3.5.0, <5",
"distro>=1.7.0, <2",
"sniffio",
Expand Down
11 changes: 9 additions & 2 deletions src/mixedbread/_compat.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

from typing import TYPE_CHECKING, Any, Union, Generic, TypeVar, Callable, cast, overload
from datetime import date, datetime
from typing_extensions import Self, Literal
from typing_extensions import Self, Literal, TypedDict

import pydantic
from pydantic.fields import FieldInfo
Expand Down Expand Up @@ -131,6 +131,10 @@ def model_json(model: pydantic.BaseModel, *, indent: int | None = None) -> str:
return model.model_dump_json(indent=indent)


class _ModelDumpKwargs(TypedDict, total=False):
by_alias: bool


def model_dump(
model: pydantic.BaseModel,
*,
Expand All @@ -142,14 +146,17 @@ def model_dump(
by_alias: bool | None = None,
) -> dict[str, Any]:
if (not PYDANTIC_V1) or hasattr(model, "model_dump"):
kwargs: _ModelDumpKwargs = {}
if by_alias is not None:
kwargs["by_alias"] = by_alias
return model.model_dump(
mode=mode,
exclude=exclude,
exclude_unset=exclude_unset,
exclude_defaults=exclude_defaults,
# warnings are not supported in Pydantic v1
warnings=True if PYDANTIC_V1 else warnings,
by_alias=by_alias,
**kwargs,
)
return cast(
"dict[str, Any]",
Expand Down
2 changes: 1 addition & 1 deletion src/mixedbread/_version.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

__title__ = "mixedbread"
__version__ = "0.47.1" # x-release-please-version
__version__ = "0.48.0" # x-release-please-version
58 changes: 31 additions & 27 deletions src/mixedbread/types/scored_audio_url_input_chunk.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,11 @@ class GeneratedMetadataMarkdownChunkGeneratedMetadata(BaseModel):

file_type: Optional[Literal["text/markdown"]] = None

language: str
language: Optional[str] = None

word_count: int
word_count: Optional[int] = None

file_size: int
file_size: Optional[int] = None

chunk_headings: Optional[List[GeneratedMetadataMarkdownChunkGeneratedMetadataChunkHeading]] = None

Expand Down Expand Up @@ -77,11 +77,11 @@ class GeneratedMetadataTextChunkGeneratedMetadata(BaseModel):

file_type: Optional[Literal["text/plain"]] = None

language: str
language: Optional[str] = None

word_count: int
word_count: Optional[int] = None

file_size: int
file_size: Optional[int] = None

start_line: Optional[int] = None

Expand All @@ -107,9 +107,9 @@ class GeneratedMetadataPdfChunkGeneratedMetadata(BaseModel):

file_type: Optional[Literal["application/pdf"]] = None

total_pages: int
total_pages: Optional[int] = None

total_size: int
total_size: Optional[int] = None

file_extension: Optional[str] = None

Expand All @@ -131,11 +131,11 @@ class GeneratedMetadataCodeChunkGeneratedMetadata(BaseModel):

file_type: str

language: str
language: Optional[str] = None

word_count: int
word_count: Optional[int] = None

file_size: int
file_size: Optional[int] = None

start_line: Optional[int] = None

Expand All @@ -159,17 +159,19 @@ def __getattr__(self, attr: str) -> object: ...
class GeneratedMetadataAudioChunkGeneratedMetadata(BaseModel):
type: Optional[Literal["audio"]] = None

file_type: str
file_type: Optional[str] = None

file_size: Optional[int] = None

file_size: int
total_duration_seconds: Optional[float] = None

total_duration_seconds: float
sample_rate: Optional[int] = None

sample_rate: int
channels: Optional[int] = None

channels: int
audio_format: Optional[int] = None

audio_format: int
bpm: Optional[int] = None

file_extension: Optional[str] = None

Expand All @@ -189,22 +191,24 @@ def __getattr__(self, attr: str) -> object: ...
class GeneratedMetadataVideoChunkGeneratedMetadata(BaseModel):
type: Optional[Literal["video"]] = None

file_type: str
file_type: Optional[str] = None

file_size: Optional[int] = None

total_duration_seconds: float
total_duration_seconds: Optional[float] = None

fps: float
fps: Optional[float] = None

width: int
width: Optional[int] = None

height: int
height: Optional[int] = None

frame_count: int
frame_count: Optional[int] = None

has_audio_stream: Optional[bool] = None

bpm: Optional[int] = None

file_extension: Optional[str] = None

if TYPE_CHECKING:
Expand All @@ -223,13 +227,13 @@ def __getattr__(self, attr: str) -> object: ...
class GeneratedMetadataImageChunkGeneratedMetadata(BaseModel):
type: Optional[Literal["image"]] = None

file_type: str
file_type: Optional[str] = None

file_size: int
file_size: Optional[int] = None

width: int
width: Optional[int] = None

height: int
height: Optional[int] = None

file_extension: Optional[str] = None

Expand Down
58 changes: 31 additions & 27 deletions src/mixedbread/types/scored_image_url_input_chunk.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,11 @@ class GeneratedMetadataMarkdownChunkGeneratedMetadata(BaseModel):

file_type: Optional[Literal["text/markdown"]] = None

language: str
language: Optional[str] = None

word_count: int
word_count: Optional[int] = None

file_size: int
file_size: Optional[int] = None

chunk_headings: Optional[List[GeneratedMetadataMarkdownChunkGeneratedMetadataChunkHeading]] = None

Expand Down Expand Up @@ -77,11 +77,11 @@ class GeneratedMetadataTextChunkGeneratedMetadata(BaseModel):

file_type: Optional[Literal["text/plain"]] = None

language: str
language: Optional[str] = None

word_count: int
word_count: Optional[int] = None

file_size: int
file_size: Optional[int] = None

start_line: Optional[int] = None

Expand All @@ -107,9 +107,9 @@ class GeneratedMetadataPdfChunkGeneratedMetadata(BaseModel):

file_type: Optional[Literal["application/pdf"]] = None

total_pages: int
total_pages: Optional[int] = None

total_size: int
total_size: Optional[int] = None

file_extension: Optional[str] = None

Expand All @@ -131,11 +131,11 @@ class GeneratedMetadataCodeChunkGeneratedMetadata(BaseModel):

file_type: str

language: str
language: Optional[str] = None

word_count: int
word_count: Optional[int] = None

file_size: int
file_size: Optional[int] = None

start_line: Optional[int] = None

Expand All @@ -159,17 +159,19 @@ def __getattr__(self, attr: str) -> object: ...
class GeneratedMetadataAudioChunkGeneratedMetadata(BaseModel):
type: Optional[Literal["audio"]] = None

file_type: str
file_type: Optional[str] = None

file_size: Optional[int] = None

file_size: int
total_duration_seconds: Optional[float] = None

total_duration_seconds: float
sample_rate: Optional[int] = None

sample_rate: int
channels: Optional[int] = None

channels: int
audio_format: Optional[int] = None

audio_format: int
bpm: Optional[int] = None

file_extension: Optional[str] = None

Expand All @@ -189,22 +191,24 @@ def __getattr__(self, attr: str) -> object: ...
class GeneratedMetadataVideoChunkGeneratedMetadata(BaseModel):
type: Optional[Literal["video"]] = None

file_type: str
file_type: Optional[str] = None

file_size: Optional[int] = None

total_duration_seconds: float
total_duration_seconds: Optional[float] = None

fps: float
fps: Optional[float] = None

width: int
width: Optional[int] = None

height: int
height: Optional[int] = None

frame_count: int
frame_count: Optional[int] = None

has_audio_stream: Optional[bool] = None

bpm: Optional[int] = None

file_extension: Optional[str] = None

if TYPE_CHECKING:
Expand All @@ -223,13 +227,13 @@ def __getattr__(self, attr: str) -> object: ...
class GeneratedMetadataImageChunkGeneratedMetadata(BaseModel):
type: Optional[Literal["image"]] = None

file_type: str
file_type: Optional[str] = None

file_size: int
file_size: Optional[int] = None

width: int
width: Optional[int] = None

height: int
height: Optional[int] = None

file_extension: Optional[str] = None

Expand Down
Loading
Loading