sysmlpy 0.66.0__tar.gz → 0.68.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.
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/PKG-INFO +1 -1
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/pyproject.toml +1 -1
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/__init__.py +8 -6
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/antlr_visitor.py +50 -1
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/boxes_view.py +676 -19
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/plantuml.py +212 -39
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/LICENSE +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/README.md +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/__main__.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/antlr/README.md +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/antlr/SysMLv2Lexer.interp +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/antlr/SysMLv2Lexer.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/antlr/SysMLv2Lexer.tokens +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/antlr/SysMLv2Parser.interp +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/antlr/SysMLv2Parser.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/antlr/SysMLv2Parser.tokens +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/antlr/SysMLv2ParserListener.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/antlr/SysMLv2ParserVisitor.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/antlr/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.interp +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/antlr/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/antlr/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.tokens +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/antlr_parser.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/definition.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/evaluator.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/examples/attribute_values.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/examples/part_attributes.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/examples/tuples_sequences.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/formatting.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/grammar/antlr4/README.md +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.g4 +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.interp +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.tokens +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/grammar/antlr4/SysMLv2Parser.g4 +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/grammar/antlr4/SysMLv2Parser.interp +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/grammar/antlr4/SysMLv2Parser.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/grammar/antlr4/SysMLv2Parser.tokens +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/grammar/antlr4/SysMLv2ParserListener.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/grammar/antlr4/SysMLv2ParserVisitor.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/grammar/antlr4/desc.xml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/grammar/antlr4/examples/camera.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/grammar/antlr4/examples/toaster-system.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/grammar/antlr4/examples/vehicle-model.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/grammar/antlr4/pom.xml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/grammar/classes.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/interchange.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/LICENSE +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/README.md +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/__init__.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/domain/Analysis/AnalysisTooling.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/domain/Analysis/SampledFunctions.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/domain/Analysis/StateSpaceRepresentation.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/domain/Analysis/TradeStudies.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/domain/Cause and Effect/CausationConnections.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/domain/Cause and Effect/CauseAndEffect.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/domain/Geometry/ShapeItems.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/domain/Geometry/SpatialItems.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/domain/Metadata/ImageMetadata.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/domain/Metadata/ModelingMetadata.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/domain/Metadata/ParametersOfInterestMetadata.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/domain/Metadata/RiskMetadata.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/domain/Quantities and Units/ISQ.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/domain/Quantities and Units/ISQAcoustics.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/domain/Quantities and Units/ISQAtomicNuclear.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/domain/Quantities and Units/ISQBase.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/domain/Quantities and Units/ISQCharacteristicNumbers.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/domain/Quantities and Units/ISQChemistryMolecular.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/domain/Quantities and Units/ISQCondensedMatter.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/domain/Quantities and Units/ISQElectromagnetism.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/domain/Quantities and Units/ISQInformation.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/domain/Quantities and Units/ISQLight.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/domain/Quantities and Units/ISQMechanics.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/domain/Quantities and Units/ISQSpaceTime.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/domain/Quantities and Units/ISQThermodynamics.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/domain/Quantities and Units/MeasurementRefCalculations.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/domain/Quantities and Units/MeasurementReferences.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/domain/Quantities and Units/Quantities.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/domain/Quantities and Units/QuantityCalculations.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/domain/Quantities and Units/SI.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/domain/Quantities and Units/SIPrefixes.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/domain/Quantities and Units/TensorCalculations.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/domain/Quantities and Units/Time.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/domain/Quantities and Units/USCustomaryUnits.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/domain/Quantities and Units/VectorCalculations.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/domain/Requirement Derivation/DerivationConnections.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/domain/Requirement Derivation/RequirementDerivation.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/kernel/Base.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/kernel/BaseFunctions.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/kernel/BooleanFunctions.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/kernel/Clocks.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/kernel/CollectionFunctions.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/kernel/Collections.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/kernel/ComplexFunctions.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/kernel/ControlFunctions.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/kernel/ControlPerformances.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/kernel/DataFunctions.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/kernel/FeatureReferencingPerformances.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/kernel/IntegerFunctions.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/kernel/KerML.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/kernel/Links.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/kernel/Metaobjects.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/kernel/NaturalFunctions.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/kernel/NumericalFunctions.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/kernel/Objects.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/kernel/Observation.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/kernel/OccurrenceFunctions.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/kernel/Occurrences.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/kernel/Performances.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/kernel/RationalFunctions.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/kernel/RealFunctions.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/kernel/ScalarFunctions.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/kernel/ScalarValues.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/kernel/SequenceFunctions.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/kernel/SpatialFrames.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/kernel/StatePerformances.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/kernel/StringFunctions.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/kernel/Transfers.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/kernel/TransitionPerformances.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/kernel/TrigFunctions.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/kernel/Triggers.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/kernel/VectorFunctions.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/kernel/VectorValues.kerml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/systems/Actions.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/systems/Allocations.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/systems/AnalysisCases.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/systems/Attributes.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/systems/Calculations.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/systems/Cases.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/systems/Connections.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/systems/Constraints.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/systems/Flows.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/systems/Interfaces.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/systems/Items.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/systems/Metadata.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/systems/Parts.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/systems/Ports.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/systems/Requirements.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/systems/StandardViewDefinitions.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/systems/States.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/systems/SysML.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/systems/UseCases.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/systems/VerificationCases.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/library/systems/Views.sysml +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/lsp/__init__.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/lsp/__main__.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/lsp/protocol.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/lsp/server.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/lsp/stdio.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/navigate.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/project.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/semantic.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/spreadsheet.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/store.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/traceability.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/us_customary_units.txt +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/usage.py +0 -0
- {sysmlpy-0.66.0 → sysmlpy-0.68.0}/src/sysmlpy/validator.py +0 -0
|
@@ -28,12 +28,13 @@ __all__ = [
|
|
|
28
28
|
"analyze", "AnalysisResult", "SemanticIssue", "SemanticAnalyzer",
|
|
29
29
|
"SysMLSyntaxError", "PartialParseError",
|
|
30
30
|
"loads_partial", "load_partial",
|
|
31
|
-
#
|
|
31
|
+
# diagramboxes-backed optional renderers (the sibling package formerly
|
|
32
|
+
# named `boxes` — renamed in its v0.3.0; install with pip install -e ../boxes)
|
|
32
33
|
"as_state_transition_view_boxes", "render_state_transition_view",
|
|
33
34
|
"render_state_transition_view_svg", "boxes_view",
|
|
34
35
|
]
|
|
35
36
|
__author__ = "Jon Fox"
|
|
36
|
-
__version__ = "0.
|
|
37
|
+
__version__ = "0.68.0"
|
|
37
38
|
|
|
38
39
|
from sysmlpy.usage import (
|
|
39
40
|
Item, Attribute, Part, Port, Action, Reference, UseCase, Requirement, Interface, Message,
|
|
@@ -413,10 +414,11 @@ from sysmlpy.semantic import analyze, AnalysisResult, SemanticIssue, SemanticAna
|
|
|
413
414
|
|
|
414
415
|
from sysmlpy.project import load_files, load_project, load_with_dependencies
|
|
415
416
|
|
|
416
|
-
# Optional
|
|
417
|
-
# `import sysmlpy` works without `
|
|
418
|
-
# the functions below triggers `import sysmlpy.boxes_view`,
|
|
419
|
-
# raises ImportError with installation instructions if
|
|
417
|
+
# Optional diagramboxes-backed state-machine renderer (lazy import on first
|
|
418
|
+
# use so `import sysmlpy` works without `diagramboxes` installed). The first
|
|
419
|
+
# call to any of the functions below triggers `import sysmlpy.boxes_view`,
|
|
420
|
+
# which itself raises ImportError with installation instructions if the
|
|
421
|
+
# `diagramboxes` package is missing.
|
|
420
422
|
def __getattr__(name):
|
|
421
423
|
if name == "boxes_view":
|
|
422
424
|
import sysmlpy.boxes_view as bv
|
|
@@ -6550,6 +6550,55 @@ def _make_requirement_usage_dict(ctx, prefix=None):
|
|
|
6550
6550
|
def _make_connection_usage_dict(ctx, prefix=None):
|
|
6551
6551
|
"""Create a ConnectionUsage dictionary."""
|
|
6552
6552
|
name, shortname = _get_usage_identification(ctx)
|
|
6553
|
+
|
|
6554
|
+
# Parse the connector part (``connect X to Y``) so endpoints survive
|
|
6555
|
+
# into the grammar object tree (v0.67.0 — fixes the "part": None stub)
|
|
6556
|
+
# connectionUsage: occurrenceUsagePrefix ( CONNECTION usageDeclaration?
|
|
6557
|
+
# valuePart? ( CONNECT connectorPart )? | CONNECT connectorPart ) usageBody
|
|
6558
|
+
# — the connectorPart sits directly on the connectionUsage ctx.
|
|
6559
|
+
conn_part_dict = None
|
|
6560
|
+
if ctx is not None:
|
|
6561
|
+
cp = None
|
|
6562
|
+
if hasattr(ctx, 'connectorPart') and ctx.connectorPart():
|
|
6563
|
+
cp = ctx.connectorPart()
|
|
6564
|
+
if isinstance(cp, list):
|
|
6565
|
+
cp = cp[0] if cp else None
|
|
6566
|
+
if cp:
|
|
6567
|
+
end_members = []
|
|
6568
|
+
if hasattr(cp, 'binaryConnectorPart') and cp.binaryConnectorPart():
|
|
6569
|
+
bcp = cp.binaryConnectorPart()
|
|
6570
|
+
if isinstance(bcp, list):
|
|
6571
|
+
bcp = bcp[0] if bcp else None
|
|
6572
|
+
if bcp and hasattr(bcp, 'connectorEndMember') and bcp.connectorEndMember():
|
|
6573
|
+
ems = bcp.connectorEndMember()
|
|
6574
|
+
if isinstance(ems, list):
|
|
6575
|
+
for em in ems:
|
|
6576
|
+
end = _visit_connector_end_member(em)
|
|
6577
|
+
if end:
|
|
6578
|
+
end_members.append(end)
|
|
6579
|
+
elif hasattr(cp, 'naryConnectorPart') and cp.naryConnectorPart():
|
|
6580
|
+
ncp = cp.naryConnectorPart()
|
|
6581
|
+
if isinstance(ncp, list):
|
|
6582
|
+
ncp = ncp[0] if ncp else None
|
|
6583
|
+
if ncp and hasattr(ncp, 'connectorEndMember') and ncp.connectorEndMember():
|
|
6584
|
+
ems = ncp.connectorEndMember()
|
|
6585
|
+
if isinstance(ems, list):
|
|
6586
|
+
for em in ems:
|
|
6587
|
+
end = _visit_connector_end_member(em)
|
|
6588
|
+
if end:
|
|
6589
|
+
end_members.append(end)
|
|
6590
|
+
if end_members:
|
|
6591
|
+
conn_part_dict = {
|
|
6592
|
+
"name": "ConnectorPart",
|
|
6593
|
+
"part": {
|
|
6594
|
+
"name": "BinaryConnectorPart",
|
|
6595
|
+
"ownedRelationship": end_members,
|
|
6596
|
+
},
|
|
6597
|
+
}
|
|
6598
|
+
else:
|
|
6599
|
+
conn_part_dict = None
|
|
6600
|
+
else:
|
|
6601
|
+
conn_part_dict = None
|
|
6553
6602
|
|
|
6554
6603
|
return {
|
|
6555
6604
|
"name": "PackageMember",
|
|
@@ -6575,7 +6624,7 @@ def _make_connection_usage_dict(ctx, prefix=None):
|
|
|
6575
6624
|
"specialization": None
|
|
6576
6625
|
}
|
|
6577
6626
|
},
|
|
6578
|
-
"part":
|
|
6627
|
+
"part": conn_part_dict,
|
|
6579
6628
|
"body": {
|
|
6580
6629
|
"name": "UsageBody",
|
|
6581
6630
|
"body": {
|