NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #348 most downloaded on PyPI
A python native Weaviate client
Last release 26 days ago
07 Sep 2026
Ships fairly regularly
a new release about every 3 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
7 years old
296 releases · first in 2019
Nothing published for this version
Nothing published for this version
Nothing published for this version
Fixes for some functions/methods docstrings.
weaviate.rdf was removed.
ADDED Batcher.add method to add either Data Objects or References, based on the kwargs values.
WCS.create has a new argument module used to specify the module the weaviate should use. It is supported only for the DEV environment at the moment.
WCS.create shows a progress bar if wait_for_complition is set to True.
One column per quarter.
Nothing published for this version
Nothing published for this version
ADDED *GetBuilder*.with_near_object(content: dict) method.
NearObject filter.with_near_object(content: dict) method.WCS to create/delete WCS clusters from python.
WCS(auth_client_secret: AuthCredentials, dev: bool=False)
dev is for development URL.WCS.create(cluster_name: str=None, cluster_type: str='sandbox', config: dict=None, wait_for_completion: bool=True) -> str:
Create a cluster. Returns the cluster URL.WCS.is_ready(self, cluster_name: str) -> bool:
Check if cluster is created and ready to use.WCS.get_clusters(self, email: str) -> Optional[List[str]]:
Lists all weaviate clusters registerd with the email.WCS.get_cluster_config(self, cluster_name: str) -> dict:
Get details of a cluster.WCS.delete(self, cluster_name: str) -> None:
Delete the WCS instance.__version__ global variable is introduced.
__version__ global variable is introduced.ValueError instead of returning None.get can act as DataObject.get_by_id(...) too.Nothing published for this version
Nothing published for this version
Nothing published for this version
Batch.add_reference() is DEPRECATED -> Batch.create_references() (or Batch.create()) *Deprecated to make the name consistent with object creation meth…
Batch.create_things() -> Batch.create_objects() (or Batch.create() )<br/> Due to removal of semantic kind (“things/actions”).
Batch.create_actions() -> Batch.create_objects() (or Batch.create() )<br/> Due to removal of semantic kind (“things/actions”).
Batch.add_reference() is DEPRECATED -> Batch.create_references() (or Batch.create())<br/> Deprecated to make the name consistent with object creation method.
Batch.create() ADDED<br/>
This method creates either objects or references.
ReferenceBatchRequest.get_batch_size() REMOVED<br/>
Use len(<ReferenceBatchRequest>).
ReferenceBatchRequest.get_reference() DEPRECATED -> ReferenceBatchRequest.add()<br/> Due to redundancy on name level.
ActionsBatchReference -> ObjectsBatchRequest <br/> Due to removal of semantic kind (“things/actions”).
ThingsBatchReference -> ObjectsBatchRequest <br/> Due to removal of semantic kind (“things/actions”).
ObjectsBatchRequest.get_objects() DEPRECATED -> ObjectsBatchRequest.add()<br/> Due to redundancy on name level.
Classification.schedule.with_settings() ADDED<br/> Set additional settings for your classification.
SOURCE_WHERE_FILTER, TRAINING_SET_WHERE_FILTER, TARGET_WHERE_FILTER global variables were REMOVED.<br/> These global variables were not used anywhere.
Reference.delete(..., from_semantic_type, to_semantic_type) arguments were REMOVED.<br/> Due to removal of semantic kind (“things/actions”).
Reference.update(..., from_semantic_type, to_semantic_type) arguments were REMOVED.<br/> Due to removal of semantic kind (“things/actions”).
Reference.add(..., from_semantic_type, to_semantic_type) arguments were REMOVED.<br/> Due to removal of semantic kind (“things/actions”).
DataObject.create(..., semantic_type) argument was REMOVED.<br/> Due to removal of semantic kind (“things/actions”).
DataObject.merge(..., semantic_type) argument was REMOVED.<br/> Due to removal of semantic kind (“things/actions”).
DataObject.update(..., semantic_type) argument was REMOVED.<br/> Due to removal of semantic kind (“things/actions”).
DataObject.get_by_id(..., semantic_type) argument was REMOVED.<br/> Due to removal of semantic kind (“things/actions”).
DataObject.get_by_id(..., underscore_properties) -> DataObject.get_by_id(..., additional_properties).<br/>
All underscore properties are now clustered into a single field additional.
DataObject.get(..., semantic_type) argument was REMOVED.<br/> Due to removal of semantic kind (“things/actions”).
DataObject.get(..., underscore_properties) -> DataObject.get(..., additional_properties).<br/>
All underscore properties are now clustered into a single field additional.
DataObject.delete(..., semantic_type) argument was REMOVED.<br/> Due to removal of semantic kind (“things/actions”).
DataObject.exists(..., semantic_type) argument was REMOVED.<br/> Due to removal of semantic kind (“things/actions”).
DataObject.validate(..., semantic_type) argument was REMOVED.<br/> Due to removal of semantic kind (“things/actions”).
Query.METHOD .thing(...).with_XXX() -> Query.METHOD(...).with_XXX()<br/> Due to removal of semantic kind (“things/actions”).
Query.METHOD .action(...).with_XXX() -> Query.METHOD(...).with_XXX()<br/> Due to removal of semantic kind (“things/actions”).
build.Builder -> get.GetBuilder<br/> The module and the class was renamed to reflect the GraphQL functionality.
get.GetBuilder.with_explore() -> get.GetBuilder.with_near_text() [this means that it can be accessed as Query.get(...).with_near_text()]<br/> Due to the renaming of explore to nearText.
get.GetBuilder.with_near_vector() is ADDED [this means that it can be accessed as Query.get(...).with_near_vector()]<br/> Due to the addition of a new method nearVector.
filter.Explore -> filter.NearText <br/> Due to the renaming of explore to nearText.
filter.NearVector is ADDED <br/> Due to the addition of a new method nearVector.
Schema.create_class(..., semantic_type) argument was REMOVED.<br/> Due to removal of semantic kind (“things/actions”).
Schema.delete_class(..., semantic_type) argument was REMOVED.<br/> Due to removal of semantic kind (“things/actions”).
Batcher.add_data_object(..., semantic_type) argument was REMOVED.<br/> Due to removal of semantic kind (“things/actions”).
Batcher.add_reference(..., from_semantic_type, to_semantic_type) arguments were REMOVED.<br/> Due to removal of semantic kind (“things/actions”).
Batcher.add_reference(from_thing_class_name, from_thing_uuid, to_thing_uuid, ...) -> Batcher.add_reference(from_object_class_name, from_object_uuid, to_object_uuid, ...).<br/> Due to removal of semantic kind (“things/actions”).
generate_local_beacon(..., semantic_type) argument was REMOVED.<br/> Due to removal of semantic kind (“things/actions”).
is_weaviate_entity_url -> is_weaviate_object_url.<br/> Due to removal of semantic kind (“things/actions”).
ParsedUUID was REMOVED.<br/>
Was used only to check if UUID is valid and return it, now the get_valid_uuid can be used instead
is_semantic_type was REMOVED.<br/> Due to removal of semantic kind (“things/actions”).
get_valid_uuid was ADDED.<br/> Replacement for the ParsedUUID class.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
This release contains the first full implementation of the weaviate API. The client workflow follows the REST API workflow. Full documentation can be
This release contains the first full implementation of the weaviate API. The client workflow follows the REST API workflow. Full documentation can be found on the website.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
get_all semantic types is now available. meta has been replaced with the newer underscore properties. The last pre release missed a package declaratio
get_all semantic types is now available. meta has been replaced with the newer underscore properties. The last pre release missed a package declaration in the setup.py which resulted in an error if the source of the package was not in the python path. This got fixed.
Nothing published for this version
Nothing published for this version
Nothing published for this version
This is the first full release of the client containing all possible operations that are also available over the REST API.
This is the first full release of the client containing all possible operations that are also available over the REST API.
Nothing published for this version
This release contains breaking changes to allow the usage of actions. The API continues to have an *things first approach*.
This release contains breaking changes to allow the usage of actions. The API continues to have an things first approach.
This is a breaking change for reference methods. They require a sematic type now which states if the reference is from a thing or an action to a thing…
This release adds actions.
This is a breaking change for reference methods. They require a sematic type now which states if the reference is from a thing or an action to a thing or an action.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
client.create_thing has a new optional argument vector_weights, that allows the boosting of single words. See the official release notes for more info
client.create_thing has a new optional argument vector_weights, that allows the boosting of single words. See the official release notes for more information.
To support legacy code python 2.7 is now also supported. We encourage to use a python version >= 2.6 if possible though.
Nothing published for this version
client.create_thing has a new optional argument vector_weights, that allows the boosting of single words. See the official release notes for more info
client.create_thing has a new optional argument vector_weights, that allows the boosting of single words. See the official release notes for more information.
Nothing published for this version
Nothing published for this version
The client now offers a function query to execute GraphQL queries on weaviate.
The client now offers a function query to execute GraphQL queries on weaviate.
Nothing published for this version
Creation of schemas has changed to support the vectorization masks introduced in weaviate 0.21.11.
0.21.11.0.21.2Nothing published for this version
Breaking changes: All logic connected to classification has been moved to Client.classification.
New Features:
Breaking changes:
All logic connected to classification has been moved to Client.classification.
Example: Classify products according to their description into a category. Only use products from the same country to classify.
# Create a configuration for a contextual classification
context_configuration = client.classification.get_contextual_config("Product", ["description"], ["hasCategory"])
# Create a filter (assumes that both the source and target class have a property inCountry)
country_filter = {
"operator": "Equal",
"path": ["inCountry"],
"valueString": "Germany"
}
# Add the filters
germany_config = client.classification.add_filter_to_config(
weaviate.SOURCE_WHERE_FILTER, country_filter, context_configuration)
germany_config = client.classification.add_filter_to_config(
weaviate.TARGET_WHERE_FILTER, data_filter, germany_config)
# Classify
classification_info = client.classification.start(germany_config)
while not client.classification.is_classification_complete(classification_info["id"]):
print("Classifying ...")
time.sleep(3.0)
# Change filter
country_filter["valueString"] = "Estonia"
# Add the filter
estonia_config = client.classification.add_filter_to_config(
weaviate.SOURCE_WHERE_FILTER, country_filter, context_configuration)
estonia_config = client.classification.add_filter_to_config(
weaviate.TARGET_WHERE_FILTER, data_filter, estonia_config)
# Classify
classification_info = client.classification.start(estonia_config)
while not client.classification.is_classification_complete(classification_info["id"]):
print("Classifying ...")
time.sleep(3.0)
Nothing published for this version
Nothing published for this version
Nothing published for this version
Schemas specifying index can now be loaded.
New features:
The index keyword is now recognized by the client.
The index keyword is now recognized by the client.
Add function to know weather a schema was already loaded.
Add function to know weather a schema was already loaded.
Adds the patch merge function to partially change a thing within weaviate. Improves the execution of is_reachable to also include testing for backend
Adds the patch merge function to partially change a thing within weaviate.
Improves the execution of is_reachable to also include testing for backend components running.
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →