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
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.44.0"
".": "0.45.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: 63
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/mixedbread%2Fmixedbread-8a9abf45fe3e0db8c9ba59803ff9ef4ce5d0bb780765d3c1a9587dde2a8d6c93.yml
openapi_spec_hash: 0f3af27e4fc27bcbfbb17f0a2c45c060
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/mixedbread%2Fmixedbread-5ad16eef3948ad48d494f6c0bf0b7da1063e177df5b8deaeedb53502101026d7.yml
openapi_spec_hash: 631634e0b03b231050e790e28377e51f
config_hash: 557219db19e51f791a1727eac53d506c
18 changes: 18 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,23 @@
# Changelog

## 0.45.0 (2025-12-23)

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

### Features

* **api:** api update ([e693c21](https://github.com/mixedbread-ai/mixedbread-python/commit/e693c21580f165e34f536aebfe85d57ec51f2cd3))


### Bug Fixes

* use async_to_httpx_files in patch method ([7a64fa3](https://github.com/mixedbread-ai/mixedbread-python/commit/7a64fa34f7ff89b808f079f3f379f55527bdcfc4))


### Chores

* **internal:** add `--fix` argument to lint script ([6644d65](https://github.com/mixedbread-ai/mixedbread-python/commit/6644d6512807e3572613fa1ce21f5fc70e64dd35))

## 0.44.0 (2025-12-17)

Full Changelog: [v0.43.0...v0.44.0](https://github.com/mixedbread-ai/mixedbread-python/compare/v0.43.0...v0.44.0)
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "mixedbread"
version = "0.44.0"
version = "0.45.0"
description = "The official Python library for the Mixedbread API"
dynamic = ["readme"]
license = "Apache-2.0"
Expand Down
9 changes: 7 additions & 2 deletions scripts/lint
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,13 @@ set -e

cd "$(dirname "$0")/.."

echo "==> Running lints"
rye run lint
if [ "$1" = "--fix" ]; then
echo "==> Running lints with --fix"
rye run fix:ruff
else
echo "==> Running lints"
rye run lint
fi

echo "==> Making sure it imports"
rye run python -c 'import mixedbread'
2 changes: 1 addition & 1 deletion src/mixedbread/_base_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -1774,7 +1774,7 @@ async def patch(
options: RequestOptions = {},
) -> ResponseT:
opts = FinalRequestOptions.construct(
method="patch", url=path, json_data=body, files=to_httpx_files(files), **options
method="patch", url=path, json_data=body, files=await async_to_httpx_files(files), **options
)
return await self.request(cast_to, opts)

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.44.0" # x-release-please-version
__version__ = "0.45.0" # x-release-please-version
7 changes: 5 additions & 2 deletions src/mixedbread/types/parsing/job_list_response.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from typing import Optional
from typing import Dict, Optional
from datetime import datetime
from typing_extensions import Literal

Expand All @@ -11,7 +11,7 @@


class JobListResponse(BaseModel):
"""A parsing job item for list responses, omitting result and error fields."""
"""A parsing job item for list responses."""

id: str
"""The ID of the job"""
Expand All @@ -25,6 +25,9 @@ class JobListResponse(BaseModel):
status: ParsingJobStatus
"""The status of the job"""

error: Optional[Dict[str, object]] = None
"""The error of the job"""

started_at: Optional[datetime] = None
"""The started time of the job"""

Expand Down
4 changes: 2 additions & 2 deletions src/mixedbread/types/parsing/parsing_job.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from typing import List, Optional
from typing import Dict, List, Optional
from datetime import datetime
from typing_extensions import Literal

Expand Down Expand Up @@ -82,7 +82,7 @@ class ParsingJob(BaseModel):
status: ParsingJobStatus
"""The status of the job"""

error: Optional[object] = None
error: Optional[Dict[str, object]] = None
"""The error of the job"""

result: Optional[Result] = None
Expand Down
34 changes: 31 additions & 3 deletions src/mixedbread/types/store_chunk_search_options_param.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,22 +7,50 @@

from .vector_stores.rerank_config_param import RerankConfigParam

__all__ = ["StoreChunkSearchOptionsParam", "Rerank"]
__all__ = ["StoreChunkSearchOptionsParam", "Rerank", "Agentic", "AgenticAgenticSearchConfig"]

Rerank: TypeAlias = Union[bool, RerankConfigParam]


class AgenticAgenticSearchConfig(TypedDict, total=False):
"""Configuration for agentic multi-query search."""

max_rounds: int
"""Maximum number of search rounds"""

queries_per_round: int
"""Maximum queries per round"""

results_per_query: int
"""Results to fetch per query"""


Agentic: TypeAlias = Union[bool, AgenticAgenticSearchConfig]


class StoreChunkSearchOptionsParam(TypedDict, total=False):
"""Options for configuring store chunk searches."""

score_threshold: float
"""Minimum similarity score threshold"""

rewrite_query: bool
"""Whether to rewrite the query"""
"""Whether to rewrite the query.

Ignored when agentic is enabled (the agent handles query decomposition).
"""

rerank: Optional[Rerank]
"""Whether to rerank results and optional reranking configuration"""
"""Whether to rerank results and optional reranking configuration.

Ignored when agentic is enabled (the agent handles ranking).
"""

agentic: Optional[Agentic]
"""
Whether to use agentic multi-query search with automatic query decomposition and
ranking. When enabled, rewrite_query and rerank options are ignored.
"""

return_metadata: bool
"""Whether to return file metadata"""
Expand Down
42 changes: 39 additions & 3 deletions src/mixedbread/types/stores/file_search_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,15 @@
from ..vector_stores.rerank_config_param import RerankConfigParam
from ..shared_params.search_filter_condition import SearchFilterCondition

__all__ = ["FileSearchParams", "Filters", "FiltersUnionMember2", "SearchOptions", "SearchOptionsRerank"]
__all__ = [
"FileSearchParams",
"Filters",
"FiltersUnionMember2",
"SearchOptions",
"SearchOptionsRerank",
"SearchOptionsAgentic",
"SearchOptionsAgenticAgenticSearchConfig",
]


class FileSearchParams(TypedDict, total=False):
Expand Down Expand Up @@ -39,17 +47,45 @@ class FileSearchParams(TypedDict, total=False):
SearchOptionsRerank: TypeAlias = Union[bool, RerankConfigParam]


class SearchOptionsAgenticAgenticSearchConfig(TypedDict, total=False):
"""Configuration for agentic multi-query search."""

max_rounds: int
"""Maximum number of search rounds"""

queries_per_round: int
"""Maximum queries per round"""

results_per_query: int
"""Results to fetch per query"""


SearchOptionsAgentic: TypeAlias = Union[bool, SearchOptionsAgenticAgenticSearchConfig]


class SearchOptions(TypedDict, total=False):
"""Search configuration options"""

score_threshold: float
"""Minimum similarity score threshold"""

rewrite_query: bool
"""Whether to rewrite the query"""
"""Whether to rewrite the query.

Ignored when agentic is enabled (the agent handles query decomposition).
"""

rerank: Optional[SearchOptionsRerank]
"""Whether to rerank results and optional reranking configuration"""
"""Whether to rerank results and optional reranking configuration.

Ignored when agentic is enabled (the agent handles ranking).
"""

agentic: Optional[SearchOptionsAgentic]
"""
Whether to use agentic multi-query search with automatic query decomposition and
ranking. When enabled, rewrite_query and rerank options are ignored.
"""

return_metadata: bool
"""Whether to return file metadata"""
Expand Down
34 changes: 31 additions & 3 deletions src/mixedbread/types/vector_store_chunk_search_options_param.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,22 +7,50 @@

from .vector_stores.rerank_config_param import RerankConfigParam

__all__ = ["VectorStoreChunkSearchOptionsParam", "Rerank"]
__all__ = ["VectorStoreChunkSearchOptionsParam", "Rerank", "Agentic", "AgenticAgenticSearchConfig"]

Rerank: TypeAlias = Union[bool, RerankConfigParam]


class AgenticAgenticSearchConfig(TypedDict, total=False):
"""Configuration for agentic multi-query search."""

max_rounds: int
"""Maximum number of search rounds"""

queries_per_round: int
"""Maximum queries per round"""

results_per_query: int
"""Results to fetch per query"""


Agentic: TypeAlias = Union[bool, AgenticAgenticSearchConfig]


class VectorStoreChunkSearchOptionsParam(TypedDict, total=False):
"""Options for configuring vector store chunk searches."""

score_threshold: float
"""Minimum similarity score threshold"""

rewrite_query: bool
"""Whether to rewrite the query"""
"""Whether to rewrite the query.

Ignored when agentic is enabled (the agent handles query decomposition).
"""

rerank: Optional[Rerank]
"""Whether to rerank results and optional reranking configuration"""
"""Whether to rerank results and optional reranking configuration.

Ignored when agentic is enabled (the agent handles ranking).
"""

agentic: Optional[Agentic]
"""
Whether to use agentic multi-query search with automatic query decomposition and
ranking. When enabled, rewrite_query and rerank options are ignored.
"""

return_metadata: bool
"""Whether to return file metadata"""
Expand Down
42 changes: 39 additions & 3 deletions src/mixedbread/types/vector_stores/file_search_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,15 @@
from .rerank_config_param import RerankConfigParam
from ..shared_params.search_filter_condition import SearchFilterCondition

__all__ = ["FileSearchParams", "Filters", "FiltersUnionMember2", "SearchOptions", "SearchOptionsRerank"]
__all__ = [
"FileSearchParams",
"Filters",
"FiltersUnionMember2",
"SearchOptions",
"SearchOptionsRerank",
"SearchOptionsAgentic",
"SearchOptionsAgenticAgenticSearchConfig",
]


class FileSearchParams(TypedDict, total=False):
Expand Down Expand Up @@ -39,17 +47,45 @@ class FileSearchParams(TypedDict, total=False):
SearchOptionsRerank: TypeAlias = Union[bool, RerankConfigParam]


class SearchOptionsAgenticAgenticSearchConfig(TypedDict, total=False):
"""Configuration for agentic multi-query search."""

max_rounds: int
"""Maximum number of search rounds"""

queries_per_round: int
"""Maximum queries per round"""

results_per_query: int
"""Results to fetch per query"""


SearchOptionsAgentic: TypeAlias = Union[bool, SearchOptionsAgenticAgenticSearchConfig]


class SearchOptions(TypedDict, total=False):
"""Search configuration options"""

score_threshold: float
"""Minimum similarity score threshold"""

rewrite_query: bool
"""Whether to rewrite the query"""
"""Whether to rewrite the query.

Ignored when agentic is enabled (the agent handles query decomposition).
"""

rerank: Optional[SearchOptionsRerank]
"""Whether to rerank results and optional reranking configuration"""
"""Whether to rerank results and optional reranking configuration.

Ignored when agentic is enabled (the agent handles ranking).
"""

agentic: Optional[SearchOptionsAgentic]
"""
Whether to use agentic multi-query search with automatic query decomposition and
ranking. When enabled, rewrite_query and rerank options are ignored.
"""

return_metadata: bool
"""Whether to return file metadata"""
Expand Down
2 changes: 2 additions & 0 deletions tests/api_resources/stores/test_files.py
Original file line number Diff line number Diff line change
Expand Up @@ -319,6 +319,7 @@ def test_method_search_with_all_params(self, client: Mixedbread) -> None:
"score_threshold": 0,
"rewrite_query": True,
"rerank": True,
"agentic": True,
"return_metadata": True,
"return_chunks": True,
"chunks_per_file": 0,
Expand Down Expand Up @@ -656,6 +657,7 @@ async def test_method_search_with_all_params(self, async_client: AsyncMixedbread
"score_threshold": 0,
"rewrite_query": True,
"rerank": True,
"agentic": True,
"return_metadata": True,
"return_chunks": True,
"chunks_per_file": 0,
Expand Down
Loading
Loading