chalk-remote-call-python 0.0.0__tar.gz → 1.2.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.
- {chalk_remote_call_python-0.0.0 → chalk_remote_call_python-1.2.0}/PKG-INFO +11 -7
- {chalk_remote_call_python-0.0.0 → chalk_remote_call_python-1.2.0}/README.md +10 -6
- chalk_remote_call_python-1.2.0/chalk_remote_call/__init__.py +4 -0
- chalk_remote_call_python-1.2.0/chalk_remote_call/_gen/chalk/auth/v1/permissions_pb2.py +99 -0
- chalk_remote_call_python-1.2.0/chalk_remote_call/_gen/chalk/auth/v1/permissions_pb2_grpc.py +4 -0
- chalk_remote_call_python-1.2.0/chalk_remote_call/_gen/chalk/common/__init__.py +0 -0
- chalk_remote_call_python-1.2.0/chalk_remote_call/_gen/chalk/common/v1/__init__.py +0 -0
- chalk_remote_call_python-1.2.0/chalk_remote_call/_gen/chalk/common/v1/chalk_error_pb2.py +33 -0
- chalk_remote_call_python-1.2.0/chalk_remote_call/_gen/chalk/common/v1/chalk_error_pb2_grpc.py +4 -0
- chalk_remote_call_python-1.2.0/chalk_remote_call/_gen/chalk/runtime/__init__.py +0 -0
- chalk_remote_call_python-1.2.0/chalk_remote_call/_gen/chalk/runtime/v1/__init__.py +0 -0
- chalk_remote_call_python-1.2.0/chalk_remote_call/_gen/chalk/runtime/v1/remote_python_call_pb2.py +64 -0
- chalk_remote_call_python-1.2.0/chalk_remote_call/_gen/chalk/runtime/v1/remote_python_call_pb2_grpc.py +260 -0
- chalk_remote_call_python-1.2.0/chalk_remote_call/_gen/chalk/utils/__init__.py +0 -0
- chalk_remote_call_python-1.2.0/chalk_remote_call/_gen/chalk/utils/v1/__init__.py +0 -0
- chalk_remote_call_python-1.2.0/chalk_remote_call/_gen/chalk/utils/v1/encoding_pb2.py +32 -0
- chalk_remote_call_python-1.2.0/chalk_remote_call/_gen/chalk/utils/v1/encoding_pb2_grpc.py +4 -0
- chalk_remote_call_python-1.2.0/chalk_remote_call/_gen/chalk/utils/v1/field_change_pb2.py +29 -0
- chalk_remote_call_python-1.2.0/chalk_remote_call/_gen/chalk/utils/v1/field_change_pb2_grpc.py +4 -0
- chalk_remote_call_python-1.2.0/chalk_remote_call/_gen/chalk/utils/v1/sensitive_pb2.py +26 -0
- chalk_remote_call_python-1.2.0/chalk_remote_call/_gen/chalk/utils/v1/sensitive_pb2_grpc.py +4 -0
- chalk_remote_call_python-1.2.0/chalk_remote_call/_version.py +1 -0
- {chalk_remote_call_python-0.0.0 → chalk_remote_call_python-1.2.0}/chalk_remote_call/cli.py +20 -3
- {chalk_remote_call_python-0.0.0 → chalk_remote_call_python-1.2.0}/chalk_remote_call/handler_loader.py +19 -8
- {chalk_remote_call_python-0.0.0 → chalk_remote_call_python-1.2.0}/chalk_remote_call/server.py +15 -8
- {chalk_remote_call_python-0.0.0 → chalk_remote_call_python-1.2.0}/chalk_remote_call/servicer.py +39 -0
- {chalk_remote_call_python-0.0.0 → chalk_remote_call_python-1.2.0}/chalk_remote_call_python.egg-info/PKG-INFO +11 -7
- {chalk_remote_call_python-0.0.0 → chalk_remote_call_python-1.2.0}/chalk_remote_call_python.egg-info/SOURCES.txt +18 -0
- {chalk_remote_call_python-0.0.0 → chalk_remote_call_python-1.2.0}/pyproject.toml +3 -0
- chalk_remote_call_python-1.2.0/tests/test_handler_loader.py +99 -0
- {chalk_remote_call_python-0.0.0 → chalk_remote_call_python-1.2.0}/tests/test_servicer.py +104 -1
- chalk_remote_call_python-0.0.0/chalk_remote_call/__init__.py +0 -6
- chalk_remote_call_python-0.0.0/chalk_remote_call/_gen/chalk/runtime/v1/remote_python_call_pb2.py +0 -31
- chalk_remote_call_python-0.0.0/chalk_remote_call/_gen/chalk/runtime/v1/remote_python_call_pb2_grpc.py +0 -66
- {chalk_remote_call_python-0.0.0 → chalk_remote_call_python-1.2.0}/chalk_remote_call/__main__.py +0 -0
- {chalk_remote_call_python-0.0.0 → chalk_remote_call_python-1.2.0}/chalk_remote_call/_gen/__init__.py +0 -0
- {chalk_remote_call_python-0.0.0 → chalk_remote_call_python-1.2.0}/chalk_remote_call/_gen/chalk/__init__.py +0 -0
- {chalk_remote_call_python-0.0.0/chalk_remote_call/_gen/chalk/runtime → chalk_remote_call_python-1.2.0/chalk_remote_call/_gen/chalk/auth}/__init__.py +0 -0
- {chalk_remote_call_python-0.0.0/chalk_remote_call/_gen/chalk/runtime → chalk_remote_call_python-1.2.0/chalk_remote_call/_gen/chalk/auth}/v1/__init__.py +0 -0
- {chalk_remote_call_python-0.0.0 → chalk_remote_call_python-1.2.0}/chalk_remote_call/_native.pyi +0 -0
- {chalk_remote_call_python-0.0.0 → chalk_remote_call_python-1.2.0}/chalk_remote_call/arrow_utils.py +0 -0
- {chalk_remote_call_python-0.0.0 → chalk_remote_call_python-1.2.0}/chalk_remote_call/input_transform.py +0 -0
- {chalk_remote_call_python-0.0.0 → chalk_remote_call_python-1.2.0}/chalk_remote_call_python.egg-info/dependency_links.txt +0 -0
- {chalk_remote_call_python-0.0.0 → chalk_remote_call_python-1.2.0}/chalk_remote_call_python.egg-info/entry_points.txt +0 -0
- {chalk_remote_call_python-0.0.0 → chalk_remote_call_python-1.2.0}/chalk_remote_call_python.egg-info/requires.txt +0 -0
- {chalk_remote_call_python-0.0.0 → chalk_remote_call_python-1.2.0}/chalk_remote_call_python.egg-info/top_level.txt +0 -0
- {chalk_remote_call_python-0.0.0 → chalk_remote_call_python-1.2.0}/setup.cfg +0 -0
- {chalk_remote_call_python-0.0.0 → chalk_remote_call_python-1.2.0}/setup.py +0 -0
- {chalk_remote_call_python-0.0.0 → chalk_remote_call_python-1.2.0}/tests/test_arrow_utils.py +0 -0
- {chalk_remote_call_python-0.0.0 → chalk_remote_call_python-1.2.0}/tests/test_end_to_end.py +0 -0
- {chalk_remote_call_python-0.0.0 → chalk_remote_call_python-1.2.0}/tests/test_error_paths.py +0 -0
- {chalk_remote_call_python-0.0.0 → chalk_remote_call_python-1.2.0}/tests/test_input_transform.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: chalk-remote-call-python
|
|
3
|
-
Version:
|
|
3
|
+
Version: 1.2.0
|
|
4
4
|
Summary: Chalk remote call Python runtime interface client
|
|
5
5
|
Author: Chalk AI, Inc.
|
|
6
6
|
Project-URL: Homepage, https://chalk.ai
|
|
@@ -65,15 +65,18 @@ def handler(event: dict[str, pa.Array], context: dict) -> pa.Array:
|
|
|
65
65
|
|
|
66
66
|
Args:
|
|
67
67
|
event: dict mapping column names to pyarrow.Array values.
|
|
68
|
-
context: dict with request metadata
|
|
69
|
-
- "peer": remote address string
|
|
70
|
-
- "metadata": dict of gRPC headers
|
|
68
|
+
context: dict with request metadata
|
|
71
69
|
|
|
72
70
|
Returns:
|
|
73
71
|
A pyarrow.Array, pyarrow.RecordBatch, pyarrow.Table, list, dict, or scalar.
|
|
74
72
|
The framework auto-converts the result to Arrow IPC for the response.
|
|
75
73
|
"""
|
|
76
74
|
return pc.multiply(event["x"], event["y"])
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
def on_shutdown():
|
|
78
|
+
"""Optional -- runs once after the server stops accepting requests."""
|
|
79
|
+
print("Releasing resources...")
|
|
77
80
|
```
|
|
78
81
|
|
|
79
82
|
### 2. Start the server
|
|
@@ -97,6 +100,7 @@ python -m chalk_remote_call --handler my_handler.handler
|
|
|
97
100
|
| `--host` | `CHALK_REMOTE_CALL_HOST` | `[::]` | Host to bind to |
|
|
98
101
|
| `--workers` | `CHALK_REMOTE_CALL_WORKERS` | `10` | Tokio runtime worker threads |
|
|
99
102
|
| `--on-startup` | | | Dotted path to a startup function |
|
|
103
|
+
| `--on-shutdown` | | | Dotted path to a shutdown function |
|
|
100
104
|
| `--log-level` | | `INFO` | `DEBUG`, `INFO`, `WARNING`, or `ERROR` |
|
|
101
105
|
|
|
102
106
|
### Environment variables
|
|
@@ -115,12 +119,12 @@ WORKDIR /app
|
|
|
115
119
|
RUN pip install chalk-remote-call-python
|
|
116
120
|
|
|
117
121
|
# Copy your handler code
|
|
118
|
-
COPY my_handler.py
|
|
122
|
+
COPY my_handler.py /app
|
|
119
123
|
|
|
120
|
-
# The server listens on port 6666 by default
|
|
121
124
|
EXPOSE 6666
|
|
122
125
|
|
|
123
|
-
ENTRYPOINT ["chalk-remote-call"
|
|
126
|
+
ENTRYPOINT ["chalk-remote-call"]
|
|
127
|
+
CMD ["--handler", "handler.handler"]
|
|
124
128
|
```
|
|
125
129
|
|
|
126
130
|
Build and run:
|
|
@@ -32,15 +32,18 @@ def handler(event: dict[str, pa.Array], context: dict) -> pa.Array:
|
|
|
32
32
|
|
|
33
33
|
Args:
|
|
34
34
|
event: dict mapping column names to pyarrow.Array values.
|
|
35
|
-
context: dict with request metadata
|
|
36
|
-
- "peer": remote address string
|
|
37
|
-
- "metadata": dict of gRPC headers
|
|
35
|
+
context: dict with request metadata
|
|
38
36
|
|
|
39
37
|
Returns:
|
|
40
38
|
A pyarrow.Array, pyarrow.RecordBatch, pyarrow.Table, list, dict, or scalar.
|
|
41
39
|
The framework auto-converts the result to Arrow IPC for the response.
|
|
42
40
|
"""
|
|
43
41
|
return pc.multiply(event["x"], event["y"])
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
def on_shutdown():
|
|
45
|
+
"""Optional -- runs once after the server stops accepting requests."""
|
|
46
|
+
print("Releasing resources...")
|
|
44
47
|
```
|
|
45
48
|
|
|
46
49
|
### 2. Start the server
|
|
@@ -64,6 +67,7 @@ python -m chalk_remote_call --handler my_handler.handler
|
|
|
64
67
|
| `--host` | `CHALK_REMOTE_CALL_HOST` | `[::]` | Host to bind to |
|
|
65
68
|
| `--workers` | `CHALK_REMOTE_CALL_WORKERS` | `10` | Tokio runtime worker threads |
|
|
66
69
|
| `--on-startup` | | | Dotted path to a startup function |
|
|
70
|
+
| `--on-shutdown` | | | Dotted path to a shutdown function |
|
|
67
71
|
| `--log-level` | | `INFO` | `DEBUG`, `INFO`, `WARNING`, or `ERROR` |
|
|
68
72
|
|
|
69
73
|
### Environment variables
|
|
@@ -82,12 +86,12 @@ WORKDIR /app
|
|
|
82
86
|
RUN pip install chalk-remote-call-python
|
|
83
87
|
|
|
84
88
|
# Copy your handler code
|
|
85
|
-
COPY my_handler.py
|
|
89
|
+
COPY my_handler.py /app
|
|
86
90
|
|
|
87
|
-
# The server listens on port 6666 by default
|
|
88
91
|
EXPOSE 6666
|
|
89
92
|
|
|
90
|
-
ENTRYPOINT ["chalk-remote-call"
|
|
93
|
+
ENTRYPOINT ["chalk-remote-call"]
|
|
94
|
+
CMD ["--handler", "handler.handler"]
|
|
91
95
|
```
|
|
92
96
|
|
|
93
97
|
Build and run:
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# source: chalk/auth/v1/permissions.proto
|
|
4
|
+
# Protobuf Python Version: 4.25.3
|
|
5
|
+
"""Generated protocol buffer code."""
|
|
6
|
+
from google.protobuf import descriptor as _descriptor
|
|
7
|
+
from google.protobuf import descriptor_pool as _descriptor_pool
|
|
8
|
+
from google.protobuf import symbol_database as _symbol_database
|
|
9
|
+
from google.protobuf.internal import builder as _builder
|
|
10
|
+
# @@protoc_insertion_point(imports)
|
|
11
|
+
|
|
12
|
+
_sym_db = _symbol_database.Default()
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from chalk_remote_call._gen.chalk.utils.v1 import encoding_pb2 as chalk_dot_utils_dot_v1_dot_encoding__pb2
|
|
16
|
+
from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1f\x63halk/auth/v1/permissions.proto\x12\rchalk.auth.v1\x1a\x1d\x63halk/utils/v1/encoding.proto\x1a google/protobuf/descriptor.proto*\x9b\x1c\n\nPermission\x12R\n\x16PERMISSION_UNSPECIFIED\x10\x00\x1a\x36\xca>%Default value -- should never be set.\xd2>\x0bunspecified\x12O\n#PERMISSION_INSECURE_UNAUTHENTICATED\x10\x01\x1a&\xca>\x18Unauthenticated endpoint\xd2>\x08insecure\x12\x66\n\x18PERMISSION_AUTHENTICATED\x10\x02\x1aH\xca>5User is authenticated, but no permissions are checked\xd2>\rauthenticated\x12\x45\n\x17PERMISSION_QUERY_ONLINE\x10\x03\x1a(\xca>\x16Query online features.\xd2>\x0cquery.online\x12H\n\x18PERMISSION_QUERY_OFFLINE\x10\x04\x1a*\xca>\x17Query offline features.\xd2>\rquery.offline\x12T\n\x1cPERMISSION_MONITORING_CREATE\x10\x05\x1a\x32\xca>\x1b\x43reate a new chart or alert\xd2>\x11monitoring.create\x12J\n\x1aPERMISSION_MONITORING_READ\x10\x06\x1a*\xca>\x15See charts and alerts\xd2>\x0fmonitoring.read\x12L\n\x13PERMISSION_TEAM_ADD\x10\x07\x1a\x33\xca>%Add team members to your organization\xd2>\x08team.add\x12\x41\n\x16PERMISSION_TEAM_DELETE\x10\x08\x1a%\xca>\x14Remove a team member\xd2>\x0bteam.delete\x12R\n\x14PERMISSION_TEAM_LIST\x10\t\x1a\x38\xca>)See the team members in your organization\xd2>\tteam.list\x12\x61\n\x15PERMISSION_TEAM_ADMIN\x10\n\x1a\x46\xca>6Configure authentication options for your organization\xd2>\nteam.admin\x12P\n\x16PERMISSION_DEPLOY_READ\x10\x0b\x1a\x34\xca>#Read information about deployments.\xd2>\x0b\x64\x65ploy.read\x12I\n\x18PERMISSION_DEPLOY_CREATE\x10\x0c\x1a+\xca>\x18\x43reate a new deployment.\xd2>\rdeploy.create\x12R\n\x19PERMISSION_DEPLOY_PREVIEW\x10\r\x1a\x33\xca>\x1f\x43reate a new branch deployment.\xd2>\x0e\x64\x65ploy.preview\x12U\n\x1aPERMISSION_DEPLOY_REDEPLOY\x10\x0e\x1a\x35\xca> Redeploy an existing deployment.\xd2>\x0f\x64\x65ploy.redeploy\x12\x42\n\x14PERMISSION_LOGS_LIST\x10\x0f\x1a(\xca>\x19Read logs from resolvers.\xd2>\tlogs.list\x12\x41\n\x14PERMISSION_CRON_READ\x10\x10\x1a\'\xca>\x18Read the scheduled runs.\xd2>\tcron.read\x12I\n\x16PERMISSION_CRON_CREATE\x10\x11\x1a-\xca>\x1cTrigger a new scheduled run.\xd2>\x0b\x63ron.create\x12Y\n\x18PERMISSION_SECRETS_WRITE\x10\x12\x1a;\xca>(Create, modify, or delete secret values.\xd2>\rsecrets.write\x12K\n\x1aPERMISSION_SECRETS_DECRYPT\x10\x13\x1a+\xca>\x16\x44\x65\x63rypt secret values.\xd2>\x0fsecrets.decrypt\x12\x86\x01\n\x17PERMISSION_SECRETS_LIST\x10\x14\x1ai\xca>WSee the list of available secrets. Reading secrets is not allowed with this permission.\xd2>\x0csecrets.list\x12X\n\x17PERMISSION_TOKENS_WRITE\x10\x15\x1a;\xca>)Create, modify, or delete service tokens.\xd2>\x0ctokens.write\x12p\n\x16PERMISSION_TOKENS_LIST\x10\x16\x1aT\xca>CList the service tokens and see client ids, but not client secrets.\xd2>\x0btokens.list\x12Q\n\x17PERMISSION_MIGRATE_READ\x10\x17\x1a\x34\xca>\"View information about migrations.\xd2>\x0cmigrate.read\x12G\n\x17PERMISSION_MIGRATE_PLAN\x10\x18\x1a*\xca>\x18\x43reate a migration plan.\xd2>\x0cmigrate.plan\x12N\n\x1aPERMISSION_MIGRATE_EXECUTE\x10\x19\x1a.\xca>\x19\x45xecute a migration plan.\xd2>\x0fmigrate.execute\x12G\n\x19PERMISSION_PROJECT_CREATE\x10\x1a\x1a(\xca>\x14\x43reate a new project\xd2>\x0eproject.create\x12=\n\x16PERMISSION_CHALK_ADMIN\x10\x1b\x1a!\xca>\x10\x41\x64minister Chalk\xd2>\x0b\x63halk.admin\x12G\n\x17PERMISSION_BILLING_READ\x10\x1c\x1a*\xca>\x18Read billing information\xd2>\x0c\x62illing.read\x12R\n\x1fPERMISSION_AUTH_SERVICE_MANAGER\x10\x1d\x1a-\xca>\x13Manage Auth Service\xd2>\x14\x61uth_service.manager\x12Z\n\x1ePERMISSION_INFRASTRUCTURE_READ\x10\x1e\x1a\x36\xca>\x1dRead infrastructure workflows\xd2>\x13infrastructure.read\x12i\n\x1fPERMISSION_INFRASTRUCTURE_WRITE\x10\x1f\x1a\x44\xca>*Approve or cancel infrastructure workflows\xd2>\x14infrastructure.write\x12Y\n\x1dPERMISSION_ENVIRONMENT_CREATE\x10 \x1a\x36\xca>\x1e\x43reate and manage environments\xd2>\x12\x65nvironment.create\x12\x9e\x01\n+PERMISSION_INTERNAL_DATAPLANE_STATUS_UPDATE\x10!\x1am\xca>GUpdate container and scaling group status from the dataplane controller\xd2> internal.dataplane_status_update\x1a\x99\x05\xe2\xa1\'\x94\x05\n\x1c\x08\x01\x12\x18insecure_unauthenticated\n\x11\x08\x02\x12\rauthenticated\n\x10\x08\x03\x12\x0cquery.online\n\x11\x08\x04\x12\rquery.offline\n\x15\x08\x05\x12\x11monitoring.create\n\x13\x08\x06\x12\x0fmonitoring.read\n\x0c\x08\x07\x12\x08team.add\n\x0f\x08\x08\x12\x0bteam.delete\n\r\x08\t\x12\tteam.list\n\x0e\x08\n\x12\nteam.admin\n\x0f\x08\x0b\x12\x0b\x64\x65ploy.read\n\x11\x08\x0c\x12\rdeploy.create\n\x12\x08\r\x12\x0e\x64\x65ploy.preview\n\x13\x08\x0e\x12\x0f\x64\x65ploy.redeploy\n\r\x08\x0f\x12\tlogs.list\n\r\x08\x10\x12\tcron.read\n\x0f\x08\x11\x12\x0b\x63ron.create\n\x11\x08\x12\x12\rsecrets.write\n\x13\x08\x13\x12\x0fsecrets.decrypt\n\x10\x08\x14\x12\x0csecrets.list\n\x10\x08\x15\x12\x0ctokens.write\n\x0f\x08\x16\x12\x0btokens.list\n\x10\x08\x17\x12\x0cmigrate.read\n\x10\x08\x18\x12\x0cmigrate.plan\n\x13\x08\x19\x12\x0fmigrate.execute\n\x12\x08\x1a\x12\x0eproject.create\n\x0f\x08\x1b\x12\x0b\x63halk.admin\n\x10\x08\x1c\x12\x0c\x62illing.read\n\x18\x08\x1d\x12\x14\x61uth_service.manager\n\x17\x08\x1e\x12\x13infrastructure.read\n\x18\x08\x1f\x12\x14infrastructure.write\n\x16\x08 \x12\x12\x65nvironment.create\n$\x08!\x12 internal.dataplane_status_update:D\n\x0b\x64\x65scription\x12!.google.protobuf.EnumValueOptions\x18\xe9\x07 \x01(\tR\x0b\x64\x65scription:6\n\x04slug\x12!.google.protobuf.EnumValueOptions\x18\xea\x07 \x01(\tR\x04slug:Z\n\npermission\x12\x1e.google.protobuf.MethodOptions\x18\xd0\x0f \x01(\x0e\x32\x19.chalk.auth.v1.PermissionR\npermission:c\n\x0fteam_permission\x12\x1e.google.protobuf.MethodOptions\x18\xd1\x0f \x01(\x0e\x32\x19.chalk.auth.v1.PermissionR\x0eteamPermissionB\x8b\x01\n\x11\x63om.chalk.auth.v1B\x10PermissionsProtoP\x01Z\x0e\x61uth/v1;authv1\xa2\x02\x03\x43\x41X\xaa\x02\rChalk.Auth.V1\xca\x02\rChalk\\Auth\\V1\xe2\x02\x19\x43halk\\Auth\\V1\\GPBMetadata\xea\x02\x0f\x43halk::Auth::V1b\x06proto3')
|
|
20
|
+
|
|
21
|
+
_globals = globals()
|
|
22
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
23
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chalk.auth.v1.permissions_pb2', _globals)
|
|
24
|
+
if _descriptor._USE_C_DESCRIPTORS == False:
|
|
25
|
+
_globals['DESCRIPTOR']._options = None
|
|
26
|
+
_globals['DESCRIPTOR']._serialized_options = b'\n\021com.chalk.auth.v1B\020PermissionsProtoP\001Z\016auth/v1;authv1\242\002\003CAX\252\002\rChalk.Auth.V1\312\002\rChalk\\Auth\\V1\342\002\031Chalk\\Auth\\V1\\GPBMetadata\352\002\017Chalk::Auth::V1'
|
|
27
|
+
_globals['_PERMISSION']._options = None
|
|
28
|
+
_globals['_PERMISSION']._serialized_options = b'\342\241\'\224\005\n\034\010\001\022\030insecure_unauthenticated\n\021\010\002\022\rauthenticated\n\020\010\003\022\014query.online\n\021\010\004\022\rquery.offline\n\025\010\005\022\021monitoring.create\n\023\010\006\022\017monitoring.read\n\014\010\007\022\010team.add\n\017\010\010\022\013team.delete\n\r\010\t\022\tteam.list\n\016\010\n\022\nteam.admin\n\017\010\013\022\013deploy.read\n\021\010\014\022\rdeploy.create\n\022\010\r\022\016deploy.preview\n\023\010\016\022\017deploy.redeploy\n\r\010\017\022\tlogs.list\n\r\010\020\022\tcron.read\n\017\010\021\022\013cron.create\n\021\010\022\022\rsecrets.write\n\023\010\023\022\017secrets.decrypt\n\020\010\024\022\014secrets.list\n\020\010\025\022\014tokens.write\n\017\010\026\022\013tokens.list\n\020\010\027\022\014migrate.read\n\020\010\030\022\014migrate.plan\n\023\010\031\022\017migrate.execute\n\022\010\032\022\016project.create\n\017\010\033\022\013chalk.admin\n\020\010\034\022\014billing.read\n\030\010\035\022\024auth_service.manager\n\027\010\036\022\023infrastructure.read\n\030\010\037\022\024infrastructure.write\n\026\010 \022\022environment.create\n$\010!\022 internal.dataplane_status_update'
|
|
29
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_UNSPECIFIED"]._options = None
|
|
30
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_UNSPECIFIED"]._serialized_options = b'\312>%Default value -- should never be set.\322>\013unspecified'
|
|
31
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_INSECURE_UNAUTHENTICATED"]._options = None
|
|
32
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_INSECURE_UNAUTHENTICATED"]._serialized_options = b'\312>\030Unauthenticated endpoint\322>\010insecure'
|
|
33
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_AUTHENTICATED"]._options = None
|
|
34
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_AUTHENTICATED"]._serialized_options = b'\312>5User is authenticated, but no permissions are checked\322>\rauthenticated'
|
|
35
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_QUERY_ONLINE"]._options = None
|
|
36
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_QUERY_ONLINE"]._serialized_options = b'\312>\026Query online features.\322>\014query.online'
|
|
37
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_QUERY_OFFLINE"]._options = None
|
|
38
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_QUERY_OFFLINE"]._serialized_options = b'\312>\027Query offline features.\322>\rquery.offline'
|
|
39
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_MONITORING_CREATE"]._options = None
|
|
40
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_MONITORING_CREATE"]._serialized_options = b'\312>\033Create a new chart or alert\322>\021monitoring.create'
|
|
41
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_MONITORING_READ"]._options = None
|
|
42
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_MONITORING_READ"]._serialized_options = b'\312>\025See charts and alerts\322>\017monitoring.read'
|
|
43
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_TEAM_ADD"]._options = None
|
|
44
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_TEAM_ADD"]._serialized_options = b'\312>%Add team members to your organization\322>\010team.add'
|
|
45
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_TEAM_DELETE"]._options = None
|
|
46
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_TEAM_DELETE"]._serialized_options = b'\312>\024Remove a team member\322>\013team.delete'
|
|
47
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_TEAM_LIST"]._options = None
|
|
48
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_TEAM_LIST"]._serialized_options = b'\312>)See the team members in your organization\322>\tteam.list'
|
|
49
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_TEAM_ADMIN"]._options = None
|
|
50
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_TEAM_ADMIN"]._serialized_options = b'\312>6Configure authentication options for your organization\322>\nteam.admin'
|
|
51
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_DEPLOY_READ"]._options = None
|
|
52
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_DEPLOY_READ"]._serialized_options = b'\312>#Read information about deployments.\322>\013deploy.read'
|
|
53
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_DEPLOY_CREATE"]._options = None
|
|
54
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_DEPLOY_CREATE"]._serialized_options = b'\312>\030Create a new deployment.\322>\rdeploy.create'
|
|
55
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_DEPLOY_PREVIEW"]._options = None
|
|
56
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_DEPLOY_PREVIEW"]._serialized_options = b'\312>\037Create a new branch deployment.\322>\016deploy.preview'
|
|
57
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_DEPLOY_REDEPLOY"]._options = None
|
|
58
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_DEPLOY_REDEPLOY"]._serialized_options = b'\312> Redeploy an existing deployment.\322>\017deploy.redeploy'
|
|
59
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_LOGS_LIST"]._options = None
|
|
60
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_LOGS_LIST"]._serialized_options = b'\312>\031Read logs from resolvers.\322>\tlogs.list'
|
|
61
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_CRON_READ"]._options = None
|
|
62
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_CRON_READ"]._serialized_options = b'\312>\030Read the scheduled runs.\322>\tcron.read'
|
|
63
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_CRON_CREATE"]._options = None
|
|
64
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_CRON_CREATE"]._serialized_options = b'\312>\034Trigger a new scheduled run.\322>\013cron.create'
|
|
65
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_SECRETS_WRITE"]._options = None
|
|
66
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_SECRETS_WRITE"]._serialized_options = b'\312>(Create, modify, or delete secret values.\322>\rsecrets.write'
|
|
67
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_SECRETS_DECRYPT"]._options = None
|
|
68
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_SECRETS_DECRYPT"]._serialized_options = b'\312>\026Decrypt secret values.\322>\017secrets.decrypt'
|
|
69
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_SECRETS_LIST"]._options = None
|
|
70
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_SECRETS_LIST"]._serialized_options = b'\312>WSee the list of available secrets. Reading secrets is not allowed with this permission.\322>\014secrets.list'
|
|
71
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_TOKENS_WRITE"]._options = None
|
|
72
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_TOKENS_WRITE"]._serialized_options = b'\312>)Create, modify, or delete service tokens.\322>\014tokens.write'
|
|
73
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_TOKENS_LIST"]._options = None
|
|
74
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_TOKENS_LIST"]._serialized_options = b'\312>CList the service tokens and see client ids, but not client secrets.\322>\013tokens.list'
|
|
75
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_MIGRATE_READ"]._options = None
|
|
76
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_MIGRATE_READ"]._serialized_options = b'\312>\"View information about migrations.\322>\014migrate.read'
|
|
77
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_MIGRATE_PLAN"]._options = None
|
|
78
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_MIGRATE_PLAN"]._serialized_options = b'\312>\030Create a migration plan.\322>\014migrate.plan'
|
|
79
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_MIGRATE_EXECUTE"]._options = None
|
|
80
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_MIGRATE_EXECUTE"]._serialized_options = b'\312>\031Execute a migration plan.\322>\017migrate.execute'
|
|
81
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_PROJECT_CREATE"]._options = None
|
|
82
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_PROJECT_CREATE"]._serialized_options = b'\312>\024Create a new project\322>\016project.create'
|
|
83
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_CHALK_ADMIN"]._options = None
|
|
84
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_CHALK_ADMIN"]._serialized_options = b'\312>\020Administer Chalk\322>\013chalk.admin'
|
|
85
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_BILLING_READ"]._options = None
|
|
86
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_BILLING_READ"]._serialized_options = b'\312>\030Read billing information\322>\014billing.read'
|
|
87
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_AUTH_SERVICE_MANAGER"]._options = None
|
|
88
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_AUTH_SERVICE_MANAGER"]._serialized_options = b'\312>\023Manage Auth Service\322>\024auth_service.manager'
|
|
89
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_INFRASTRUCTURE_READ"]._options = None
|
|
90
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_INFRASTRUCTURE_READ"]._serialized_options = b'\312>\035Read infrastructure workflows\322>\023infrastructure.read'
|
|
91
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_INFRASTRUCTURE_WRITE"]._options = None
|
|
92
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_INFRASTRUCTURE_WRITE"]._serialized_options = b'\312>*Approve or cancel infrastructure workflows\322>\024infrastructure.write'
|
|
93
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_ENVIRONMENT_CREATE"]._options = None
|
|
94
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_ENVIRONMENT_CREATE"]._serialized_options = b'\312>\036Create and manage environments\322>\022environment.create'
|
|
95
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_INTERNAL_DATAPLANE_STATUS_UPDATE"]._options = None
|
|
96
|
+
_globals['_PERMISSION'].values_by_name["PERMISSION_INTERNAL_DATAPLANE_STATUS_UPDATE"]._serialized_options = b'\312>GUpdate container and scaling group status from the dataplane controller\322> internal.dataplane_status_update'
|
|
97
|
+
_globals['_PERMISSION']._serialized_start=116
|
|
98
|
+
_globals['_PERMISSION']._serialized_end=3727
|
|
99
|
+
# @@protoc_insertion_point(module_scope)
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# source: chalk/common/v1/chalk_error.proto
|
|
4
|
+
# Protobuf Python Version: 4.25.3
|
|
5
|
+
"""Generated protocol buffer code."""
|
|
6
|
+
from google.protobuf import descriptor as _descriptor
|
|
7
|
+
from google.protobuf import descriptor_pool as _descriptor_pool
|
|
8
|
+
from google.protobuf import symbol_database as _symbol_database
|
|
9
|
+
from google.protobuf.internal import builder as _builder
|
|
10
|
+
# @@protoc_insertion_point(imports)
|
|
11
|
+
|
|
12
|
+
_sym_db = _symbol_database.Default()
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!chalk/common/v1/chalk_error.proto\x12\x0f\x63halk.common.v1\"\x8f\x01\n\x0e\x43halkException\x12\x12\n\x04kind\x18\x01 \x01(\tR\x04kind\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message\x12\x1e\n\nstacktrace\x18\x03 \x01(\tR\nstacktrace\x12/\n\x13internal_stacktrace\x18\x04 \x01(\tR\x12internalStacktrace\"\xe6\x03\n\nChalkError\x12.\n\x04\x63ode\x18\x01 \x01(\x0e\x32\x1a.chalk.common.v1.ErrorCodeR\x04\x63ode\x12>\n\x08\x63\x61tegory\x18\x02 \x01(\x0e\x32\".chalk.common.v1.ErrorCodeCategoryR\x08\x63\x61tegory\x12\x18\n\x07message\x18\x03 \x01(\tR\x07message\x12\x33\n\x13\x64isplay_primary_key\x18\x65 \x01(\tH\x00R\x11\x64isplayPrimaryKey\x88\x01\x01\x12:\n\x17\x64isplay_primary_key_fqn\x18\x66 \x01(\tH\x01R\x14\x64isplayPrimaryKeyFqn\x88\x01\x01\x12\x42\n\texception\x18g \x01(\x0b\x32\x1f.chalk.common.v1.ChalkExceptionH\x02R\texception\x88\x01\x01\x12\x1d\n\x07\x66\x65\x61ture\x18h \x01(\tH\x03R\x07\x66\x65\x61ture\x88\x01\x01\x12\x1f\n\x08resolver\x18i \x01(\tH\x04R\x08resolver\x88\x01\x01\x42\x16\n\x14_display_primary_keyB\x1a\n\x18_display_primary_key_fqnB\x0c\n\n_exceptionB\n\n\x08_featureB\x0b\n\t_resolver*\x99\x03\n\tErrorCode\x12\x30\n,ERROR_CODE_INTERNAL_SERVER_ERROR_UNSPECIFIED\x10\x00\x12\x1b\n\x17\x45RROR_CODE_PARSE_FAILED\x10\x01\x12!\n\x1d\x45RROR_CODE_RESOLVER_NOT_FOUND\x10\x02\x12\x1c\n\x18\x45RROR_CODE_INVALID_QUERY\x10\x03\x12 \n\x1c\x45RROR_CODE_VALIDATION_FAILED\x10\x04\x12\x1e\n\x1a\x45RROR_CODE_RESOLVER_FAILED\x10\x05\x12!\n\x1d\x45RROR_CODE_RESOLVER_TIMED_OUT\x10\x06\x12\x1e\n\x1a\x45RROR_CODE_UPSTREAM_FAILED\x10\x07\x12\x1e\n\x1a\x45RROR_CODE_UNAUTHENTICATED\x10\x08\x12\x1b\n\x17\x45RROR_CODE_UNAUTHORIZED\x10\t\x12\x18\n\x14\x45RROR_CODE_CANCELLED\x10\n\x12 \n\x1c\x45RROR_CODE_DEADLINE_EXCEEDED\x10\x0b*\x80\x01\n\x11\x45rrorCodeCategory\x12+\n\'ERROR_CODE_CATEGORY_NETWORK_UNSPECIFIED\x10\x00\x12\x1f\n\x1b\x45RROR_CODE_CATEGORY_REQUEST\x10\x01\x12\x1d\n\x19\x45RROR_CODE_CATEGORY_FIELD\x10\x02\x42\x84\x01\n\x13\x63om.chalk.common.v1B\x0f\x43halkErrorProtoP\x01\xa2\x02\x03\x43\x43X\xaa\x02\x0f\x43halk.Common.V1\xca\x02\x0f\x43halk\\Common\\V1\xe2\x02\x1b\x43halk\\Common\\V1\\GPBMetadata\xea\x02\x11\x43halk::Common::V1b\x06proto3')
|
|
18
|
+
|
|
19
|
+
_globals = globals()
|
|
20
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
21
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chalk.common.v1.chalk_error_pb2', _globals)
|
|
22
|
+
if _descriptor._USE_C_DESCRIPTORS == False:
|
|
23
|
+
_globals['DESCRIPTOR']._options = None
|
|
24
|
+
_globals['DESCRIPTOR']._serialized_options = b'\n\023com.chalk.common.v1B\017ChalkErrorProtoP\001\242\002\003CCX\252\002\017Chalk.Common.V1\312\002\017Chalk\\Common\\V1\342\002\033Chalk\\Common\\V1\\GPBMetadata\352\002\021Chalk::Common::V1'
|
|
25
|
+
_globals['_ERRORCODE']._serialized_start=690
|
|
26
|
+
_globals['_ERRORCODE']._serialized_end=1099
|
|
27
|
+
_globals['_ERRORCODECATEGORY']._serialized_start=1102
|
|
28
|
+
_globals['_ERRORCODECATEGORY']._serialized_end=1230
|
|
29
|
+
_globals['_CHALKEXCEPTION']._serialized_start=55
|
|
30
|
+
_globals['_CHALKEXCEPTION']._serialized_end=198
|
|
31
|
+
_globals['_CHALKERROR']._serialized_start=201
|
|
32
|
+
_globals['_CHALKERROR']._serialized_end=687
|
|
33
|
+
# @@protoc_insertion_point(module_scope)
|
|
File without changes
|
|
File without changes
|
chalk_remote_call_python-1.2.0/chalk_remote_call/_gen/chalk/runtime/v1/remote_python_call_pb2.py
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# source: chalk/runtime/v1/remote_python_call.proto
|
|
4
|
+
# Protobuf Python Version: 4.25.3
|
|
5
|
+
"""Generated protocol buffer code."""
|
|
6
|
+
from google.protobuf import descriptor as _descriptor
|
|
7
|
+
from google.protobuf import descriptor_pool as _descriptor_pool
|
|
8
|
+
from google.protobuf import symbol_database as _symbol_database
|
|
9
|
+
from google.protobuf.internal import builder as _builder
|
|
10
|
+
# @@protoc_insertion_point(imports)
|
|
11
|
+
|
|
12
|
+
_sym_db = _symbol_database.Default()
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from chalk_remote_call._gen.chalk.auth.v1 import permissions_pb2 as chalk_dot_auth_dot_v1_dot_permissions__pb2
|
|
16
|
+
from chalk_remote_call._gen.chalk.common.v1 import chalk_error_pb2 as chalk_dot_common_dot_v1_dot_chalk__error__pb2
|
|
17
|
+
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)chalk/runtime/v1/remote_python_call.proto\x12\x10\x63halk.runtime.v1\x1a\x1f\x63halk/auth/v1/permissions.proto\x1a!chalk/common/v1/chalk_error.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"P\n\x13\x43\x61llFunctionRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12%\n\x0e\x66\x65\x61ther_stream\x18\x02 \x01(\x0cR\rfeatherStream\"=\n\x14\x43\x61llFunctionResponse\x12%\n\x0e\x66\x65\x61ther_stream\x18\x01 \x01(\x0cR\rfeatherStream\"m\n\x0eRemoteCallArgs\x12%\n\rfeather_bytes\x18\x01 \x01(\x0cH\x00R\x0c\x66\x65\x61therBytes\x12,\n\x11storage_object_id\x18\x02 \x01(\tH\x00R\x0fstorageObjectIdB\x06\n\x04\x61rgs\"d\n\x18\x45nqueueRemoteCallRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x34\n\x04\x61rgs\x18\x02 \x01(\x0b\x32 .chalk.runtime.v1.RemoteCallArgsR\x04\x61rgs\"4\n\x19\x45nqueueRemoteCallResponse\x12\x17\n\x07\x63\x61ll_id\x18\x01 \x01(\tR\x06\x63\x61llId\"H\n\x15PollRemoteCallRequest\x12\x17\n\x07\x63\x61ll_id\x18\x01 \x01(\tR\x06\x63\x61llId\x12\x16\n\x06\x63ursor\x18\x02 \x01(\tR\x06\x63ursor\"\xe3\x01\n\x16PollRemoteCallResponse\x12:\n\x06status\x18\x01 \x01(\x0e\x32\".chalk.runtime.v1.RemoteCallStatusR\x06status\x12@\n\x07results\x18\x02 \x03(\x0b\x32&.chalk.runtime.v1.CallFunctionResponseR\x07results\x12\x16\n\x06\x63ursor\x18\x03 \x01(\tR\x06\x63ursor\x12\x33\n\x06\x65rrors\x18\x04 \x03(\x0b\x32\x1b.chalk.common.v1.ChalkErrorR\x06\x65rrors\"\x8b\x02\n\x10\x46unctionCallInfo\x12\x17\n\x07\x63\x61ll_id\x18\x01 \x01(\tR\x06\x63\x61llId\x12#\n\rfunction_name\x18\x02 \x01(\tR\x0c\x66unctionName\x12;\n\x0b\x65nqueued_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\nenqueuedAt\x12:\n\x06status\x18\x04 \x01(\x0e\x32\".chalk.runtime.v1.RemoteCallStatusR\x06status\x12%\n\x0eresult_summary\x18\x05 \x01(\tR\rresultSummary\x12\x19\n\x08trace_id\x18\x06 \x01(\tR\x07traceId\"R\n\x15GetRecentCallsRequest\x12#\n\rfunction_name\x18\x01 \x01(\tR\x0c\x66unctionName\x12\x14\n\x05limit\x18\x02 \x01(\rR\x05limit\"R\n\x16GetRecentCallsResponse\x12\x38\n\x05\x63\x61lls\x18\x01 \x03(\x0b\x32\".chalk.runtime.v1.FunctionCallInfoR\x05\x63\x61lls\":\n\x13GetCallCountRequest\x12#\n\rfunction_name\x18\x01 \x01(\tR\x0c\x66unctionName\",\n\x14GetCallCountResponse\x12\x14\n\x05\x63ount\x18\x01 \x01(\x04R\x05\x63ount*\xb7\x01\n\x10RemoteCallStatus\x12\"\n\x1eREMOTE_CALL_STATUS_UNSPECIFIED\x10\x00\x12\x1e\n\x1aREMOTE_CALL_STATUS_PENDING\x10\x01\x12\x1e\n\x1aREMOTE_CALL_STATUS_RUNNING\x10\x02\x12 \n\x1cREMOTE_CALL_STATUS_COMPLETED\x10\x03\x12\x1d\n\x19REMOTE_CALL_STATUS_FAILED\x10\x04\x32x\n\x11RemoteCallService\x12\x63\n\x0c\x43\x61llFunction\x12%.chalk.runtime.v1.CallFunctionRequest\x1a&.chalk.runtime.v1.CallFunctionResponse\"\x00(\x01\x30\x01\x32\xef\x01\n\x16\x41syncRemoteCallService\x12n\n\x11\x45nqueueRemoteCall\x12*.chalk.runtime.v1.EnqueueRemoteCallRequest\x1a+.chalk.runtime.v1.EnqueueRemoteCallResponse\"\x00\x12\x65\n\x0ePollRemoteCall\x12\'.chalk.runtime.v1.PollRemoteCallRequest\x1a(.chalk.runtime.v1.PollRemoteCallResponse\"\x00\x32\xe8\x01\n\x18\x46unctionQueueMetaService\x12h\n\x0eGetRecentCalls\x12\'.chalk.runtime.v1.GetRecentCallsRequest\x1a(.chalk.runtime.v1.GetRecentCallsResponse\"\x03\x80}\x03\x12\x62\n\x0cGetCallCount\x12%.chalk.runtime.v1.GetCallCountRequest\x1a&.chalk.runtime.v1.GetCallCountResponse\"\x03\x80}\x03\x42\x8f\x01\n\x14\x63om.chalk.runtime.v1B\x15RemotePythonCallProtoP\x01\xa2\x02\x03\x43RX\xaa\x02\x10\x43halk.Runtime.V1\xca\x02\x10\x43halk\\Runtime\\V1\xe2\x02\x1c\x43halk\\Runtime\\V1\\GPBMetadata\xea\x02\x12\x43halk::Runtime::V1b\x06proto3')
|
|
21
|
+
|
|
22
|
+
_globals = globals()
|
|
23
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
24
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chalk.runtime.v1.remote_python_call_pb2', _globals)
|
|
25
|
+
if _descriptor._USE_C_DESCRIPTORS == False:
|
|
26
|
+
_globals['DESCRIPTOR']._options = None
|
|
27
|
+
_globals['DESCRIPTOR']._serialized_options = b'\n\024com.chalk.runtime.v1B\025RemotePythonCallProtoP\001\242\002\003CRX\252\002\020Chalk.Runtime.V1\312\002\020Chalk\\Runtime\\V1\342\002\034Chalk\\Runtime\\V1\\GPBMetadata\352\002\022Chalk::Runtime::V1'
|
|
28
|
+
_globals['_FUNCTIONQUEUEMETASERVICE'].methods_by_name['GetRecentCalls']._options = None
|
|
29
|
+
_globals['_FUNCTIONQUEUEMETASERVICE'].methods_by_name['GetRecentCalls']._serialized_options = b'\200}\003'
|
|
30
|
+
_globals['_FUNCTIONQUEUEMETASERVICE'].methods_by_name['GetCallCount']._options = None
|
|
31
|
+
_globals['_FUNCTIONQUEUEMETASERVICE'].methods_by_name['GetCallCount']._serialized_options = b'\200}\003'
|
|
32
|
+
_globals['_REMOTECALLSTATUS']._serialized_start=1425
|
|
33
|
+
_globals['_REMOTECALLSTATUS']._serialized_end=1608
|
|
34
|
+
_globals['_CALLFUNCTIONREQUEST']._serialized_start=164
|
|
35
|
+
_globals['_CALLFUNCTIONREQUEST']._serialized_end=244
|
|
36
|
+
_globals['_CALLFUNCTIONRESPONSE']._serialized_start=246
|
|
37
|
+
_globals['_CALLFUNCTIONRESPONSE']._serialized_end=307
|
|
38
|
+
_globals['_REMOTECALLARGS']._serialized_start=309
|
|
39
|
+
_globals['_REMOTECALLARGS']._serialized_end=418
|
|
40
|
+
_globals['_ENQUEUEREMOTECALLREQUEST']._serialized_start=420
|
|
41
|
+
_globals['_ENQUEUEREMOTECALLREQUEST']._serialized_end=520
|
|
42
|
+
_globals['_ENQUEUEREMOTECALLRESPONSE']._serialized_start=522
|
|
43
|
+
_globals['_ENQUEUEREMOTECALLRESPONSE']._serialized_end=574
|
|
44
|
+
_globals['_POLLREMOTECALLREQUEST']._serialized_start=576
|
|
45
|
+
_globals['_POLLREMOTECALLREQUEST']._serialized_end=648
|
|
46
|
+
_globals['_POLLREMOTECALLRESPONSE']._serialized_start=651
|
|
47
|
+
_globals['_POLLREMOTECALLRESPONSE']._serialized_end=878
|
|
48
|
+
_globals['_FUNCTIONCALLINFO']._serialized_start=881
|
|
49
|
+
_globals['_FUNCTIONCALLINFO']._serialized_end=1148
|
|
50
|
+
_globals['_GETRECENTCALLSREQUEST']._serialized_start=1150
|
|
51
|
+
_globals['_GETRECENTCALLSREQUEST']._serialized_end=1232
|
|
52
|
+
_globals['_GETRECENTCALLSRESPONSE']._serialized_start=1234
|
|
53
|
+
_globals['_GETRECENTCALLSRESPONSE']._serialized_end=1316
|
|
54
|
+
_globals['_GETCALLCOUNTREQUEST']._serialized_start=1318
|
|
55
|
+
_globals['_GETCALLCOUNTREQUEST']._serialized_end=1376
|
|
56
|
+
_globals['_GETCALLCOUNTRESPONSE']._serialized_start=1378
|
|
57
|
+
_globals['_GETCALLCOUNTRESPONSE']._serialized_end=1422
|
|
58
|
+
_globals['_REMOTECALLSERVICE']._serialized_start=1610
|
|
59
|
+
_globals['_REMOTECALLSERVICE']._serialized_end=1730
|
|
60
|
+
_globals['_ASYNCREMOTECALLSERVICE']._serialized_start=1733
|
|
61
|
+
_globals['_ASYNCREMOTECALLSERVICE']._serialized_end=1972
|
|
62
|
+
_globals['_FUNCTIONQUEUEMETASERVICE']._serialized_start=1975
|
|
63
|
+
_globals['_FUNCTIONQUEUEMETASERVICE']._serialized_end=2207
|
|
64
|
+
# @@protoc_insertion_point(module_scope)
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
|
|
2
|
+
"""Client and server classes corresponding to protobuf-defined services."""
|
|
3
|
+
import grpc
|
|
4
|
+
|
|
5
|
+
from chalk_remote_call._gen.chalk.runtime.v1 import remote_python_call_pb2 as chalk_dot_runtime_dot_v1_dot_remote__python__call__pb2
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class RemoteCallServiceStub(object):
|
|
9
|
+
"""Missing associated documentation comment in .proto file."""
|
|
10
|
+
|
|
11
|
+
def __init__(self, channel):
|
|
12
|
+
"""Constructor.
|
|
13
|
+
|
|
14
|
+
Args:
|
|
15
|
+
channel: A grpc.Channel.
|
|
16
|
+
"""
|
|
17
|
+
self.CallFunction = channel.stream_stream(
|
|
18
|
+
'/chalk.runtime.v1.RemoteCallService/CallFunction',
|
|
19
|
+
request_serializer=chalk_dot_runtime_dot_v1_dot_remote__python__call__pb2.CallFunctionRequest.SerializeToString,
|
|
20
|
+
response_deserializer=chalk_dot_runtime_dot_v1_dot_remote__python__call__pb2.CallFunctionResponse.FromString,
|
|
21
|
+
)
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class RemoteCallServiceServicer(object):
|
|
25
|
+
"""Missing associated documentation comment in .proto file."""
|
|
26
|
+
|
|
27
|
+
def CallFunction(self, request_iterator, context):
|
|
28
|
+
"""Missing associated documentation comment in .proto file."""
|
|
29
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
30
|
+
context.set_details('Method not implemented!')
|
|
31
|
+
raise NotImplementedError('Method not implemented!')
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
def add_RemoteCallServiceServicer_to_server(servicer, server):
|
|
35
|
+
rpc_method_handlers = {
|
|
36
|
+
'CallFunction': grpc.stream_stream_rpc_method_handler(
|
|
37
|
+
servicer.CallFunction,
|
|
38
|
+
request_deserializer=chalk_dot_runtime_dot_v1_dot_remote__python__call__pb2.CallFunctionRequest.FromString,
|
|
39
|
+
response_serializer=chalk_dot_runtime_dot_v1_dot_remote__python__call__pb2.CallFunctionResponse.SerializeToString,
|
|
40
|
+
),
|
|
41
|
+
}
|
|
42
|
+
generic_handler = grpc.method_handlers_generic_handler(
|
|
43
|
+
'chalk.runtime.v1.RemoteCallService', rpc_method_handlers)
|
|
44
|
+
server.add_generic_rpc_handlers((generic_handler,))
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
# This class is part of an EXPERIMENTAL API.
|
|
48
|
+
class RemoteCallService(object):
|
|
49
|
+
"""Missing associated documentation comment in .proto file."""
|
|
50
|
+
|
|
51
|
+
@staticmethod
|
|
52
|
+
def CallFunction(request_iterator,
|
|
53
|
+
target,
|
|
54
|
+
options=(),
|
|
55
|
+
channel_credentials=None,
|
|
56
|
+
call_credentials=None,
|
|
57
|
+
insecure=False,
|
|
58
|
+
compression=None,
|
|
59
|
+
wait_for_ready=None,
|
|
60
|
+
timeout=None,
|
|
61
|
+
metadata=None):
|
|
62
|
+
return grpc.experimental.stream_stream(request_iterator, target, '/chalk.runtime.v1.RemoteCallService/CallFunction',
|
|
63
|
+
chalk_dot_runtime_dot_v1_dot_remote__python__call__pb2.CallFunctionRequest.SerializeToString,
|
|
64
|
+
chalk_dot_runtime_dot_v1_dot_remote__python__call__pb2.CallFunctionResponse.FromString,
|
|
65
|
+
options, channel_credentials,
|
|
66
|
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
class AsyncRemoteCallServiceStub(object):
|
|
70
|
+
"""Missing associated documentation comment in .proto file."""
|
|
71
|
+
|
|
72
|
+
def __init__(self, channel):
|
|
73
|
+
"""Constructor.
|
|
74
|
+
|
|
75
|
+
Args:
|
|
76
|
+
channel: A grpc.Channel.
|
|
77
|
+
"""
|
|
78
|
+
self.EnqueueRemoteCall = channel.unary_unary(
|
|
79
|
+
'/chalk.runtime.v1.AsyncRemoteCallService/EnqueueRemoteCall',
|
|
80
|
+
request_serializer=chalk_dot_runtime_dot_v1_dot_remote__python__call__pb2.EnqueueRemoteCallRequest.SerializeToString,
|
|
81
|
+
response_deserializer=chalk_dot_runtime_dot_v1_dot_remote__python__call__pb2.EnqueueRemoteCallResponse.FromString,
|
|
82
|
+
)
|
|
83
|
+
self.PollRemoteCall = channel.unary_unary(
|
|
84
|
+
'/chalk.runtime.v1.AsyncRemoteCallService/PollRemoteCall',
|
|
85
|
+
request_serializer=chalk_dot_runtime_dot_v1_dot_remote__python__call__pb2.PollRemoteCallRequest.SerializeToString,
|
|
86
|
+
response_deserializer=chalk_dot_runtime_dot_v1_dot_remote__python__call__pb2.PollRemoteCallResponse.FromString,
|
|
87
|
+
)
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
class AsyncRemoteCallServiceServicer(object):
|
|
91
|
+
"""Missing associated documentation comment in .proto file."""
|
|
92
|
+
|
|
93
|
+
def EnqueueRemoteCall(self, request, context):
|
|
94
|
+
"""Accept a CallFunctionRequest and enqueue it for async execution.
|
|
95
|
+
"""
|
|
96
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
97
|
+
context.set_details('Method not implemented!')
|
|
98
|
+
raise NotImplementedError('Method not implemented!')
|
|
99
|
+
|
|
100
|
+
def PollRemoteCall(self, request, context):
|
|
101
|
+
"""Poll for results. The caller passes a cursor to resume from the
|
|
102
|
+
last position; the server returns any new result chunks plus an
|
|
103
|
+
updated cursor.
|
|
104
|
+
"""
|
|
105
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
106
|
+
context.set_details('Method not implemented!')
|
|
107
|
+
raise NotImplementedError('Method not implemented!')
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
def add_AsyncRemoteCallServiceServicer_to_server(servicer, server):
|
|
111
|
+
rpc_method_handlers = {
|
|
112
|
+
'EnqueueRemoteCall': grpc.unary_unary_rpc_method_handler(
|
|
113
|
+
servicer.EnqueueRemoteCall,
|
|
114
|
+
request_deserializer=chalk_dot_runtime_dot_v1_dot_remote__python__call__pb2.EnqueueRemoteCallRequest.FromString,
|
|
115
|
+
response_serializer=chalk_dot_runtime_dot_v1_dot_remote__python__call__pb2.EnqueueRemoteCallResponse.SerializeToString,
|
|
116
|
+
),
|
|
117
|
+
'PollRemoteCall': grpc.unary_unary_rpc_method_handler(
|
|
118
|
+
servicer.PollRemoteCall,
|
|
119
|
+
request_deserializer=chalk_dot_runtime_dot_v1_dot_remote__python__call__pb2.PollRemoteCallRequest.FromString,
|
|
120
|
+
response_serializer=chalk_dot_runtime_dot_v1_dot_remote__python__call__pb2.PollRemoteCallResponse.SerializeToString,
|
|
121
|
+
),
|
|
122
|
+
}
|
|
123
|
+
generic_handler = grpc.method_handlers_generic_handler(
|
|
124
|
+
'chalk.runtime.v1.AsyncRemoteCallService', rpc_method_handlers)
|
|
125
|
+
server.add_generic_rpc_handlers((generic_handler,))
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
# This class is part of an EXPERIMENTAL API.
|
|
129
|
+
class AsyncRemoteCallService(object):
|
|
130
|
+
"""Missing associated documentation comment in .proto file."""
|
|
131
|
+
|
|
132
|
+
@staticmethod
|
|
133
|
+
def EnqueueRemoteCall(request,
|
|
134
|
+
target,
|
|
135
|
+
options=(),
|
|
136
|
+
channel_credentials=None,
|
|
137
|
+
call_credentials=None,
|
|
138
|
+
insecure=False,
|
|
139
|
+
compression=None,
|
|
140
|
+
wait_for_ready=None,
|
|
141
|
+
timeout=None,
|
|
142
|
+
metadata=None):
|
|
143
|
+
return grpc.experimental.unary_unary(request, target, '/chalk.runtime.v1.AsyncRemoteCallService/EnqueueRemoteCall',
|
|
144
|
+
chalk_dot_runtime_dot_v1_dot_remote__python__call__pb2.EnqueueRemoteCallRequest.SerializeToString,
|
|
145
|
+
chalk_dot_runtime_dot_v1_dot_remote__python__call__pb2.EnqueueRemoteCallResponse.FromString,
|
|
146
|
+
options, channel_credentials,
|
|
147
|
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
148
|
+
|
|
149
|
+
@staticmethod
|
|
150
|
+
def PollRemoteCall(request,
|
|
151
|
+
target,
|
|
152
|
+
options=(),
|
|
153
|
+
channel_credentials=None,
|
|
154
|
+
call_credentials=None,
|
|
155
|
+
insecure=False,
|
|
156
|
+
compression=None,
|
|
157
|
+
wait_for_ready=None,
|
|
158
|
+
timeout=None,
|
|
159
|
+
metadata=None):
|
|
160
|
+
return grpc.experimental.unary_unary(request, target, '/chalk.runtime.v1.AsyncRemoteCallService/PollRemoteCall',
|
|
161
|
+
chalk_dot_runtime_dot_v1_dot_remote__python__call__pb2.PollRemoteCallRequest.SerializeToString,
|
|
162
|
+
chalk_dot_runtime_dot_v1_dot_remote__python__call__pb2.PollRemoteCallResponse.FromString,
|
|
163
|
+
options, channel_credentials,
|
|
164
|
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
class FunctionQueueMetaServiceStub(object):
|
|
168
|
+
"""Missing associated documentation comment in .proto file."""
|
|
169
|
+
|
|
170
|
+
def __init__(self, channel):
|
|
171
|
+
"""Constructor.
|
|
172
|
+
|
|
173
|
+
Args:
|
|
174
|
+
channel: A grpc.Channel.
|
|
175
|
+
"""
|
|
176
|
+
self.GetRecentCalls = channel.unary_unary(
|
|
177
|
+
'/chalk.runtime.v1.FunctionQueueMetaService/GetRecentCalls',
|
|
178
|
+
request_serializer=chalk_dot_runtime_dot_v1_dot_remote__python__call__pb2.GetRecentCallsRequest.SerializeToString,
|
|
179
|
+
response_deserializer=chalk_dot_runtime_dot_v1_dot_remote__python__call__pb2.GetRecentCallsResponse.FromString,
|
|
180
|
+
)
|
|
181
|
+
self.GetCallCount = channel.unary_unary(
|
|
182
|
+
'/chalk.runtime.v1.FunctionQueueMetaService/GetCallCount',
|
|
183
|
+
request_serializer=chalk_dot_runtime_dot_v1_dot_remote__python__call__pb2.GetCallCountRequest.SerializeToString,
|
|
184
|
+
response_deserializer=chalk_dot_runtime_dot_v1_dot_remote__python__call__pb2.GetCallCountResponse.FromString,
|
|
185
|
+
)
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
class FunctionQueueMetaServiceServicer(object):
|
|
189
|
+
"""Missing associated documentation comment in .proto file."""
|
|
190
|
+
|
|
191
|
+
def GetRecentCalls(self, request, context):
|
|
192
|
+
"""Return the most recent k calls to a function, ordered newest-first.
|
|
193
|
+
"""
|
|
194
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
195
|
+
context.set_details('Method not implemented!')
|
|
196
|
+
raise NotImplementedError('Method not implemented!')
|
|
197
|
+
|
|
198
|
+
def GetCallCount(self, request, context):
|
|
199
|
+
"""Return the number of calls submitted to a function in the past hour.
|
|
200
|
+
"""
|
|
201
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
202
|
+
context.set_details('Method not implemented!')
|
|
203
|
+
raise NotImplementedError('Method not implemented!')
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
def add_FunctionQueueMetaServiceServicer_to_server(servicer, server):
|
|
207
|
+
rpc_method_handlers = {
|
|
208
|
+
'GetRecentCalls': grpc.unary_unary_rpc_method_handler(
|
|
209
|
+
servicer.GetRecentCalls,
|
|
210
|
+
request_deserializer=chalk_dot_runtime_dot_v1_dot_remote__python__call__pb2.GetRecentCallsRequest.FromString,
|
|
211
|
+
response_serializer=chalk_dot_runtime_dot_v1_dot_remote__python__call__pb2.GetRecentCallsResponse.SerializeToString,
|
|
212
|
+
),
|
|
213
|
+
'GetCallCount': grpc.unary_unary_rpc_method_handler(
|
|
214
|
+
servicer.GetCallCount,
|
|
215
|
+
request_deserializer=chalk_dot_runtime_dot_v1_dot_remote__python__call__pb2.GetCallCountRequest.FromString,
|
|
216
|
+
response_serializer=chalk_dot_runtime_dot_v1_dot_remote__python__call__pb2.GetCallCountResponse.SerializeToString,
|
|
217
|
+
),
|
|
218
|
+
}
|
|
219
|
+
generic_handler = grpc.method_handlers_generic_handler(
|
|
220
|
+
'chalk.runtime.v1.FunctionQueueMetaService', rpc_method_handlers)
|
|
221
|
+
server.add_generic_rpc_handlers((generic_handler,))
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
# This class is part of an EXPERIMENTAL API.
|
|
225
|
+
class FunctionQueueMetaService(object):
|
|
226
|
+
"""Missing associated documentation comment in .proto file."""
|
|
227
|
+
|
|
228
|
+
@staticmethod
|
|
229
|
+
def GetRecentCalls(request,
|
|
230
|
+
target,
|
|
231
|
+
options=(),
|
|
232
|
+
channel_credentials=None,
|
|
233
|
+
call_credentials=None,
|
|
234
|
+
insecure=False,
|
|
235
|
+
compression=None,
|
|
236
|
+
wait_for_ready=None,
|
|
237
|
+
timeout=None,
|
|
238
|
+
metadata=None):
|
|
239
|
+
return grpc.experimental.unary_unary(request, target, '/chalk.runtime.v1.FunctionQueueMetaService/GetRecentCalls',
|
|
240
|
+
chalk_dot_runtime_dot_v1_dot_remote__python__call__pb2.GetRecentCallsRequest.SerializeToString,
|
|
241
|
+
chalk_dot_runtime_dot_v1_dot_remote__python__call__pb2.GetRecentCallsResponse.FromString,
|
|
242
|
+
options, channel_credentials,
|
|
243
|
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
244
|
+
|
|
245
|
+
@staticmethod
|
|
246
|
+
def GetCallCount(request,
|
|
247
|
+
target,
|
|
248
|
+
options=(),
|
|
249
|
+
channel_credentials=None,
|
|
250
|
+
call_credentials=None,
|
|
251
|
+
insecure=False,
|
|
252
|
+
compression=None,
|
|
253
|
+
wait_for_ready=None,
|
|
254
|
+
timeout=None,
|
|
255
|
+
metadata=None):
|
|
256
|
+
return grpc.experimental.unary_unary(request, target, '/chalk.runtime.v1.FunctionQueueMetaService/GetCallCount',
|
|
257
|
+
chalk_dot_runtime_dot_v1_dot_remote__python__call__pb2.GetCallCountRequest.SerializeToString,
|
|
258
|
+
chalk_dot_runtime_dot_v1_dot_remote__python__call__pb2.GetCallCountResponse.FromString,
|
|
259
|
+
options, channel_credentials,
|
|
260
|
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
File without changes
|
|
File without changes
|