chalk-remote-call-python 1.10.5__cp315-cp315-win_amd64.whl
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/__init__.py +4 -0
- chalk_remote_call/__main__.py +3 -0
- chalk_remote_call/_gen/__init__.py +0 -0
- chalk_remote_call/_gen/chalk/__init__.py +0 -0
- chalk_remote_call/_gen/chalk/auth/__init__.py +0 -0
- chalk_remote_call/_gen/chalk/auth/v1/__init__.py +0 -0
- chalk_remote_call/_gen/chalk/auth/v1/permissions_pb2.py +115 -0
- chalk_remote_call/_gen/chalk/auth/v1/permissions_pb2_grpc.py +4 -0
- chalk_remote_call/_gen/chalk/common/__init__.py +0 -0
- chalk_remote_call/_gen/chalk/common/v1/__init__.py +0 -0
- chalk_remote_call/_gen/chalk/common/v1/chalk_error_pb2.py +33 -0
- chalk_remote_call/_gen/chalk/common/v1/chalk_error_pb2_grpc.py +4 -0
- chalk_remote_call/_gen/chalk/runtime/__init__.py +0 -0
- chalk_remote_call/_gen/chalk/runtime/v1/__init__.py +0 -0
- chalk_remote_call/_gen/chalk/runtime/v1/fnq_consumer_pb2.py +53 -0
- chalk_remote_call/_gen/chalk/runtime/v1/fnq_consumer_pb2_grpc.py +138 -0
- chalk_remote_call/_gen/chalk/runtime/v1/remote_python_call_pb2.py +104 -0
- chalk_remote_call/_gen/chalk/runtime/v1/remote_python_call_pb2_grpc.py +363 -0
- chalk_remote_call/_gen/chalk/utils/__init__.py +0 -0
- chalk_remote_call/_gen/chalk/utils/v1/__init__.py +0 -0
- chalk_remote_call/_gen/chalk/utils/v1/encoding_pb2.py +32 -0
- chalk_remote_call/_gen/chalk/utils/v1/encoding_pb2_grpc.py +4 -0
- chalk_remote_call/_gen/chalk/utils/v1/field_change_pb2.py +29 -0
- chalk_remote_call/_gen/chalk/utils/v1/field_change_pb2_grpc.py +4 -0
- chalk_remote_call/_gen/chalk/utils/v1/large_pb2.py +26 -0
- chalk_remote_call/_gen/chalk/utils/v1/large_pb2_grpc.py +4 -0
- chalk_remote_call/_gen/chalk/utils/v1/sensitive_pb2.py +26 -0
- chalk_remote_call/_gen/chalk/utils/v1/sensitive_pb2_grpc.py +4 -0
- chalk_remote_call/_native.cp315-win_amd64.pyd +0 -0
- chalk_remote_call/_native.pyi +13 -0
- chalk_remote_call/_version.py +1 -0
- chalk_remote_call/arrow_utils.py +21 -0
- chalk_remote_call/cli.py +160 -0
- chalk_remote_call/errors.py +118 -0
- chalk_remote_call/handler_loader.py +57 -0
- chalk_remote_call/input_transform.py +50 -0
- chalk_remote_call/logging.py +29 -0
- chalk_remote_call/server.py +117 -0
- chalk_remote_call/servicer.py +400 -0
- chalk_remote_call/tracing.py +445 -0
- chalk_remote_call_python-1.10.5.dist-info/METADATA +288 -0
- chalk_remote_call_python-1.10.5.dist-info/RECORD +45 -0
- chalk_remote_call_python-1.10.5.dist-info/WHEEL +5 -0
- chalk_remote_call_python-1.10.5.dist-info/entry_points.txt +2 -0
- chalk_remote_call_python-1.10.5.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: chalk-remote-call-python
|
|
3
|
+
Version: 1.10.5
|
|
4
|
+
Summary: Chalk remote call Python runtime interface client
|
|
5
|
+
Author: Chalk AI, Inc.
|
|
6
|
+
Project-URL: Homepage, https://chalk.ai
|
|
7
|
+
Project-URL: Documentation, https://docs.chalk.ai
|
|
8
|
+
Project-URL: Changelog, https://docs.chalk.ai/docs/changelog
|
|
9
|
+
Classifier: Programming Language :: Python :: 3
|
|
10
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.15
|
|
16
|
+
Classifier: Programming Language :: Python
|
|
17
|
+
Classifier: Typing :: Typed
|
|
18
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
19
|
+
Classifier: Topic :: Scientific/Engineering :: Information Analysis
|
|
20
|
+
Classifier: Topic :: Software Development :: Code Generators
|
|
21
|
+
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
|
|
22
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
23
|
+
Requires-Python: <3.16,>=3.10
|
|
24
|
+
Description-Content-Type: text/markdown
|
|
25
|
+
Requires-Dist: pyarrow>=14.0.0
|
|
26
|
+
Provides-Extra: dev
|
|
27
|
+
Requires-Dist: setuptools-rust>=1.7; extra == "dev"
|
|
28
|
+
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
|
29
|
+
Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
|
|
30
|
+
Requires-Dist: grpcio>=1.60.0; extra == "dev"
|
|
31
|
+
Requires-Dist: grpcio-health-checking>=1.60.0; extra == "dev"
|
|
32
|
+
Requires-Dist: grpcio-reflection>=1.60.0; extra == "dev"
|
|
33
|
+
Requires-Dist: protobuf>=4.25.0; extra == "dev"
|
|
34
|
+
Requires-Dist: grpcio-tools>=1.60.0; extra == "dev"
|
|
35
|
+
Provides-Extra: tracing
|
|
36
|
+
Requires-Dist: opentelemetry-api>=1.20.0; extra == "tracing"
|
|
37
|
+
Requires-Dist: opentelemetry-sdk>=1.20.0; extra == "tracing"
|
|
38
|
+
Requires-Dist: opentelemetry-exporter-otlp-proto-grpc>=1.20.0; extra == "tracing"
|
|
39
|
+
|
|
40
|
+
# chalk-remote-call-python
|
|
41
|
+
|
|
42
|
+
A Python runtime interface for Chalk's RemoteCallService. This package provides a gRPC server backed by a Rust implementation (tonic + PyO3) that lets you define a `handler(event, context)` function to process incoming Arrow-serialized requests.
|
|
43
|
+
|
|
44
|
+
The server receives Arrow IPC record batches over a bidirectional gRPC stream, transforms them into a Python dict, invokes your handler, and streams the results back as Arrow IPC.
|
|
45
|
+
|
|
46
|
+
## Requirements
|
|
47
|
+
|
|
48
|
+
- Python >= 3.10
|
|
49
|
+
- Rust 1.99.0 (for building the native extension)
|
|
50
|
+
- `pyarrow >= 14.0.0`
|
|
51
|
+
|
|
52
|
+
## Usage
|
|
53
|
+
|
|
54
|
+
### 1. Write a handler
|
|
55
|
+
|
|
56
|
+
Create a Python module with a `handler` function:
|
|
57
|
+
|
|
58
|
+
```python
|
|
59
|
+
# my_handler.py
|
|
60
|
+
import pyarrow as pa
|
|
61
|
+
import pyarrow.compute as pc
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
def on_startup():
|
|
65
|
+
"""Optional -- runs once before the server starts accepting requests."""
|
|
66
|
+
print("Loading model weights...")
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
def handler(event: dict[str, pa.Array], context: dict) -> pa.Array:
|
|
70
|
+
"""Called for each incoming request.
|
|
71
|
+
|
|
72
|
+
Args:
|
|
73
|
+
event: dict mapping column names to pyarrow.Array values.
|
|
74
|
+
context: dict with request metadata
|
|
75
|
+
|
|
76
|
+
Returns:
|
|
77
|
+
A pyarrow.Array, pyarrow.RecordBatch, pyarrow.Table, list, dict, or scalar.
|
|
78
|
+
The framework auto-converts the result to Arrow IPC for the response.
|
|
79
|
+
"""
|
|
80
|
+
return pc.multiply(event["x"], event["y"])
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
def on_shutdown():
|
|
84
|
+
"""Optional -- runs once after the server stops accepting requests."""
|
|
85
|
+
print("Releasing resources...")
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### 2. Start the server
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
chalk-remote-call --handler my_handler.handler
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Or via `python -m`:
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
python -m chalk_remote_call --handler my_handler.handler
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### CLI options
|
|
101
|
+
|
|
102
|
+
| Flag | Env var | Default | Description |
|
|
103
|
+
|------|---------|---------|-------------|
|
|
104
|
+
| `--handler` | | *(required)* | Dotted path to handler function |
|
|
105
|
+
| `--port` | `CHALK_REMOTE_CALL_PORT` | `6666` | Port to listen on |
|
|
106
|
+
| `--host` | `CHALK_REMOTE_CALL_HOST` | `[::]` | Host to bind to |
|
|
107
|
+
| `--workers` | `CHALK_REMOTE_CALL_WORKERS` | `10` | Tokio runtime worker threads |
|
|
108
|
+
| `--on-startup` | | | Dotted path to a startup function |
|
|
109
|
+
| `--on-shutdown` | | | Dotted path to a shutdown function |
|
|
110
|
+
| `--log-level` | | `INFO` | `DEBUG`, `INFO`, `WARNING`, or `ERROR` |
|
|
111
|
+
|
|
112
|
+
The CLI writes Python logs to stderr as one JSON object per line, with separate
|
|
113
|
+
`timestamp`, `severity`, `logger`, and `message` fields. Exceptions include an
|
|
114
|
+
`exception.stacktrace` field, which the log collector uses for the traceback.
|
|
115
|
+
CLI logging is configured before importing runtime dependencies. Import failures,
|
|
116
|
+
invalid environment configuration, and exceptions escaping startup or the server
|
|
117
|
+
emit a single ERROR record with the full traceback and exit with status 1.
|
|
118
|
+
Calls to `serve()` from Python retain the embedding application's logging configuration.
|
|
119
|
+
|
|
120
|
+
On Linux, server shutdown drains buffered function-call metrics before the runtime exits,
|
|
121
|
+
including when the server returns an error. Draining waits up to 10 seconds; a timeout or
|
|
122
|
+
publisher failure is logged as a warning.
|
|
123
|
+
Routine drain messages are logged at DEBUG; set `RUST_LOG=info,_native::metrics=debug`
|
|
124
|
+
to include them.
|
|
125
|
+
|
|
126
|
+
Missing optional StatsD endpoints or a metrics-bus topic do not emit warnings.
|
|
127
|
+
Failures initializing configured metrics sinks still warn. Routine customer
|
|
128
|
+
StatsD configuration messages are emitted at DEBUG by the shared metrics library;
|
|
129
|
+
set `RUST_LOG=info,chalk_metrics::metrics::config=debug` to include them.
|
|
130
|
+
|
|
131
|
+
### Environment variables
|
|
132
|
+
|
|
133
|
+
| Variable | Description |
|
|
134
|
+
|----------|-------------|
|
|
135
|
+
| `CHALK_INPUT_ARGS` | Comma-separated list of column names (e.g. `x,y,z`). Renames incoming RecordBatch columns by index. If unset, the original column names are used. Reserved columns (below) are held out of this mapping and keep their own name. |
|
|
136
|
+
| `CHALK_FNQ_CONSUMER_ENDPOINT` | Opt into DP API `FnqConsumerService` consumption (HTTP or HTTPS gRPC endpoint). Unset preserves direct Redis consumption. API errors never fall back to Redis. |
|
|
137
|
+
| `CHALK_FUNCTION_QUEUE_TOKEN_FILE` | Controller-mounted working JWT, reopened per RPC to observe rotation. Defaults to `/var/run/secrets/chalk-function-queue/identity-token`. The shim does not exchange credentials. |
|
|
138
|
+
| `CHALK_FNQ_QUEUE_PROTOCOL` | Self-consumer work transport: `list_v1` (default/backward compatible) or `stream_v1`. Deployment tooling sets this from immutable scaling-group revision metadata. |
|
|
139
|
+
|
|
140
|
+
#### Reserved columns
|
|
141
|
+
|
|
142
|
+
A caller may attach framework side-channel data to a request as an extra column. Reserved
|
|
143
|
+
columns are matched by name, are optional on any given request, and are excluded from the
|
|
144
|
+
positional `CHALK_INPUT_ARGS` mapping — so `CHALK_INPUT_ARGS` always lists exactly the
|
|
145
|
+
handler's declared arguments, whether or not the caller sent one.
|
|
146
|
+
|
|
147
|
+
| Column | Meaning |
|
|
148
|
+
|--------|---------|
|
|
149
|
+
| `__chalk_row_metadata__` | Per-row binary blob supplied by the caller (Chalk's engine sets it from `catalog_call(..., row_metadata => ...)`). Handlers read it via `chalkcompute.get_row_metadata()`. |
|
|
150
|
+
|
|
151
|
+
### 3. Docker image
|
|
152
|
+
|
|
153
|
+
```dockerfile
|
|
154
|
+
FROM python:3.11-slim
|
|
155
|
+
|
|
156
|
+
WORKDIR /app
|
|
157
|
+
|
|
158
|
+
RUN pip install chalk-remote-call-python
|
|
159
|
+
|
|
160
|
+
# Copy your handler code
|
|
161
|
+
COPY my_handler.py /app
|
|
162
|
+
|
|
163
|
+
EXPOSE 6666
|
|
164
|
+
|
|
165
|
+
ENTRYPOINT ["chalk-remote-call"]
|
|
166
|
+
CMD ["--handler", "handler.handler"]
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
Build and run:
|
|
170
|
+
|
|
171
|
+
```bash
|
|
172
|
+
docker build -t my-chalk-handler .
|
|
173
|
+
docker run -p 6666:6666 -e CHALK_INPUT_ARGS="x,y" my-chalk-handler
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
### Programmatic usage
|
|
177
|
+
|
|
178
|
+
You can also start the server from Python:
|
|
179
|
+
|
|
180
|
+
```python
|
|
181
|
+
from chalk_remote_call import serve
|
|
182
|
+
|
|
183
|
+
def handler(event, context):
|
|
184
|
+
return list(event.values())[0]
|
|
185
|
+
|
|
186
|
+
serve(handler=handler, port=8080)
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
## Local Testing
|
|
190
|
+
|
|
191
|
+
Use `grpcurl` to verify the server is running:
|
|
192
|
+
|
|
193
|
+
```bash
|
|
194
|
+
# Check health
|
|
195
|
+
grpcurl -plaintext localhost:6666 grpc.health.v1.Health/Check
|
|
196
|
+
|
|
197
|
+
# List services via reflection
|
|
198
|
+
grpcurl -plaintext localhost:6666 list
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
## Architecture
|
|
202
|
+
|
|
203
|
+
The server uses a Rust backend via PyO3:
|
|
204
|
+
|
|
205
|
+
- **tonic** — gRPC server with health checking and reflection
|
|
206
|
+
- **prost** — protobuf message handling
|
|
207
|
+
- **arrow-rs** — Arrow IPC validation
|
|
208
|
+
- **PyO3** — FFI bridge to call Python handler functions
|
|
209
|
+
|
|
210
|
+
The Rust server runs on a tokio async runtime. When a request arrives, Arrow IPC bytes are passed to Python via PyO3 (`spawn_blocking` + GIL acquisition), where the handler is invoked. Results are passed back as IPC bytes.
|
|
211
|
+
|
|
212
|
+
## Development
|
|
213
|
+
|
|
214
|
+
### Setup
|
|
215
|
+
|
|
216
|
+
```bash
|
|
217
|
+
cd chalk-remote-call-python
|
|
218
|
+
uv venv --python 3.11
|
|
219
|
+
uv pip install -e ".[dev]"
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
### Running tests
|
|
223
|
+
|
|
224
|
+
```bash
|
|
225
|
+
pytest tests/ -v
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
The Linux metrics shutdown regression tests use an in-memory bus publisher:
|
|
229
|
+
|
|
230
|
+
```bash
|
|
231
|
+
PYO3_PYTHON=python3 cargo test --manifest-path chalk-remote-call-rs/chalk-remote-call-server/Cargo.toml --no-default-features --lib metrics::tests
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
`--no-default-features` links Python into the test executable; wheel builds retain
|
|
235
|
+
the default `extension-module` feature.
|
|
236
|
+
|
|
237
|
+
### Rust code
|
|
238
|
+
|
|
239
|
+
Rust source lives in `chalk-remote-call-rs/`:
|
|
240
|
+
|
|
241
|
+
To check the Rust code independently:
|
|
242
|
+
|
|
243
|
+
```bash
|
|
244
|
+
PYO3_PYTHON=python3 cargo check --manifest-path chalk-remote-call-rs/chalk-remote-call-server/Cargo.toml
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
## Remote exception transport
|
|
248
|
+
|
|
249
|
+
Handler failures retain their original exception type, message, traceback,
|
|
250
|
+
exception chains, and exception groups. Runtime dispatch frames are excluded
|
|
251
|
+
from the user traceback, along with callers above the handler dispatch boundary.
|
|
252
|
+
Handler frames and their downstream calls remain visible (except for Chalk SDK
|
|
253
|
+
and marked generated dispatch frames); full diagnostics are retained in server
|
|
254
|
+
logs and `internal_stacktrace`.
|
|
255
|
+
|
|
256
|
+
All call modes carry a JSON payload with `chalk_remote_error: 1` and an
|
|
257
|
+
`exception` object containing the `ChalkException` fields `kind`, `message`,
|
|
258
|
+
`stacktrace`, and `internal_stacktrace`. Direct calls carry the payload as the
|
|
259
|
+
unescaped gRPC status message; queued calls carry it in the error message. The
|
|
260
|
+
local async service additionally populates `ChalkError.exception`. This permits
|
|
261
|
+
existing queue transports to forward structured errors without a protobuf
|
|
262
|
+
migration. Clients must decode the versioned payload, not parse gRPC debug text
|
|
263
|
+
or classify user errors by their message. Unknown versions remain opaque.
|
|
264
|
+
|
|
265
|
+
Payloads are bounded for gRPC header limits. Truncation is marked explicitly,
|
|
266
|
+
with complete tracebacks kept in server logs. Exception objects and locals are
|
|
267
|
+
never pickled or sent. Chalk SDK-generated handlers identify their dispatch
|
|
268
|
+
frames, and notebook source maps identify the deployed snapshot's lines.
|
|
269
|
+
|
|
270
|
+
### Fnq integration test
|
|
271
|
+
|
|
272
|
+
On Linux, build the native extension and the paired `chalk-private` test harness:
|
|
273
|
+
|
|
274
|
+
```bash
|
|
275
|
+
# chalk-private, inside the Nix dev shell
|
|
276
|
+
bazel build //rust-crates/chalk/dataplane-api-server:fnq_test_server
|
|
277
|
+
|
|
278
|
+
# chalk-remote-call-python
|
|
279
|
+
uv pip install -e ".[dev]" redis PyJWT cryptography
|
|
280
|
+
FNQ_TEST_SERVER=/path/to/chalk-private/bazel-bin/rust-crates/chalk/dataplane-api-server/fnq_test_server \
|
|
281
|
+
REDIS_URL=redis://127.0.0.1:6379 .venv/bin/pytest tests/test_fnq_api_e2e.py -v
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
Use an isolated Redis instance. The tests create temporary signing keys and start
|
|
285
|
+
the production JWT layer and Fnq service, then exercise real native-shim execution,
|
|
286
|
+
lease renewal, result writes, token rotation, and environment isolation. These tests
|
|
287
|
+
skip unless `FNQ_TEST_SERVER` and `REDIS_URL` are set. Deploy the service before
|
|
288
|
+
setting `CHALK_FNQ_CONSUMER_ENDPOINT` on a workload.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
chalk_remote_call/__init__.py,sha256=RV-Gy1rR3Wpg7J5szNEITfX9UUFbDjrDcgBoORr6HK0,134
|
|
2
|
+
chalk_remote_call/__main__.py,sha256=Gw47QG564BmA-sV7Yo8J0_jHwJjHt1YJu9kRXsbajc8,50
|
|
3
|
+
chalk_remote_call/_native.cp315-win_amd64.pyd,sha256=wZxxu-lyii9dihW3MczLuUjj0g_O73jEsmzUtZ2wjHo,6797312
|
|
4
|
+
chalk_remote_call/_native.pyi,sha256=kTF8wh0P8_mWemwRWZ63Aa3l29o1HOKq7JP_fx5Dzyw,341
|
|
5
|
+
chalk_remote_call/_version.py,sha256=CKHegvkApa5CWTJbNvYefNnR9_yZW6PAmMc97wTOQxo,23
|
|
6
|
+
chalk_remote_call/arrow_utils.py,sha256=l4Mlq7Z3VYEAkuFYTU3eBXKIQs0RdIaf-QwIP3A8aak,684
|
|
7
|
+
chalk_remote_call/cli.py,sha256=xyJ-1Qfd-JfefrqhQ1LHk8vWABD4B9qEq29WUPRooKU,5442
|
|
8
|
+
chalk_remote_call/errors.py,sha256=W3iaCSZCDgn6CvRgdcDByQs4MQMUcKhCfqu3ZsL13MA,5078
|
|
9
|
+
chalk_remote_call/handler_loader.py,sha256=jiUIz8_iBoipTFm98KZgloQT9ykBbZP-0pdDquYP-MA,2186
|
|
10
|
+
chalk_remote_call/input_transform.py,sha256=VD8wi0hs2vw_OvrAPB7-_ycnZJkIrYz4WkCjZbNSrfI,2233
|
|
11
|
+
chalk_remote_call/logging.py,sha256=TTXx2m0BtRdLmdNh57bl1c3KBGfAru-gYmSs_vIZSac,1237
|
|
12
|
+
chalk_remote_call/server.py,sha256=pQo_7NIcPY6bfzYHtfUZezQACYTAQu97OPw4GOq7740,4784
|
|
13
|
+
chalk_remote_call/servicer.py,sha256=8xdqMPmnRdReDwWMwt5t5KHcdud4JRWBf6UnntKY64I,17062
|
|
14
|
+
chalk_remote_call/tracing.py,sha256=euHBFC60lE9ta_2NF0mKKotXBtowv7M2Kk9KgWvWbGE,16636
|
|
15
|
+
chalk_remote_call/_gen/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
16
|
+
chalk_remote_call/_gen/chalk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
|
+
chalk_remote_call/_gen/chalk/auth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
18
|
+
chalk_remote_call/_gen/chalk/auth/v1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
19
|
+
chalk_remote_call/_gen/chalk/auth/v1/permissions_pb2.py,sha256=OJplIAXNqUVieqTO4yNyRv1J7JqnRTqUPXviceyWf_g,22010
|
|
20
|
+
chalk_remote_call/_gen/chalk/auth/v1/permissions_pb2_grpc.py,sha256=_bXoS025FcWrXR1E_3Mh4GHB1RMvgz8lIpit-Awnf-s,163
|
|
21
|
+
chalk_remote_call/_gen/chalk/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
22
|
+
chalk_remote_call/_gen/chalk/common/v1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
23
|
+
chalk_remote_call/_gen/chalk/common/v1/chalk_error_pb2.py,sha256=Eok4HEEnHEUMlu_y-lnIRFPs7zre8p22Gv86uB13YZY,3747
|
|
24
|
+
chalk_remote_call/_gen/chalk/common/v1/chalk_error_pb2_grpc.py,sha256=_bXoS025FcWrXR1E_3Mh4GHB1RMvgz8lIpit-Awnf-s,163
|
|
25
|
+
chalk_remote_call/_gen/chalk/runtime/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
26
|
+
chalk_remote_call/_gen/chalk/runtime/v1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
27
|
+
chalk_remote_call/_gen/chalk/runtime/v1/fnq_consumer_pb2.py,sha256=6MLRaTt0o7h6ASROnL6UxqkIkUbAunKrS_29CGtyKgg,6054
|
|
28
|
+
chalk_remote_call/_gen/chalk/runtime/v1/fnq_consumer_pb2_grpc.py,sha256=d2kcgi9KeuqxzdKqwCB0TvatAM5aSvQsp-QcP2dXlbg,6600
|
|
29
|
+
chalk_remote_call/_gen/chalk/runtime/v1/remote_python_call_pb2.py,sha256=Ccn5P1c-cXniPjij2DWpAclphY9VymQw4h0kM9QSBsY,14456
|
|
30
|
+
chalk_remote_call/_gen/chalk/runtime/v1/remote_python_call_pb2_grpc.py,sha256=Vh5A-kEtmGEQqhJzNoReTnCFewEU4u_AXskKjQ6MEJA,18350
|
|
31
|
+
chalk_remote_call/_gen/chalk/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
32
|
+
chalk_remote_call/_gen/chalk/utils/v1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
33
|
+
chalk_remote_call/_gen/chalk/utils/v1/encoding_pb2.py,sha256=DSInrR0-LJCUjWBGcVLC20IFAtZaHAJ9GfrTK9eIKww,2309
|
|
34
|
+
chalk_remote_call/_gen/chalk/utils/v1/encoding_pb2_grpc.py,sha256=_bXoS025FcWrXR1E_3Mh4GHB1RMvgz8lIpit-Awnf-s,163
|
|
35
|
+
chalk_remote_call/_gen/chalk/utils/v1/field_change_pb2.py,sha256=usD4v-WPFQt8RYoIeT5ojn5LI6SYvP60bR7AbqyOm6k,2255
|
|
36
|
+
chalk_remote_call/_gen/chalk/utils/v1/field_change_pb2_grpc.py,sha256=_bXoS025FcWrXR1E_3Mh4GHB1RMvgz8lIpit-Awnf-s,163
|
|
37
|
+
chalk_remote_call/_gen/chalk/utils/v1/large_pb2.py,sha256=sqdkKqvj_xDR2M_epUpQ61zVMZW_BZErhpeSNz7euXM,1624
|
|
38
|
+
chalk_remote_call/_gen/chalk/utils/v1/large_pb2_grpc.py,sha256=_bXoS025FcWrXR1E_3Mh4GHB1RMvgz8lIpit-Awnf-s,163
|
|
39
|
+
chalk_remote_call/_gen/chalk/utils/v1/sensitive_pb2.py,sha256=6RSNPSmRSoFEpPdRNWqdNHNIlfbwHvFCMQiEUYk1vZs,1652
|
|
40
|
+
chalk_remote_call/_gen/chalk/utils/v1/sensitive_pb2_grpc.py,sha256=_bXoS025FcWrXR1E_3Mh4GHB1RMvgz8lIpit-Awnf-s,163
|
|
41
|
+
chalk_remote_call_python-1.10.5.dist-info/METADATA,sha256=KY_RevkkNNdSPu5sfY_7cgBm-ODlvUpnHtxjRYq7Z98,11425
|
|
42
|
+
chalk_remote_call_python-1.10.5.dist-info/WHEEL,sha256=geuJoH1aW6kS7q0cKuoOBUdE-tpBsTvRf9l5rOGbxQs,101
|
|
43
|
+
chalk_remote_call_python-1.10.5.dist-info/entry_points.txt,sha256=WoD51W5JhGXL2L0AOnVMuyemd200PcnuZtTbvKyYwmQ,65
|
|
44
|
+
chalk_remote_call_python-1.10.5.dist-info/top_level.txt,sha256=7-CahbVI5EMhQktJ3IRLhTt03bmN93gfgRJX7zGyylc,18
|
|
45
|
+
chalk_remote_call_python-1.10.5.dist-info/RECORD,,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
chalk_remote_call
|