sysmlpy 0.49.0__tar.gz → 0.50.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/PKG-INFO +1 -1
  2. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/pyproject.toml +1 -1
  3. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/__init__.py +1 -1
  4. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/antlr_visitor.py +4 -2
  5. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/grammar/classes.py +14 -3
  6. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/LICENSE +0 -0
  7. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/README.md +0 -0
  8. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/__main__.py +0 -0
  9. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/antlr/README.md +0 -0
  10. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/antlr/SysMLv2Lexer.interp +0 -0
  11. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/antlr/SysMLv2Lexer.py +0 -0
  12. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/antlr/SysMLv2Lexer.tokens +0 -0
  13. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/antlr/SysMLv2Parser.interp +0 -0
  14. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/antlr/SysMLv2Parser.py +0 -0
  15. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/antlr/SysMLv2Parser.tokens +0 -0
  16. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/antlr/SysMLv2ParserListener.py +0 -0
  17. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/antlr/SysMLv2ParserVisitor.py +0 -0
  18. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/antlr/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.interp +0 -0
  19. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/antlr/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.py +0 -0
  20. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/antlr/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.tokens +0 -0
  21. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/antlr_parser.py +0 -0
  22. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/boxes_view.py +0 -0
  23. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/definition.py +0 -0
  24. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/examples/attribute_values.py +0 -0
  25. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/examples/part_attributes.py +0 -0
  26. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/examples/tuples_sequences.py +0 -0
  27. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/formatting.py +0 -0
  28. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/grammar/antlr4/README.md +0 -0
  29. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.g4 +0 -0
  30. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.interp +0 -0
  31. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.py +0 -0
  32. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.tokens +0 -0
  33. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/grammar/antlr4/SysMLv2Parser.g4 +0 -0
  34. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/grammar/antlr4/SysMLv2Parser.interp +0 -0
  35. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/grammar/antlr4/SysMLv2Parser.py +0 -0
  36. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/grammar/antlr4/SysMLv2Parser.tokens +0 -0
  37. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/grammar/antlr4/SysMLv2ParserListener.py +0 -0
  38. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/grammar/antlr4/SysMLv2ParserVisitor.py +0 -0
  39. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/grammar/antlr4/desc.xml +0 -0
  40. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/grammar/antlr4/examples/camera.sysml +0 -0
  41. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/grammar/antlr4/examples/toaster-system.sysml +0 -0
  42. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/grammar/antlr4/examples/vehicle-model.sysml +0 -0
  43. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/grammar/antlr4/pom.xml +0 -0
  44. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/LICENSE +0 -0
  45. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/README.md +0 -0
  46. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/__init__.py +0 -0
  47. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/domain/Analysis/AnalysisTooling.sysml +0 -0
  48. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/domain/Analysis/SampledFunctions.sysml +0 -0
  49. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/domain/Analysis/StateSpaceRepresentation.sysml +0 -0
  50. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/domain/Analysis/TradeStudies.sysml +0 -0
  51. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/domain/Cause and Effect/CausationConnections.sysml +0 -0
  52. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/domain/Cause and Effect/CauseAndEffect.sysml +0 -0
  53. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/domain/Geometry/ShapeItems.sysml +0 -0
  54. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/domain/Geometry/SpatialItems.sysml +0 -0
  55. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/domain/Metadata/ImageMetadata.sysml +0 -0
  56. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/domain/Metadata/ModelingMetadata.sysml +0 -0
  57. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/domain/Metadata/ParametersOfInterestMetadata.sysml +0 -0
  58. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/domain/Metadata/RiskMetadata.sysml +0 -0
  59. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/domain/Quantities and Units/ISQ.sysml +0 -0
  60. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/domain/Quantities and Units/ISQAcoustics.sysml +0 -0
  61. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/domain/Quantities and Units/ISQAtomicNuclear.sysml +0 -0
  62. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/domain/Quantities and Units/ISQBase.sysml +0 -0
  63. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/domain/Quantities and Units/ISQCharacteristicNumbers.sysml +0 -0
  64. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/domain/Quantities and Units/ISQChemistryMolecular.sysml +0 -0
  65. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/domain/Quantities and Units/ISQCondensedMatter.sysml +0 -0
  66. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/domain/Quantities and Units/ISQElectromagnetism.sysml +0 -0
  67. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/domain/Quantities and Units/ISQInformation.sysml +0 -0
  68. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/domain/Quantities and Units/ISQLight.sysml +0 -0
  69. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/domain/Quantities and Units/ISQMechanics.sysml +0 -0
  70. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/domain/Quantities and Units/ISQSpaceTime.sysml +0 -0
  71. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/domain/Quantities and Units/ISQThermodynamics.sysml +0 -0
  72. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/domain/Quantities and Units/MeasurementRefCalculations.sysml +0 -0
  73. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/domain/Quantities and Units/MeasurementReferences.sysml +0 -0
  74. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/domain/Quantities and Units/Quantities.sysml +0 -0
  75. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/domain/Quantities and Units/QuantityCalculations.sysml +0 -0
  76. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/domain/Quantities and Units/SI.sysml +0 -0
  77. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/domain/Quantities and Units/SIPrefixes.sysml +0 -0
  78. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/domain/Quantities and Units/TensorCalculations.sysml +0 -0
  79. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/domain/Quantities and Units/Time.sysml +0 -0
  80. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/domain/Quantities and Units/USCustomaryUnits.sysml +0 -0
  81. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/domain/Quantities and Units/VectorCalculations.sysml +0 -0
  82. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/domain/Requirement Derivation/DerivationConnections.sysml +0 -0
  83. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/domain/Requirement Derivation/RequirementDerivation.sysml +0 -0
  84. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/kernel/Base.kerml +0 -0
  85. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/kernel/BaseFunctions.kerml +0 -0
  86. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/kernel/BooleanFunctions.kerml +0 -0
  87. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/kernel/Clocks.kerml +0 -0
  88. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/kernel/CollectionFunctions.kerml +0 -0
  89. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/kernel/Collections.kerml +0 -0
  90. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/kernel/ComplexFunctions.kerml +0 -0
  91. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/kernel/ControlFunctions.kerml +0 -0
  92. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/kernel/ControlPerformances.kerml +0 -0
  93. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/kernel/DataFunctions.kerml +0 -0
  94. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/kernel/FeatureReferencingPerformances.kerml +0 -0
  95. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/kernel/IntegerFunctions.kerml +0 -0
  96. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/kernel/KerML.kerml +0 -0
  97. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/kernel/Links.kerml +0 -0
  98. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/kernel/Metaobjects.kerml +0 -0
  99. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/kernel/NaturalFunctions.kerml +0 -0
  100. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/kernel/NumericalFunctions.kerml +0 -0
  101. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/kernel/Objects.kerml +0 -0
  102. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/kernel/Observation.kerml +0 -0
  103. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/kernel/OccurrenceFunctions.kerml +0 -0
  104. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/kernel/Occurrences.kerml +0 -0
  105. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/kernel/Performances.kerml +0 -0
  106. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/kernel/RationalFunctions.kerml +0 -0
  107. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/kernel/RealFunctions.kerml +0 -0
  108. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/kernel/ScalarFunctions.kerml +0 -0
  109. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/kernel/ScalarValues.kerml +0 -0
  110. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/kernel/SequenceFunctions.kerml +0 -0
  111. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/kernel/SpatialFrames.kerml +0 -0
  112. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/kernel/StatePerformances.kerml +0 -0
  113. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/kernel/StringFunctions.kerml +0 -0
  114. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/kernel/Transfers.kerml +0 -0
  115. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/kernel/TransitionPerformances.kerml +0 -0
  116. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/kernel/TrigFunctions.kerml +0 -0
  117. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/kernel/Triggers.kerml +0 -0
  118. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/kernel/VectorFunctions.kerml +0 -0
  119. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/kernel/VectorValues.kerml +0 -0
  120. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/systems/Actions.sysml +0 -0
  121. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/systems/Allocations.sysml +0 -0
  122. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/systems/AnalysisCases.sysml +0 -0
  123. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/systems/Attributes.sysml +0 -0
  124. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/systems/Calculations.sysml +0 -0
  125. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/systems/Cases.sysml +0 -0
  126. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/systems/Connections.sysml +0 -0
  127. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/systems/Constraints.sysml +0 -0
  128. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/systems/Flows.sysml +0 -0
  129. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/systems/Interfaces.sysml +0 -0
  130. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/systems/Items.sysml +0 -0
  131. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/systems/Metadata.sysml +0 -0
  132. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/systems/Parts.sysml +0 -0
  133. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/systems/Ports.sysml +0 -0
  134. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/systems/Requirements.sysml +0 -0
  135. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/systems/StandardViewDefinitions.sysml +0 -0
  136. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/systems/States.sysml +0 -0
  137. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/systems/SysML.sysml +0 -0
  138. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/systems/UseCases.sysml +0 -0
  139. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/systems/VerificationCases.sysml +0 -0
  140. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/library/systems/Views.sysml +0 -0
  141. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/navigate.py +0 -0
  142. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/plantuml.py +0 -0
  143. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/project.py +0 -0
  144. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/semantic.py +0 -0
  145. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/store.py +0 -0
  146. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/us_customary_units.txt +0 -0
  147. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/usage.py +0 -0
  148. {sysmlpy-0.49.0 → sysmlpy-0.50.0}/src/sysmlpy/validator.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sysmlpy
3
- Version: 0.49.0
3
+ Version: 0.50.0
4
4
  Summary:
5
5
  License-File: LICENSE
6
6
  Author: Jon R. Fox (mycr0ft)
@@ -6,7 +6,7 @@ build-backend = "poetry.core.masonry.api"
6
6
 
7
7
  [project]
8
8
  name = "sysmlpy"
9
- version = "0.49.0"
9
+ version = "0.50.0"
10
10
  description = ""
11
11
  authors = [{ name = "Jon R. Fox (mycr0ft)", email = "jon.fox@drfox.com" }]
12
12
  readme = "README.md"
@@ -25,7 +25,7 @@ __all__ = [
25
25
  "render_state_transition_view_svg", "boxes_view",
26
26
  ]
27
27
  __author__ = "Jon Fox"
28
- __version__ = "0.49.0"
28
+ __version__ = "0.50.0"
29
29
 
30
30
  from sysmlpy.usage import (
31
31
  Item, Attribute, Part, Port, Action, Reference, UseCase, Requirement, Interface, Message,
@@ -8066,7 +8066,9 @@ def _make_allocation_usage_dict(ctx, prefix=None):
8066
8066
  Issue #5: the connector endpoints (`allocate X to Y`) were silently
8067
8067
  dropped before reaching the dict. Mirror the InterfaceUsage pattern:
8068
8068
  walk `aud.connectorPart()` (when present) and emit a ConnectorPart
8069
- dict with binary or nary ends.
8069
+ dict with binary or nary ends under the `part` key — the same key
8070
+ ConnectionUsage already uses, so downstream consumers share one
8071
+ shape across connector-bearing usages.
8070
8072
  """
8071
8073
  name = None
8072
8074
  shortname = None
@@ -8122,7 +8124,7 @@ def _make_allocation_usage_dict(ctx, prefix=None):
8122
8124
  "specialization": None
8123
8125
  }
8124
8126
  },
8125
- "connectorPart": connector_part,
8127
+ "part": connector_part,
8126
8128
  "body": {
8127
8129
  "name": "UsageBody",
8128
8130
  "body": {
@@ -9893,10 +9893,18 @@ class AllocationUsage(_PrefixedUsageBase):
9893
9893
 
9894
9894
  def __init__(self, definition=None):
9895
9895
  super().__init__(definition)
9896
+ # Issue #5 / PR #6: stores the connectorPart (the `allocate X to Y`
9897
+ # endpoints) on the same `part` key ConnectionUsage already uses, so
9898
+ # downstream consumers share one shape across connector-bearing
9899
+ # usages. Initialized from `definition["part"]` for round-trip
9900
+ # compatibility with the visitor; legacy `definition["connectorPart"]`
9901
+ # is also accepted as a fallback so callers that built dicts using
9902
+ # the v0.47.0 contract keep working until they migrate.
9896
9903
  self.connectorPart = None
9897
9904
  if definition is not None and valid_definition(definition, self.__class__.__name__):
9898
- if definition.get("connectorPart") is not None:
9899
- self.connectorPart = ConnectorPart(definition["connectorPart"])
9905
+ raw = definition.get("part", definition.get("connectorPart"))
9906
+ if raw is not None:
9907
+ self.connectorPart = ConnectorPart(raw)
9900
9908
 
9901
9909
  def dump(self):
9902
9910
  parts = []
@@ -9916,8 +9924,11 @@ class AllocationUsage(_PrefixedUsageBase):
9916
9924
  return " ".join(parts)
9917
9925
 
9918
9926
  def get_definition(self):
9927
+ # Emit under the `part` key (matching ConnectionUsage convention
9928
+ # from PR #6). The legacy `connectorPart` alias is no longer emitted
9929
+ # but ``__init__`` still accepts it for back-compat reads.
9919
9930
  output = super().get_definition()
9920
- output["connectorPart"] = self.connectorPart.get_definition() if self.connectorPart else None
9931
+ output["part"] = self.connectorPart.get_definition() if self.connectorPart else None
9921
9932
  return output
9922
9933
 
9923
9934
 
File without changes
File without changes
File without changes
File without changes