sysmlpy 0.34.0__tar.gz → 0.34.1__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.
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/PKG-INFO +23 -60
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/README.md +22 -59
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/pyproject.toml +1 -1
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/__init__.py +1 -1
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/plantuml.py +127 -95
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/semantic.py +74 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/LICENSE +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/__main__.py +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/antlr/README.md +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/antlr/SysMLv2Lexer.interp +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/antlr/SysMLv2Lexer.py +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/antlr/SysMLv2Lexer.tokens +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/antlr/SysMLv2Parser.interp +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/antlr/SysMLv2Parser.py +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/antlr/SysMLv2Parser.tokens +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/antlr/SysMLv2ParserListener.py +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/antlr/SysMLv2ParserVisitor.py +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/antlr/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.interp +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/antlr/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.py +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/antlr/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.tokens +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/antlr_parser.py +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/antlr_visitor.py +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/definition.py +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/examples/attribute_values.py +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/examples/part_attributes.py +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/examples/tuples_sequences.py +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/formatting.py +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/grammar/antlr4/README.md +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.g4 +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.interp +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.py +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.tokens +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/grammar/antlr4/SysMLv2Parser.g4 +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/grammar/antlr4/SysMLv2Parser.interp +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/grammar/antlr4/SysMLv2Parser.py +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/grammar/antlr4/SysMLv2Parser.tokens +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/grammar/antlr4/SysMLv2ParserListener.py +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/grammar/antlr4/SysMLv2ParserVisitor.py +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/grammar/antlr4/desc.xml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/grammar/antlr4/examples/camera.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/grammar/antlr4/examples/toaster-system.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/grammar/antlr4/examples/vehicle-model.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/grammar/antlr4/pom.xml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/grammar/classes.py +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/LICENSE +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/README.md +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/__init__.py +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/domain/Analysis/AnalysisTooling.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/domain/Analysis/SampledFunctions.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/domain/Analysis/StateSpaceRepresentation.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/domain/Analysis/TradeStudies.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/domain/Cause and Effect/CausationConnections.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/domain/Cause and Effect/CauseAndEffect.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/domain/Geometry/ShapeItems.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/domain/Geometry/SpatialItems.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/domain/Metadata/ImageMetadata.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/domain/Metadata/ModelingMetadata.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/domain/Metadata/ParametersOfInterestMetadata.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/domain/Metadata/RiskMetadata.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/domain/Quantities and Units/ISQ.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/domain/Quantities and Units/ISQAcoustics.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/domain/Quantities and Units/ISQAtomicNuclear.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/domain/Quantities and Units/ISQBase.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/domain/Quantities and Units/ISQCharacteristicNumbers.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/domain/Quantities and Units/ISQChemistryMolecular.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/domain/Quantities and Units/ISQCondensedMatter.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/domain/Quantities and Units/ISQElectromagnetism.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/domain/Quantities and Units/ISQInformation.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/domain/Quantities and Units/ISQLight.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/domain/Quantities and Units/ISQMechanics.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/domain/Quantities and Units/ISQSpaceTime.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/domain/Quantities and Units/ISQThermodynamics.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/domain/Quantities and Units/MeasurementRefCalculations.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/domain/Quantities and Units/MeasurementReferences.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/domain/Quantities and Units/Quantities.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/domain/Quantities and Units/QuantityCalculations.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/domain/Quantities and Units/SI.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/domain/Quantities and Units/SIPrefixes.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/domain/Quantities and Units/TensorCalculations.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/domain/Quantities and Units/Time.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/domain/Quantities and Units/USCustomaryUnits.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/domain/Quantities and Units/VectorCalculations.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/domain/Requirement Derivation/DerivationConnections.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/domain/Requirement Derivation/RequirementDerivation.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/kernel/Base.kerml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/kernel/BaseFunctions.kerml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/kernel/BooleanFunctions.kerml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/kernel/Clocks.kerml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/kernel/CollectionFunctions.kerml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/kernel/Collections.kerml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/kernel/ComplexFunctions.kerml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/kernel/ControlFunctions.kerml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/kernel/ControlPerformances.kerml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/kernel/DataFunctions.kerml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/kernel/FeatureReferencingPerformances.kerml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/kernel/IntegerFunctions.kerml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/kernel/KerML.kerml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/kernel/Links.kerml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/kernel/Metaobjects.kerml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/kernel/NaturalFunctions.kerml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/kernel/NumericalFunctions.kerml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/kernel/Objects.kerml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/kernel/Observation.kerml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/kernel/OccurrenceFunctions.kerml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/kernel/Occurrences.kerml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/kernel/Performances.kerml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/kernel/RationalFunctions.kerml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/kernel/RealFunctions.kerml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/kernel/ScalarFunctions.kerml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/kernel/ScalarValues.kerml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/kernel/SequenceFunctions.kerml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/kernel/SpatialFrames.kerml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/kernel/StatePerformances.kerml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/kernel/StringFunctions.kerml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/kernel/Transfers.kerml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/kernel/TransitionPerformances.kerml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/kernel/TrigFunctions.kerml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/kernel/Triggers.kerml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/kernel/VectorFunctions.kerml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/kernel/VectorValues.kerml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/systems/Actions.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/systems/Allocations.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/systems/AnalysisCases.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/systems/Attributes.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/systems/Calculations.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/systems/Cases.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/systems/Connections.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/systems/Constraints.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/systems/Flows.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/systems/Interfaces.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/systems/Items.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/systems/Metadata.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/systems/Parts.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/systems/Ports.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/systems/Requirements.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/systems/StandardViewDefinitions.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/systems/States.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/systems/SysML.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/systems/UseCases.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/systems/VerificationCases.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/library/systems/Views.sysml +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/navigate.py +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/project.py +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/store.py +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/us_customary_units.txt +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/usage.py +0 -0
- {sysmlpy-0.34.0 → sysmlpy-0.34.1}/src/sysmlpy/validator.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: sysmlpy
|
|
3
|
-
Version: 0.34.
|
|
3
|
+
Version: 0.34.1
|
|
4
4
|
Summary:
|
|
5
5
|
License-File: LICENSE
|
|
6
6
|
Author: Jon R. Fox (mycr0ft)
|
|
@@ -49,7 +49,7 @@ The project had diverged so much from sysml2py that a new name, sysmlpy, was sel
|
|
|
49
49
|
|
|
50
50
|
**v0.32.1:** Fixed critical round-trip data loss bug — `Usage.load_from_grammar()` in `usage.py` silently dropped definition-type children (`part def`, `item def`, etc.) when mixed with usage-type children in the same body, due to an incorrect `hasattr(child, 'body')` guard. Nested structures with mixed definition/usage children now survive parse → dump → parse round-trip correctly.
|
|
51
51
|
|
|
52
|
-
**v0.28.0:** Complete Gap 4 coverage —
|
|
52
|
+
**v0.28.0:** Complete Gap 4 coverage — SysML v2 view types now implemented (144 PlantUML tests).
|
|
53
53
|
|
|
54
54
|
**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.
|
|
55
55
|
|
|
@@ -605,42 +605,10 @@ from sysmlpy.plantuml import as_package_view
|
|
|
605
605
|
print(as_package_view(model, style="bw"))
|
|
606
606
|
```
|
|
607
607
|
|
|
608
|
-
#### Package Diagram View — `as_package_diagram_view()`
|
|
609
|
-
Folder-style package hierarchy with elements nested inside their containing packages. Shows containment structure clearly with color-coded element types.
|
|
610
|
-
|
|
611
|
-
```python
|
|
612
|
-
from sysmlpy.plantuml import as_package_diagram_view
|
|
613
|
-
print(as_package_diagram_view(model, style="bw"))
|
|
614
|
-
```
|
|
615
|
-
|
|
616
|
-
#### Block Definition Diagram (BDD) — `as_block_definition_view()`
|
|
617
|
-
Corresponds to SysML v2 Block Definition Diagrams. Shows block definitions with compartments for attributes, ports, and part references. Displays generalization relationships.
|
|
618
|
-
|
|
619
|
-
```python
|
|
620
|
-
from sysmlpy.plantuml import as_block_definition_view
|
|
621
|
-
print(as_block_definition_view(model, style="bw"))
|
|
622
|
-
```
|
|
623
|
-
|
|
624
|
-
#### Internal Block Diagram (IBD) — `as_internal_block_diagram()`
|
|
625
|
-
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.
|
|
626
|
-
|
|
627
|
-
```python
|
|
628
|
-
from sysmlpy.plantuml import as_internal_block_diagram
|
|
629
|
-
print(as_internal_block_diagram(model, style="bw"))
|
|
630
|
-
```
|
|
631
|
-
|
|
632
|
-
#### Parametric Diagram — `as_parametric_view()`
|
|
633
|
-
Shows constraint definitions with parameter compartments (including types like `Real`). Supports constraint usages and parameter bindings.
|
|
634
|
-
|
|
635
|
-
```python
|
|
636
|
-
from sysmlpy.plantuml import as_parametric_view
|
|
637
|
-
print(as_parametric_view(model, style="bw"))
|
|
638
|
-
```
|
|
639
|
-
|
|
640
608
|
#### Action Flow View (AFV) — `as_action_flow_view()`
|
|
641
609
|
Corresponds to SysML v2 ``ActionFlowView`` (short name ``afv``). Shows actions with their control and object flows. Auto-includes connected flow elements.
|
|
642
610
|
|
|
643
|
-

|
|
644
612
|
|
|
645
613
|
```python
|
|
646
614
|
from sysmlpy.plantuml import as_action_flow_view
|
|
@@ -660,7 +628,7 @@ print(as_interconnection_view(model, style="bw"))
|
|
|
660
628
|
#### State Transition View (STV) — `as_state_transition_view()`
|
|
661
629
|
Corresponds to SysML v2 ``StateTransitionView`` (short name ``stv``). State machine diagram with hierarchical states and transitions. Auto-includes connected transition elements.
|
|
662
630
|
|
|
663
|
-

|
|
664
632
|
|
|
665
633
|
```python
|
|
666
634
|
from sysmlpy.plantuml import as_state_transition_view
|
|
@@ -670,7 +638,7 @@ print(as_state_transition_view(model, style="bw"))
|
|
|
670
638
|
#### Tree Diagram — `as_tree_diagram()`
|
|
671
639
|
Hierarchical containment tree using nested PlantUML containers. Shows ownership hierarchy with sharp corners for definitions and rounded corners for usages.
|
|
672
640
|
|
|
673
|
-

|
|
674
642
|
|
|
675
643
|
```python
|
|
676
644
|
from sysmlpy.plantuml import as_tree_diagram
|
|
@@ -680,7 +648,7 @@ print(as_tree_diagram(model, style="bw"))
|
|
|
680
648
|
#### Element Table — `as_element_table()`
|
|
681
649
|
A simple tabular listing with columns Name, Type, Kind, and Parent.
|
|
682
650
|
|
|
683
|
-

|
|
684
652
|
|
|
685
653
|
```python
|
|
686
654
|
from sysmlpy.plantuml import as_element_table
|
|
@@ -690,7 +658,7 @@ print(as_element_table(model, style="bw"))
|
|
|
690
658
|
#### Textual Notation — `as_textual_notation()`
|
|
691
659
|
Indented text representation inside a PlantUML note, similar to the SysML v2 textual concrete syntax.
|
|
692
660
|
|
|
693
|
-

|
|
694
662
|
|
|
695
663
|
```python
|
|
696
664
|
from sysmlpy.plantuml import as_textual_notation
|
|
@@ -712,7 +680,7 @@ Per the SysML v2 standard, ``GridView`` (short name ``grv``) presents exposed mo
|
|
|
712
680
|
#### Tabular View — `as_tabular_view()`
|
|
713
681
|
Extensible table with configurable columns. Default columns: Name, Type, Kind, Parent, Typed By, Specializes.
|
|
714
682
|
|
|
715
|
-
See [`
|
|
683
|
+
See [`15-tabular-view.md`](docs/plantuml-examples/15-tabular-view.md) for example output.
|
|
716
684
|
|
|
717
685
|
```python
|
|
718
686
|
from sysmlpy.plantuml import as_tabular_view
|
|
@@ -734,7 +702,7 @@ print(as_tabular_view(model, output_format="markdown"))
|
|
|
734
702
|
#### Data Value Tabular View — `as_data_value_tabular_view()`
|
|
735
703
|
Attribute-specific version showing Element, Attribute, Value, Unit, and Type columns. Uses `Attribute.get_value()` for pint.Quantity extraction.
|
|
736
704
|
|
|
737
|
-
See [`
|
|
705
|
+
See [`16-data-value-view.md`](docs/plantuml-examples/16-data-value-view.md) for example output.
|
|
738
706
|
|
|
739
707
|
```python
|
|
740
708
|
from sysmlpy.plantuml import as_data_value_tabular_view
|
|
@@ -749,7 +717,7 @@ Pairwise element×element matrix showing relationship types:
|
|
|
749
717
|
- **G** = Specialization (generalization)
|
|
750
718
|
- **B** = Binding, **F** = Flow, **R** = Redefinition, etc.
|
|
751
719
|
|
|
752
|
-
See [`
|
|
720
|
+
See [`17-relationship-matrix.md`](docs/plantuml-examples/17-relationship-matrix.md) for example output.
|
|
753
721
|
|
|
754
722
|
```python
|
|
755
723
|
from sysmlpy.plantuml import as_relationship_matrix_view
|
|
@@ -773,7 +741,7 @@ from sysmlpy.plantuml import as_tabular_view
|
|
|
773
741
|
print(as_tabular_view(model, output_format="html", style="color"))
|
|
774
742
|
```
|
|
775
743
|
|
|
776
|
-
See [`
|
|
744
|
+
See [`18-tabular-view-color.html`](docs/plantuml-examples/18-tabular-view-color.html) for example output.
|
|
777
745
|
|
|
778
746
|
### Complete Example Gallery
|
|
779
747
|
|
|
@@ -785,23 +753,18 @@ See [`docs/plantuml-examples/`](docs/plantuml-examples/) for all rendered exampl
|
|
|
785
753
|
| 2 | Relationship Arrows | Graphical |
|
|
786
754
|
| 3 | Vehicle Structure | Graphical (BW) |
|
|
787
755
|
| 4 | Black-and-White Style | Graphical (BW) |
|
|
788
|
-
| 5 |
|
|
789
|
-
| 6 |
|
|
790
|
-
| 7 |
|
|
791
|
-
| 8 |
|
|
792
|
-
| 9 |
|
|
793
|
-
| 10 |
|
|
794
|
-
| 11 |
|
|
795
|
-
| 12 |
|
|
796
|
-
| 13 |
|
|
797
|
-
| 14 |
|
|
798
|
-
| 15 |
|
|
799
|
-
| 16 |
|
|
800
|
-
| 17 | Textual Notation | Textual Notation |
|
|
801
|
-
| 18 | Tabular View (GridView) | Tabular View |
|
|
802
|
-
| 19 | Data Value Tabular View (GridView) | Data Value View |
|
|
803
|
-
| 20 | Relationship Matrix (GridView) | Relationship Matrix |
|
|
804
|
-
| 21 | Tabular View — Color | Tabular View (color) |
|
|
756
|
+
| 5 | Interconnection | Interconnection View |
|
|
757
|
+
| 6 | General View (GV) | General View |
|
|
758
|
+
| 7 | Package View | Package View |
|
|
759
|
+
| 8 | Action Flow View (AFV) | Action Flow View |
|
|
760
|
+
| 9 | State Transition View (STV) | State Transition View |
|
|
761
|
+
| 10 | Tree Diagram | Tree Diagram |
|
|
762
|
+
| 11 | Element Table | Element Table |
|
|
763
|
+
| 12 | Textual Notation | Textual Notation |
|
|
764
|
+
| 13 | Tabular View (GridView) | Tabular View |
|
|
765
|
+
| 14 | Data Value Tabular View (GridView) | Data Value View |
|
|
766
|
+
| 15 | Relationship Matrix (GridView) | Relationship Matrix |
|
|
767
|
+
| 16 | Tabular View — Color | Tabular View (color) |
|
|
805
768
|
|
|
806
769
|
## Changelog
|
|
807
770
|
|
|
@@ -24,7 +24,7 @@ The project had diverged so much from sysml2py that a new name, sysmlpy, was sel
|
|
|
24
24
|
|
|
25
25
|
**v0.32.1:** Fixed critical round-trip data loss bug — `Usage.load_from_grammar()` in `usage.py` silently dropped definition-type children (`part def`, `item def`, etc.) when mixed with usage-type children in the same body, due to an incorrect `hasattr(child, 'body')` guard. Nested structures with mixed definition/usage children now survive parse → dump → parse round-trip correctly.
|
|
26
26
|
|
|
27
|
-
**v0.28.0:** Complete Gap 4 coverage —
|
|
27
|
+
**v0.28.0:** Complete Gap 4 coverage — SysML v2 view types now implemented (144 PlantUML tests).
|
|
28
28
|
|
|
29
29
|
**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.
|
|
30
30
|
|
|
@@ -580,42 +580,10 @@ from sysmlpy.plantuml import as_package_view
|
|
|
580
580
|
print(as_package_view(model, style="bw"))
|
|
581
581
|
```
|
|
582
582
|
|
|
583
|
-
#### Package Diagram View — `as_package_diagram_view()`
|
|
584
|
-
Folder-style package hierarchy with elements nested inside their containing packages. Shows containment structure clearly with color-coded element types.
|
|
585
|
-
|
|
586
|
-
```python
|
|
587
|
-
from sysmlpy.plantuml import as_package_diagram_view
|
|
588
|
-
print(as_package_diagram_view(model, style="bw"))
|
|
589
|
-
```
|
|
590
|
-
|
|
591
|
-
#### Block Definition Diagram (BDD) — `as_block_definition_view()`
|
|
592
|
-
Corresponds to SysML v2 Block Definition Diagrams. Shows block definitions with compartments for attributes, ports, and part references. Displays generalization relationships.
|
|
593
|
-
|
|
594
|
-
```python
|
|
595
|
-
from sysmlpy.plantuml import as_block_definition_view
|
|
596
|
-
print(as_block_definition_view(model, style="bw"))
|
|
597
|
-
```
|
|
598
|
-
|
|
599
|
-
#### Internal Block Diagram (IBD) — `as_internal_block_diagram()`
|
|
600
|
-
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.
|
|
601
|
-
|
|
602
|
-
```python
|
|
603
|
-
from sysmlpy.plantuml import as_internal_block_diagram
|
|
604
|
-
print(as_internal_block_diagram(model, style="bw"))
|
|
605
|
-
```
|
|
606
|
-
|
|
607
|
-
#### Parametric Diagram — `as_parametric_view()`
|
|
608
|
-
Shows constraint definitions with parameter compartments (including types like `Real`). Supports constraint usages and parameter bindings.
|
|
609
|
-
|
|
610
|
-
```python
|
|
611
|
-
from sysmlpy.plantuml import as_parametric_view
|
|
612
|
-
print(as_parametric_view(model, style="bw"))
|
|
613
|
-
```
|
|
614
|
-
|
|
615
583
|
#### Action Flow View (AFV) — `as_action_flow_view()`
|
|
616
584
|
Corresponds to SysML v2 ``ActionFlowView`` (short name ``afv``). Shows actions with their control and object flows. Auto-includes connected flow elements.
|
|
617
585
|
|
|
618
|
-

|
|
619
587
|
|
|
620
588
|
```python
|
|
621
589
|
from sysmlpy.plantuml import as_action_flow_view
|
|
@@ -635,7 +603,7 @@ print(as_interconnection_view(model, style="bw"))
|
|
|
635
603
|
#### State Transition View (STV) — `as_state_transition_view()`
|
|
636
604
|
Corresponds to SysML v2 ``StateTransitionView`` (short name ``stv``). State machine diagram with hierarchical states and transitions. Auto-includes connected transition elements.
|
|
637
605
|
|
|
638
|
-

|
|
639
607
|
|
|
640
608
|
```python
|
|
641
609
|
from sysmlpy.plantuml import as_state_transition_view
|
|
@@ -645,7 +613,7 @@ print(as_state_transition_view(model, style="bw"))
|
|
|
645
613
|
#### Tree Diagram — `as_tree_diagram()`
|
|
646
614
|
Hierarchical containment tree using nested PlantUML containers. Shows ownership hierarchy with sharp corners for definitions and rounded corners for usages.
|
|
647
615
|
|
|
648
|
-

|
|
649
617
|
|
|
650
618
|
```python
|
|
651
619
|
from sysmlpy.plantuml import as_tree_diagram
|
|
@@ -655,7 +623,7 @@ print(as_tree_diagram(model, style="bw"))
|
|
|
655
623
|
#### Element Table — `as_element_table()`
|
|
656
624
|
A simple tabular listing with columns Name, Type, Kind, and Parent.
|
|
657
625
|
|
|
658
|
-

|
|
659
627
|
|
|
660
628
|
```python
|
|
661
629
|
from sysmlpy.plantuml import as_element_table
|
|
@@ -665,7 +633,7 @@ print(as_element_table(model, style="bw"))
|
|
|
665
633
|
#### Textual Notation — `as_textual_notation()`
|
|
666
634
|
Indented text representation inside a PlantUML note, similar to the SysML v2 textual concrete syntax.
|
|
667
635
|
|
|
668
|
-

|
|
669
637
|
|
|
670
638
|
```python
|
|
671
639
|
from sysmlpy.plantuml import as_textual_notation
|
|
@@ -687,7 +655,7 @@ Per the SysML v2 standard, ``GridView`` (short name ``grv``) presents exposed mo
|
|
|
687
655
|
#### Tabular View — `as_tabular_view()`
|
|
688
656
|
Extensible table with configurable columns. Default columns: Name, Type, Kind, Parent, Typed By, Specializes.
|
|
689
657
|
|
|
690
|
-
See [`
|
|
658
|
+
See [`15-tabular-view.md`](docs/plantuml-examples/15-tabular-view.md) for example output.
|
|
691
659
|
|
|
692
660
|
```python
|
|
693
661
|
from sysmlpy.plantuml import as_tabular_view
|
|
@@ -709,7 +677,7 @@ print(as_tabular_view(model, output_format="markdown"))
|
|
|
709
677
|
#### Data Value Tabular View — `as_data_value_tabular_view()`
|
|
710
678
|
Attribute-specific version showing Element, Attribute, Value, Unit, and Type columns. Uses `Attribute.get_value()` for pint.Quantity extraction.
|
|
711
679
|
|
|
712
|
-
See [`
|
|
680
|
+
See [`16-data-value-view.md`](docs/plantuml-examples/16-data-value-view.md) for example output.
|
|
713
681
|
|
|
714
682
|
```python
|
|
715
683
|
from sysmlpy.plantuml import as_data_value_tabular_view
|
|
@@ -724,7 +692,7 @@ Pairwise element×element matrix showing relationship types:
|
|
|
724
692
|
- **G** = Specialization (generalization)
|
|
725
693
|
- **B** = Binding, **F** = Flow, **R** = Redefinition, etc.
|
|
726
694
|
|
|
727
|
-
See [`
|
|
695
|
+
See [`17-relationship-matrix.md`](docs/plantuml-examples/17-relationship-matrix.md) for example output.
|
|
728
696
|
|
|
729
697
|
```python
|
|
730
698
|
from sysmlpy.plantuml import as_relationship_matrix_view
|
|
@@ -748,7 +716,7 @@ from sysmlpy.plantuml import as_tabular_view
|
|
|
748
716
|
print(as_tabular_view(model, output_format="html", style="color"))
|
|
749
717
|
```
|
|
750
718
|
|
|
751
|
-
See [`
|
|
719
|
+
See [`18-tabular-view-color.html`](docs/plantuml-examples/18-tabular-view-color.html) for example output.
|
|
752
720
|
|
|
753
721
|
### Complete Example Gallery
|
|
754
722
|
|
|
@@ -760,23 +728,18 @@ See [`docs/plantuml-examples/`](docs/plantuml-examples/) for all rendered exampl
|
|
|
760
728
|
| 2 | Relationship Arrows | Graphical |
|
|
761
729
|
| 3 | Vehicle Structure | Graphical (BW) |
|
|
762
730
|
| 4 | Black-and-White Style | Graphical (BW) |
|
|
763
|
-
| 5 |
|
|
764
|
-
| 6 |
|
|
765
|
-
| 7 |
|
|
766
|
-
| 8 |
|
|
767
|
-
| 9 |
|
|
768
|
-
| 10 |
|
|
769
|
-
| 11 |
|
|
770
|
-
| 12 |
|
|
771
|
-
| 13 |
|
|
772
|
-
| 14 |
|
|
773
|
-
| 15 |
|
|
774
|
-
| 16 |
|
|
775
|
-
| 17 | Textual Notation | Textual Notation |
|
|
776
|
-
| 18 | Tabular View (GridView) | Tabular View |
|
|
777
|
-
| 19 | Data Value Tabular View (GridView) | Data Value View |
|
|
778
|
-
| 20 | Relationship Matrix (GridView) | Relationship Matrix |
|
|
779
|
-
| 21 | Tabular View — Color | Tabular View (color) |
|
|
731
|
+
| 5 | Interconnection | Interconnection View |
|
|
732
|
+
| 6 | General View (GV) | General View |
|
|
733
|
+
| 7 | Package View | Package View |
|
|
734
|
+
| 8 | Action Flow View (AFV) | Action Flow View |
|
|
735
|
+
| 9 | State Transition View (STV) | State Transition View |
|
|
736
|
+
| 10 | Tree Diagram | Tree Diagram |
|
|
737
|
+
| 11 | Element Table | Element Table |
|
|
738
|
+
| 12 | Textual Notation | Textual Notation |
|
|
739
|
+
| 13 | Tabular View (GridView) | Tabular View |
|
|
740
|
+
| 14 | Data Value Tabular View (GridView) | Data Value View |
|
|
741
|
+
| 15 | Relationship Matrix (GridView) | Relationship Matrix |
|
|
742
|
+
| 16 | Tabular View — Color | Tabular View (color) |
|
|
780
743
|
|
|
781
744
|
## Changelog
|
|
782
745
|
|