structurize 2.16.2__py3-none-any.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.
Files changed (51) hide show
  1. avrotize/__init__.py +63 -0
  2. avrotize/__main__.py +6 -0
  3. avrotize/_version.py +34 -0
  4. avrotize/asn1toavro.py +160 -0
  5. avrotize/avrotize.py +152 -0
  6. avrotize/avrotocpp.py +483 -0
  7. avrotize/avrotocsharp.py +992 -0
  8. avrotize/avrotocsv.py +121 -0
  9. avrotize/avrotodatapackage.py +173 -0
  10. avrotize/avrotodb.py +1383 -0
  11. avrotize/avrotogo.py +476 -0
  12. avrotize/avrotographql.py +197 -0
  13. avrotize/avrotoiceberg.py +210 -0
  14. avrotize/avrotojava.py +1023 -0
  15. avrotize/avrotojs.py +250 -0
  16. avrotize/avrotojsons.py +481 -0
  17. avrotize/avrotojstruct.py +345 -0
  18. avrotize/avrotokusto.py +364 -0
  19. avrotize/avrotomd.py +137 -0
  20. avrotize/avrotools.py +168 -0
  21. avrotize/avrotoparquet.py +208 -0
  22. avrotize/avrotoproto.py +359 -0
  23. avrotize/avrotopython.py +622 -0
  24. avrotize/avrotorust.py +435 -0
  25. avrotize/avrotots.py +598 -0
  26. avrotize/avrotoxsd.py +344 -0
  27. avrotize/commands.json +2433 -0
  28. avrotize/common.py +829 -0
  29. avrotize/constants.py +5 -0
  30. avrotize/csvtoavro.py +132 -0
  31. avrotize/datapackagetoavro.py +76 -0
  32. avrotize/dependency_resolver.py +348 -0
  33. avrotize/jsonstoavro.py +1698 -0
  34. avrotize/jsonstostructure.py +2642 -0
  35. avrotize/jstructtoavro.py +878 -0
  36. avrotize/kstructtoavro.py +93 -0
  37. avrotize/kustotoavro.py +455 -0
  38. avrotize/parquettoavro.py +157 -0
  39. avrotize/proto2parser.py +498 -0
  40. avrotize/proto3parser.py +403 -0
  41. avrotize/prototoavro.py +382 -0
  42. avrotize/structuretocsharp.py +2005 -0
  43. avrotize/structuretojsons.py +498 -0
  44. avrotize/structuretopython.py +772 -0
  45. avrotize/xsdtoavro.py +413 -0
  46. structurize-2.16.2.dist-info/METADATA +805 -0
  47. structurize-2.16.2.dist-info/RECORD +51 -0
  48. structurize-2.16.2.dist-info/WHEEL +5 -0
  49. structurize-2.16.2.dist-info/entry_points.txt +2 -0
  50. structurize-2.16.2.dist-info/licenses/LICENSE +201 -0
  51. structurize-2.16.2.dist-info/top_level.txt +1 -0
avrotize/commands.json ADDED
@@ -0,0 +1,2433 @@
1
+ [
2
+ {
3
+ "command": "p2a",
4
+ "description": "Convert Proto schema to Avrotize schema",
5
+ "group": "1_Schemas",
6
+ "function": {
7
+ "name": "avrotize.prototoavro.convert_proto_to_avro",
8
+ "args": {
9
+ "proto_file_path": "input_file_path",
10
+ "avro_schema_path": "output_file_path",
11
+ "namespace": "args.namespace",
12
+ "message_type": "args.message_type",
13
+ "proto_root": "args.proto_root"
14
+ }
15
+ },
16
+ "extensions": [".proto"],
17
+ "args": [
18
+ {
19
+ "name": "input",
20
+ "type": "str",
21
+ "nargs": "?",
22
+ "help": "Path of the proto file (or read from stdin if omitted)",
23
+ "required": false
24
+ },
25
+ {
26
+ "name": "--out",
27
+ "type": "str",
28
+ "help": "Path to the Avrotize schema file",
29
+ "required": false
30
+ },
31
+ {
32
+ "name": "--proto",
33
+ "type": "str",
34
+ "help": "Deprecated: Path of the proto file (for backcompat)",
35
+ "required": false
36
+ },
37
+ {
38
+ "name": "--namespace",
39
+ "type": "str",
40
+ "help": "Namespace for the Avrotize schema",
41
+ "required": false
42
+ },
43
+ {
44
+ "name": "--message-type",
45
+ "type": "str",
46
+ "help": "Generate the schema for a specific Proto message type and inline all references",
47
+ "required": false
48
+ },
49
+ {
50
+ "name": "--proto-root",
51
+ "type": "str",
52
+ "help": "Root directory for resolving proto imports (useful for buf-style module roots)",
53
+ "required": false
54
+ }
55
+ ],
56
+ "suggested_output_file_path": "{input_file_name}.avsc",
57
+ "prompts": []
58
+ },
59
+ {
60
+ "command": "a2p",
61
+ "description": "Convert Avrotize schema to Proto schema",
62
+ "group": "1_Schemas",
63
+ "function": {
64
+ "name": "avrotize.avrotoproto.convert_avro_to_proto",
65
+ "args": {
66
+ "avro_schema_path": "input_file_path",
67
+ "proto_file_path": "output_file_path",
68
+ "naming_mode": "args.naming",
69
+ "allow_optional": "args.allow_optional"
70
+ }
71
+ },
72
+ "extensions": [".avsc"],
73
+ "args": [
74
+ {
75
+ "name": "input",
76
+ "type": "str",
77
+ "nargs": "?",
78
+ "help": "Path to the Proto file (or read from stdin if omitted)",
79
+ "required": false
80
+ },
81
+ {
82
+ "name": "--out",
83
+ "type": "str",
84
+ "help": "Path to the Avrotize schema file",
85
+ "required": false
86
+ },
87
+ {
88
+ "name": "--avsc",
89
+ "type": "str",
90
+ "help": "Deprecated: Path to the Proto file (for backcompat)",
91
+ "required": false
92
+ },
93
+ {
94
+ "name": "--naming",
95
+ "type": "str",
96
+ "help": "Type naming convention",
97
+ "choices": ["snake", "camel", "pascal"],
98
+ "required": false,
99
+ "default": "pascal"
100
+ },
101
+ {
102
+ "name": "--allow-optional",
103
+ "type": "bool",
104
+ "help": "Enable support for 'optional' fields",
105
+ "default": false,
106
+ "required": false
107
+ }
108
+ ],
109
+ "suggested_output_file_path": "{input_file_name}-proto",
110
+ "prompts": [
111
+ {
112
+ "name": "--naming",
113
+ "message": "Select type naming convention",
114
+ "choices": ["snake", "camel", "pascal"],
115
+ "default": "pascal",
116
+ "required": false
117
+ },
118
+ {
119
+ "name": "--allow-optional",
120
+ "message": "Enable support for 'optional' fields?",
121
+ "type": "bool",
122
+ "default": false,
123
+ "required": false
124
+ }
125
+ ]
126
+ },
127
+ {
128
+ "command": "j2a",
129
+ "description": "Convert JSON schema to Avrotize schema",
130
+ "group": "1_Schemas",
131
+ "function": {
132
+ "name": "avrotize.jsonstoavro.convert_jsons_to_avro",
133
+ "args": {
134
+ "json_schema_file_path": "input_file_path",
135
+ "avro_schema_path": "output_file_path",
136
+ "namespace": "args.namespace",
137
+ "split_top_level_records": "args.split_top_level_records"
138
+ }
139
+ },
140
+ "extensions": [".json", ".jsons"],
141
+ "args": [
142
+ {
143
+ "name": "input",
144
+ "type": "str",
145
+ "nargs": "?",
146
+ "help": "Path to the JSON schema file (or read from stdin if omitted)",
147
+ "required": false
148
+ },
149
+ {
150
+ "name": "--out",
151
+ "type": "str",
152
+ "help": "Path to the Avrotize schema file",
153
+ "required": false
154
+ },
155
+ {
156
+ "name": "--jsons",
157
+ "type": "str",
158
+ "help": "Deprecated: Path to the JSON schema file (for backcompat)",
159
+ "required": false
160
+ },
161
+ {
162
+ "name": "--namespace",
163
+ "type": "str",
164
+ "help": "Namespace for the Avrotize schema",
165
+ "required": false
166
+ },
167
+ {
168
+ "name": "--split-top-level-records",
169
+ "type": "bool",
170
+ "help": "Split top-level records into separate files",
171
+ "default": false,
172
+ "required": false
173
+ }
174
+ ],
175
+ "suggested_output_file_path": "{input_file_name}.avsc",
176
+ "prompts": [
177
+ {
178
+ "name": "--namespace",
179
+ "message": "Enter the namespace for the Avro schema",
180
+ "type": "str",
181
+ "required": false
182
+ },
183
+ {
184
+ "name": "--split-top-level-records",
185
+ "message": "Split top-level records into separate files?",
186
+ "type": "bool",
187
+ "default": false,
188
+ "required": false
189
+ }
190
+ ]
191
+ },
192
+ {
193
+ "command": "a2j",
194
+ "description": "Convert Avrotize schema to JSON schema",
195
+ "group": "1_Schemas",
196
+ "function": {
197
+ "name": "avrotize.avrotojsons.convert_avro_to_json_schema",
198
+ "args": {
199
+ "avro_schema_file": "input_file_path",
200
+ "json_schema_file": "output_file_path",
201
+ "naming_mode": "args.naming"
202
+ }
203
+ },
204
+ "extensions": [".avsc"],
205
+ "args": [
206
+ {
207
+ "name": "input",
208
+ "type": "str",
209
+ "nargs": "?",
210
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
211
+ "required": false
212
+ },
213
+ {
214
+ "name": "--out",
215
+ "type": "str",
216
+ "help": "Path to the JSON schema file",
217
+ "required": false
218
+ },
219
+ {
220
+ "name": "--avsc",
221
+ "type": "str",
222
+ "help": "Deprecated: Path to the Avrotize schema file (for backcompat)",
223
+ "required": false
224
+ },
225
+ {
226
+ "name": "--naming",
227
+ "type": "str",
228
+ "help": "Type naming convention",
229
+ "choices": ["snake", "camel", "pascal", "default"],
230
+ "required": false,
231
+ "default": "default"
232
+ } ],
233
+ "suggested_output_file_path": "{input_file_name}.jsons",
234
+ "prompts": []
235
+ },
236
+ {
237
+ "command": "j2s",
238
+ "description": "Convert JSON schema to JSON Structure",
239
+ "group": "1_Schemas", "function": {
240
+ "name": "avrotize.jsonstostructure.convert_json_schema_to_structure_files",
241
+ "args": {
242
+ "json_schema_file_path": "input_file_path",
243
+ "structure_schema_path": "output_file_path",
244
+ "root_namespace": "args.namespace"
245
+ }
246
+ },
247
+ "extensions": [".json", ".jsons"],
248
+ "args": [
249
+ {
250
+ "name": "input",
251
+ "type": "str",
252
+ "nargs": "?",
253
+ "help": "Path to the JSON schema file (or read from stdin if omitted)",
254
+ "required": false
255
+ },
256
+ {
257
+ "name": "--out",
258
+ "type": "str",
259
+ "help": "Path to the JSON Structure file",
260
+ "required": false
261
+ },
262
+ {
263
+ "name": "--namespace",
264
+ "type": "str",
265
+ "help": "Namespace for the JSON Structure schema",
266
+ "required": false
267
+ },
268
+ {
269
+ "name": "--utility-namespace",
270
+ "type": "str",
271
+ "help": "Namespace for utility types",
272
+ "required": false
273
+ },
274
+ {
275
+ "name": "--root-class-name",
276
+ "type": "str",
277
+ "help": "Name of the root class",
278
+ "default": "document",
279
+ "required": false
280
+ },
281
+ {
282
+ "name": "--preserve-composition",
283
+ "type": "bool",
284
+ "help": "Preserve composition keywords (allOf, oneOf, anyOf)",
285
+ "default": true,
286
+ "required": false
287
+ },
288
+ {
289
+ "name": "--detect-inheritance",
290
+ "type": "bool",
291
+ "help": "Detect inheritance patterns in allOf schemas",
292
+ "default": true,
293
+ "required": false
294
+ },
295
+ {
296
+ "name": "--detect-discriminators",
297
+ "type": "bool",
298
+ "help": "Detect OpenAPI discriminator patterns",
299
+ "default": true,
300
+ "required": false
301
+ },
302
+ {
303
+ "name": "--convert-empty-objects-to-maps",
304
+ "type": "bool",
305
+ "help": "Convert objects with only additionalProperties to maps",
306
+ "default": true,
307
+ "required": false
308
+ }
309
+ ],
310
+ "suggested_output_file_path": "{input_file_name}.struct.json",
311
+ "prompts": [
312
+ {
313
+ "name": "--namespace",
314
+ "message": "Enter the namespace for the JSON Structure schema",
315
+ "type": "str",
316
+ "required": false
317
+ },
318
+ {
319
+ "name": "--root-class-name",
320
+ "message": "Enter the name of the root class",
321
+ "type": "str",
322
+ "default": "document",
323
+ "required": false
324
+ } ]
325
+ },
326
+ {
327
+ "command": "s2j",
328
+ "description": "Convert JSON Structure to JSON Schema",
329
+ "group": "1_Schemas",
330
+ "function": {
331
+ "name": "avrotize.structuretojsons.convert_structure_to_json_schema",
332
+ "args": {
333
+ "structure_file_path": "input_file_path",
334
+ "json_schema_path": "output_file_path"
335
+ }
336
+ },
337
+ "extensions": [".struct.json", ".json"],
338
+ "args": [
339
+ {
340
+ "name": "input",
341
+ "type": "str",
342
+ "nargs": "?",
343
+ "help": "Path to the JSON Structure file (or read from stdin if omitted)",
344
+ "required": false
345
+ },
346
+ {
347
+ "name": "--out",
348
+ "type": "str",
349
+ "help": "Path to the JSON Schema file",
350
+ "required": false
351
+ }
352
+ ],
353
+ "suggested_output_file_path": "{input_file_name}.schema.json",
354
+ "prompts": []
355
+ },
356
+ {
357
+ "command": "x2a",
358
+ "description": "Convert XSD schema to Avrotize schema",
359
+ "group": "1_Schemas",
360
+ "function": {
361
+ "name": "avrotize.xsdtoavro.convert_xsd_to_avro",
362
+ "args": {
363
+ "xsd_path": "input_file_path",
364
+ "avro_path": "output_file_path",
365
+ "namespace": "args.namespace"
366
+ }
367
+ },
368
+ "extensions": [".xsd"],
369
+ "args": [
370
+ {
371
+ "name": "input",
372
+ "type": "str",
373
+ "nargs": "?",
374
+ "help": "Path to the XSD schema file (or read from stdin if omitted)",
375
+ "required": false
376
+ },
377
+ {
378
+ "name": "--out",
379
+ "type": "str",
380
+ "help": "Path to the Avrotize schema file",
381
+ "required": false
382
+ },
383
+ {
384
+ "name": "--xsd",
385
+ "type": "str",
386
+ "help": "Deprecated: Path to the XSD schema file (for backcompat)",
387
+ "required": false
388
+ },
389
+ {
390
+ "name": "--namespace",
391
+ "type": "str",
392
+ "help": "Namespace for the Avrotize schema",
393
+ "required": false
394
+ }
395
+ ],
396
+ "suggested_output_file_path": "{input_file_name}.avsc",
397
+ "prompts": [
398
+ {
399
+ "name": "--namespace",
400
+ "message": "Enter the namespace for the Avro schema",
401
+ "type": "str",
402
+ "required": false
403
+ }
404
+ ]
405
+ },
406
+ {
407
+ "command": "a2x",
408
+ "description": "Convert Avrotize schema to XSD schema",
409
+ "group": "1_Schemas",
410
+ "function": {
411
+ "name": "avrotize.avrotoxsd.convert_avro_to_xsd",
412
+ "args": {
413
+ "avro_schema_path": "input_file_path",
414
+ "xml_file_path": "output_file_path",
415
+ "target_namespace": "args.namespace"
416
+ }
417
+ },
418
+ "extensions": [".avsc"],
419
+ "args": [
420
+ {
421
+ "name": "input",
422
+ "type": "str",
423
+ "nargs": "?",
424
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
425
+ "required": false
426
+ },
427
+ {
428
+ "name": "--out",
429
+ "type": "str",
430
+ "help": "Path to the XSD schema file",
431
+ "required": false
432
+ },
433
+ {
434
+ "name": "--avsc",
435
+ "type": "str",
436
+ "help": "Deprecated: Path to the Avrotize schema file (for backcompat)",
437
+ "required": false
438
+ },
439
+ {
440
+ "name": "--namespace",
441
+ "type": "str",
442
+ "help": "Target namespace for the XSD schema",
443
+ "required": false
444
+ }
445
+ ],
446
+ "suggested_output_file_path": "{input_file_name}.xsd",
447
+ "prompts": [
448
+ {
449
+ "name": "--namespace",
450
+ "message": "Enter the target namespace for the XSD schema (optional)",
451
+ "type": "str",
452
+ "required": false
453
+ }
454
+ ]
455
+ },
456
+ {
457
+ "command": "a2k",
458
+ "description": "Convert Avrotize schema to Kusto table schemas",
459
+ "group": "4_RTDB",
460
+ "function": {
461
+ "name": "avrotize.avrotokusto.convert_avro_to_kusto",
462
+ "args": {
463
+ "avro_schema_path": "input_file_path",
464
+ "kusto_file_path": "output_file_path",
465
+ "kusto_uri": "args.kusto_uri",
466
+ "kusto_database": "args.kusto_database",
467
+ "avro_record_type": "args.record_type",
468
+ "emit_cloudevents_columns": "args.emit_cloudevents_columns",
469
+ "emit_cloudevents_dispatch_table": "args.emit_cloudevents_dispatch"
470
+ }
471
+ },
472
+ "extensions": [".avsc"],
473
+ "args": [
474
+ {
475
+ "name": "input",
476
+ "type": "str",
477
+ "nargs": "?",
478
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
479
+ "required": false
480
+ },
481
+ {
482
+ "name": "--out",
483
+ "type": "str",
484
+ "help": "Path to the Kusto table",
485
+ "required": false
486
+ },
487
+ {
488
+ "name": "--avsc",
489
+ "type": "str",
490
+ "help": "Deprecated: Path to the Avrotize schema file (for backcompat)",
491
+ "required": false
492
+ },
493
+ {
494
+ "name": "--kusto-uri",
495
+ "type": "str",
496
+ "help": "Kusto Cluster URI to apply the generated schema to.",
497
+ "required": false
498
+ },
499
+ {
500
+ "name": "--kusto-database",
501
+ "type": "str",
502
+ "help": "Kusto database name to apply the generated schema to",
503
+ "required": false
504
+ },
505
+ {
506
+ "name": "--record-type",
507
+ "type": "str",
508
+ "help": "Record type in the Avrotize schema",
509
+ "required": false
510
+ },
511
+ {
512
+ "name": "--emit-cloudevents-columns",
513
+ "type": "bool",
514
+ "help": "Add CloudEvents columns to the Kusto table",
515
+ "default": false,
516
+ "required": false
517
+ },
518
+ {
519
+ "name": "--emit-cloudevents-dispatch",
520
+ "type": "bool",
521
+ "help": "Emit a _cloudevents_dispatch ingestion table and update policies for each generated table",
522
+ "required": false
523
+ }
524
+ ],
525
+ "suggested_output_file_path": "{input_file_name}.kql",
526
+ "prompts": [
527
+ {
528
+ "name": "--kusto-uri",
529
+ "message": "Enter the Kusto Cluster URI (optional)",
530
+ "type": "str",
531
+ "required": false
532
+ },
533
+ {
534
+ "name": "--kusto-database",
535
+ "message": "Enter the Kusto database name (optional)",
536
+ "type": "str",
537
+ "required": false
538
+ },
539
+ {
540
+ "name": "--emit-cloudevents-columns",
541
+ "message": "Add CloudEvents columns to the Kusto table?",
542
+ "type": "bool",
543
+ "default": false,
544
+ "required": false
545
+ },
546
+ {
547
+ "name": "--emit-cloudevents-dispatch",
548
+ "message": "Emit a _cloudevents_dispatch ingestion table and update policies?",
549
+ "type": "bool",
550
+ "default": false,
551
+ "required": false
552
+ }
553
+ ]
554
+ },
555
+ {
556
+ "command": "k2a",
557
+ "description": "Convert Kusto schema to Avrotize schema",
558
+ "group": "1_Schemas",
559
+ "function": {
560
+ "name": "avrotize.kustotoavro.convert_kusto_to_avro",
561
+ "args": {
562
+ "kusto_uri": "args.kusto_uri",
563
+ "kusto_database": "args.kusto_database",
564
+ "table_name": "args.table_name",
565
+ "avro_namespace": "args.namespace",
566
+ "avro_schema_file": "output_file_path",
567
+ "emit_cloudevents": "args.emit_cloudevents",
568
+ "emit_cloudevents_xregistry": "args.emit_xregistry"
569
+ }
570
+ },
571
+ "extensions": [".kusto"],
572
+ "args": [
573
+ {
574
+ "name": "input",
575
+ "type": "str",
576
+ "nargs": "?",
577
+ "help": "Kusto file",
578
+ "required": false
579
+ },
580
+ {
581
+ "name": "--out",
582
+ "type": "str",
583
+ "help": "Path to the Avrotize schema file",
584
+ "required": false
585
+ },
586
+ {
587
+ "name": "--kusto-uri",
588
+ "type": "str",
589
+ "help": "Kusto Cluster URI",
590
+ "required": false
591
+ },
592
+ {
593
+ "name": "--kusto-database",
594
+ "type": "str",
595
+ "help": "Kusto database",
596
+ "required": false
597
+ },
598
+ {
599
+ "name": "--table-name",
600
+ "type": "str",
601
+ "help": "Kusto table name",
602
+ "required": false
603
+ },
604
+ {
605
+ "name": "--namespace",
606
+ "type": "str",
607
+ "help": "Namespace for the Avrotize schema",
608
+ "required": false
609
+ },
610
+ {
611
+ "name": "--emit-cloudevents",
612
+ "type": "bool",
613
+ "help": "Emit CloudEvents declarations for each table",
614
+ "required": false
615
+ },
616
+ {
617
+ "name": "--emit-xregistry",
618
+ "type": "bool",
619
+ "help": "Emit an xRegistry manifest with CloudEvents declarations for each table instead of a single Avrotize schema",
620
+ "required": false
621
+ }
622
+ ],
623
+ "suggested_output_file_path": "{kusto_database}.avsc",
624
+ "prompts": [
625
+ {
626
+ "name": "--namespace",
627
+ "message": "Enter the namespace for the Avro schema",
628
+ "type": "str",
629
+ "required": false
630
+ },
631
+ {
632
+ "name": "--emit-cloudevents",
633
+ "message": "Emit CloudEvents declarations for each table?",
634
+ "type": "bool",
635
+ "default": false,
636
+ "required": false
637
+ },
638
+ {
639
+ "name": "--emit-xregistry",
640
+ "message": "Emit an xRegistry manifest with CloudEvents declarations?",
641
+ "type": "bool",
642
+ "default": false,
643
+ "required": false
644
+ }
645
+ ],
646
+ "skip_input_file_handling": true
647
+ },
648
+ {
649
+ "command": "a2sql",
650
+ "description": "Convert Avrotize schema to SQL schema",
651
+ "group": "5_SQL",
652
+ "function": {
653
+ "name": "avrotize.avrotodb.convert_avro_to_sql",
654
+ "args": {
655
+ "avro_schema_path": "input_file_path",
656
+ "dbscript_file_path": "output_file_path",
657
+ "db_dialect": "args.dialect",
658
+ "emit_cloudevents_columns": "args.emit_cloudevents_columns"
659
+ }
660
+ },
661
+ "extensions": [".avsc"],
662
+ "args": [
663
+ {
664
+ "name": "input",
665
+ "type": "str",
666
+ "nargs": "?",
667
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
668
+ "required": false
669
+ },
670
+ {
671
+ "name": "--out",
672
+ "type": "str",
673
+ "help": "Path to the SQL table",
674
+ "required": false
675
+ },
676
+ {
677
+ "name": "--avsc",
678
+ "type": "str",
679
+ "help": "Deprecated: Path to the Avrotize schema file (for backcompat)",
680
+ "required": false
681
+ },
682
+ {
683
+ "name": "--dialect",
684
+ "type": "str",
685
+ "help": "SQL dialect (database type)",
686
+ "choices": [
687
+ "mysql",
688
+ "mariadb",
689
+ "postgres",
690
+ "sqlserver",
691
+ "oracle",
692
+ "sqlite",
693
+ "bigquery",
694
+ "snowflake",
695
+ "redshift",
696
+ "db2"
697
+ ],
698
+ "required": true
699
+ },
700
+ {
701
+ "name": "--emit-cloudevents-columns",
702
+ "type": "bool",
703
+ "help": "Add CloudEvents columns to the SQL table",
704
+ "default": false,
705
+ "required": false
706
+ }
707
+ ],
708
+ "suggested_output_file_path": "{input_file_name}.sql",
709
+ "prompts": [
710
+ {
711
+ "name": "--dialect",
712
+ "message": "Select the SQL dialect",
713
+ "choices": [
714
+ "mysql",
715
+ "mariadb",
716
+ "postgres",
717
+ "sqlserver",
718
+ "oracle",
719
+ "sqlite",
720
+ "bigquery",
721
+ "snowflake",
722
+ "redshift",
723
+ "db2"
724
+ ],
725
+ "default": "mysql",
726
+ "required": true
727
+ },
728
+ {
729
+ "name": "--emit-cloudevents-columns",
730
+ "message": "Add CloudEvents columns to the SQL table?",
731
+ "type": "bool",
732
+ "default": false,
733
+ "required": false
734
+ }
735
+ ]
736
+ },
737
+ {
738
+ "command": "a2mongo",
739
+ "description": "Convert Avrotize schema to MongoDB schema",
740
+ "group": "6_NoSQL",
741
+ "function": {
742
+ "name": "avrotize.avrotodb.convert_avro_to_nosql",
743
+ "args": {
744
+ "avro_schema_path": "input_file_path",
745
+ "nosql_file_path": "output_file_path",
746
+ "nosql_dialect": "mongodb",
747
+ "emit_cloudevents_columns": "args.emit_cloudevents_columns"
748
+ }
749
+ },
750
+ "extensions": [".avsc"],
751
+ "args": [
752
+ {
753
+ "name": "input",
754
+ "type": "str",
755
+ "nargs": "?",
756
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
757
+ "required": false
758
+ },
759
+ {
760
+ "name": "--out",
761
+ "type": "str",
762
+ "help": "Path to the MongoDB schemas",
763
+ "required": true
764
+ },
765
+ {
766
+ "name": "--emit-cloudevents-columns",
767
+ "type": "bool",
768
+ "help": "Add CloudEvents columns to the MongoDB schema",
769
+ "default": false,
770
+ "required": false
771
+ }
772
+ ],
773
+ "suggested_output_file_path": "{input_file_name}.json",
774
+ "prompts": [
775
+ {
776
+ "name": "--emit-cloudevents-columns",
777
+ "message": "Add CloudEvents columns to the MongoDB schema?",
778
+ "type": "bool",
779
+ "default": false
780
+ }
781
+ ]
782
+ },
783
+ {
784
+ "command": "a2pq",
785
+ "description": "Convert Avrotize schema to Parquet or Iceberg schema",
786
+ "group": "3_Datalake",
787
+ "function": {
788
+ "name": "avrotize.avrotoparquet.convert_avro_to_parquet",
789
+ "args": {
790
+ "avro_schema_path": "input_file_path",
791
+ "parquet_file_path": "output_file_path",
792
+ "avro_record_type": "args.record_type",
793
+ "emit_cloudevents_columns": "args.emit_cloudevents_columns"
794
+ }
795
+ },
796
+ "extensions": [".avsc"],
797
+ "args": [
798
+ {
799
+ "name": "input",
800
+ "type": "str",
801
+ "nargs": "?",
802
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
803
+ "required": false
804
+ },
805
+ {
806
+ "name": "--out",
807
+ "type": "str",
808
+ "help": "Path to the Parquet file",
809
+ "required": false
810
+ },
811
+ {
812
+ "name": "--avsc",
813
+ "type": "str",
814
+ "help": "Deprecated: Path to the Avrotize schema file (for backcompat)",
815
+ "required": false
816
+ },
817
+ {
818
+ "name": "--record-type",
819
+ "type": "str",
820
+ "help": "Record type in the Avrotize schema",
821
+ "required": false
822
+ },
823
+ {
824
+ "name": "--emit-cloudevents-columns",
825
+ "type": "bool",
826
+ "help": "Add CloudEvents columns to the Parquet file",
827
+ "default": false,
828
+ "required": false
829
+ }
830
+ ],
831
+ "suggested_output_file_path": "{input_file_name}.parquet",
832
+ "prompts": [
833
+ {
834
+ "name": "--emit-cloudevents-columns",
835
+ "message": "Add CloudEvents columns to the Parquet file?",
836
+ "type": "bool",
837
+ "default": false
838
+ }
839
+ ]
840
+ },
841
+ {
842
+ "command": "a2ib",
843
+ "description": "Convert Avrotize schema to Iceberg schema",
844
+ "group": "3_Datalake",
845
+ "function": {
846
+ "name": "avrotize.avrotoiceberg.convert_avro_to_iceberg",
847
+ "args": {
848
+ "avro_schema_path": "input_file_path",
849
+ "output_path": "output_file_path",
850
+ "avro_record_type": "args.record_type",
851
+ "emit_cloudevents_columns": "args.emit_cloudevents_columns"
852
+ }
853
+ },
854
+ "extensions": [".avsc"],
855
+ "args": [
856
+ {
857
+ "name": "input",
858
+ "type": "str",
859
+ "nargs": "?",
860
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
861
+ "required": false
862
+ },
863
+ {
864
+ "name": "--out",
865
+ "type": "str",
866
+ "help": "Path to the Iceberg schema",
867
+ "required": false
868
+ },
869
+ {
870
+ "name": "--record-type",
871
+ "type": "str",
872
+ "help": "Record type in the Avrotize schema",
873
+ "required": false
874
+ },
875
+ {
876
+ "name": "--emit-cloudevents-columns",
877
+ "type": "bool",
878
+ "help": "Add CloudEvents columns to the Iceberg schema",
879
+ "default": false,
880
+ "required": false
881
+ }
882
+ ],
883
+ "suggested_output_file_path": "{input_file_name}.iceberg",
884
+ "prompts": [
885
+ {
886
+ "name": "--emit-cloudevents-columns",
887
+ "message": "Add CloudEvents columns to the Iceberg schema?",
888
+ "type": "bool",
889
+ "default": false
890
+ }
891
+ ]
892
+ },
893
+ {
894
+ "command": "pq2a",
895
+ "description": "Convert Parquet schema to Avrotize schema",
896
+ "group": "1_Schemas",
897
+ "function": {
898
+ "name": "avrotize.parquettoavro.convert_parquet_to_avro",
899
+ "args": {
900
+ "parquet_file_path": "input_file_path",
901
+ "avro_file_path": "output_file_path",
902
+ "namespace": "args.namespace"
903
+ }
904
+ },
905
+ "extensions": [".parquet"],
906
+ "args": [
907
+ {
908
+ "name": "input",
909
+ "type": "str",
910
+ "nargs": "?",
911
+ "help": "Path to the Parquet file (or read from stdin if omitted)",
912
+ "required": false
913
+ },
914
+ {
915
+ "name": "--out",
916
+ "type": "str",
917
+ "help": "Path to the Avrotize schema file",
918
+ "required": false
919
+ },
920
+ {
921
+ "name": "--parquet",
922
+ "type": "str",
923
+ "help": "Deprecated: Path to the Parquet file (for backcompat)",
924
+ "required": false
925
+ },
926
+ {
927
+ "name": "--namespace",
928
+ "type": "str",
929
+ "help": "Namespace for the Avrotize schema",
930
+ "required": false
931
+ }
932
+ ],
933
+ "suggested_output_file_path": "{input_file_name}.avsc",
934
+ "prompts": [
935
+ {
936
+ "name": "--namespace",
937
+ "message": "Enter the namespace for the Avro schema",
938
+ "type": "str",
939
+ "required": false
940
+ }
941
+ ]
942
+ },
943
+ {
944
+ "command": "asn2a",
945
+ "description": "Convert ASN.1 schema to Avrotize schema",
946
+ "group": "1_Schemas",
947
+ "function": {
948
+ "name": "avrotize.asn1toavro.convert_asn1_to_avro",
949
+ "args": {
950
+ "asn1_spec_list": "input_file_path",
951
+ "avro_file_path": "output_file_path"
952
+ }
953
+ },
954
+ "extensions": [".asn1"],
955
+ "args": [
956
+ {
957
+ "name": "input",
958
+ "type": "str",
959
+ "nargs": "?",
960
+ "help": "Path(s) to the ASN.1 schema file(s) (or read from stdin if omitted)",
961
+ "required": false
962
+ },
963
+ {
964
+ "name": "--out",
965
+ "type": "str",
966
+ "help": "Path to the Avrotize schema file",
967
+ "required": false
968
+ },
969
+ {
970
+ "name": "--asn",
971
+ "type": "str",
972
+ "nargs": "+",
973
+ "help": "Deprecated: Path(s) to the ASN.1 schema file(s) (for backcompat)",
974
+ "required": false
975
+ }
976
+ ],
977
+ "suggested_output_file_path": "{input_file_name}.avsc",
978
+ "prompts": []
979
+ },
980
+ {
981
+ "command": "kstruct2a",
982
+ "description": "Convert Kafka Struct to Avrotize schema",
983
+ "group": "1_Schemas",
984
+ "function": {
985
+ "name": "avrotize.kstructtoavro.convert_kafka_struct_to_avro_schema",
986
+ "args": {
987
+ "kafka_schema_file_path": "input_file_path",
988
+ "avro_file_path": "output_file_path"
989
+ }
990
+ },
991
+ "extensions": [".kstruct"],
992
+ "args": [
993
+ {
994
+ "name": "input",
995
+ "type": "str",
996
+ "nargs": "?",
997
+ "help": "Path to the Kafka Struct file (or read from stdin if omitted)",
998
+ "required": false
999
+ },
1000
+ {
1001
+ "name": "--out",
1002
+ "type": "str",
1003
+ "help": "Path to the Avrotize schema file",
1004
+ "required": false
1005
+ },
1006
+ {
1007
+ "name": "--kstruct",
1008
+ "type": "str",
1009
+ "help": "Deprecated: Path to the Kafka Struct file (for backcompat)",
1010
+ "required": false
1011
+ }
1012
+ ],
1013
+ "suggested_output_file_path": "{input_file_name}.avsc",
1014
+ "prompts": []
1015
+ },
1016
+ {
1017
+ "command": "a2cs",
1018
+ "description": "Convert Avrotize schema to C# classes",
1019
+ "group": "2_ProgLanguages",
1020
+ "function": {
1021
+ "name": "avrotize.avrotocsharp.convert_avro_to_csharp",
1022
+ "args": {
1023
+ "avro_schema_path": "input_file_path",
1024
+ "cs_file_path": "output_file_path",
1025
+ "avro_annotation": "args.avro_annotation",
1026
+ "system_text_json_annotation": "args.system_text_json_annotation",
1027
+ "newtonsoft_json_annotation": "args.newtonsoft_json_annotation",
1028
+ "system_xml_annotation": "args.system_xml_annotation",
1029
+ "pascal_properties": "args.pascal_properties",
1030
+ "base_namespace": "args.namespace"
1031
+ }
1032
+ },
1033
+ "extensions": [".avsc"],
1034
+ "args": [
1035
+ {
1036
+ "name": "input",
1037
+ "type": "str",
1038
+ "nargs": "?",
1039
+ "help": "Path to the Kafka Struct file (or read from stdin if omitted)",
1040
+ "required": false
1041
+ },
1042
+ {
1043
+ "name": "--out",
1044
+ "type": "str",
1045
+ "help": "Path to the Avrotize schema file",
1046
+ "required": false
1047
+ },
1048
+ {
1049
+ "name": "--avsc",
1050
+ "type": "str",
1051
+ "help": "Deprecated: Path to the Avrotize schema file (for backcompat)",
1052
+ "required": false
1053
+ },
1054
+ {
1055
+ "name": "--namespace",
1056
+ "type": "str",
1057
+ "help": "C# project name",
1058
+ "required": false
1059
+ },
1060
+ {
1061
+ "name": "--avro-annotation",
1062
+ "type": "bool",
1063
+ "help": "Use Avro annotations",
1064
+ "default": false,
1065
+ "required": false
1066
+ },
1067
+ {
1068
+ "name": "--system_text_json_annotation",
1069
+ "type": "bool",
1070
+ "help": "Use System.Text.Json annotations",
1071
+ "default": false,
1072
+ "required": false
1073
+ },
1074
+ {
1075
+ "name": "--system-xml-annotation",
1076
+ "type": "bool",
1077
+ "help": "Use System.Xml annotations",
1078
+ "default": false,
1079
+ "required": false
1080
+ },
1081
+ {
1082
+ "name": "--newtonsoft-json-annotation",
1083
+ "type": "bool",
1084
+ "help": "Use Newtonsoft.Json annotations",
1085
+ "default": false,
1086
+ "required": false
1087
+ },
1088
+ {
1089
+ "name": "--pascal-properties",
1090
+ "type": "bool",
1091
+ "help": "Use PascalCase properties",
1092
+ "default": false,
1093
+ "required": false
1094
+ }
1095
+ ],
1096
+ "suggested_output_file_path": "{input_file_name}-cs",
1097
+ "prompts": [
1098
+ {
1099
+ "name": "--namespace",
1100
+ "message": "Enter the C# root namespace for the project",
1101
+ "type": "str",
1102
+ "default": "{input_file_name}-cs",
1103
+ "required": false
1104
+ },
1105
+ {
1106
+ "name": "--avro-annotation",
1107
+ "message": "Use Avro annotations?",
1108
+ "type": "bool",
1109
+ "default": false,
1110
+ "required": false
1111
+ },
1112
+ {
1113
+ "name": "--system_text_json_annotation",
1114
+ "message": "Use System.Text.Json annotations?",
1115
+ "type": "bool",
1116
+ "default": false,
1117
+ "required": false
1118
+ },
1119
+ {
1120
+ "name": "--pascal-properties",
1121
+ "message": "Use PascalCase properties?",
1122
+ "type": "bool",
1123
+ "default": false,
1124
+ "required": false
1125
+ }
1126
+ ]
1127
+ },
1128
+ {
1129
+ "command": "s2cs",
1130
+ "description": "Convert JSON Structure to C# classes",
1131
+ "group": "2_ProgLanguages",
1132
+ "function": {
1133
+ "name": "avrotize.structuretocsharp.convert_structure_to_csharp",
1134
+ "args": {
1135
+ "structure_schema_path": "input_file_path",
1136
+ "cs_file_path": "output_file_path",
1137
+ "system_text_json_annotation": "args.system_text_json_annotation",
1138
+ "newtonsoft_json_annotation": "args.newtonsoft_json_annotation",
1139
+ "system_xml_annotation": "args.system_xml_annotation",
1140
+ "pascal_properties": "args.pascal_properties",
1141
+ "base_namespace": "args.namespace",
1142
+ "project_name": "args.project_name"
1143
+ }
1144
+ },
1145
+ "extensions": [".struct.json", ".json"],
1146
+ "args": [
1147
+ {
1148
+ "name": "input",
1149
+ "type": "str",
1150
+ "nargs": "?",
1151
+ "help": "Path to the JSON Structure file (or read from stdin if omitted)",
1152
+ "required": false
1153
+ },
1154
+ {
1155
+ "name": "--out",
1156
+ "type": "str",
1157
+ "help": "Output path for the C# classes",
1158
+ "required": false
1159
+ },
1160
+ {
1161
+ "name": "--struct",
1162
+ "type": "str",
1163
+ "help": "Deprecated: Path to the JSON Structure file (for backcompat)",
1164
+ "required": false
1165
+ },
1166
+ {
1167
+ "name": "--namespace",
1168
+ "type": "str",
1169
+ "help": "C# root namespace",
1170
+ "required": false
1171
+ },
1172
+ {
1173
+ "name": "--project-name",
1174
+ "type": "str",
1175
+ "help": "C# project name",
1176
+ "required": false
1177
+ },
1178
+ {
1179
+ "name": "--system_text_json_annotation",
1180
+ "type": "bool",
1181
+ "help": "Use System.Text.Json annotations",
1182
+ "default": false,
1183
+ "required": false
1184
+ },
1185
+ {
1186
+ "name": "--system-xml-annotation",
1187
+ "type": "bool",
1188
+ "help": "Use System.Xml annotations",
1189
+ "default": false,
1190
+ "required": false
1191
+ },
1192
+ {
1193
+ "name": "--newtonsoft-json-annotation",
1194
+ "type": "bool",
1195
+ "help": "Use Newtonsoft.Json annotations",
1196
+ "default": false,
1197
+ "required": false
1198
+ },
1199
+ {
1200
+ "name": "--pascal-properties",
1201
+ "type": "bool",
1202
+ "help": "Use PascalCase properties",
1203
+ "default": false,
1204
+ "required": false
1205
+ }
1206
+ ],
1207
+ "suggested_output_file_path": "{input_file_name}-cs",
1208
+ "prompts": [
1209
+ {
1210
+ "name": "--namespace",
1211
+ "message": "Enter the C# root namespace for the project",
1212
+ "type": "str",
1213
+ "default": "{input_file_name}",
1214
+ "required": false
1215
+ },
1216
+ {
1217
+ "name": "--project-name",
1218
+ "message": "Enter the C# project name",
1219
+ "type": "str",
1220
+ "default": "{input_file_name}",
1221
+ "required": false
1222
+ },
1223
+ {
1224
+ "name": "--system_text_json_annotation",
1225
+ "message": "Use System.Text.Json annotations?",
1226
+ "type": "bool",
1227
+ "default": false,
1228
+ "required": false
1229
+ },
1230
+ {
1231
+ "name": "--pascal-properties",
1232
+ "message": "Use PascalCase properties?",
1233
+ "type": "bool",
1234
+ "default": false,
1235
+ "required": false
1236
+ }
1237
+ ]
1238
+ },
1239
+ {
1240
+ "command": "a2java",
1241
+ "description": "Convert Avrotize schema to Java classes",
1242
+ "group": "2_ProgLanguages",
1243
+ "function": {
1244
+ "name": "avrotize.avrotojava.convert_avro_to_java",
1245
+ "args": {
1246
+ "avro_schema_path": "input_file_path",
1247
+ "java_file_path": "output_file_path",
1248
+ "package_name": "args.package",
1249
+ "avro_annotation": "args.avro_annotation",
1250
+ "jackson_annotation": "args.jackson_annotation",
1251
+ "pascal_properties": "args.pascal_properties"
1252
+ }
1253
+ },
1254
+ "extensions": [".avsc"],
1255
+ "args": [
1256
+ {
1257
+ "name": "input",
1258
+ "type": "str",
1259
+ "nargs": "?",
1260
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
1261
+ "required": false
1262
+ },
1263
+ {
1264
+ "name": "--out",
1265
+ "type": "str",
1266
+ "help": "Output path for the Java classes",
1267
+ "required": true
1268
+ },
1269
+ {
1270
+ "name": "--avsc",
1271
+ "type": "str",
1272
+ "help": "Deprecated: Path to the Avrotize schema file (for backcompat)",
1273
+ "required": false
1274
+ },
1275
+ {
1276
+ "name": "--package",
1277
+ "type": "str",
1278
+ "help": "Java package name",
1279
+ "required": false
1280
+ },
1281
+ {
1282
+ "name": "--avro-annotation",
1283
+ "type": "bool",
1284
+ "help": "Use Avro annotations",
1285
+ "default": false,
1286
+ "required": false
1287
+ },
1288
+ {
1289
+ "name": "--jackson-annotation",
1290
+ "type": "bool",
1291
+ "help": "Use Jackson annotations",
1292
+ "default": false,
1293
+ "required": false
1294
+ },
1295
+ {
1296
+ "name": "--pascal-properties",
1297
+ "type": "bool",
1298
+ "help": "Use PascalCase properties",
1299
+ "default": false,
1300
+ "required": false
1301
+ }
1302
+ ],
1303
+ "suggested_output_file_path": "{input_file_name}-java",
1304
+ "prompts": [
1305
+ {
1306
+ "name": "--avro-annotation",
1307
+ "message": "Use Avro annotations?",
1308
+ "type": "bool",
1309
+ "default": false
1310
+ },
1311
+ {
1312
+ "name": "--jackson-annotation",
1313
+ "message": "Use Jackson annotations?",
1314
+ "type": "bool",
1315
+ "default": false
1316
+ },
1317
+ {
1318
+ "name": "--pascal-properties",
1319
+ "message": "Use PascalCase properties?",
1320
+ "type": "bool",
1321
+ "default": false
1322
+ }
1323
+ ]
1324
+ },
1325
+ {
1326
+ "command": "a2py",
1327
+ "description": "Convert Avrotize schema to Python classes",
1328
+ "group": "2_ProgLanguages",
1329
+ "function": {
1330
+ "name": "avrotize.avrotopython.convert_avro_to_python",
1331
+ "args": {
1332
+ "avro_schema_path": "input_file_path",
1333
+ "py_file_path": "output_file_path",
1334
+ "package_name": "args.package",
1335
+ "dataclasses_json_annotation": "args.dataclasses_json_annotation",
1336
+ "avro_annotation": "args.avro_annotation"
1337
+ }
1338
+ },
1339
+ "extensions": [".avsc"],
1340
+ "args": [
1341
+ {
1342
+ "name": "input",
1343
+ "type": "str",
1344
+ "nargs": "?",
1345
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
1346
+ "required": false
1347
+ },
1348
+ {
1349
+ "name": "--out",
1350
+ "type": "str",
1351
+ "help": "Output path for the Python classes",
1352
+ "required": true
1353
+ },
1354
+ {
1355
+ "name": "--avsc",
1356
+ "type": "str",
1357
+ "help": "Deprecated: Path to the Avrotize schema file (for backcompat)",
1358
+ "required": false
1359
+ },
1360
+ {
1361
+ "name": "--package",
1362
+ "type": "str",
1363
+ "help": "Python package name",
1364
+ "required": false
1365
+ },
1366
+ {
1367
+ "name": "--dataclasses-json-annotation",
1368
+ "type": "bool",
1369
+ "help": "Use dataclasses-json annotations",
1370
+ "default": false,
1371
+ "required": false
1372
+ },
1373
+ {
1374
+ "name": "--avro-annotation",
1375
+ "type": "bool",
1376
+ "help": "Use Avro annotations",
1377
+ "default": false,
1378
+ "required": false
1379
+ }
1380
+ ],
1381
+ "suggested_output_file_path": "{input_file_name}-py",
1382
+ "prompts": [
1383
+ {
1384
+ "name": "--dataclasses-json-annotation",
1385
+ "message": "Use dataclasses-json annotations?",
1386
+ "type": "bool",
1387
+ "default": false
1388
+ },
1389
+ {
1390
+ "name": "--avro-annotation",
1391
+ "message": "Use apache_avro annotations?",
1392
+ "type": "bool",
1393
+ "default": false
1394
+ }
1395
+ ]
1396
+ },
1397
+ {
1398
+ "command": "s2py",
1399
+ "description": "Convert JSON Structure to Python classes",
1400
+ "group": "2_ProgLanguages",
1401
+ "function": {
1402
+ "name": "avrotize.structuretopython.convert_structure_to_python",
1403
+ "args": {
1404
+ "structure_schema_path": "input_file_path",
1405
+ "py_file_path": "output_file_path",
1406
+ "package_name": "args.package",
1407
+ "dataclasses_json_annotation": "args.dataclasses_json_annotation",
1408
+ "avro_annotation": "args.avro_annotation"
1409
+ }
1410
+ },
1411
+ "extensions": [".struct.json", ".json"],
1412
+ "args": [
1413
+ {
1414
+ "name": "input",
1415
+ "type": "str",
1416
+ "nargs": "?",
1417
+ "help": "Path to the JSON Structure schema file (or read from stdin if omitted)",
1418
+ "required": false
1419
+ },
1420
+ {
1421
+ "name": "--out",
1422
+ "type": "str",
1423
+ "help": "Output path for the Python classes",
1424
+ "required": true
1425
+ },
1426
+ {
1427
+ "name": "--package",
1428
+ "type": "str",
1429
+ "help": "Python package name",
1430
+ "required": false
1431
+ },
1432
+ {
1433
+ "name": "--dataclasses-json-annotation",
1434
+ "type": "bool",
1435
+ "help": "Use dataclasses-json annotations",
1436
+ "default": false,
1437
+ "required": false
1438
+ },
1439
+ {
1440
+ "name": "--avro-annotation",
1441
+ "type": "bool",
1442
+ "help": "Add Avro binary serialization support with embedded Structure schema",
1443
+ "default": false,
1444
+ "required": false
1445
+ }
1446
+ ],
1447
+ "suggested_output_file_path": "{input_file_name}-py",
1448
+ "prompts": [
1449
+ {
1450
+ "name": "--dataclasses-json-annotation",
1451
+ "message": "Use dataclasses-json annotations?",
1452
+ "type": "bool",
1453
+ "default": false
1454
+ }
1455
+ ]
1456
+ },
1457
+ {
1458
+ "command": "a2ts",
1459
+ "description": "Convert Avrotize schema to TypeScript classes",
1460
+ "group": "2_ProgLanguages",
1461
+ "function": {
1462
+ "name": "avrotize.avrotots.convert_avro_to_typescript",
1463
+ "args": {
1464
+ "avro_schema_path": "input_file_path",
1465
+ "js_dir_path": "output_file_path",
1466
+ "package_name": "args.package",
1467
+ "avro_annotation": "args.avro_annotation",
1468
+ "typedjson_annotation": "args.typedjson_annotation"
1469
+ }
1470
+ },
1471
+ "extensions": [".avsc"],
1472
+ "args": [
1473
+ {
1474
+ "name": "input",
1475
+ "type": "str",
1476
+ "nargs": "?",
1477
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
1478
+ "required": false
1479
+ },
1480
+ {
1481
+ "name": "--out",
1482
+ "type": "str",
1483
+ "help": "Output path for the TypeScript classes",
1484
+ "required": true
1485
+ },
1486
+ {
1487
+ "name": "--avsc",
1488
+ "type": "str",
1489
+ "help": "Deprecated: Path to the Avrotize schema file (for backcompat)",
1490
+ "required": false
1491
+ },
1492
+ {
1493
+ "name": "--package",
1494
+ "type": "str",
1495
+ "help": "TypeScript package name",
1496
+ "required": false
1497
+ },
1498
+ {
1499
+ "name": "--avro-annotation",
1500
+ "type": "bool",
1501
+ "help": "Use Avro annotations",
1502
+ "default": false,
1503
+ "required": false
1504
+ },
1505
+ {
1506
+ "name": "--typedjson-annotation",
1507
+ "type": "bool",
1508
+ "help": "Use TypedJSON annotations",
1509
+ "default": false,
1510
+ "required": false
1511
+ }
1512
+ ],
1513
+ "suggested_output_file_path": "{input_file_name}-ts",
1514
+ "prompts": [
1515
+ {
1516
+ "name": "--avro-annotation",
1517
+ "message": "Use Avro annotations?",
1518
+ "type": "bool",
1519
+ "default": false
1520
+ },
1521
+ {
1522
+ "name": "--typedjson-annotation",
1523
+ "message": "Use TypedJSON annotations?",
1524
+ "type": "bool",
1525
+ "default": false
1526
+ }
1527
+ ]
1528
+ },
1529
+ {
1530
+ "command": "a2js",
1531
+ "description": "Convert Avrotize schema to JavaScript classes",
1532
+ "group": "2_ProgLanguages",
1533
+ "function": {
1534
+ "name": "avrotize.avrotojs.convert_avro_to_javascript",
1535
+ "args": {
1536
+ "avro_schema_path": "input_file_path",
1537
+ "js_dir_path": "output_file_path",
1538
+ "package_name": "args.package",
1539
+ "avro_annotation": "args.avro_annotation"
1540
+ }
1541
+ },
1542
+ "extensions": [".avsc"],
1543
+ "args": [
1544
+ {
1545
+ "name": "input",
1546
+ "type": "str",
1547
+ "nargs": "?",
1548
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
1549
+ "required": false
1550
+ },
1551
+ {
1552
+ "name": "--out",
1553
+ "type": "str",
1554
+ "help": "Output path for the JavaScript classes",
1555
+ "required": true
1556
+ },
1557
+ {
1558
+ "name": "--avsc",
1559
+ "type": "str",
1560
+ "help": "Deprecated: Path to the Avrotize schema file (for backcompat)",
1561
+ "required": false
1562
+ },
1563
+ {
1564
+ "name": "--package",
1565
+ "type": "str",
1566
+ "help": "JavaScript package name",
1567
+ "required": false
1568
+ },
1569
+ {
1570
+ "name": "--avro-annotation",
1571
+ "type": "bool",
1572
+ "help": "Use Avro annotations",
1573
+ "default": false,
1574
+ "required": false
1575
+ }
1576
+ ],
1577
+ "suggested_output_file_path": "{input_file_name}-js",
1578
+ "prompts": [
1579
+ {
1580
+ "name": "--avro-annotation",
1581
+ "message": "Use Avro annotations?",
1582
+ "type": "bool",
1583
+ "default": false
1584
+ }
1585
+ ]
1586
+ },
1587
+ {
1588
+ "command": "a2cpp",
1589
+ "description": "Convert Avrotize schema to C++ classes",
1590
+ "group": "2_ProgLanguages",
1591
+ "function": {
1592
+ "name": "avrotize.avrotocpp.convert_avro_to_cpp",
1593
+ "args": {
1594
+ "avro_schema_path": "input_file_path",
1595
+ "output_dir": "output_file_path",
1596
+ "namespace": "args.namespace",
1597
+ "avro_annotation": "args.avro_annotation",
1598
+ "json_annotation": "args.json_annotation"
1599
+ }
1600
+ },
1601
+ "extensions": [".avsc"],
1602
+ "args": [
1603
+ {
1604
+ "name": "input",
1605
+ "type": "str",
1606
+ "nargs": "?",
1607
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
1608
+ "required": false
1609
+ },
1610
+ {
1611
+ "name": "--out",
1612
+ "type": "str",
1613
+ "help": "Output path for the C++ classes",
1614
+ "required": true
1615
+ },
1616
+ {
1617
+ "name": "--avsc",
1618
+ "type": "str",
1619
+ "help": "Deprecated: Path to the Avrotize schema file (for backcompat)",
1620
+ "required": false
1621
+ },
1622
+ {
1623
+ "name": "--namespace",
1624
+ "type": "str",
1625
+ "help": "C++ namespace",
1626
+ "required": false
1627
+ },
1628
+ {
1629
+ "name": "--avro-annotation",
1630
+ "type": "bool",
1631
+ "help": "Use Avro annotations",
1632
+ "default": false,
1633
+ "required": false
1634
+ },
1635
+ {
1636
+ "name": "--json-annotation",
1637
+ "type": "bool",
1638
+ "help": "Use JSON annotations",
1639
+ "default": false,
1640
+ "required": false
1641
+ }
1642
+ ],
1643
+ "suggested_output_file_path": "{input_file_name}-cpp",
1644
+ "prompts": [
1645
+ {
1646
+ "name": "--namespace",
1647
+ "message": "Enter the root namespace for the C++ classes (optional)",
1648
+ "type": "str",
1649
+ "default": "{input_file_name}",
1650
+ "required": false
1651
+ },
1652
+ {
1653
+ "name": "--avro-annotation",
1654
+ "message": "Use Avro annotations?",
1655
+ "type": "bool",
1656
+ "default": false
1657
+ },
1658
+ {
1659
+ "name": "--json-annotation",
1660
+ "message": "Use JSON annotations?",
1661
+ "type": "bool",
1662
+ "default": false
1663
+ }
1664
+ ]
1665
+ },
1666
+ {
1667
+ "command": "a2go",
1668
+ "description": "Convert Avrotize schema to Go classes",
1669
+ "group": "2_ProgLanguages",
1670
+ "function": {
1671
+ "name": "avrotize.avrotogo.convert_avro_to_go",
1672
+ "args": {
1673
+ "avro_schema_path": "input_file_path",
1674
+ "go_file_path": "output_file_path",
1675
+ "package_name": "args.package",
1676
+ "avro_annotation": "args.avro_annotation",
1677
+ "json_annotation": "args.json_annotation",
1678
+ "package_site": "args.package_site",
1679
+ "package_username": "args.package_username"
1680
+ }
1681
+ },
1682
+ "extensions": [".avsc"],
1683
+ "args": [
1684
+ {
1685
+ "name": "input",
1686
+ "type": "str",
1687
+ "nargs": "?",
1688
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
1689
+ "required": false
1690
+ },
1691
+ {
1692
+ "name": "--out",
1693
+ "type": "str",
1694
+ "help": "Output path for the Go classes",
1695
+ "required": true
1696
+ },
1697
+ {
1698
+ "name": "--avsc",
1699
+ "type": "str",
1700
+ "help": "Deprecated: Path to the Avrotize schema file (for backcompat)",
1701
+ "required": false
1702
+ },
1703
+ {
1704
+ "name": "--package",
1705
+ "type": "str",
1706
+ "help": "Go package name",
1707
+ "required": false
1708
+ },
1709
+ {
1710
+ "name": "--package-site",
1711
+ "type": "str",
1712
+ "help": "Go package site",
1713
+ "required": false
1714
+ },
1715
+ {
1716
+ "name": "--package-username",
1717
+ "type": "str",
1718
+ "help": "Go package username",
1719
+ "required": false
1720
+ },
1721
+ {
1722
+ "name": "--avro-annotation",
1723
+ "type": "bool",
1724
+ "help": "Use Avro annotations",
1725
+ "default": false,
1726
+ "required": false
1727
+ },
1728
+ {
1729
+ "name": "--json-annotation",
1730
+ "type": "bool",
1731
+ "help": "Use JSON annotations",
1732
+ "default": false,
1733
+ "required": false
1734
+ }
1735
+ ],
1736
+ "suggested_output_file_path": "{input_file_name}-go",
1737
+ "prompts": [
1738
+ {
1739
+ "name": "--avro-annotation",
1740
+ "message": "Use Avro annotations?",
1741
+ "type": "bool",
1742
+ "default": false
1743
+ },
1744
+ {
1745
+ "name": "--json-annotation",
1746
+ "message": "Use JSON annotations?",
1747
+ "type": "bool",
1748
+ "default": false
1749
+ },
1750
+ {
1751
+ "name": "--package",
1752
+ "message": "Enter the Go package name (optional)",
1753
+ "type": "str",
1754
+ "required": false
1755
+ },
1756
+ {
1757
+ "name": "--package-site",
1758
+ "message": "Enter the Go package site (optional)",
1759
+ "type": "str",
1760
+ "required": false
1761
+ },
1762
+ {
1763
+ "name": "--package-username",
1764
+ "message": "Enter the Go package username (optional)",
1765
+ "type": "str",
1766
+ "required": false
1767
+ }
1768
+ ]
1769
+ },
1770
+ {
1771
+ "command": "a2rust",
1772
+ "description": "Convert Avrotize schema to Rust classes",
1773
+ "group": "2_ProgLanguages",
1774
+ "function": {
1775
+ "name": "avrotize.avrotorust.convert_avro_to_rust",
1776
+ "args": {
1777
+ "avro_schema_path": "input_file_path",
1778
+ "rust_file_path": "output_file_path",
1779
+ "package_name": "args.package",
1780
+ "avro_annotation": "args.avro_annotation",
1781
+ "serde_annotation": "args.json_annotation"
1782
+ }
1783
+ },
1784
+ "extensions": [".avsc"],
1785
+ "args": [
1786
+ {
1787
+ "name": "input",
1788
+ "type": "str",
1789
+ "nargs": "?",
1790
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
1791
+ "required": false
1792
+ },
1793
+ {
1794
+ "name": "--out",
1795
+ "type": "str",
1796
+ "help": "Output path for the Rust classes",
1797
+ "required": true
1798
+ },
1799
+ {
1800
+ "name": "--avsc",
1801
+ "type": "str",
1802
+ "help": "Deprecated: Path to the Avrotize schema file (for backcompat)",
1803
+ "required": false
1804
+ },
1805
+ {
1806
+ "name": "--package",
1807
+ "type": "str",
1808
+ "help": "Rust package name",
1809
+ "required": false
1810
+ },
1811
+ {
1812
+ "name": "--avro-annotation",
1813
+ "type": "bool",
1814
+ "help": "Use Avro annotations",
1815
+ "default": false,
1816
+ "required": false
1817
+ },
1818
+ {
1819
+ "name": "--json-annotation",
1820
+ "type": "bool",
1821
+ "help": "Use JSON annotations",
1822
+ "default": false,
1823
+ "required": false
1824
+ }
1825
+ ],
1826
+ "suggested_output_file_path": "{input_file_name}-rust",
1827
+ "prompts": [
1828
+ {
1829
+ "name": "--package",
1830
+ "message": "Enter the Rust package name (optional)",
1831
+ "type": "str",
1832
+ "required": false
1833
+ },
1834
+ {
1835
+ "name": "--avro-annotation",
1836
+ "message": "Use Avro annotations?",
1837
+ "type": "bool",
1838
+ "default": false
1839
+ },
1840
+ {
1841
+ "name": "--json-annotation",
1842
+ "message": "Use JSON annotations?",
1843
+ "type": "bool",
1844
+ "default": false
1845
+ }
1846
+ ]
1847
+ },
1848
+ {
1849
+ "command": "a2dp",
1850
+ "description": "Convert Avrotize schema to Datapackage schema",
1851
+ "group": "1_Schemas",
1852
+ "function": {
1853
+ "name": "avrotize.avrotodatapackage.convert_avro_to_datapackage",
1854
+ "args": {
1855
+ "avro_schema_path": "input_file_path",
1856
+ "datapackage_path": "output_file_path",
1857
+ "avro_record_type": "args.record_type"
1858
+ }
1859
+ },
1860
+ "extensions": [".avsc"],
1861
+ "args": [
1862
+ {
1863
+ "name": "input",
1864
+ "type": "str",
1865
+ "nargs": "?",
1866
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
1867
+ "required": false
1868
+ },
1869
+ {
1870
+ "name": "--out",
1871
+ "type": "str",
1872
+ "help": "Output path for the Datapackage schema",
1873
+ "required": false
1874
+ },
1875
+ {
1876
+ "name": "--record-type",
1877
+ "type": "str",
1878
+ "help": "Record type in the Avrotize schema",
1879
+ "required": false
1880
+ }
1881
+ ],
1882
+ "suggested_output_file_path": "{input_file_name}.json",
1883
+ "prompts": [
1884
+ {
1885
+ "name": "--record-type",
1886
+ "message": "Enter the record type in the Avro schema (optional)",
1887
+ "type": "str",
1888
+ "required": false
1889
+ }
1890
+ ]
1891
+ },
1892
+ {
1893
+ "command": "a2md",
1894
+ "description": "Convert Avrotize schema to Markdown documentation",
1895
+ "group": "7_Utility",
1896
+ "function": {
1897
+ "name": "avrotize.avrotomd.convert_avro_to_markdown",
1898
+ "args": {
1899
+ "avro_schema_path": "input_file_path",
1900
+ "markdown_path": "output_file_path"
1901
+ }
1902
+ },
1903
+ "extensions": [".avsc"],
1904
+ "args": [
1905
+ {
1906
+ "name": "input",
1907
+ "type": "str",
1908
+ "nargs": "?",
1909
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
1910
+ "required": false
1911
+ },
1912
+ {
1913
+ "name": "--out",
1914
+ "type": "str",
1915
+ "help": "Output path for the Markdown documentation",
1916
+ "required": false
1917
+ }
1918
+ ],
1919
+ "suggested_output_file_path": "{input_file_name}.md",
1920
+ "prompts": []
1921
+ },
1922
+ {
1923
+ "command": "pcf",
1924
+ "description": "Create the Parsing Canonical Form (PCF) of an Avrotize schema",
1925
+ "group": "7_Utility",
1926
+ "function": {
1927
+ "name": "avrotize.avrotools.avsc_to_pcf",
1928
+ "args": {
1929
+ "schema_file": "input_file_path"
1930
+ }
1931
+ },
1932
+ "extensions": [".avsc"],
1933
+ "args": [
1934
+ {
1935
+ "name": "input",
1936
+ "type": "str",
1937
+ "nargs": "?",
1938
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
1939
+ "required": false
1940
+ }
1941
+ ],
1942
+ "prompts": []
1943
+ },
1944
+ {
1945
+ "command": "csv2a",
1946
+ "description": "Convert CSV file to Avrotize schema",
1947
+ "group": "1_Schemas",
1948
+ "function": {
1949
+ "name": "avrotize.csvtoavro.convert_csv_to_avro",
1950
+ "args": {
1951
+ "csv_file_path": "input_file_path",
1952
+ "avro_file_path": "output_file_path",
1953
+ "namespace": "args.namespace"
1954
+ }
1955
+ },
1956
+ "extensions": [".csv"],
1957
+ "args": [
1958
+ {
1959
+ "name": "input",
1960
+ "type": "str",
1961
+ "nargs": "?",
1962
+ "help": "Path to the CSV file (or read from stdin if omitted)",
1963
+ "required": false
1964
+ },
1965
+ {
1966
+ "name": "--out",
1967
+ "type": "str",
1968
+ "help": "Path to the Avrotize schema file",
1969
+ "required": false
1970
+ },
1971
+ {
1972
+ "name": "--namespace",
1973
+ "type": "str",
1974
+ "help": "Namespace for the Avrotize schema",
1975
+ "required": false
1976
+ }
1977
+ ],
1978
+ "suggested_output_file_path": "{input_file_name}.avsc",
1979
+ "prompts": [
1980
+ {
1981
+ "name": "--namespace",
1982
+ "message": "Enter the namespace for the Avro schema",
1983
+ "type": "str",
1984
+ "required": false
1985
+ }
1986
+ ]
1987
+ },
1988
+ {
1989
+ "command": "a2cassandra",
1990
+ "description": "Convert Avrotize schema to Cassandra schema",
1991
+ "group": "5_SQL",
1992
+ "function": {
1993
+ "name": "avrotize.avrotodb.convert_avro_to_sql",
1994
+ "args": {
1995
+ "avro_schema_path": "input_file_path",
1996
+ "dbscript_file_path": "output_file_path",
1997
+ "db_dialect": "cassandra",
1998
+ "emit_cloudevents_columns": "args.emit_cloudevents_columns"
1999
+ }
2000
+ },
2001
+ "extensions": [".avsc"],
2002
+ "args": [
2003
+ {
2004
+ "name": "input",
2005
+ "type": "str",
2006
+ "nargs": "?",
2007
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
2008
+ "required": false
2009
+ },
2010
+ {
2011
+ "name": "--out",
2012
+ "type": "str",
2013
+ "help": "Path to the Cassandra schema file",
2014
+ "required": true
2015
+ },
2016
+ {
2017
+ "name": "--emit-cloudevents-columns",
2018
+ "type": "bool",
2019
+ "help": "Add CloudEvents columns to the Cassandra schema",
2020
+ "default": false,
2021
+ "required": false
2022
+ }
2023
+ ],
2024
+ "suggested_output_file_path": "{input_file_name}.cql",
2025
+ "prompts": [
2026
+ {
2027
+ "name": "--emit-cloudevents-columns",
2028
+ "message": "Add CloudEvents columns to the Cassandra schema?",
2029
+ "type": "bool",
2030
+ "default": false
2031
+ }
2032
+ ]
2033
+ },
2034
+ {
2035
+ "command": "a2dynamodb",
2036
+ "description": "Convert Avrotize schema to DynamoDB schema",
2037
+ "group": "6_NoSQL",
2038
+ "function": {
2039
+ "name": "avrotize.avrotodb.convert_avro_to_nosql",
2040
+ "args": {
2041
+ "avro_schema_path": "input_file_path",
2042
+ "nosql_file_path": "output_file_path",
2043
+ "nosql_dialect": "dynamodb",
2044
+ "emit_cloudevents_columns": "args.emit_cloudevents_columns"
2045
+ }
2046
+ },
2047
+ "extensions": [".avsc"],
2048
+ "args": [
2049
+ {
2050
+ "name": "input",
2051
+ "type": "str",
2052
+ "nargs": "?",
2053
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
2054
+ "required": false
2055
+ },
2056
+ {
2057
+ "name": "--out",
2058
+ "type": "str",
2059
+ "help": "Path to the DynamoDB schema file",
2060
+ "required": true
2061
+ },
2062
+ {
2063
+ "name": "--emit-cloudevents-columns",
2064
+ "type": "bool",
2065
+ "help": "Add CloudEvents columns to the DynamoDB schema",
2066
+ "default": false,
2067
+ "required": false
2068
+ }
2069
+ ],
2070
+ "suggested_output_file_path": "{input_file_name}.json",
2071
+ "prompts": [
2072
+ {
2073
+ "name": "--emit-cloudevents-columns",
2074
+ "message": "Add CloudEvents columns to the DynamoDB schema?",
2075
+ "type": "bool",
2076
+ "default": false
2077
+ }
2078
+ ]
2079
+ },
2080
+ {
2081
+ "command": "a2es",
2082
+ "description": "Convert Avrotize schema to Elasticsearch schema",
2083
+ "group": "6_NoSQL",
2084
+ "function": {
2085
+ "name": "avrotize.avrotodb.convert_avro_to_nosql",
2086
+ "args": {
2087
+ "avro_schema_path": "input_file_path",
2088
+ "nosql_file_path": "output_file_path",
2089
+ "nosql_dialect": "elasticsearch",
2090
+ "emit_cloudevents_columns": "args.emit_cloudevents_columns"
2091
+ }
2092
+ },
2093
+ "extensions": [".avsc"],
2094
+ "args": [
2095
+ {
2096
+ "name": "input",
2097
+ "type": "str",
2098
+ "nargs": "?",
2099
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
2100
+ "required": false
2101
+ },
2102
+ {
2103
+ "name": "--out",
2104
+ "type": "str",
2105
+ "help": "Path to the Elasticsearch schema file",
2106
+ "required": true
2107
+ },
2108
+ {
2109
+ "name": "--emit-cloudevents-columns",
2110
+ "type": "bool",
2111
+ "help": "Add CloudEvents columns to the Elasticsearch schema",
2112
+ "default": false,
2113
+ "required": false
2114
+ }
2115
+ ],
2116
+ "suggested_output_file_path": "{input_file_name}.json",
2117
+ "prompts": [
2118
+ {
2119
+ "name": "--emit-cloudevents-columns",
2120
+ "message": "Add CloudEvents columns to the Elasticsearch schema?",
2121
+ "type": "bool",
2122
+ "default": false
2123
+ }
2124
+ ]
2125
+ },
2126
+ {
2127
+ "command": "a2couchdb",
2128
+ "description": "Convert Avrotize schema to CouchDB schema",
2129
+ "group": "6_NoSQL",
2130
+ "function": {
2131
+ "name": "avrotize.avrotodb.convert_avro_to_nosql",
2132
+ "args": {
2133
+ "avro_schema_path": "input_file_path",
2134
+ "nosql_file_path": "output_file_path",
2135
+ "nosql_dialect": "couchdb",
2136
+ "emit_cloudevents_columns": "args.emit_cloudevents_columns"
2137
+ }
2138
+ },
2139
+ "extensions": [".avsc"],
2140
+ "args": [
2141
+ {
2142
+ "name": "input",
2143
+ "type": "str",
2144
+ "nargs": "?",
2145
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
2146
+ "required": false
2147
+ },
2148
+ {
2149
+ "name": "--out",
2150
+ "type": "str",
2151
+ "help": "Path to the CouchDB schema file",
2152
+ "required": true
2153
+ },
2154
+ {
2155
+ "name": "--emit-cloudevents-columns",
2156
+ "type": "bool",
2157
+ "help": "Add CloudEvents columns to the CouchDB schema",
2158
+ "default": false,
2159
+ "required": false
2160
+ }
2161
+ ],
2162
+ "suggested_output_file_path": "{input_file_name}.json",
2163
+ "prompts": [
2164
+ {
2165
+ "name": "--emit-cloudevents-columns",
2166
+ "message": "Add CloudEvents columns to the CouchDB schema?",
2167
+ "type": "bool",
2168
+ "default": false
2169
+ }
2170
+ ]
2171
+ },
2172
+ {
2173
+ "command": "a2neo4j",
2174
+ "description": "Convert Avrotize schema to Neo4j schema",
2175
+ "group": "6_NoSQL",
2176
+ "function": {
2177
+ "name": "avrotize.avrotodb.convert_avro_to_nosql",
2178
+ "args": {
2179
+ "avro_schema_path": "input_file_path",
2180
+ "nosql_file_path": "output_file_path",
2181
+ "nosql_dialect": "neo4j",
2182
+ "emit_cloudevents_columns": "args.emit_cloudevents_columns"
2183
+ }
2184
+ },
2185
+ "extensions": [".avsc"],
2186
+ "args": [
2187
+ {
2188
+ "name": "input",
2189
+ "type": "str",
2190
+ "nargs": "?",
2191
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
2192
+ "required": false
2193
+ },
2194
+ {
2195
+ "name": "--out",
2196
+ "type": "str",
2197
+ "help": "Path to the Neo4j schema file",
2198
+ "required": true
2199
+ },
2200
+ {
2201
+ "name": "--emit-cloudevents-columns",
2202
+ "type": "bool",
2203
+ "help": "Add CloudEvents columns to the Neo4j schema",
2204
+ "default": false,
2205
+ "required": false
2206
+ }
2207
+ ],
2208
+ "suggested_output_file_path": "{input_file_name}.cypher",
2209
+ "prompts": [
2210
+ {
2211
+ "name": "--emit-cloudevents-columns",
2212
+ "message": "Add CloudEvents columns to the Neo4j schema?",
2213
+ "type": "bool",
2214
+ "default": false
2215
+ }
2216
+ ]
2217
+ },
2218
+ {
2219
+ "command": "a2firebase",
2220
+ "description": "Convert Avrotize schema to Firebase schema",
2221
+ "group": "6_NoSQL",
2222
+ "function": {
2223
+ "name": "avrotize.avrotodb.convert_avro_to_nosql",
2224
+ "args": {
2225
+ "avro_schema_path": "input_file_path",
2226
+ "nosql_file_path": "output_file_path",
2227
+ "nosql_dialect": "firebase",
2228
+ "emit_cloudevents_columns": "args.emit_cloudevents_columns"
2229
+ }
2230
+ },
2231
+ "extensions": [".avsc"],
2232
+ "args": [
2233
+ {
2234
+ "name": "input",
2235
+ "type": "str",
2236
+ "nargs": "?",
2237
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
2238
+ "required": false
2239
+ },
2240
+ {
2241
+ "name": "--out",
2242
+ "type": "str",
2243
+ "help": "Path to the Firebase schema file",
2244
+ "required": true
2245
+ },
2246
+ {
2247
+ "name": "--emit-cloudevents-columns",
2248
+ "type": "bool",
2249
+ "help": "Add CloudEvents columns to the Firebase schema",
2250
+ "default": false,
2251
+ "required": false
2252
+ }
2253
+ ],
2254
+ "suggested_output_file_path": "{input_file_name}.json",
2255
+ "prompts": [
2256
+ {
2257
+ "name": "--emit-cloudevents-columns",
2258
+ "message": "Add CloudEvents columns to the Firebase schema?",
2259
+ "type": "bool",
2260
+ "default": false
2261
+ }
2262
+ ]
2263
+ },
2264
+ {
2265
+ "command": "a2cosmos",
2266
+ "description": "Convert Avrotize schema to CosmosDB schema",
2267
+ "group": "6_NoSQL",
2268
+ "function": {
2269
+ "name": "avrotize.avrotodb.convert_avro_to_nosql",
2270
+ "args": {
2271
+ "avro_schema_path": "input_file_path",
2272
+ "nosql_file_path": "output_file_path",
2273
+ "nosql_dialect": "cosmosdb",
2274
+ "emit_cloudevents_columns": "args.emit_cloudevents_columns"
2275
+ }
2276
+ },
2277
+ "extensions": [".avsc"],
2278
+ "args": [
2279
+ {
2280
+ "name": "input",
2281
+ "type": "str",
2282
+ "nargs": "?",
2283
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
2284
+ "required": false
2285
+ },
2286
+ {
2287
+ "name": "--out",
2288
+ "type": "str",
2289
+ "help": "Path to the CosmosDB schema file",
2290
+ "required": true
2291
+ },
2292
+ {
2293
+ "name": "--emit-cloudevents-columns",
2294
+ "type": "bool",
2295
+ "help": "Add CloudEvents columns to the CosmosDB schema",
2296
+ "default": false,
2297
+ "required": false
2298
+ }
2299
+ ],
2300
+ "suggested_output_file_path": "{input_file_name}.json",
2301
+ "prompts": [
2302
+ {
2303
+ "name": "--emit-cloudevents-columns",
2304
+ "message": "Add CloudEvents columns to the CosmosDB schema?",
2305
+ "type": "bool",
2306
+ "default": false
2307
+ }
2308
+ ]
2309
+ },
2310
+ {
2311
+ "command": "a2hbase",
2312
+ "description": "Convert Avrotize schema to HBase schema",
2313
+ "group": "6_NoSQL",
2314
+ "function": {
2315
+ "name": "avrotize.avrotodb.convert_avro_to_nosql",
2316
+ "args": {
2317
+ "avro_schema_path": "input_file_path",
2318
+ "nosql_file_path": "output_file_path",
2319
+ "nosql_dialect": "hbase",
2320
+ "emit_cloudevents_columns": "args.emit_cloudevents_columns"
2321
+ }
2322
+ },
2323
+ "extensions": [".avsc"],
2324
+ "args": [
2325
+ {
2326
+ "name": "input",
2327
+ "type": "str",
2328
+ "nargs": "?",
2329
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
2330
+ "required": false
2331
+ },
2332
+ {
2333
+ "name": "--out",
2334
+ "type": "str",
2335
+ "help": "Path to the HBase schema file",
2336
+ "required": true
2337
+ },
2338
+ {
2339
+ "name": "--emit-cloudevents-columns",
2340
+ "type": "bool",
2341
+ "help": "Add CloudEvents columns to the HBase schema",
2342
+ "default": false,
2343
+ "required": false
2344
+ }
2345
+ ],
2346
+ "suggested_output_file_path": "{input_file_name}.json",
2347
+ "prompts": [
2348
+ {
2349
+ "name": "--emit-cloudevents-columns",
2350
+ "message": "Add CloudEvents columns to the HBase schema?",
2351
+ "type": "bool",
2352
+ "default": false
2353
+ }
2354
+ ]
2355
+ },
2356
+ {
2357
+ "command": "s2a",
2358
+ "description": "Convert JSON structure to Avrotize schema",
2359
+ "group": "1_Schemas",
2360
+ "function": {
2361
+ "name": "avrotize.jstructtoavro.convert_json_structure_to_avro",
2362
+ "args": {
2363
+ "structure_file": "input_file_path",
2364
+ "avro_file": "output_file_path"
2365
+ }
2366
+ },
2367
+ "extensions": [".struct.json", ".json"],
2368
+ "args": [
2369
+ {
2370
+ "name": "input",
2371
+ "type": "str",
2372
+ "nargs": "?",
2373
+ "help": "Path to the JSON structure file (or read from stdin if omitted)",
2374
+ "required": false
2375
+ },
2376
+ {
2377
+ "name": "--out",
2378
+ "type": "str",
2379
+ "help": "Path to the Avrotize schema file",
2380
+ "required": false
2381
+ }
2382
+ ],
2383
+ "suggested_output_file_path": "{input_file_name}.avsc",
2384
+ "prompts": []
2385
+ },
2386
+ {
2387
+ "command": "a2s",
2388
+ "description": "Convert Avrotize schema to JSON structure",
2389
+ "group": "1_Schemas",
2390
+ "function": {
2391
+ "name": "avrotize.avrotojstruct.convert_avro_to_json_structure",
2392
+ "args": {
2393
+ "avro_schema_file": "input_file_path",
2394
+ "json_structure_file": "output_file_path",
2395
+ "naming_mode": "args.naming",
2396
+ "avro_encoding": "args.avro_encoding"
2397
+ }
2398
+ },
2399
+ "extensions": [".avsc"],
2400
+ "args": [
2401
+ {
2402
+ "name": "input",
2403
+ "type": "str",
2404
+ "nargs": "?",
2405
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
2406
+ "required": false
2407
+ },
2408
+ {
2409
+ "name": "--out",
2410
+ "type": "str",
2411
+ "help": "Path to the JSON structure file",
2412
+ "required": false
2413
+ },
2414
+ {
2415
+ "name": "--naming",
2416
+ "type": "str",
2417
+ "help": "Type naming convention",
2418
+ "choices": ["snake", "camel", "pascal", "default"],
2419
+ "required": false,
2420
+ "default": "default"
2421
+ },
2422
+ {
2423
+ "name": "--avro-encoding",
2424
+ "type": "bool",
2425
+ "help": "Enable Avro encoding for unions",
2426
+ "default": false,
2427
+ "required": false
2428
+ }
2429
+ ],
2430
+ "suggested_output_file_path": "{input_file_name}.struct.json",
2431
+ "prompts": []
2432
+ }
2433
+ ]