sysmlpy 0.27.4__tar.gz → 0.28.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 (147) hide show
  1. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/PKG-INFO +49 -11
  2. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/README.md +48 -10
  3. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/pyproject.toml +2 -2
  4. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/__init__.py +5 -3
  5. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/plantuml.py +1055 -0
  6. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/LICENSE +0 -0
  7. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/__main__.py +0 -0
  8. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/antlr/README.md +0 -0
  9. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/antlr/SysMLv2Lexer.interp +0 -0
  10. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/antlr/SysMLv2Lexer.py +0 -0
  11. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/antlr/SysMLv2Lexer.tokens +0 -0
  12. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/antlr/SysMLv2Parser.interp +0 -0
  13. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/antlr/SysMLv2Parser.py +0 -0
  14. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/antlr/SysMLv2Parser.tokens +0 -0
  15. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/antlr/SysMLv2ParserListener.py +0 -0
  16. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/antlr/SysMLv2ParserVisitor.py +0 -0
  17. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/antlr/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.interp +0 -0
  18. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/antlr/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.py +0 -0
  19. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/antlr/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.tokens +0 -0
  20. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/antlr_parser.py +0 -0
  21. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/antlr_visitor.py +0 -0
  22. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/definition.py +0 -0
  23. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/examples/attribute_values.py +0 -0
  24. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/examples/part_attributes.py +0 -0
  25. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/examples/tuples_sequences.py +0 -0
  26. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/formatting.py +0 -0
  27. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/grammar/antlr4/README.md +0 -0
  28. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.g4 +0 -0
  29. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.interp +0 -0
  30. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.py +0 -0
  31. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.tokens +0 -0
  32. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/grammar/antlr4/SysMLv2Parser.g4 +0 -0
  33. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/grammar/antlr4/SysMLv2Parser.interp +0 -0
  34. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/grammar/antlr4/SysMLv2Parser.py +0 -0
  35. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/grammar/antlr4/SysMLv2Parser.tokens +0 -0
  36. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/grammar/antlr4/SysMLv2ParserListener.py +0 -0
  37. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/grammar/antlr4/SysMLv2ParserVisitor.py +0 -0
  38. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/grammar/antlr4/desc.xml +0 -0
  39. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/grammar/antlr4/examples/camera.sysml +0 -0
  40. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/grammar/antlr4/examples/toaster-system.sysml +0 -0
  41. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/grammar/antlr4/examples/vehicle-model.sysml +0 -0
  42. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/grammar/antlr4/pom.xml +0 -0
  43. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/grammar/classes.py +0 -0
  44. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/LICENSE +0 -0
  45. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/README.md +0 -0
  46. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/__init__.py +0 -0
  47. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/domain/Analysis/AnalysisTooling.sysml +0 -0
  48. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/domain/Analysis/SampledFunctions.sysml +0 -0
  49. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/domain/Analysis/StateSpaceRepresentation.sysml +0 -0
  50. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/domain/Analysis/TradeStudies.sysml +0 -0
  51. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/domain/Cause and Effect/CausationConnections.sysml +0 -0
  52. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/domain/Cause and Effect/CauseAndEffect.sysml +0 -0
  53. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/domain/Geometry/ShapeItems.sysml +0 -0
  54. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/domain/Geometry/SpatialItems.sysml +0 -0
  55. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/domain/Metadata/ImageMetadata.sysml +0 -0
  56. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/domain/Metadata/ModelingMetadata.sysml +0 -0
  57. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/domain/Metadata/ParametersOfInterestMetadata.sysml +0 -0
  58. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/domain/Metadata/RiskMetadata.sysml +0 -0
  59. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/domain/Quantities and Units/ISQ.sysml +0 -0
  60. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/domain/Quantities and Units/ISQAcoustics.sysml +0 -0
  61. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/domain/Quantities and Units/ISQAtomicNuclear.sysml +0 -0
  62. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/domain/Quantities and Units/ISQBase.sysml +0 -0
  63. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/domain/Quantities and Units/ISQCharacteristicNumbers.sysml +0 -0
  64. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/domain/Quantities and Units/ISQChemistryMolecular.sysml +0 -0
  65. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/domain/Quantities and Units/ISQCondensedMatter.sysml +0 -0
  66. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/domain/Quantities and Units/ISQElectromagnetism.sysml +0 -0
  67. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/domain/Quantities and Units/ISQInformation.sysml +0 -0
  68. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/domain/Quantities and Units/ISQLight.sysml +0 -0
  69. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/domain/Quantities and Units/ISQMechanics.sysml +0 -0
  70. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/domain/Quantities and Units/ISQSpaceTime.sysml +0 -0
  71. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/domain/Quantities and Units/ISQThermodynamics.sysml +0 -0
  72. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/domain/Quantities and Units/MeasurementRefCalculations.sysml +0 -0
  73. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/domain/Quantities and Units/MeasurementReferences.sysml +0 -0
  74. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/domain/Quantities and Units/Quantities.sysml +0 -0
  75. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/domain/Quantities and Units/QuantityCalculations.sysml +0 -0
  76. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/domain/Quantities and Units/SI.sysml +0 -0
  77. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/domain/Quantities and Units/SIPrefixes.sysml +0 -0
  78. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/domain/Quantities and Units/TensorCalculations.sysml +0 -0
  79. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/domain/Quantities and Units/Time.sysml +0 -0
  80. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/domain/Quantities and Units/USCustomaryUnits.sysml +0 -0
  81. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/domain/Quantities and Units/VectorCalculations.sysml +0 -0
  82. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/domain/Requirement Derivation/DerivationConnections.sysml +0 -0
  83. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/domain/Requirement Derivation/RequirementDerivation.sysml +0 -0
  84. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/kernel/Base.kerml +0 -0
  85. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/kernel/BaseFunctions.kerml +0 -0
  86. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/kernel/BooleanFunctions.kerml +0 -0
  87. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/kernel/Clocks.kerml +0 -0
  88. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/kernel/CollectionFunctions.kerml +0 -0
  89. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/kernel/Collections.kerml +0 -0
  90. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/kernel/ComplexFunctions.kerml +0 -0
  91. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/kernel/ControlFunctions.kerml +0 -0
  92. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/kernel/ControlPerformances.kerml +0 -0
  93. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/kernel/DataFunctions.kerml +0 -0
  94. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/kernel/FeatureReferencingPerformances.kerml +0 -0
  95. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/kernel/IntegerFunctions.kerml +0 -0
  96. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/kernel/KerML.kerml +0 -0
  97. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/kernel/Links.kerml +0 -0
  98. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/kernel/Metaobjects.kerml +0 -0
  99. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/kernel/NaturalFunctions.kerml +0 -0
  100. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/kernel/NumericalFunctions.kerml +0 -0
  101. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/kernel/Objects.kerml +0 -0
  102. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/kernel/Observation.kerml +0 -0
  103. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/kernel/OccurrenceFunctions.kerml +0 -0
  104. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/kernel/Occurrences.kerml +0 -0
  105. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/kernel/Performances.kerml +0 -0
  106. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/kernel/RationalFunctions.kerml +0 -0
  107. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/kernel/RealFunctions.kerml +0 -0
  108. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/kernel/ScalarFunctions.kerml +0 -0
  109. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/kernel/ScalarValues.kerml +0 -0
  110. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/kernel/SequenceFunctions.kerml +0 -0
  111. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/kernel/SpatialFrames.kerml +0 -0
  112. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/kernel/StatePerformances.kerml +0 -0
  113. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/kernel/StringFunctions.kerml +0 -0
  114. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/kernel/Transfers.kerml +0 -0
  115. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/kernel/TransitionPerformances.kerml +0 -0
  116. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/kernel/TrigFunctions.kerml +0 -0
  117. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/kernel/Triggers.kerml +0 -0
  118. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/kernel/VectorFunctions.kerml +0 -0
  119. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/kernel/VectorValues.kerml +0 -0
  120. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/systems/Actions.sysml +0 -0
  121. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/systems/Allocations.sysml +0 -0
  122. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/systems/AnalysisCases.sysml +0 -0
  123. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/systems/Attributes.sysml +0 -0
  124. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/systems/Calculations.sysml +0 -0
  125. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/systems/Cases.sysml +0 -0
  126. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/systems/Connections.sysml +0 -0
  127. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/systems/Constraints.sysml +0 -0
  128. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/systems/Flows.sysml +0 -0
  129. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/systems/Interfaces.sysml +0 -0
  130. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/systems/Items.sysml +0 -0
  131. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/systems/Metadata.sysml +0 -0
  132. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/systems/Parts.sysml +0 -0
  133. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/systems/Ports.sysml +0 -0
  134. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/systems/Requirements.sysml +0 -0
  135. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/systems/StandardViewDefinitions.sysml +0 -0
  136. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/systems/States.sysml +0 -0
  137. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/systems/SysML.sysml +0 -0
  138. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/systems/UseCases.sysml +0 -0
  139. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/systems/VerificationCases.sysml +0 -0
  140. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/library/systems/Views.sysml +0 -0
  141. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/navigate.py +0 -0
  142. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/project.py +0 -0
  143. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/semantic.py +0 -0
  144. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/store.py +0 -0
  145. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/us_customary_units.txt +0 -0
  146. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/usage.py +0 -0
  147. {sysmlpy-0.27.4 → sysmlpy-0.28.0}/src/sysmlpy/validator.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sysmlpy
3
- Version: 0.27.4
3
+ Version: 0.28.0
4
4
  Summary: SysML v2.0 Parser
5
5
  License: MIT License
6
6
 
@@ -59,6 +59,8 @@ The project had diverged so much from sysml2py that a new name, sysmlpy, was sel
59
59
 
60
60
  ![Lines of Code Over Time](loc_history.svg)
61
61
 
62
+ **v0.28.0:** Complete Gap 4 coverage — Block Definition Diagram (BDD), Internal Block Diagram (IBD), Parametric Diagram, and Package Diagram views. All 6 specialized SysML v2 view types now implemented (144 PlantUML tests). IBD shows flow/connection arrows with endpoint extraction. Parametric view extracts constraint parameters with types. Package diagram renders nested folder-style hierarchy.
63
+
62
64
  **v0.27.0:** General View (GV), Package View, and three GridView specializations (Tabular View, Data Value Tabular View, Relationship Matrix View) with PlantUML, Markdown, and HTML output. 108 PlantUML tests. All 68+ `NotImplementedError` stubs in `grammar/classes.py` replaced with graceful handling.
63
65
 
64
66
  **v0.26.0:** Action Flow View, Interconnection View, and State Transition View with auto-include of connected elements. Grammar-level flow scanning. 101 PlantUML tests.
@@ -493,6 +495,38 @@ from sysmlpy.plantuml import as_package_view
493
495
  print(as_package_view(model, style="bw"))
494
496
  ```
495
497
 
498
+ #### Package Diagram View — `as_package_diagram_view()`
499
+ Folder-style package hierarchy with elements nested inside their containing packages. Shows containment structure clearly with color-coded element types.
500
+
501
+ ```python
502
+ from sysmlpy.plantuml import as_package_diagram_view
503
+ print(as_package_diagram_view(model, style="bw"))
504
+ ```
505
+
506
+ #### Block Definition Diagram (BDD) — `as_block_definition_view()`
507
+ Corresponds to SysML v2 Block Definition Diagrams. Shows block definitions with compartments for attributes, ports, and part references. Displays generalization relationships.
508
+
509
+ ```python
510
+ from sysmlpy.plantuml import as_block_definition_view
511
+ print(as_block_definition_view(model, style="bw"))
512
+ ```
513
+
514
+ #### Internal Block Diagram (IBD) — `as_internal_block_diagram()`
515
+ Corresponds to SysML v2 Internal Block Diagrams. Shows a single block's internal structure with boundary ports, nested parts, and flow/connection arrows between endpoints.
516
+
517
+ ```python
518
+ from sysmlpy.plantuml import as_internal_block_diagram
519
+ print(as_internal_block_diagram(model, style="bw"))
520
+ ```
521
+
522
+ #### Parametric Diagram — `as_parametric_view()`
523
+ Shows constraint definitions with parameter compartments (including types like `Real`). Supports constraint usages and parameter bindings.
524
+
525
+ ```python
526
+ from sysmlpy.plantuml import as_parametric_view
527
+ print(as_parametric_view(model, style="bw"))
528
+ ```
529
+
496
530
  #### Action Flow View (AFV) — `as_action_flow_view()`
497
531
  Corresponds to SysML v2 ``ActionFlowView`` (short name ``afv``). Shows actions with their control and object flows. Auto-includes connected flow elements.
498
532
 
@@ -633,7 +667,7 @@ print(as_tabular_view(model, style="color"))
633
667
 
634
668
  ### Complete Example Gallery
635
669
 
636
- See [`docs/plantuml-examples/`](docs/plantuml-examples/) for all 16 rendered example images, covering every view function.
670
+ See [`docs/plantuml-examples/`](docs/plantuml-examples/) for all rendered example images, covering every view function.
637
671
 
638
672
  | # | Example | View Type |
639
673
  |---|---------|-----------|
@@ -645,15 +679,19 @@ See [`docs/plantuml-examples/`](docs/plantuml-examples/) for all 16 rendered exa
645
679
  | 6 | Interconnection | Interconnection View |
646
680
  | 7 | General View (GV) | General View |
647
681
  | 8 | Package View | Package View |
648
- | 9 | Action Flow View (AFV) | Action Flow View |
649
- | 10 | State Transition View (STV) | State Transition View |
650
- | 11 | Tree Diagram | Tree Diagram |
651
- | 12 | Element Table | Element Table |
652
- | 13 | Textual Notation | Textual Notation |
653
- | 14 | Tabular View (GridView) | Tabular View |
654
- | 15 | Data Value Tabular View (GridView) | Data Value View |
655
- | 16 | Relationship Matrix (GridView) | Relationship Matrix |
656
- | 17 | Tabular View — Color | Tabular View (color) |
682
+ | 9 | Package Diagram | Package Diagram View |
683
+ | 10 | Block Definition Diagram (BDD) | Block Definition View |
684
+ | 11 | Internal Block Diagram (IBD) | Internal Block Diagram |
685
+ | 12 | Parametric Diagram | Parametric View |
686
+ | 13 | Action Flow View (AFV) | Action Flow View |
687
+ | 14 | State Transition View (STV) | State Transition View |
688
+ | 15 | Tree Diagram | Tree Diagram |
689
+ | 16 | Element Table | Element Table |
690
+ | 17 | Textual Notation | Textual Notation |
691
+ | 18 | Tabular View (GridView) | Tabular View |
692
+ | 19 | Data Value Tabular View (GridView) | Data Value View |
693
+ | 20 | Relationship Matrix (GridView) | Relationship Matrix |
694
+ | 21 | Tabular View — Color | Tabular View (color) |
657
695
 
658
696
  ## Conformance
659
697
 
@@ -14,6 +14,8 @@ The project had diverged so much from sysml2py that a new name, sysmlpy, was sel
14
14
 
15
15
  ![Lines of Code Over Time](loc_history.svg)
16
16
 
17
+ **v0.28.0:** Complete Gap 4 coverage — Block Definition Diagram (BDD), Internal Block Diagram (IBD), Parametric Diagram, and Package Diagram views. All 6 specialized SysML v2 view types now implemented (144 PlantUML tests). IBD shows flow/connection arrows with endpoint extraction. Parametric view extracts constraint parameters with types. Package diagram renders nested folder-style hierarchy.
18
+
17
19
  **v0.27.0:** General View (GV), Package View, and three GridView specializations (Tabular View, Data Value Tabular View, Relationship Matrix View) with PlantUML, Markdown, and HTML output. 108 PlantUML tests. All 68+ `NotImplementedError` stubs in `grammar/classes.py` replaced with graceful handling.
18
20
 
19
21
  **v0.26.0:** Action Flow View, Interconnection View, and State Transition View with auto-include of connected elements. Grammar-level flow scanning. 101 PlantUML tests.
@@ -448,6 +450,38 @@ from sysmlpy.plantuml import as_package_view
448
450
  print(as_package_view(model, style="bw"))
449
451
  ```
450
452
 
453
+ #### Package Diagram View — `as_package_diagram_view()`
454
+ Folder-style package hierarchy with elements nested inside their containing packages. Shows containment structure clearly with color-coded element types.
455
+
456
+ ```python
457
+ from sysmlpy.plantuml import as_package_diagram_view
458
+ print(as_package_diagram_view(model, style="bw"))
459
+ ```
460
+
461
+ #### Block Definition Diagram (BDD) — `as_block_definition_view()`
462
+ Corresponds to SysML v2 Block Definition Diagrams. Shows block definitions with compartments for attributes, ports, and part references. Displays generalization relationships.
463
+
464
+ ```python
465
+ from sysmlpy.plantuml import as_block_definition_view
466
+ print(as_block_definition_view(model, style="bw"))
467
+ ```
468
+
469
+ #### Internal Block Diagram (IBD) — `as_internal_block_diagram()`
470
+ Corresponds to SysML v2 Internal Block Diagrams. Shows a single block's internal structure with boundary ports, nested parts, and flow/connection arrows between endpoints.
471
+
472
+ ```python
473
+ from sysmlpy.plantuml import as_internal_block_diagram
474
+ print(as_internal_block_diagram(model, style="bw"))
475
+ ```
476
+
477
+ #### Parametric Diagram — `as_parametric_view()`
478
+ Shows constraint definitions with parameter compartments (including types like `Real`). Supports constraint usages and parameter bindings.
479
+
480
+ ```python
481
+ from sysmlpy.plantuml import as_parametric_view
482
+ print(as_parametric_view(model, style="bw"))
483
+ ```
484
+
451
485
  #### Action Flow View (AFV) — `as_action_flow_view()`
452
486
  Corresponds to SysML v2 ``ActionFlowView`` (short name ``afv``). Shows actions with their control and object flows. Auto-includes connected flow elements.
453
487
 
@@ -588,7 +622,7 @@ print(as_tabular_view(model, style="color"))
588
622
 
589
623
  ### Complete Example Gallery
590
624
 
591
- See [`docs/plantuml-examples/`](docs/plantuml-examples/) for all 16 rendered example images, covering every view function.
625
+ See [`docs/plantuml-examples/`](docs/plantuml-examples/) for all rendered example images, covering every view function.
592
626
 
593
627
  | # | Example | View Type |
594
628
  |---|---------|-----------|
@@ -600,15 +634,19 @@ See [`docs/plantuml-examples/`](docs/plantuml-examples/) for all 16 rendered exa
600
634
  | 6 | Interconnection | Interconnection View |
601
635
  | 7 | General View (GV) | General View |
602
636
  | 8 | Package View | Package View |
603
- | 9 | Action Flow View (AFV) | Action Flow View |
604
- | 10 | State Transition View (STV) | State Transition View |
605
- | 11 | Tree Diagram | Tree Diagram |
606
- | 12 | Element Table | Element Table |
607
- | 13 | Textual Notation | Textual Notation |
608
- | 14 | Tabular View (GridView) | Tabular View |
609
- | 15 | Data Value Tabular View (GridView) | Data Value View |
610
- | 16 | Relationship Matrix (GridView) | Relationship Matrix |
611
- | 17 | Tabular View — Color | Tabular View (color) |
637
+ | 9 | Package Diagram | Package Diagram View |
638
+ | 10 | Block Definition Diagram (BDD) | Block Definition View |
639
+ | 11 | Internal Block Diagram (IBD) | Internal Block Diagram |
640
+ | 12 | Parametric Diagram | Parametric View |
641
+ | 13 | Action Flow View (AFV) | Action Flow View |
642
+ | 14 | State Transition View (STV) | State Transition View |
643
+ | 15 | Tree Diagram | Tree Diagram |
644
+ | 16 | Element Table | Element Table |
645
+ | 17 | Textual Notation | Textual Notation |
646
+ | 18 | Tabular View (GridView) | Tabular View |
647
+ | 19 | Data Value Tabular View (GridView) | Data Value View |
648
+ | 20 | Relationship Matrix (GridView) | Relationship Matrix |
649
+ | 21 | Tabular View — Color | Tabular View (color) |
612
650
 
613
651
  ## Conformance
614
652
 
@@ -6,7 +6,7 @@ build-backend = "poetry.core.masonry.api"
6
6
 
7
7
  [project]
8
8
  name = "sysmlpy"
9
- version = "0.27.4"
9
+ version = "0.28.0"
10
10
  description = "SysML v2.0 Parser"
11
11
  authors = [
12
12
  { name="Jon R. Fox (mycr0ft)", email="jon.fox@drfox.com" },
@@ -114,7 +114,7 @@ build_command = "pip install poetry && poetry build"
114
114
 
115
115
  [tool.poetry]
116
116
  name = "sysmlpy"
117
- version = "0.27.4"
117
+ version = "0.28.0"
118
118
  description = ""
119
119
  authors = ["Jon R. Fox (mycr0ft) <jon.fox@drfox.com>"]
120
120
  readme = "README.md"
@@ -14,12 +14,13 @@ __all__ = [
14
14
  "Store", "InMemoryStore", "NetworkXStore", "KuzuStore", "CayleyStore", "create_store", "new_id",
15
15
  "to_plantuml", "PlantUMLGenerator",
16
16
  "as_action_flow_view", "as_interconnection_view", "as_state_transition_view",
17
- "as_general_view", "as_package_view", "as_requirement_view",
17
+ "as_general_view", "as_package_view", "as_package_diagram_view", "as_block_definition_view", "as_internal_block_diagram",
18
+ "as_parametric_view", "as_requirement_view",
18
19
  "as_tabular_view", "as_data_value_tabular_view", "as_relationship_matrix_view",
19
20
  "analyze", "SemanticIssue", "SemanticAnalyzer",
20
21
  ]
21
22
  __author__ = "Jon Fox"
22
- __version__ = "0.27.4"
23
+ __version__ = "0.28.0"
23
24
 
24
25
  from sysmlpy.usage import (
25
26
  Item, Attribute, Part, Port, Action, Reference, UseCase, Requirement, Interface, Message,
@@ -232,7 +233,8 @@ def load_antlr(fp):
232
233
 
233
234
  from sysmlpy.plantuml import (to_plantuml, PlantUMLGenerator,
234
235
  as_action_flow_view, as_interconnection_view, as_state_transition_view,
235
- as_general_view, as_package_view, as_requirement_view,
236
+ as_general_view, as_package_view, as_package_diagram_view, as_block_definition_view, as_internal_block_diagram,
237
+ as_parametric_view, as_requirement_view,
236
238
  as_tabular_view, as_data_value_tabular_view, as_relationship_matrix_view)
237
239
 
238
240
  from sysmlpy.semantic import analyze, SemanticIssue, SemanticAnalyzer