@foxglove/schemas 1.7.1 → 1.7.3
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.
- package/dist/internal/exportTypeScriptSchemas.d.ts.map +1 -1
- package/dist/internal/exportTypeScriptSchemas.js +10 -6
- package/dist/internal/exportTypeScriptSchemas.js.map +1 -1
- package/dist/internal/generateFlatbufferSchema.d.ts +6 -2
- package/dist/internal/generateFlatbufferSchema.d.ts.map +1 -1
- package/dist/internal/generateFlatbufferSchema.js +26 -15
- package/dist/internal/generateFlatbufferSchema.js.map +1 -1
- package/dist/internal/generateJsonSchema.d.ts.map +1 -1
- package/dist/internal/generateJsonSchema.js +36 -24
- package/dist/internal/generateJsonSchema.js.map +1 -1
- package/dist/internal/generateOmgIdl.d.ts +2 -3
- package/dist/internal/generateOmgIdl.d.ts.map +1 -1
- package/dist/internal/generateOmgIdl.js +16 -35
- package/dist/internal/generateOmgIdl.js.map +1 -1
- package/dist/internal/generateOmgIdl.test.js +4 -6
- package/dist/internal/generateOmgIdl.test.js.map +1 -1
- package/dist/internal/generateProto.d.ts.map +1 -1
- package/dist/internal/generateProto.js +23 -13
- package/dist/internal/generateProto.js.map +1 -1
- package/dist/internal/generatePyclass.d.ts +1 -1
- package/dist/internal/generatePyclass.d.ts.map +1 -1
- package/dist/internal/generatePyclass.js +174 -62
- package/dist/internal/generatePyclass.js.map +1 -1
- package/dist/internal/generatePyclass.test.js +152 -140
- package/dist/internal/generatePyclass.test.js.map +1 -1
- package/dist/internal/generateRos.d.ts.map +1 -1
- package/dist/internal/generateRos.js +20 -9
- package/dist/internal/generateRos.js.map +1 -1
- package/dist/internal/generateSdkCpp.d.ts +4 -0
- package/dist/internal/generateSdkCpp.d.ts.map +1 -0
- package/dist/internal/generateSdkCpp.js +362 -0
- package/dist/internal/generateSdkCpp.js.map +1 -0
- package/dist/internal/generateSdkRustCTypes.d.ts +8 -0
- package/dist/internal/generateSdkRustCTypes.d.ts.map +1 -0
- package/dist/internal/generateSdkRustCTypes.js +315 -0
- package/dist/internal/generateSdkRustCTypes.js.map +1 -0
- package/dist/internal/generateTypeScript.d.ts +0 -1
- package/dist/internal/generateTypeScript.d.ts.map +1 -1
- package/dist/internal/generateTypeScript.js +10 -18
- package/dist/internal/generateTypeScript.js.map +1 -1
- package/dist/internal/schemas.d.ts +2 -0
- package/dist/internal/schemas.d.ts.map +1 -1
- package/dist/internal/schemas.js +149 -46
- package/dist/internal/schemas.js.map +1 -1
- package/dist/internal/testFixtures.d.ts.map +1 -1
- package/dist/internal/testFixtures.js +37 -9
- package/dist/internal/testFixtures.js.map +1 -1
- package/dist/internal/types.d.ts +3 -1
- package/dist/internal/types.d.ts.map +1 -1
- package/dist/jsonschema/index.d.ts +62 -12
- package/dist/jsonschema/index.d.ts.map +1 -1
- package/dist/jsonschema/index.js +122 -47
- package/dist/jsonschema/index.js.map +1 -1
- package/dist/types/CameraCalibration.d.ts +1 -1
- package/dist/types/Duration.d.ts +3 -0
- package/dist/types/Duration.d.ts.map +1 -1
- package/dist/types/Duration.js +2 -0
- package/dist/types/Duration.js.map +1 -1
- package/dist/types/Grid.d.ts +1 -1
- package/dist/types/Grid.d.ts.map +1 -1
- package/dist/types/LogLevel.d.ts +6 -0
- package/dist/types/LogLevel.d.ts.map +1 -1
- package/dist/types/LogLevel.js +6 -0
- package/dist/types/LogLevel.js.map +1 -1
- package/dist/types/NumericType.d.ts +9 -0
- package/dist/types/NumericType.d.ts.map +1 -1
- package/dist/types/NumericType.js +9 -0
- package/dist/types/NumericType.js.map +1 -1
- package/dist/types/PointsAnnotationType.d.ts +1 -0
- package/dist/types/PointsAnnotationType.d.ts.map +1 -1
- package/dist/types/PointsAnnotationType.js +1 -0
- package/dist/types/PointsAnnotationType.js.map +1 -1
- package/dist/types/PositionCovarianceType.d.ts +4 -0
- package/dist/types/PositionCovarianceType.d.ts.map +1 -1
- package/dist/types/PositionCovarianceType.js +4 -0
- package/dist/types/PositionCovarianceType.js.map +1 -1
- package/dist/types/RawImage.d.ts +58 -8
- package/dist/types/RawImage.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -23,8 +23,10 @@ function generateSchemaPrelude() {
|
|
|
23
23
|
`#![allow(non_snake_case)]`,
|
|
24
24
|
];
|
|
25
25
|
const imports = [
|
|
26
|
+
"use crate::PySchema;",
|
|
26
27
|
"use crate::schemas_wkt::{Duration, Timestamp};",
|
|
27
28
|
"use bytes::Bytes;",
|
|
29
|
+
"use foxglove::Encode;",
|
|
28
30
|
"use pyo3::prelude::*;",
|
|
29
31
|
"use pyo3::types::PyBytes;",
|
|
30
32
|
];
|
|
@@ -35,6 +37,9 @@ function generateSchemaPrelude() {
|
|
|
35
37
|
* Generate a `pyclass`-annotated struct or enum definition for the given schema.
|
|
36
38
|
*/
|
|
37
39
|
function generatePyclass(schema) {
|
|
40
|
+
if (!shouldGenerateSchemaClass(schema)) {
|
|
41
|
+
return "";
|
|
42
|
+
}
|
|
38
43
|
return isMessageSchema(schema) ? generateMessageClass(schema) : generateEnumClass(schema);
|
|
39
44
|
}
|
|
40
45
|
/**
|
|
@@ -46,12 +51,14 @@ function generatePySchemaStub(schemas) {
|
|
|
46
51
|
"from enum import Enum",
|
|
47
52
|
"from typing import List, Optional, Union",
|
|
48
53
|
"",
|
|
54
|
+
"from . import Schema",
|
|
49
55
|
// Use "from mod import X as X" syntax to explicitly re-export.
|
|
50
56
|
"from .schemas_wkt import Duration as Duration",
|
|
51
57
|
"from .schemas_wkt import Timestamp as Timestamp",
|
|
52
58
|
].join("\n") + "\n";
|
|
53
59
|
const enums = schemas
|
|
54
60
|
.filter((schema) => schema.type === "enum")
|
|
61
|
+
.filter(shouldGenerateSchemaClass)
|
|
55
62
|
.map((schema) => {
|
|
56
63
|
const name = enumName(schema);
|
|
57
64
|
const doc = [' """', ` ${schema.description}`, ' """'];
|
|
@@ -64,7 +71,10 @@ function generatePySchemaStub(schemas) {
|
|
|
64
71
|
};
|
|
65
72
|
});
|
|
66
73
|
const allSchemas = [];
|
|
67
|
-
const classes = schemas
|
|
74
|
+
const classes = schemas
|
|
75
|
+
.filter(isMessageSchema)
|
|
76
|
+
.filter(shouldGenerateSchemaClass)
|
|
77
|
+
.map((schema) => {
|
|
68
78
|
const name = structName(schema.name);
|
|
69
79
|
allSchemas.push(name);
|
|
70
80
|
const doc = [' """', ` ${schema.description}`, ' """'];
|
|
@@ -83,6 +93,10 @@ function generatePySchemaStub(schemas) {
|
|
|
83
93
|
" *,",
|
|
84
94
|
params,
|
|
85
95
|
` ) -> "${name}": ...`,
|
|
96
|
+
` @staticmethod`,
|
|
97
|
+
` def get_schema() -> Schema:`,
|
|
98
|
+
` """Returns the ${name} schema"""`,
|
|
99
|
+
` ...`,
|
|
86
100
|
].join("\n") + "\n\n",
|
|
87
101
|
};
|
|
88
102
|
});
|
|
@@ -106,15 +120,15 @@ function generatePySchemaModule(schemas) {
|
|
|
106
120
|
.filter(isMessageSchema)
|
|
107
121
|
.map((schema) => pyClassName(schema))
|
|
108
122
|
.sort();
|
|
109
|
-
const classNames = schemas
|
|
110
|
-
.map((schema) => pyClassName(schema))
|
|
111
|
-
.concat(["Timestamp", "Duration"])
|
|
112
|
-
.sort();
|
|
123
|
+
const classNames = schemas.map((schema) => pyClassName(schema)).sort();
|
|
113
124
|
const headers = [
|
|
114
125
|
`"""`,
|
|
115
126
|
`This module contains the definitions of the well-known Foxglove schemas for logging.`,
|
|
116
|
-
|
|
127
|
+
"",
|
|
117
128
|
"Log messages to a corresponding channel type from :py:mod:`foxglove.channels`.",
|
|
129
|
+
"",
|
|
130
|
+
"Note that the schema classes are currently immutable and do not expose",
|
|
131
|
+
"getters and setters for their fields. This is a limitation we plan to address in the future.",
|
|
118
132
|
`"""`,
|
|
119
133
|
"# Generated by https://github.com/foxglove/foxglove-sdk",
|
|
120
134
|
"",
|
|
@@ -130,28 +144,61 @@ function generatePySchemaModule(schemas) {
|
|
|
130
144
|
const alias = `FoxgloveSchema = Union[${allSchemas.join(", ")}];\n`;
|
|
131
145
|
return [...headers, ...imports, alias, ...exports, ""].join("\n");
|
|
132
146
|
}
|
|
133
|
-
|
|
134
|
-
|
|
147
|
+
/**
|
|
148
|
+
* Format a string as a Rust doc comment, splitting on newlines and prefixing each line with `///`.
|
|
149
|
+
*/
|
|
150
|
+
function rustDoc(str) {
|
|
135
151
|
return str
|
|
136
152
|
.split("\n")
|
|
137
|
-
.map((line) =>
|
|
153
|
+
.map((line) => `/// ${line}`)
|
|
138
154
|
.join("\n");
|
|
139
155
|
}
|
|
140
|
-
|
|
141
|
-
|
|
156
|
+
/**
|
|
157
|
+
* Convert markdown links to RST format: [text](url) becomes `text <url>`__
|
|
158
|
+
*/
|
|
159
|
+
function convertMarkdownLinksToRst(text) {
|
|
160
|
+
return text.replace(/\[(?<text>[^\]]+)\]\((?<url>[^)]+)\)/g, "`$<text> <$<url>>`__");
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Generate a :param doc comment for a field.
|
|
164
|
+
*
|
|
165
|
+
* The returned string may be multi-line. This converts markdown code blocks and links to RST inside
|
|
166
|
+
* extended descriptions.
|
|
167
|
+
*/
|
|
168
|
+
function pythonParamDoc(field) {
|
|
169
|
+
const lines = field.description.split("\n");
|
|
170
|
+
const [firstLine, ...rest] = lines;
|
|
171
|
+
const output = [];
|
|
172
|
+
if (firstLine == undefined) {
|
|
173
|
+
return "";
|
|
174
|
+
}
|
|
175
|
+
output.push(`:param ${field.name}: ${firstLine}`);
|
|
176
|
+
if (rest.length === 0) {
|
|
177
|
+
return output.join("\n");
|
|
178
|
+
}
|
|
179
|
+
let inCodeBlock = false;
|
|
180
|
+
for (const line of rest) {
|
|
181
|
+
if (line.startsWith("```")) {
|
|
182
|
+
if (!inCodeBlock) {
|
|
183
|
+
// Start an RST code block, which requires a following blank line
|
|
184
|
+
output.push(" ::");
|
|
185
|
+
output.push("");
|
|
186
|
+
}
|
|
187
|
+
inCodeBlock = !inCodeBlock;
|
|
188
|
+
continue;
|
|
189
|
+
}
|
|
190
|
+
const indent = " ".repeat(inCodeBlock ? 8 : 4);
|
|
191
|
+
const rst = inCodeBlock ? line : convertMarkdownLinksToRst(line);
|
|
192
|
+
output.push(indent + rst);
|
|
193
|
+
}
|
|
194
|
+
return output.join("\n");
|
|
142
195
|
}
|
|
143
196
|
function generateMessageClass(schema) {
|
|
144
197
|
const className = structName(schema.name);
|
|
145
|
-
const schemaFields = Array.from(schema.fields).map((field) => ({
|
|
146
|
-
fieldName: safeName(field.name),
|
|
147
|
-
argName: safeName(field.name),
|
|
148
|
-
// description: rustDoc(field.description, { indent: 4 }),
|
|
149
|
-
field,
|
|
150
|
-
}));
|
|
151
198
|
const struct = [
|
|
152
199
|
rustDoc(schema.description),
|
|
153
200
|
`///`,
|
|
154
|
-
...
|
|
201
|
+
...schema.fields.map((field) => rustDoc(pythonParamDoc(field))),
|
|
155
202
|
`///`,
|
|
156
203
|
`/// See https://docs.foxglove.dev/docs/visualization/message-schemas/${constantToKebabCase(className)}`,
|
|
157
204
|
`#[pyclass(module = "foxglove.schemas")]`,
|
|
@@ -165,17 +212,14 @@ function generateMessageClass(schema) {
|
|
|
165
212
|
}
|
|
166
213
|
switch (field.type.type) {
|
|
167
214
|
case "primitive":
|
|
168
|
-
|
|
169
|
-
return `${safeName(field.name)}.map(Into::into)`;
|
|
170
|
-
}
|
|
171
|
-
return safeName(field.name);
|
|
215
|
+
return safeRustName(field.name);
|
|
172
216
|
case "nested":
|
|
173
217
|
if (field.array != undefined) {
|
|
174
|
-
return `${
|
|
218
|
+
return `${safeRustName(field.name)}.into_iter().map(|x| x.into()).collect()`;
|
|
175
219
|
}
|
|
176
|
-
return `${
|
|
220
|
+
return `${safeRustName(field.name)}.map(Into::into)`;
|
|
177
221
|
case "enum":
|
|
178
|
-
return `${
|
|
222
|
+
return `${safeRustName(field.name)} as i32`;
|
|
179
223
|
}
|
|
180
224
|
}
|
|
181
225
|
function fieldAssignment(field) {
|
|
@@ -186,6 +230,11 @@ function generateMessageClass(schema) {
|
|
|
186
230
|
}
|
|
187
231
|
return `${name}: ${value}`;
|
|
188
232
|
}
|
|
233
|
+
const schemaFields = Array.from(schema.fields).map((field) => ({
|
|
234
|
+
fieldName: safeRustName(field.name),
|
|
235
|
+
argName: safeRustName(field.name),
|
|
236
|
+
field,
|
|
237
|
+
}));
|
|
189
238
|
const signature = schemaFields
|
|
190
239
|
.map(({ argName, field }) => `${argName}=${rustDefaultValue(field)}`)
|
|
191
240
|
.join(", ");
|
|
@@ -207,6 +256,11 @@ function generateMessageClass(schema) {
|
|
|
207
256
|
schemaFields.map(({ fieldName }) => ` self.0.${protoName(fieldName)},`).join("\n"),
|
|
208
257
|
` )`,
|
|
209
258
|
` }`,
|
|
259
|
+
` /// Returns the ${className} schema.`,
|
|
260
|
+
` #[staticmethod]`,
|
|
261
|
+
` fn get_schema() -> PySchema {`,
|
|
262
|
+
` foxglove::schemas::${className}::get_schema().unwrap().into()`,
|
|
263
|
+
` }`,
|
|
210
264
|
`}\n\n`,
|
|
211
265
|
];
|
|
212
266
|
const fromTrait = [
|
|
@@ -240,7 +294,7 @@ function enumName(schema) {
|
|
|
240
294
|
/**
|
|
241
295
|
* Deal with reserved keywords in identifiers
|
|
242
296
|
*/
|
|
243
|
-
function
|
|
297
|
+
function safeRustName(name) {
|
|
244
298
|
if (name === "type") {
|
|
245
299
|
return "r#type";
|
|
246
300
|
}
|
|
@@ -269,6 +323,9 @@ function rustOutputType(field) {
|
|
|
269
323
|
case "float64":
|
|
270
324
|
type = "f64";
|
|
271
325
|
break;
|
|
326
|
+
case "int32":
|
|
327
|
+
type = "i32";
|
|
328
|
+
break;
|
|
272
329
|
case "uint32":
|
|
273
330
|
type = "u32";
|
|
274
331
|
break;
|
|
@@ -279,11 +336,6 @@ function rustOutputType(field) {
|
|
|
279
336
|
// Special case: we don't take a Vec<u8> directly because pyo3 will iterate the vec and
|
|
280
337
|
// copy each element https://github.com/PyO3/pyo3/issues/2888
|
|
281
338
|
return "Option<Bound<'_, PyBytes>>";
|
|
282
|
-
case "time":
|
|
283
|
-
type = "Option<Timestamp>";
|
|
284
|
-
break;
|
|
285
|
-
case "duration":
|
|
286
|
-
type = "Option<Duration>";
|
|
287
339
|
break;
|
|
288
340
|
}
|
|
289
341
|
break;
|
|
@@ -330,15 +382,13 @@ function pythonDefaultValue(field) {
|
|
|
330
382
|
return `""`;
|
|
331
383
|
case "float64":
|
|
332
384
|
return "0.0";
|
|
385
|
+
case "int32":
|
|
333
386
|
case "uint32":
|
|
334
387
|
return "0";
|
|
335
388
|
case "boolean":
|
|
336
389
|
return "False";
|
|
337
390
|
case "bytes":
|
|
338
391
|
return 'b""';
|
|
339
|
-
case "time":
|
|
340
|
-
case "duration":
|
|
341
|
-
return "None";
|
|
342
392
|
}
|
|
343
393
|
// exhaustive check above
|
|
344
394
|
// eslint-disable-next-line no-fallthrough
|
|
@@ -368,15 +418,13 @@ function rustDefaultValue(field) {
|
|
|
368
418
|
return `"".to_string()`;
|
|
369
419
|
case "float64":
|
|
370
420
|
return "0.0";
|
|
421
|
+
case "int32":
|
|
371
422
|
case "uint32":
|
|
372
423
|
return "0";
|
|
373
424
|
case "boolean":
|
|
374
425
|
return "false";
|
|
375
426
|
case "bytes":
|
|
376
427
|
return "vec![]";
|
|
377
|
-
case "time":
|
|
378
|
-
case "duration":
|
|
379
|
-
return "None";
|
|
380
428
|
}
|
|
381
429
|
// exhaustive check above
|
|
382
430
|
// eslint-disable-next-line no-fallthrough
|
|
@@ -397,16 +445,13 @@ function pythonType(foxglovePrimitive) {
|
|
|
397
445
|
return "str";
|
|
398
446
|
case "float64":
|
|
399
447
|
return "float";
|
|
448
|
+
case "int32":
|
|
400
449
|
case "uint32":
|
|
401
450
|
return "int";
|
|
402
451
|
case "boolean":
|
|
403
452
|
return "bool";
|
|
404
453
|
case "bytes":
|
|
405
454
|
return "bytes";
|
|
406
|
-
case "time":
|
|
407
|
-
return "Timestamp";
|
|
408
|
-
case "duration":
|
|
409
|
-
return "Duration";
|
|
410
455
|
}
|
|
411
456
|
}
|
|
412
457
|
function protoName(name) {
|
|
@@ -414,7 +459,7 @@ function protoName(name) {
|
|
|
414
459
|
// Schemas may include single-letter capitals; generated proto structs use lowercase
|
|
415
460
|
return name.toLowerCase();
|
|
416
461
|
}
|
|
417
|
-
return
|
|
462
|
+
return safeRustName(name);
|
|
418
463
|
}
|
|
419
464
|
function capitalize(str) {
|
|
420
465
|
return str.charAt(0).toUpperCase() + str.slice(1);
|
|
@@ -447,8 +492,6 @@ function generateSchemaModuleRegistration(schemas) {
|
|
|
447
492
|
pub fn register_submodule(parent_module: &Bound<'_, PyModule>) -> PyResult<()> {
|
|
448
493
|
let module = PyModule::new(parent_module.py(), "schemas")?;
|
|
449
494
|
|
|
450
|
-
module.add_class::<Duration>()?;
|
|
451
|
-
module.add_class::<Timestamp>()?;
|
|
452
495
|
${schemas.map((schema) => `module.add_class::<${pyClassName(schema)}>()?;`).join("\n ")}
|
|
453
496
|
|
|
454
497
|
// Define as a package
|
|
@@ -462,15 +505,25 @@ pub fn register_submodule(parent_module: &Bound<'_, PyModule>) -> PyResult<()> {
|
|
|
462
505
|
}
|
|
463
506
|
`;
|
|
464
507
|
}
|
|
508
|
+
/**
|
|
509
|
+
* Python SDK uses custom implementations for Time and Duration via schemas_wkt, so we don't
|
|
510
|
+
* auto-generate implementations or stubs. These match the `{ sec, nsec }` schema definition but
|
|
511
|
+
* provide additional conversions and factory methods.
|
|
512
|
+
*/
|
|
513
|
+
function shouldGenerateSchemaClass(schema) {
|
|
514
|
+
return schema.name !== "Timestamp" && schema.name !== "Duration";
|
|
515
|
+
}
|
|
516
|
+
/**
|
|
517
|
+
* Because the SDK uses custom schema implementations, we don't yet generate channels for them.
|
|
518
|
+
*/
|
|
465
519
|
function shouldGenerateChannelClass(schema) {
|
|
466
|
-
return
|
|
520
|
+
return schema.name !== "Timestamp" && schema.name !== "Duration";
|
|
467
521
|
}
|
|
468
522
|
/**
|
|
469
523
|
* Generate a rust function to register the channels in a submodule.
|
|
470
524
|
* https://pyo3.rs/v0.23.4/module.html
|
|
471
525
|
*/
|
|
472
|
-
function generateChannelModuleRegistration(
|
|
473
|
-
const schemas = messageSchemas.filter(shouldGenerateChannelClass);
|
|
526
|
+
function generateChannelModuleRegistration(schemas) {
|
|
474
527
|
return `
|
|
475
528
|
pub fn register_submodule(parent_module: &Bound<'_, PyModule>) -> PyResult<()> {
|
|
476
529
|
let module = PyModule::new(parent_module.py(), "channels")?;
|
|
@@ -496,16 +549,18 @@ function pyClassName(schema) {
|
|
|
496
549
|
* can't be exported directly to Python.
|
|
497
550
|
*/
|
|
498
551
|
function generateChannelClasses(messageSchemas) {
|
|
499
|
-
const schemas = messageSchemas.filter(
|
|
552
|
+
const schemas = messageSchemas.filter(shouldGenerateChannelClass);
|
|
500
553
|
const header = [
|
|
501
554
|
`//! Typed channels for logging Foxglove schemas`,
|
|
502
555
|
`//! Generated by https://github.com/foxglove/foxglove-sdk`,
|
|
503
556
|
].join("\n");
|
|
504
557
|
const imports = [
|
|
505
|
-
`use crate::PyContext;`,
|
|
558
|
+
`use crate::{PyContext, PySchema};`,
|
|
506
559
|
`use foxglove::{Channel, ChannelBuilder, PartialMetadata};`,
|
|
507
560
|
`use pyo3::prelude::*;`,
|
|
561
|
+
`use pyo3::types::PyDict;`,
|
|
508
562
|
`use super::schemas;`,
|
|
563
|
+
`use std::collections::BTreeMap;`,
|
|
509
564
|
].join("\n");
|
|
510
565
|
const channelModuleRegistration = generateChannelModuleRegistration(schemas);
|
|
511
566
|
const classes = schemas.map((schema) => {
|
|
@@ -521,16 +576,18 @@ impl ${channelClass} {
|
|
|
521
576
|
/// Create a new channel.
|
|
522
577
|
///
|
|
523
578
|
/// :param topic: The topic to log messages to. You should choose a unique topic name per channel.
|
|
579
|
+
/// :param metadata: A dictionary of key/value strings to add to the channel.
|
|
580
|
+
/// A type error is raised if any key or value is not a string.
|
|
524
581
|
#[new]
|
|
525
|
-
#[pyo3(signature = (topic, *, context=None))]
|
|
526
|
-
fn new(topic: &str, context: Option<&PyContext>) -> Self {
|
|
527
|
-
let
|
|
528
|
-
|
|
529
|
-
.context(&context.0.clone())
|
|
530
|
-
.build()
|
|
582
|
+
#[pyo3(signature = (topic, *, metadata=None, context=None))]
|
|
583
|
+
fn new(topic: &str, metadata: Option<BTreeMap<String, String>>, context: Option<&PyContext>) -> Self {
|
|
584
|
+
let builder = ChannelBuilder::new(topic).metadata(metadata.unwrap_or_default());
|
|
585
|
+
let builder = if let Some(context) = context {
|
|
586
|
+
builder.context(&context.0.clone())
|
|
531
587
|
} else {
|
|
532
|
-
|
|
588
|
+
builder
|
|
533
589
|
};
|
|
590
|
+
let base = builder.build();
|
|
534
591
|
Self(base)
|
|
535
592
|
}
|
|
536
593
|
|
|
@@ -544,11 +601,42 @@ impl ${channelClass} {
|
|
|
544
601
|
self.0.topic()
|
|
545
602
|
}
|
|
546
603
|
|
|
604
|
+
/// The message encoding for the channel.
|
|
605
|
+
#[getter]
|
|
606
|
+
fn message_encoding(&self) -> &str {
|
|
607
|
+
self.0.message_encoding()
|
|
608
|
+
}
|
|
609
|
+
|
|
610
|
+
/// Returns a copy of the channel's metadata.
|
|
611
|
+
///
|
|
612
|
+
/// Note that changes made to the returned dictionary will not be applied to
|
|
613
|
+
/// the channel's metadata.
|
|
614
|
+
fn metadata(&self, py: Python<'_>) -> PyResult<PyObject> {
|
|
615
|
+
let dict = PyDict::new(py);
|
|
616
|
+
for (key, value) in self.0.metadata() {
|
|
617
|
+
dict.set_item(key, value)?;
|
|
618
|
+
}
|
|
619
|
+
Ok(dict.into())
|
|
620
|
+
}
|
|
621
|
+
|
|
622
|
+
/// Returns a copy of the channel's schema.
|
|
623
|
+
///
|
|
624
|
+
/// Note that changes made to the returned object will not be applied to
|
|
625
|
+
/// the channel's schema.
|
|
626
|
+
fn schema(&self) -> Option<PySchema> {
|
|
627
|
+
self.0.schema().cloned().map(PySchema::from)
|
|
628
|
+
}
|
|
629
|
+
|
|
547
630
|
/// The name of the schema for the channel.
|
|
548
631
|
fn schema_name(&self) -> Option<&str> {
|
|
549
632
|
Some(self.0.schema()?.name.as_str())
|
|
550
633
|
}
|
|
551
634
|
|
|
635
|
+
/// Returns true if at least one sink is subscribed to this channel.
|
|
636
|
+
fn has_sinks(&self) -> bool {
|
|
637
|
+
self.0.has_sinks()
|
|
638
|
+
}
|
|
639
|
+
|
|
552
640
|
/// Close the channel.
|
|
553
641
|
///
|
|
554
642
|
/// You can use this to explicitly unadvertise the channel to sinks that subscribe to
|
|
@@ -584,14 +672,14 @@ impl ${channelClass} {
|
|
|
584
672
|
return [header, imports, channelModuleRegistration, ...classes].join("\n\n");
|
|
585
673
|
}
|
|
586
674
|
/**
|
|
587
|
-
* Generate a .pyi stub for the given
|
|
675
|
+
* Generate a .pyi stub for the given schema channels.
|
|
588
676
|
*/
|
|
589
677
|
function generatePyChannelStub(messageSchemas) {
|
|
590
678
|
const header = "# Generated by https://github.com/foxglove/foxglove-sdk";
|
|
591
|
-
const schemas = messageSchemas.filter(
|
|
679
|
+
const schemas = messageSchemas.filter(shouldGenerateChannelClass);
|
|
592
680
|
const imports = [
|
|
593
|
-
"from typing import Optional",
|
|
594
|
-
"from . import Context",
|
|
681
|
+
"from typing import Dict, Optional",
|
|
682
|
+
"from . import Context, Schema",
|
|
595
683
|
...schemas.map((schema) => `from .schemas import ${structName(schema.name)}`),
|
|
596
684
|
];
|
|
597
685
|
const classes = schemas.map((schema) => {
|
|
@@ -613,6 +701,7 @@ function generatePyChannelStub(messageSchemas) {
|
|
|
613
701
|
` cls,`,
|
|
614
702
|
` topic: str,`,
|
|
615
703
|
` *,`,
|
|
704
|
+
` metadata: Optional[Dict[str, str]] = None,`,
|
|
616
705
|
` context: Optional["Context"] = None,`,
|
|
617
706
|
` ) -> "${channelClass}": ...\n`,
|
|
618
707
|
` def id(self) -> int:`,
|
|
@@ -621,9 +710,32 @@ function generatePyChannelStub(messageSchemas) {
|
|
|
621
710
|
` def topic(self) -> str:`,
|
|
622
711
|
` """The topic name of the channel."""`,
|
|
623
712
|
` ...`,
|
|
624
|
-
`
|
|
713
|
+
` @property`,
|
|
714
|
+
` def message_encoding(self) -> str:`,
|
|
715
|
+
` """The message encoding for the channel"""`,
|
|
716
|
+
` ...`,
|
|
717
|
+
` def metadata(self) -> Dict[str, str]:`,
|
|
718
|
+
` """`,
|
|
719
|
+
` Returns a copy of the channel's metadata.`,
|
|
720
|
+
``,
|
|
721
|
+
` Note that changes made to the returned dictionary will not be applied to`,
|
|
722
|
+
` the channel's metadata.`,
|
|
723
|
+
` """`,
|
|
724
|
+
` ...`,
|
|
725
|
+
` def schema(self) -> Optional[Schema]:`,
|
|
726
|
+
` """`,
|
|
727
|
+
` Returns a copy of the channel's schema.`,
|
|
728
|
+
``,
|
|
729
|
+
` Note that changes made to the returned object will not be applied to`,
|
|
730
|
+
` the channel's schema.`,
|
|
731
|
+
` """`,
|
|
732
|
+
` ...`,
|
|
733
|
+
` def schema_name(self) -> Optional[str]:`,
|
|
625
734
|
` """The name of the schema for the channel."""`,
|
|
626
735
|
` ...`,
|
|
736
|
+
` def has_sinks(self) -> bool:`,
|
|
737
|
+
` """Returns true if at least one sink is subscribed to this channel"""`,
|
|
738
|
+
` ...`,
|
|
627
739
|
` def close(self) -> None:`,
|
|
628
740
|
` """Close the channel."""`,
|
|
629
741
|
` ...`,
|
|
@@ -649,7 +761,7 @@ function generatePyChannelStub(messageSchemas) {
|
|
|
649
761
|
function generatePyChannelModule(schemas) {
|
|
650
762
|
const headers = [
|
|
651
763
|
`"""`,
|
|
652
|
-
`This defines channels to easily log messages conforming to well-known Foxglove schemas.`,
|
|
764
|
+
`This module defines channels to easily log messages conforming to well-known Foxglove schemas.`,
|
|
653
765
|
``,
|
|
654
766
|
"See the :py:mod:`foxglove.schemas` module for available definitions.",
|
|
655
767
|
`"""`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generatePyclass.js","sourceRoot":"","sources":["../../src/internal/generatePyclass.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"generatePyclass.js","sourceRoot":"","sources":["../../src/internal/generatePyclass.ts"],"names":[],"mappings":"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"}
|