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
38 changes: 38 additions & 0 deletions examples/add_metric_data_arrow_example.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
from cvec import CVec
from cvec.models.metric import MetricDataPoint
from datetime import datetime, timezone
import random
import os


def main() -> None:
cvec = CVec(
host=os.environ.get("CVEC_HOST", "https://your-subdomain.cvector.dev"),
email=os.environ.get("CVEC_EMAIL", "your-email@cvector.app"),
password=os.environ.get("CVEC_PASSWORD", "your-password"),
publishable_key=os.environ.get(
"CVEC_PUBLISHABLE_KEY", "your-cvec-publishable-key"
),
)
test_metric_name = "python-sdk/test"
print("\nAdding new metric data using Arrow...")
new_data = [
MetricDataPoint(
name=test_metric_name,
time=datetime.now(timezone.utc),
value_double=random.random() * 100.0,
value_string=None,
),
MetricDataPoint(
name=test_metric_name,
time=datetime.now(timezone.utc),
value_double=random.random() * 100.0,
value_string=None,
),
]
cvec.add_metric_data(new_data, use_arrow=True)
print("Data added successfully")


if __name__ == "__main__":
main()
38 changes: 38 additions & 0 deletions examples/add_metric_data_example.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
from cvec import CVec
from cvec.models.metric import MetricDataPoint
from datetime import datetime, timezone
import random
import os


def main() -> None:
cvec = CVec(
host=os.environ.get("CVEC_HOST", "https://your-subdomain.cvector.dev"),
email=os.environ.get("CVEC_EMAIL", "your-email@cvector.app"),
password=os.environ.get("CVEC_PASSWORD", "your-password"),
publishable_key=os.environ.get(
"CVEC_PUBLISHABLE_KEY", "your-cvec-publishable-key"
),
)
test_metric_name = "python-sdk/test"
print("\nAdding new metric data...")
new_data = [
MetricDataPoint(
name=test_metric_name,
time=datetime.now(timezone.utc),
value_double=random.random() * 100.0,
value_string=None,
),
MetricDataPoint(
name=test_metric_name,
time=datetime.now(timezone.utc),
value_double=random.random() * 100.0,
value_string=None,
),
]
cvec.add_metric_data(new_data, use_arrow=False)
print("Data added successfully")


if __name__ == "__main__":
main()
30 changes: 30 additions & 0 deletions examples/get_metric_arrow_example.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
from cvec import CVec
import io
import pyarrow.ipc as ipc # type: ignore[import-untyped]
import os


def main() -> None:
cvec = CVec(
host=os.environ.get("CVEC_HOST", "https://your-subdomain.cvector.dev"),
email=os.environ.get("CVEC_EMAIL", "your-email@cvector.app"),
password=os.environ.get("CVEC_PASSWORD", "your-password"),
publishable_key=os.environ.get(
"CVEC_PUBLISHABLE_KEY", "your-cvec-publishable-key"
),
)
test_metric_name = "python-sdk/test"
print("\nGetting metric data as Arrow...")
arrow_data = cvec.get_metric_arrow(names=[test_metric_name])
reader = ipc.open_file(io.BytesIO(arrow_data))
table = reader.read_all()
print(f"Arrow table shape: {len(table)} rows")
print("\nFirst few rows:")
for i in range(min(5, len(table))):
print(
f"- {table['name'][i].as_py()}: {table['value_double'][i].as_py() or table['value_string'][i].as_py()} at {table['time'][i].as_py()}"
)


if __name__ == "__main__":
main()
25 changes: 25 additions & 0 deletions examples/get_metric_data_objects_example.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
from cvec import CVec
import os


def main() -> None:
cvec = CVec(
host=os.environ.get("CVEC_HOST", "https://your-subdomain.cvector.dev"),
email=os.environ.get("CVEC_EMAIL", "your-email@cvector.app"),
password=os.environ.get("CVEC_PASSWORD", "your-password"),
publishable_key=os.environ.get(
"CVEC_PUBLISHABLE_KEY", "your-cvec-publishable-key"
),
)
test_metric_name = "python-sdk/test"
print("\nGetting metric data as objects...")
data_points = cvec.get_metric_data(names=[test_metric_name])
print(f"Found {len(data_points)} data points")
for point in data_points[:3]:
print(
f"- {point.name}: {point.value_double or point.value_string} at {point.time}"
)


if __name__ == "__main__":
main()
24 changes: 24 additions & 0 deletions examples/get_metrics_example.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
from cvec import CVec
import os


def main() -> None:
cvec = CVec(
host=os.environ.get(
"CVEC_HOST", "https://your-subdomain.cvector.dev"
), # Replace with your API host
email=os.environ.get("CVEC_EMAIL", "your-email@cvector.app"),
password=os.environ.get("CVEC_PASSWORD", "your-password"),
publishable_key=os.environ.get(
"CVEC_PUBLISHABLE_KEY", "your-cvec-publishable-key"
),
)
print("\nGetting available metrics...")
metrics = cvec.get_metrics()
print(f"Found {len(metrics)} metrics")
for metric in metrics:
print(f"- {metric.name}")


if __name__ == "__main__":
main()
29 changes: 29 additions & 0 deletions examples/get_spans_example.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
from cvec import CVec
import os


def main() -> None:
cvec = CVec(
host=os.environ.get("CVEC_HOST", "https://your-subdomain.cvector.dev"),
email=os.environ.get("CVEC_EMAIL", "your-email@cvector.app"),
password=os.environ.get("CVEC_PASSWORD", "your-password"),
publishable_key=os.environ.get(
"CVEC_PUBLISHABLE_KEY", "your-cvec-publishable-key"
),
)
metrics = cvec.get_metrics()
if metrics:
metric_name = metrics[0].name
print(f"\nGetting spans for metric '{metric_name}'...")
spans = cvec.get_spans(metric_name, limit=5)
print(f"Found {len(spans)} spans")
for span in spans:
print(
f"- Value: {span.value} from {span.raw_start_at} to {span.raw_end_at}"
)
else:
print("No metrics found to get spans.")


if __name__ == "__main__":
main()
Loading