hevlayer 0.4.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- hevlayer-0.4.0/.gitignore +53 -0
- hevlayer-0.4.0/CHANGELOG.md +5 -0
- hevlayer-0.4.0/PKG-INFO +143 -0
- hevlayer-0.4.0/README.md +133 -0
- hevlayer-0.4.0/pyproject.toml +18 -0
- hevlayer-0.4.0/src/hevlayer/__init__.py +24 -0
- hevlayer-0.4.0/src/hevlayer/client.py +1355 -0
- hevlayer-0.4.0/src/hevlayer/models.py +1205 -0
- hevlayer-0.4.0/src/hevlayer/py.typed +0 -0
- hevlayer-0.4.0/src/hevlayer/udf.py +128 -0
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Rust
|
|
2
|
+
target/
|
|
3
|
+
|
|
4
|
+
# Node/site
|
|
5
|
+
node_modules/
|
|
6
|
+
site/node_modules/
|
|
7
|
+
site/dist/
|
|
8
|
+
site/.astro/
|
|
9
|
+
|
|
10
|
+
# Python
|
|
11
|
+
__pycache__/
|
|
12
|
+
*.py[cod]
|
|
13
|
+
.venv/
|
|
14
|
+
venv/
|
|
15
|
+
.pytest_cache/
|
|
16
|
+
.ruff_cache/
|
|
17
|
+
|
|
18
|
+
# Terraform
|
|
19
|
+
**/.terraform/
|
|
20
|
+
*.tfstate
|
|
21
|
+
*.tfstate.*
|
|
22
|
+
crash.log
|
|
23
|
+
crash.*.log
|
|
24
|
+
override.tf
|
|
25
|
+
override.tf.json
|
|
26
|
+
*_override.tf
|
|
27
|
+
*_override.tf.json
|
|
28
|
+
*.tfvars
|
|
29
|
+
!*.tfvars.example
|
|
30
|
+
backend.hcl
|
|
31
|
+
|
|
32
|
+
# Secrets and local environment
|
|
33
|
+
.env
|
|
34
|
+
.env.*
|
|
35
|
+
*.local
|
|
36
|
+
.dev.vars
|
|
37
|
+
site/.dev.vars
|
|
38
|
+
.wrangler/
|
|
39
|
+
site/.wrangler/
|
|
40
|
+
scripts/route53-contact.json
|
|
41
|
+
.license-e2e-key.json
|
|
42
|
+
.license-e2e-real-key.json
|
|
43
|
+
.license-e2e-real-report.*.txt
|
|
44
|
+
.license-funnel-report.*.txt
|
|
45
|
+
|
|
46
|
+
# Tooling and OS noise
|
|
47
|
+
.claude/
|
|
48
|
+
.DS_Store
|
|
49
|
+
Thumbs.db
|
|
50
|
+
*.log
|
|
51
|
+
logs/
|
|
52
|
+
|
|
53
|
+
clients/typescript/dist/
|
hevlayer-0.4.0/PKG-INFO
ADDED
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: hevlayer
|
|
3
|
+
Version: 0.4.0
|
|
4
|
+
Summary: Typed async Python client for the hevlayer gateway
|
|
5
|
+
License-Expression: Apache-2.0
|
|
6
|
+
Requires-Python: >=3.11
|
|
7
|
+
Requires-Dist: httpx>=0.27
|
|
8
|
+
Requires-Dist: pydantic>=2
|
|
9
|
+
Description-Content-Type: text/markdown
|
|
10
|
+
|
|
11
|
+
# hevlayer Python SDK
|
|
12
|
+
|
|
13
|
+
Generated by `scripts/sdk-harness generate --lang python` from
|
|
14
|
+
`apps/layer-gateway/openapi.yaml`.
|
|
15
|
+
|
|
16
|
+
## Quickstart
|
|
17
|
+
|
|
18
|
+
```python
|
|
19
|
+
import asyncio
|
|
20
|
+
import os
|
|
21
|
+
|
|
22
|
+
from hevlayer import AsyncHevlayer, QueryRequest
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
async def main() -> None:
|
|
26
|
+
client = AsyncHevlayer(
|
|
27
|
+
api_key=os.environ["HEVLAYER_API_KEY"],
|
|
28
|
+
base_url="https://aws-us-east-1.hevlayer.com",
|
|
29
|
+
)
|
|
30
|
+
async with client:
|
|
31
|
+
response = await client.query_namespace(
|
|
32
|
+
"products",
|
|
33
|
+
QueryRequest(vector=[0.1, 0.2, 0.3], top_k=5, include_attributes=True),
|
|
34
|
+
raw_query="wireless headphones",
|
|
35
|
+
tags=["app:hev-shop", "surface:storefront", "route:search", "page:first"],
|
|
36
|
+
with_perf=True,
|
|
37
|
+
)
|
|
38
|
+
print(response.perf.latency_ms, response.perf.cache_status)
|
|
39
|
+
print(response.data.rows)
|
|
40
|
+
|
|
41
|
+
history = await client.list_search_history(
|
|
42
|
+
"products",
|
|
43
|
+
tags=["app:hev-shop", "route:search", "page:first"],
|
|
44
|
+
limit=20,
|
|
45
|
+
)
|
|
46
|
+
print(history.entries)
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
asyncio.run(main())
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Generated Operations
|
|
53
|
+
|
|
54
|
+
- `authenticate_key`
|
|
55
|
+
- `batch_query_namespace`
|
|
56
|
+
- `branch_namespace`
|
|
57
|
+
- `claim_documents`
|
|
58
|
+
- `claim_udf_items`
|
|
59
|
+
- `complete_udf_items`
|
|
60
|
+
- `copy_namespace`
|
|
61
|
+
- `create_checkpoint`
|
|
62
|
+
- `create_pipeline`
|
|
63
|
+
- `create_scan`
|
|
64
|
+
- `create_snapshot`
|
|
65
|
+
- `create_udf`
|
|
66
|
+
- `delete_key`
|
|
67
|
+
- `delete_namespace`
|
|
68
|
+
- `delete_pipeline`
|
|
69
|
+
- `delete_scan`
|
|
70
|
+
- `delete_udf`
|
|
71
|
+
- `discover_udf`
|
|
72
|
+
- `evaluate_turbopuffer_recall`
|
|
73
|
+
- `explain_turbopuffer_query`
|
|
74
|
+
- `fail_udf_items`
|
|
75
|
+
- `fetch_document`
|
|
76
|
+
- `fetch_documents`
|
|
77
|
+
- `get_blob`
|
|
78
|
+
- `get_checkpoint`
|
|
79
|
+
- `get_cost_rate_card`
|
|
80
|
+
- `get_cost_snapshot`
|
|
81
|
+
- `get_cost_timeseries`
|
|
82
|
+
- `get_key`
|
|
83
|
+
- `get_license`
|
|
84
|
+
- `get_metric_catalog_entry`
|
|
85
|
+
- `get_namespace_metadata`
|
|
86
|
+
- `get_namespace_snapshot`
|
|
87
|
+
- `get_pipeline_document_chunks`
|
|
88
|
+
- `get_pipeline_status`
|
|
89
|
+
- `get_scan`
|
|
90
|
+
- `get_scan_results`
|
|
91
|
+
- `get_snapshot_job`
|
|
92
|
+
- `get_snapshot_policy`
|
|
93
|
+
- `get_turbopuffer_namespace_schema`
|
|
94
|
+
- `get_turbopuffer_v1_namespace_metadata`
|
|
95
|
+
- `get_udf`
|
|
96
|
+
- `get_udf_status`
|
|
97
|
+
- `get_vectorstore`
|
|
98
|
+
- `get_warehouse`
|
|
99
|
+
- `get_warm_job`
|
|
100
|
+
- `heartbeat_documents`
|
|
101
|
+
- `heartbeat_udf_items`
|
|
102
|
+
- `hint_cache_warm`
|
|
103
|
+
- `import_namespace`
|
|
104
|
+
- `init_namespace`
|
|
105
|
+
- `list_checkpoints`
|
|
106
|
+
- `list_clickstream`
|
|
107
|
+
- `list_keys`
|
|
108
|
+
- `list_metrics_catalog`
|
|
109
|
+
- `list_namespace_history`
|
|
110
|
+
- `list_namespaces`
|
|
111
|
+
- `list_pipelines`
|
|
112
|
+
- `list_scans`
|
|
113
|
+
- `list_search_history`
|
|
114
|
+
- `list_snapshot_activity`
|
|
115
|
+
- `list_snapshot_jobs`
|
|
116
|
+
- `list_turbopuffer_namespaces`
|
|
117
|
+
- `list_udfs`
|
|
118
|
+
- `list_vectorstores`
|
|
119
|
+
- `list_warehouses`
|
|
120
|
+
- `list_warm_jobs`
|
|
121
|
+
- `mint_key`
|
|
122
|
+
- `pause_udf`
|
|
123
|
+
- `put_blob`
|
|
124
|
+
- `put_pipeline_document_chunks`
|
|
125
|
+
- `put_pipeline_document_vectors`
|
|
126
|
+
- `put_snapshot_policy`
|
|
127
|
+
- `query`
|
|
128
|
+
- `query_agent`
|
|
129
|
+
- `query_metrics`
|
|
130
|
+
- `query_metrics_api_v1`
|
|
131
|
+
- `query_metrics_range`
|
|
132
|
+
- `query_metrics_range_api_v1`
|
|
133
|
+
- `query_namespace`
|
|
134
|
+
- `query_turbopuffer_namespace`
|
|
135
|
+
- `reset_failed_udf`
|
|
136
|
+
- `resume_udf`
|
|
137
|
+
- `revoke_key`
|
|
138
|
+
- `set_documents_stage`
|
|
139
|
+
- `update_turbopuffer_namespace_metadata`
|
|
140
|
+
- `update_turbopuffer_namespace_schema`
|
|
141
|
+
- `upsert_udf`
|
|
142
|
+
- `warm_cache`
|
|
143
|
+
- `write_namespace`
|
hevlayer-0.4.0/README.md
ADDED
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
# hevlayer Python SDK
|
|
2
|
+
|
|
3
|
+
Generated by `scripts/sdk-harness generate --lang python` from
|
|
4
|
+
`apps/layer-gateway/openapi.yaml`.
|
|
5
|
+
|
|
6
|
+
## Quickstart
|
|
7
|
+
|
|
8
|
+
```python
|
|
9
|
+
import asyncio
|
|
10
|
+
import os
|
|
11
|
+
|
|
12
|
+
from hevlayer import AsyncHevlayer, QueryRequest
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
async def main() -> None:
|
|
16
|
+
client = AsyncHevlayer(
|
|
17
|
+
api_key=os.environ["HEVLAYER_API_KEY"],
|
|
18
|
+
base_url="https://aws-us-east-1.hevlayer.com",
|
|
19
|
+
)
|
|
20
|
+
async with client:
|
|
21
|
+
response = await client.query_namespace(
|
|
22
|
+
"products",
|
|
23
|
+
QueryRequest(vector=[0.1, 0.2, 0.3], top_k=5, include_attributes=True),
|
|
24
|
+
raw_query="wireless headphones",
|
|
25
|
+
tags=["app:hev-shop", "surface:storefront", "route:search", "page:first"],
|
|
26
|
+
with_perf=True,
|
|
27
|
+
)
|
|
28
|
+
print(response.perf.latency_ms, response.perf.cache_status)
|
|
29
|
+
print(response.data.rows)
|
|
30
|
+
|
|
31
|
+
history = await client.list_search_history(
|
|
32
|
+
"products",
|
|
33
|
+
tags=["app:hev-shop", "route:search", "page:first"],
|
|
34
|
+
limit=20,
|
|
35
|
+
)
|
|
36
|
+
print(history.entries)
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
asyncio.run(main())
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Generated Operations
|
|
43
|
+
|
|
44
|
+
- `authenticate_key`
|
|
45
|
+
- `batch_query_namespace`
|
|
46
|
+
- `branch_namespace`
|
|
47
|
+
- `claim_documents`
|
|
48
|
+
- `claim_udf_items`
|
|
49
|
+
- `complete_udf_items`
|
|
50
|
+
- `copy_namespace`
|
|
51
|
+
- `create_checkpoint`
|
|
52
|
+
- `create_pipeline`
|
|
53
|
+
- `create_scan`
|
|
54
|
+
- `create_snapshot`
|
|
55
|
+
- `create_udf`
|
|
56
|
+
- `delete_key`
|
|
57
|
+
- `delete_namespace`
|
|
58
|
+
- `delete_pipeline`
|
|
59
|
+
- `delete_scan`
|
|
60
|
+
- `delete_udf`
|
|
61
|
+
- `discover_udf`
|
|
62
|
+
- `evaluate_turbopuffer_recall`
|
|
63
|
+
- `explain_turbopuffer_query`
|
|
64
|
+
- `fail_udf_items`
|
|
65
|
+
- `fetch_document`
|
|
66
|
+
- `fetch_documents`
|
|
67
|
+
- `get_blob`
|
|
68
|
+
- `get_checkpoint`
|
|
69
|
+
- `get_cost_rate_card`
|
|
70
|
+
- `get_cost_snapshot`
|
|
71
|
+
- `get_cost_timeseries`
|
|
72
|
+
- `get_key`
|
|
73
|
+
- `get_license`
|
|
74
|
+
- `get_metric_catalog_entry`
|
|
75
|
+
- `get_namespace_metadata`
|
|
76
|
+
- `get_namespace_snapshot`
|
|
77
|
+
- `get_pipeline_document_chunks`
|
|
78
|
+
- `get_pipeline_status`
|
|
79
|
+
- `get_scan`
|
|
80
|
+
- `get_scan_results`
|
|
81
|
+
- `get_snapshot_job`
|
|
82
|
+
- `get_snapshot_policy`
|
|
83
|
+
- `get_turbopuffer_namespace_schema`
|
|
84
|
+
- `get_turbopuffer_v1_namespace_metadata`
|
|
85
|
+
- `get_udf`
|
|
86
|
+
- `get_udf_status`
|
|
87
|
+
- `get_vectorstore`
|
|
88
|
+
- `get_warehouse`
|
|
89
|
+
- `get_warm_job`
|
|
90
|
+
- `heartbeat_documents`
|
|
91
|
+
- `heartbeat_udf_items`
|
|
92
|
+
- `hint_cache_warm`
|
|
93
|
+
- `import_namespace`
|
|
94
|
+
- `init_namespace`
|
|
95
|
+
- `list_checkpoints`
|
|
96
|
+
- `list_clickstream`
|
|
97
|
+
- `list_keys`
|
|
98
|
+
- `list_metrics_catalog`
|
|
99
|
+
- `list_namespace_history`
|
|
100
|
+
- `list_namespaces`
|
|
101
|
+
- `list_pipelines`
|
|
102
|
+
- `list_scans`
|
|
103
|
+
- `list_search_history`
|
|
104
|
+
- `list_snapshot_activity`
|
|
105
|
+
- `list_snapshot_jobs`
|
|
106
|
+
- `list_turbopuffer_namespaces`
|
|
107
|
+
- `list_udfs`
|
|
108
|
+
- `list_vectorstores`
|
|
109
|
+
- `list_warehouses`
|
|
110
|
+
- `list_warm_jobs`
|
|
111
|
+
- `mint_key`
|
|
112
|
+
- `pause_udf`
|
|
113
|
+
- `put_blob`
|
|
114
|
+
- `put_pipeline_document_chunks`
|
|
115
|
+
- `put_pipeline_document_vectors`
|
|
116
|
+
- `put_snapshot_policy`
|
|
117
|
+
- `query`
|
|
118
|
+
- `query_agent`
|
|
119
|
+
- `query_metrics`
|
|
120
|
+
- `query_metrics_api_v1`
|
|
121
|
+
- `query_metrics_range`
|
|
122
|
+
- `query_metrics_range_api_v1`
|
|
123
|
+
- `query_namespace`
|
|
124
|
+
- `query_turbopuffer_namespace`
|
|
125
|
+
- `reset_failed_udf`
|
|
126
|
+
- `resume_udf`
|
|
127
|
+
- `revoke_key`
|
|
128
|
+
- `set_documents_stage`
|
|
129
|
+
- `update_turbopuffer_namespace_metadata`
|
|
130
|
+
- `update_turbopuffer_namespace_schema`
|
|
131
|
+
- `upsert_udf`
|
|
132
|
+
- `warm_cache`
|
|
133
|
+
- `write_namespace`
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["hatchling"]
|
|
3
|
+
build-backend = "hatchling.build"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "hevlayer"
|
|
7
|
+
version = "0.4.0"
|
|
8
|
+
description = "Typed async Python client for the hevlayer gateway"
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
requires-python = ">=3.11"
|
|
11
|
+
license = "Apache-2.0"
|
|
12
|
+
dependencies = [
|
|
13
|
+
"httpx>=0.27",
|
|
14
|
+
"pydantic>=2",
|
|
15
|
+
]
|
|
16
|
+
|
|
17
|
+
[tool.hatch.build.targets.wheel]
|
|
18
|
+
packages = ["src/hevlayer"]
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import warnings
|
|
2
|
+
|
|
3
|
+
warnings.filterwarnings(
|
|
4
|
+
"ignore",
|
|
5
|
+
message=r'Field name "schema" in "NamespaceMetadata" shadows an attribute in parent "BaseModel"',
|
|
6
|
+
category=UserWarning,
|
|
7
|
+
)
|
|
8
|
+
|
|
9
|
+
from .client import AsyncHevlayer, HevlayerError, HevlayerProtocol, LayerPerf, LayerResponse
|
|
10
|
+
from .models import *
|
|
11
|
+
from .udf import PermanentError, TpufClient, TransientError, run_udf_worker, udf
|
|
12
|
+
|
|
13
|
+
__all__ = [
|
|
14
|
+
"AsyncHevlayer",
|
|
15
|
+
"HevlayerError",
|
|
16
|
+
"HevlayerProtocol",
|
|
17
|
+
"LayerPerf",
|
|
18
|
+
"LayerResponse",
|
|
19
|
+
"PermanentError",
|
|
20
|
+
"TpufClient",
|
|
21
|
+
"TransientError",
|
|
22
|
+
"run_udf_worker",
|
|
23
|
+
"udf",
|
|
24
|
+
]
|