Labels¶
Add Label to Existing Dataset¶
from crux import Crux
from crux.exceptions import CruxAPIException, CruxClientException
# Set the `CRUX_API_KEY`, `CRUX_API_HOST` environment variables.
# By default `CRUX_API_HOST` will point to Production environment
conn = Crux()
# Custom connection attributes can be set via following
conn = Crux(api_key="123456789", api_host="https://api.example.com")
try:
dataset_object = conn.get_dataset(id="567890")
if dataset_object.add_label("test_label1", "test_value1"):
print("Label added to Dataset")
except CruxAPIException as err:
print(err.status_code, err.error_message)
except CruxClientException as err:
print(err.message)
Get Label from Dataset¶
from crux import Crux
from crux.exceptions import CruxAPIException, CruxClientException
# Set the `CRUX_API_KEY`, `CRUX_API_HOST` environment variables.
# By default `CRUX_API_HOST` will point to Production environment
conn = Crux()
# Custom connection attributes can be set via following
conn = Crux(api_key="123456789", api_host="https://api.example.com")
try:
dataset_object = conn.get_dataset(id="567890")
label = dataset_object.get_label("test_label1")
print(label.label_key, label.label_value)
except CruxAPIException as err:
print(err.status_code, err.error_message)
except CruxClientException as err:
print(err.message)
Delete Label from Dataset¶
from crux import Crux
from crux.exceptions import CruxAPIException, CruxClientException
# Set the `CRUX_API_KEY`, `CRUX_API_HOST` environment variables.
# By default `CRUX_API_HOST` will point to Production environment
conn = Crux()
# Custom connection attributes can be set via following
conn = Crux(api_key="123456789", api_host="https://api.example.com")
try:
dataset_object = conn.get_dataset(id="567890")
if dataset_object.delete_label("test_label1"):
print("Label Deleted from Dataset")
except CruxAPIException as err:
print(err.status_code, err.error_message)
except CruxClientException as err:
print(err.message)
Search Resources in Dataset by Label¶
from crux import Crux
from crux.exceptions import CruxAPIException, CruxClientException
# Set the `CRUX_API_KEY`, `CRUX_API_HOST` environment variables.
# By default `CRUX_API_HOST` will point to Production environment
conn = Crux()
# Custom connection attributes can be set via following
conn = Crux(api_key="123456789", api_host="https://api.example.com")
try:
dataset_object = conn.get_dataset(id="567890")
predicates=[
{"op":"eq","key":"test_label1","val":"test_value1"}
]
resource_list = dataset_object.find_resources_by_label(predicates=predicates)
for resource in resource_list:
resource.download(local_path="/tmp/{file_name}".format(resource.name))
except CruxAPIException as err:
print(err.status_code, err.error_message)
except CruxClientException as err:
print(err.message)
Add Label to Resource¶
from crux import Crux
from crux.exceptions import CruxAPIException, CruxClientException
# Set the `CRUX_API_KEY`, `CRUX_API_HOST` environment variables.
# By default `CRUX_API_HOST` will point to Production environment
conn = Crux()
# Custom connection attributes can be set via following
conn = Crux(api_key="123456789", api_host="https://api.example.com")
try:
dataset_object = conn.get_dataset(id="567890")
file_object = dataset_object.upload_file(
tags=["test_tag1"],
description="test_description",
path="/test_folder1/test_folder2/test_file.csv",
local_path="/tmp/test_file.csv"
)
file_object2 = dataset_object.upload_file(
tags=["test_tag1"],
description="test_description",
path="/test_folder1/test_folder2/test_file2.csv",
local_path="/tmp/test_file.csv"
)
if file_object.add_label("test_label1", "test_value1"):
print("Label added to resource")
if file_object2.add_label("test_label1", "test_value1"):
print("Label added to resource")
except CruxAPIException as err:
print(err.status_code, err.error_message)
except CruxClientException as err:
print(err.message)
Get Label from Resource¶
from crux import Crux
from crux.exceptions import CruxAPIException, CruxClientException
# Set the `CRUX_API_KEY`, `CRUX_API_HOST` environment variables.
# By default `CRUX_API_HOST` will point to Production environment
conn = Crux()
# Custom connection attributes can be set via following
conn = Crux(api_key="123456789", api_host="https://api.example.com")
try:
dataset_object = conn.get_dataset(id="567890")
file_object = dataset_object.get_file(path="/test_folder1/test_folder2/test_file.csv")
file_object2 = dataset_object.get_file(path="/test_folder1/test_folder2/test_file2.csv")
label1 = file_object.get_label("test_label1")
label2 = file_object2.get_label("test_label1")
print(label1.label_value, label2.label_value)
except CruxAPIException as err:
print(err.status_code, err.error_message)
except CruxClientException as err:
print(err.message)
Delete Label from Resource¶
from crux import Crux
from crux.exceptions import CruxAPIException, CruxClientException
# Set the `CRUX_API_KEY`, `CRUX_API_HOST` environment variables.
# By default `CRUX_API_HOST` will point to Production environment
conn = Crux()
# Custom connection attributes can be set via following
conn = Crux(api_key="123456789", api_host="https://api.example.com")
try:
dataset_object = conn.get_dataset(id="567890")
file_object = dataset_object.get_file(path="/test_folder1/test_folder2/test_file.csv")
file_object2 = dataset_object.get_file(path="/test_folder1/test_folder2/test_file2.csv")
if file_object.delete_label("test_label1"):
print("Label Deleted from Resource")
if file_object2.delete_label("test_label1"):
print("Label Deleted from Resource")
except CruxAPIException as err:
print(err.status_code, err.error_message)
except CruxClientException as err:
print(err.message)
Fetch All Labels of Resource¶
from crux import Crux
from crux.exceptions import CruxAPIException, CruxClientException
# Set the `CRUX_API_KEY`, `CRUX_API_HOST` environment variables.
# By default `CRUX_API_HOST` will point to Production environment
conn = Crux()
# Custom connection attributes can be set via following
conn = Crux(api_key="123456789", api_host="https://api.example.com")
try:
dataset_object = conn.get_dataset(id="567890")
file_object = dataset_object.get_file(path="/test_folder1/test_folder2/test_file.csv")
if file_object.add_label("test_label1","test_value1"):
print("Label Deleted from Resource")
if file_object.add_label("test_label2","test_value2"):
print("Label Deleted from Resource")
label_list = file_object.get_all_labels()
for label in label_list:
print(label.label_key, label.label_value)
resource =
except CruxAPIException as err:
print(err.status_code, err.error_message)
except CruxClientException as err:
print(err.message)