@foxglove/schemas 1.7.0 → 1.7.2

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.
Files changed (40) hide show
  1. package/dist/internal/generatePyclass.d.ts +3 -3
  2. package/dist/internal/generatePyclass.d.ts.map +1 -1
  3. package/dist/internal/generatePyclass.js +119 -32
  4. package/dist/internal/generatePyclass.js.map +1 -1
  5. package/dist/internal/generatePyclass.test.js +147 -140
  6. package/dist/internal/generatePyclass.test.js.map +1 -1
  7. package/dist/internal/generateSdkCpp.d.ts +4 -0
  8. package/dist/internal/generateSdkCpp.d.ts.map +1 -0
  9. package/dist/internal/generateSdkCpp.js +359 -0
  10. package/dist/internal/generateSdkCpp.js.map +1 -0
  11. package/dist/internal/generateSdkRustCTypes.d.ts +3 -0
  12. package/dist/internal/generateSdkRustCTypes.d.ts.map +1 -0
  13. package/dist/internal/generateSdkRustCTypes.js +253 -0
  14. package/dist/internal/generateSdkRustCTypes.js.map +1 -0
  15. package/dist/internal/schemas.d.ts.map +1 -1
  16. package/dist/internal/schemas.js +28 -24
  17. package/dist/internal/schemas.js.map +1 -1
  18. package/dist/jsonschema/index.d.ts +9 -12
  19. package/dist/jsonschema/index.d.ts.map +1 -1
  20. package/dist/jsonschema/index.js +80 -41
  21. package/dist/jsonschema/index.js.map +1 -1
  22. package/dist/types/CameraCalibration.d.ts +1 -1
  23. package/dist/types/CompressedImage.d.ts +1 -1
  24. package/dist/types/LogLevel.d.ts +6 -0
  25. package/dist/types/LogLevel.d.ts.map +1 -1
  26. package/dist/types/LogLevel.js +6 -0
  27. package/dist/types/LogLevel.js.map +1 -1
  28. package/dist/types/NumericType.d.ts +9 -0
  29. package/dist/types/NumericType.d.ts.map +1 -1
  30. package/dist/types/NumericType.js +9 -0
  31. package/dist/types/NumericType.js.map +1 -1
  32. package/dist/types/PointsAnnotationType.d.ts +1 -0
  33. package/dist/types/PointsAnnotationType.d.ts.map +1 -1
  34. package/dist/types/PointsAnnotationType.js +1 -0
  35. package/dist/types/PointsAnnotationType.js.map +1 -1
  36. package/dist/types/PositionCovarianceType.d.ts +4 -0
  37. package/dist/types/PositionCovarianceType.d.ts.map +1 -1
  38. package/dist/types/PositionCovarianceType.js +4 -0
  39. package/dist/types/PositionCovarianceType.js.map +1 -1
  40. package/package.json +2 -2
@@ -24,11 +24,11 @@ export declare function generateSchemaModuleRegistration(schemas: FoxgloveSchema
24
24
  * Generate a concrete `pyclass`-annotated Channel struct for each message schema, since generics
25
25
  * can't be exported directly to Python.
26
26
  */
27
- export declare function generateChannelClasses(messageSchemas: FoxgloveMessageSchema[]): string;
27
+ export declare function generateChannelClasses(schemas: FoxgloveMessageSchema[]): string;
28
28
  /**
29
- * Generate a .pyi stub for the given schemas.
29
+ * Generate a .pyi stub for the given schema channels.
30
30
  */
31
- export declare function generatePyChannelStub(messageSchemas: FoxgloveMessageSchema[]): string;
31
+ export declare function generatePyChannelStub(schemas: FoxgloveMessageSchema[]): string;
32
32
  /**
33
33
  * Generate a module __init__ file re-exporting all channels to the public API.
34
34
  */
@@ -1 +1 @@
1
- {"version":3,"file":"generatePyclass.d.ts","sourceRoot":"","sources":["../../src/internal/generatePyclass.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,qBAAqB,EAErB,cAAc,EACf,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAsB9C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAE9D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,CA+DtE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,CAwBxE;AA+UD;;;GAGG;AACH,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,CAmBlF;AAkCD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,cAAc,EAAE,qBAAqB,EAAE,GAAG,MAAM,CAqFtF;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,cAAc,EAAE,qBAAqB,EAAE,GAAG,MAAM,CAmDrF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,qBAAqB,EAAE,GAAG,MAAM,CAkBhF"}
1
+ {"version":3,"file":"generatePyclass.d.ts","sourceRoot":"","sources":["../../src/internal/generatePyclass.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,qBAAqB,EAErB,cAAc,EACf,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAwB9C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAE9D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,CAwEtE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,CAiCxE;AAsVD;;;GAGG;AACH,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,CAmBlF;AA6BD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,qBAAqB,EAAE,GAAG,MAAM,CA0H/E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,qBAAqB,EAAE,GAAG,MAAM,CAkF9E;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,qBAAqB,EAAE,GAAG,MAAM,CAchF"}
@@ -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
  ];
@@ -46,6 +48,7 @@ function generatePySchemaStub(schemas) {
46
48
  "from enum import Enum",
47
49
  "from typing import List, Optional, Union",
48
50
  "",
51
+ "from . import Schema",
49
52
  // Use "from mod import X as X" syntax to explicitly re-export.
50
53
  "from .schemas_wkt import Duration as Duration",
51
54
  "from .schemas_wkt import Timestamp as Timestamp",
@@ -83,16 +86,22 @@ function generatePySchemaStub(schemas) {
83
86
  " *,",
84
87
  params,
85
88
  ` ) -> "${name}": ...`,
89
+ ` @staticmethod`,
90
+ ` def get_schema() -> Schema:`,
91
+ ` """Returns the ${name} schema"""`,
92
+ ` ...`,
86
93
  ].join("\n") + "\n\n",
87
94
  };
88
95
  });
89
96
  // Enums come first to provide default values for constructor parameters. Otherwise, sort by name.
90
- const enumSources = enums.sort((a, b) => a.name.localeCompare(b.name)).map(({ source }) => source);
97
+ const enumSources = enums
98
+ .sort((a, b) => a.name.localeCompare(b.name))
99
+ .map(({ source }) => source);
91
100
  const classSources = classes
92
101
  .sort((a, b) => a.name.localeCompare(b.name))
93
102
  .map(({ source }) => source);
94
- const enumMarker = '#\n# Enums\n#\n';
95
- const classMarker = '#\n# Classes\n#\n';
103
+ const enumMarker = "#\n# Enums\n#\n";
104
+ const classMarker = "#\n# Classes\n#\n";
96
105
  const typeUnion = `\nFoxgloveSchema = Union[${allSchemas.join(", ")}];\n`;
97
106
  return [header, enumMarker, ...enumSources, classMarker, ...classSources, typeUnion].join("\n");
98
107
  }
@@ -100,13 +109,22 @@ function generatePySchemaStub(schemas) {
100
109
  * Generate a module __init__ file re-exporting all schemas to the public API.
101
110
  */
102
111
  function generatePySchemaModule(schemas) {
103
- const allSchemas = schemas.filter(isMessageSchema).map((schema) => pyClassName(schema)).sort();
104
- const classNames = schemas.map((schema) => pyClassName(schema)).concat(["Timestamp", "Duration"]).sort();
112
+ const allSchemas = schemas
113
+ .filter(isMessageSchema)
114
+ .map((schema) => pyClassName(schema))
115
+ .sort();
116
+ const classNames = schemas
117
+ .map((schema) => pyClassName(schema))
118
+ .concat(["Timestamp", "Duration"])
119
+ .sort();
105
120
  const headers = [
106
121
  `"""`,
107
122
  `This module contains the definitions of the well-known Foxglove schemas for logging.`,
108
- ``,
123
+ "",
109
124
  "Log messages to a corresponding channel type from :py:mod:`foxglove.channels`.",
125
+ "",
126
+ "Note that the schema classes are currently immutable and do not expose",
127
+ "getters and setters for their fields. This is a limitation we plan to address in the future.",
110
128
  `"""`,
111
129
  "# Generated by https://github.com/foxglove/foxglove-sdk",
112
130
  "",
@@ -178,7 +196,9 @@ function generateMessageClass(schema) {
178
196
  }
179
197
  return `${name}: ${value}`;
180
198
  }
181
- const signature = schemaFields.map(({ argName, field }) => `${argName}=${rustDefaultValue(field)}`).join(", ");
199
+ const signature = schemaFields
200
+ .map(({ argName, field }) => `${argName}=${rustDefaultValue(field)}`)
201
+ .join(", ");
182
202
  const impl = [
183
203
  `#[pymethods]`,
184
204
  `impl ${className} {`,
@@ -197,6 +217,11 @@ function generateMessageClass(schema) {
197
217
  schemaFields.map(({ fieldName }) => ` self.0.${protoName(fieldName)},`).join("\n"),
198
218
  ` )`,
199
219
  ` }`,
220
+ ` /// Returns the ${className} schema.`,
221
+ ` #[staticmethod]`,
222
+ ` fn get_schema() -> PySchema {`,
223
+ ` foxglove::schemas::${className}::get_schema().unwrap().into()`,
224
+ ` }`,
200
225
  `}\n\n`,
201
226
  ];
202
227
  const fromTrait = [
@@ -452,15 +477,11 @@ pub fn register_submodule(parent_module: &Bound<'_, PyModule>) -> PyResult<()> {
452
477
  }
453
478
  `;
454
479
  }
455
- function shouldGenerateChannelClass(schema) {
456
- return !schema.name.endsWith("Primitive");
457
- }
458
480
  /**
459
481
  * Generate a rust function to register the channels in a submodule.
460
482
  * https://pyo3.rs/v0.23.4/module.html
461
483
  */
462
- function generateChannelModuleRegistration(messageSchemas) {
463
- const schemas = messageSchemas.filter(shouldGenerateChannelClass);
484
+ function generateChannelModuleRegistration(schemas) {
464
485
  return `
465
486
  pub fn register_submodule(parent_module: &Bound<'_, PyModule>) -> PyResult<()> {
466
487
  let module = PyModule::new(parent_module.py(), "channels")?;
@@ -485,16 +506,16 @@ function pyClassName(schema) {
485
506
  * Generate a concrete `pyclass`-annotated Channel struct for each message schema, since generics
486
507
  * can't be exported directly to Python.
487
508
  */
488
- function generateChannelClasses(messageSchemas) {
489
- const schemas = messageSchemas.filter((schema) => !schema.name.endsWith("Primitive"));
509
+ function generateChannelClasses(schemas) {
490
510
  const header = [
491
511
  `//! Typed channels for logging Foxglove schemas`,
492
512
  `//! Generated by https://github.com/foxglove/foxglove-sdk`,
493
513
  ].join("\n");
494
514
  const imports = [
495
- `use foxglove::{Channel, PartialMetadata};`,
515
+ `use crate::{PyContext, PySchema};`,
516
+ `use foxglove::{Channel, ChannelBuilder, PartialMetadata};`,
496
517
  `use pyo3::prelude::*;`,
497
- `use crate::errors::PyFoxgloveError;`,
518
+ `use pyo3::types::PyDict;`,
498
519
  `use super::schemas;`,
499
520
  ].join("\n");
500
521
  const channelModuleRegistration = generateChannelModuleRegistration(schemas);
@@ -510,11 +531,18 @@ struct ${channelClass}(Channel<foxglove::schemas::${schemaClass}>);
510
531
  impl ${channelClass} {
511
532
  /// Create a new channel.
512
533
  ///
513
- /// :param topic: The topic to log messages to.
534
+ /// :param topic: The topic to log messages to. You should choose a unique topic name per channel.
514
535
  #[new]
515
- fn new(topic: &str) -> PyResult<Self> {
516
- let base = Channel::new(topic).map_err(PyFoxgloveError::from)?;
517
- Ok(Self(base))
536
+ #[pyo3(signature = (topic, *, context=None))]
537
+ fn new(topic: &str, context: Option<&PyContext>) -> Self {
538
+ let base = if let Some(context) = context {
539
+ ChannelBuilder::new(topic)
540
+ .context(&context.0.clone())
541
+ .build()
542
+ } else {
543
+ Channel::new(topic)
544
+ };
545
+ Self(base)
518
546
  }
519
547
 
520
548
  /// The unique ID of the channel.
@@ -527,11 +555,42 @@ impl ${channelClass} {
527
555
  self.0.topic()
528
556
  }
529
557
 
558
+ /// The message encoding for the channel.
559
+ #[getter]
560
+ fn message_encoding(&self) -> &str {
561
+ self.0.message_encoding()
562
+ }
563
+
564
+ /// Returns a copy of the channel's metadata.
565
+ ///
566
+ /// Note that changes made to the returned dictionary will not be applied to
567
+ /// the channel's metadata.
568
+ fn metadata(&self, py: Python<'_>) -> PyResult<PyObject> {
569
+ let dict = PyDict::new(py);
570
+ for (key, value) in self.0.metadata() {
571
+ dict.set_item(key, value)?;
572
+ }
573
+ Ok(dict.into())
574
+ }
575
+
576
+ /// Returns a copy of the channel's schema.
577
+ ///
578
+ /// Note that changes made to the returned object will not be applied to
579
+ /// the channel's schema.
580
+ fn schema(&self) -> Option<PySchema> {
581
+ self.0.schema().cloned().map(PySchema::from)
582
+ }
583
+
530
584
  /// The name of the schema for the channel.
531
585
  fn schema_name(&self) -> Option<&str> {
532
586
  Some(self.0.schema()?.name.as_str())
533
587
  }
534
588
 
589
+ /// Returns true if at least one sink is subscribed to this channel.
590
+ fn has_sinks(&self) -> bool {
591
+ self.0.has_sinks()
592
+ }
593
+
535
594
  /// Close the channel.
536
595
  ///
537
596
  /// You can use this to explicitly unadvertise the channel to sinks that subscribe to
@@ -567,18 +626,25 @@ impl ${channelClass} {
567
626
  return [header, imports, channelModuleRegistration, ...classes].join("\n\n");
568
627
  }
569
628
  /**
570
- * Generate a .pyi stub for the given schemas.
629
+ * Generate a .pyi stub for the given schema channels.
571
630
  */
572
- function generatePyChannelStub(messageSchemas) {
631
+ function generatePyChannelStub(schemas) {
573
632
  const header = "# Generated by https://github.com/foxglove/foxglove-sdk";
574
- const schemas = messageSchemas.filter((schema) => !schema.name.endsWith("Primitive"));
575
633
  const imports = [
634
+ "from typing import Dict, Optional",
635
+ "from . import Context, Schema",
576
636
  ...schemas.map((schema) => `from .schemas import ${structName(schema.name)}`),
577
637
  ];
578
638
  const classes = schemas.map((schema) => {
579
639
  const schemaClass = structName(schema.name);
580
640
  const channelClass = `${schemaClass}Channel`;
581
- const doc = [' """', ` A channel for logging ${schemaClass} messages`, ' """'];
641
+ const doc = [
642
+ ` """`,
643
+ ` A channel for logging ${schemaClass} messages`,
644
+ ``,
645
+ ` You should choose a unique topic name per channel.`,
646
+ ` """`,
647
+ ];
582
648
  return {
583
649
  name: channelClass,
584
650
  source: [
@@ -587,6 +653,8 @@ function generatePyChannelStub(messageSchemas) {
587
653
  ` def __new__(`,
588
654
  ` cls,`,
589
655
  ` topic: str,`,
656
+ ` *,`,
657
+ ` context: Optional["Context"] = None,`,
590
658
  ` ) -> "${channelClass}": ...\n`,
591
659
  ` def id(self) -> int:`,
592
660
  ` """The unique ID of the channel."""`,
@@ -594,9 +662,32 @@ function generatePyChannelStub(messageSchemas) {
594
662
  ` def topic(self) -> str:`,
595
663
  ` """The topic name of the channel."""`,
596
664
  ` ...`,
597
- ` def schema_name(self) -> str | None:`,
665
+ ` @property`,
666
+ ` def message_encoding(self) -> str:`,
667
+ ` """The message encoding for the channel"""`,
668
+ ` ...`,
669
+ ` def metadata(self) -> Dict[str, str]:`,
670
+ ` """`,
671
+ ` Returns a copy of the channel's metadata.`,
672
+ ``,
673
+ ` Note that changes made to the returned dictionary will not be applied to`,
674
+ ` the channel's metadata.`,
675
+ ` """`,
676
+ ` ...`,
677
+ ` def schema(self) -> Optional[Schema]:`,
678
+ ` """`,
679
+ ` Returns a copy of the channel's schema.`,
680
+ ``,
681
+ ` Note that changes made to the returned object will not be applied to`,
682
+ ` the channel's schema.`,
683
+ ` """`,
684
+ ` ...`,
685
+ ` def schema_name(self) -> Optional[str]:`,
598
686
  ` """The name of the schema for the channel."""`,
599
687
  ` ...`,
688
+ ` def has_sinks(self) -> bool:`,
689
+ ` """Returns true if at least one sink is subscribed to this channel"""`,
690
+ ` ...`,
600
691
  ` def close(self) -> None:`,
601
692
  ` """Close the channel."""`,
602
693
  ` ...`,
@@ -626,15 +717,11 @@ function generatePyChannelModule(schemas) {
626
717
  ``,
627
718
  "See the :py:mod:`foxglove.schemas` module for available definitions.",
628
719
  `"""`,
629
- "# Generated by https://github.com/foxglove/foxglove-sdk"
720
+ "# Generated by https://github.com/foxglove/foxglove-sdk",
630
721
  ];
631
- const classNames = schemas.filter(shouldGenerateChannelClass).map((schema) => `${structName(schema.name)}Channel`).sort();
722
+ const classNames = schemas.map((schema) => `${structName(schema.name)}Channel`).sort();
632
723
  const imports = classNames.map((name) => `from foxglove._foxglove_py.channels import ${name}`);
633
- const exports = [
634
- "__all__ = [",
635
- ...classNames.map((name) => ` "${name}",`),
636
- "]"
637
- ];
724
+ const exports = ["__all__ = [", ...classNames.map((name) => ` "${name}",`), "]"];
638
725
  return [...headers, ...imports, ...exports].join("\n") + "\n";
639
726
  }
640
727
  //# sourceMappingURL=generatePyclass.js.map
@@ -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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"}