SimpleSchemaGenerator 0.12.6__tar.gz → 0.12.7__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 (176) hide show
  1. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/.github/workflows/CICD.yml +2 -2
  2. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/PKG-INFO +2 -5
  3. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/pyproject.toml +19 -4
  4. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Common/Error.py +9 -10
  5. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Common/Location.py +9 -9
  6. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Common/Region.py +9 -9
  7. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/EntryPoint.py +4 -4
  8. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Errors.py +3 -3
  9. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Elements/Common/Cardinality.py +19 -20
  10. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Elements/Common/Element.py +6 -5
  11. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Elements/Common/Metadata.py +8 -8
  12. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Elements/Common/UniqueNameTrait.py +4 -5
  13. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Elements/Common/Visibility.py +2 -2
  14. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Elements/Expressions/Expression.py +3 -3
  15. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Elements/Expressions/ListExpression.py +3 -3
  16. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Elements/Expressions/TupleExpression.py +7 -7
  17. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Elements/Statements/ExtensionStatement.py +10 -10
  18. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Elements/Statements/ItemStatement.py +8 -8
  19. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Elements/Statements/RootStatement.py +4 -4
  20. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Elements/Statements/Statement.py +1 -1
  21. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Elements/Statements/StructureStatement.py +8 -8
  22. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Elements/Types/Impl/CreateTypeFromPythonAnnotation.py +34 -23
  23. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Elements/Types/Impl/TypeImpl.py +7 -8
  24. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Elements/Types/Type.py +53 -49
  25. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Elements/Types/TypeDefinitions/BooleanTypeDefinition.py +4 -4
  26. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Elements/Types/TypeDefinitions/DateTimeTypeDefinition.py +3 -3
  27. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Elements/Types/TypeDefinitions/DateTypeDefinition.py +3 -3
  28. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Elements/Types/TypeDefinitions/DirectoryTypeDefinition.py +5 -5
  29. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Elements/Types/TypeDefinitions/DurationTypeDefinition.py +3 -3
  30. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Elements/Types/TypeDefinitions/EnumTypeDefinition.py +44 -37
  31. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Elements/Types/TypeDefinitions/FilenameTypeDefinition.py +7 -7
  32. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Elements/Types/TypeDefinitions/GuidTypeDefinition.py +3 -3
  33. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Elements/Types/TypeDefinitions/IntegerTypeDefinition.py +9 -9
  34. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Elements/Types/TypeDefinitions/NumberTypeDefinition.py +9 -9
  35. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Elements/Types/TypeDefinitions/StringTypeDefinition.py +10 -9
  36. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Elements/Types/TypeDefinitions/StructureTypeDefinition.py +10 -10
  37. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Elements/Types/TypeDefinitions/TimeTypeDefinition.py +3 -3
  38. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Elements/Types/TypeDefinitions/TupleTypeDefinition.py +11 -11
  39. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Elements/Types/TypeDefinitions/TypeDefinition.py +35 -34
  40. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Elements/Types/TypeDefinitions/UriTypeDefinition.py +14 -16
  41. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Elements/Types/TypeDefinitions/VariantTypeDefinition.py +30 -30
  42. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/Grammar/Elements/Common/ParseIdentifier.py +11 -12
  43. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/Grammar/Elements/Statements/ParseIncludeStatement.py +20 -20
  44. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/Grammar/Elements/Statements/ParseItemStatement.py +6 -6
  45. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/Grammar/Elements/Statements/ParseStructureStatement.py +16 -14
  46. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/Grammar/Elements/Types/ParseIdentifierType.py +11 -11
  47. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/Grammar/Elements/Types/ParseTupleType.py +6 -6
  48. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/Grammar/Elements/Types/ParseType.py +13 -12
  49. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/Grammar/Elements/Types/ParseVariantType.py +9 -11
  50. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/Parse.py +150 -149
  51. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Visitors/ElementVisitor.py +14 -16
  52. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/__init__.py +1 -1
  53. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Common/Error_UnitTest.py +2 -2
  54. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Elements/Common/Cardinality_UnitTest.py +4 -4
  55. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Elements/Common/Metadata_UnitTest.py +2 -2
  56. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Elements/Expressions/TupleExpression_UnitTest.py +2 -2
  57. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Elements/Types/TypeDefinitions/EnumTypeDefinition_UnitTest.py +6 -6
  58. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Elements/Types/TypeDefinitions/TupleTypeDefinition_UnitTest.py +1 -1
  59. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Elements/Types/TypeDefinitions/TypeDefinition_UnitTest.py +19 -19
  60. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Elements/Types/TypeDefinitions/VariantTypeDefinition_UnitTest.py +2 -2
  61. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Elements/Types/Type_UnitTest.py +11 -12
  62. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Parse/ANTLR/Grammar/Elements/Common/ParseIdentifier_UnitTest.py +3 -3
  63. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Parse/ANTLR/Parse_UnitTest.py +8 -8
  64. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/TestHelpers.py +9 -9
  65. simpleschemagenerator-0.12.7/uv.lock +636 -0
  66. simpleschemagenerator-0.12.6/uv.lock +0 -785
  67. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/.copier-answers.yml +0 -0
  68. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/.github/CODEOWNERS +0 -0
  69. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  70. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  71. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/.github/ISSUE_TEMPLATE/custom.md +0 -0
  72. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  73. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/.github/actions/release_impl/action.yml +0 -0
  74. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/.github/pull_request_template.md +0 -0
  75. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/.github/release_sources.yaml +0 -0
  76. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/.github/workflows/CICD_impl.yml +0 -0
  77. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/.github/workflows/codeql.yml +0 -0
  78. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/.gitignore +0 -0
  79. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/.pre-commit-config.yaml +0 -0
  80. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/.python-version +0 -0
  81. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/CODE_OF_CONDUCT.md +0 -0
  82. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/CONTRIBUTING.md +0 -0
  83. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/DEVELOPMENT.md +0 -0
  84. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/GOVERNANCE.md +0 -0
  85. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/LICENSE +0 -0
  86. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/MAINTAINERS.md +0 -0
  87. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/README.md +0 -0
  88. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/SECURITY.md +0 -0
  89. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/minisign_key.pub +0 -0
  90. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/AutoGitSemVer.yaml +0 -0
  91. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Common/__init__.py +0 -0
  92. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/SampleSchemas/Cardinality.SimpleSchema +0 -0
  93. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/SampleSchemas/Empty.SimpleSchema +0 -0
  94. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/SampleSchemas/Expressions.SimpleSchema +0 -0
  95. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/SampleSchemas/Extensions.SimpleSchema +0 -0
  96. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/SampleSchemas/Import.SimpleSchema +0 -0
  97. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/SampleSchemas/Miscellaneous.SimpleSchema +0 -0
  98. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/SampleSchemas/Structures.SimpleSchema +0 -0
  99. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/SampleSchemas/Tabs.SimpleSchema +0 -0
  100. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/SampleSchemas/Tuples.SimpleSchema +0 -0
  101. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/SampleSchemas/Variants.SimpleSchema +0 -0
  102. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Elements/Common/TerminalElement.py +0 -0
  103. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Elements/Common/__init__.py +0 -0
  104. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Elements/Expressions/BooleanExpression.py +0 -0
  105. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Elements/Expressions/IntegerExpression.py +0 -0
  106. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Elements/Expressions/NoneExpression.py +0 -0
  107. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Elements/Expressions/NumberExpression.py +0 -0
  108. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Elements/Expressions/StringExpression.py +0 -0
  109. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Elements/Expressions/__init__.py +0 -0
  110. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Elements/Statements/__init__.py +0 -0
  111. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Elements/Types/Impl/__init__.py +0 -0
  112. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Elements/Types/TypeDefinitions/__init__.py +0 -0
  113. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Elements/Types/__init__.py +0 -0
  114. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Elements/__init__.py +0 -0
  115. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/GeneratedCode/SimpleSchema.interp +0 -0
  116. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/GeneratedCode/SimpleSchema.tokens +0 -0
  117. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/GeneratedCode/SimpleSchemaLexer.interp +0 -0
  118. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/GeneratedCode/SimpleSchemaLexer.py +0 -0
  119. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/GeneratedCode/SimpleSchemaLexer.tokens +0 -0
  120. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/GeneratedCode/SimpleSchemaParser.py +0 -0
  121. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/GeneratedCode/SimpleSchemaVisitor.py +0 -0
  122. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/GeneratedCode/__init__.py +0 -0
  123. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/Grammar/Elements/Common/__init__.py +0 -0
  124. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/Grammar/Elements/Statements/__init__.py +0 -0
  125. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/Grammar/Elements/Types/__init__.py +0 -0
  126. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/Grammar/Elements/__init__.py +0 -0
  127. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/Grammar/SimpleSchema.g4 +0 -0
  128. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/Grammar/__init__.py +0 -0
  129. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/Grammar/antlr-4.13.1-complete.jar +0 -0
  130. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/__init__.py +0 -0
  131. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Parse/__init__.py +0 -0
  132. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/Visitors/__init__.py +0 -0
  133. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/Schema/__init__.py +0 -0
  134. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/src/SimpleSchemaGenerator/py.typed +0 -0
  135. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Common/Location_UnitTest.py +0 -0
  136. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Common/Region_UnitTest.py +0 -0
  137. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/EntryPoint_UnitTest.py +0 -0
  138. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Errors_UnitTest.py +0 -0
  139. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Elements/Common/Element_UnitTest.py +0 -0
  140. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Elements/Common/TerminalElement_UnitTest.py +0 -0
  141. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Elements/Common/UniqueNameTrait_UnitTest.py +0 -0
  142. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Elements/Common/Visibility_UnitTest.py +0 -0
  143. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Elements/Expressions/BooleanExpression_UnitTest.py +0 -0
  144. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Elements/Expressions/Expression_UnitTest.py +0 -0
  145. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Elements/Expressions/IntegerExpression_UnitTest.py +0 -0
  146. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Elements/Expressions/ListExpression_UnitTest.py +0 -0
  147. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Elements/Expressions/NoneExpression_UnitTest.py +0 -0
  148. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Elements/Expressions/NumberExpression_UnitTest.py +0 -0
  149. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Elements/Expressions/StringExpression_UnitTest.py +0 -0
  150. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Elements/Statements/ExtensionStatement_UnitTest.py +0 -0
  151. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Elements/Statements/ItemStatement_UnitTest.py +0 -0
  152. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Elements/Statements/RootStatement_UnitTest.py +0 -0
  153. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Elements/Statements/Statement_UnitTest.py +0 -0
  154. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Elements/Statements/StructureStatement_UnitTest.py +0 -0
  155. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Elements/Types/TypeDefinitions/BooleanTypeDefinition_UnitTest.py +0 -0
  156. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Elements/Types/TypeDefinitions/DateTimeTypeDefinition_UnitTest.py +0 -0
  157. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Elements/Types/TypeDefinitions/DateTypeDefinition_UnitTest.py +0 -0
  158. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Elements/Types/TypeDefinitions/DirectoryTypeDefinition_UnitTest.py +0 -0
  159. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Elements/Types/TypeDefinitions/DurationTypeDefinition_UnitTest.py +0 -0
  160. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Elements/Types/TypeDefinitions/FilenameTypeDefinition_UnitTest.py +0 -0
  161. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Elements/Types/TypeDefinitions/GuidTypeDefinition_UnitTest.py +0 -0
  162. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Elements/Types/TypeDefinitions/IntegerTypeDefinition_UnitTest.py +0 -0
  163. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Elements/Types/TypeDefinitions/NumberTypeDefinition_UnitTest.py +0 -0
  164. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Elements/Types/TypeDefinitions/StringTypeDefinition_UnitTest.py +0 -0
  165. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Elements/Types/TypeDefinitions/StructureTypeDefinition_UnitTest.py +0 -0
  166. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Elements/Types/TypeDefinitions/TimeTypeDefinition_UnitTest.py +0 -0
  167. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Elements/Types/TypeDefinitions/UriTypeDefinition_UnitTest.py +0 -0
  168. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Parse/ANTLR/Grammar/Elements/Statements/ParseIncludeStatement_UnitTest.py +0 -0
  169. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Parse/ANTLR/Grammar/Elements/Statements/ParseItemStatement_UnitTest.py +0 -0
  170. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Parse/ANTLR/Grammar/Elements/Statements/ParseStructureStatement_UnitTest.py +0 -0
  171. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Parse/ANTLR/Grammar/Elements/Types/ParseIdentifierType_UnitTest.py +0 -0
  172. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Parse/ANTLR/Grammar/Elements/Types/ParseTupleType_UnitTest.py +0 -0
  173. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Parse/ANTLR/Grammar/Elements/Types/ParseType_UnitTest.py +0 -0
  174. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Parse/ANTLR/Grammar/Elements/Types/ParseVariantType_UnitTest.py +0 -0
  175. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Parse/ANTLR/__snapshots__/Parse_UnitTest.ambr +0 -0
  176. {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.7}/tests/Schema/Visitors/ElementVisitor_UnitTest.py +0 -0
@@ -26,8 +26,8 @@ jobs:
26
26
  with:
27
27
  # These values can be customized for your specific requirements.
28
28
  operating_system_json_string: "[ 'macos-latest', 'ubuntu-latest', 'windows-latest' ]"
29
- python_version_json_string: "['3.13', '3.12', '3.11', '3.10']"
30
- python_package_version: "3.10"
29
+ python_version_json_string: "['3.13']"
30
+ python_package_version: "3.13"
31
31
  coverage_badge_gist_id: "f15146b1b8fdc0a5d45ac0eb786a84f7"
32
32
  coverage_badge_gist_username: "davidbrownell"
33
33
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: SimpleSchemaGenerator
3
- Version: 0.12.6
3
+ Version: 0.12.7
4
4
  Summary: Add your description here
5
5
  Project-URL: Homepage, https://github.com/davidbrownell/SimpleSchemaGenerator
6
6
  Project-URL: Documentation, https://github.com/davidbrownell/SimpleSchemaGenerator
@@ -12,11 +12,8 @@ Classifier: Operating System :: MacOS
12
12
  Classifier: Operating System :: Microsoft :: Windows
13
13
  Classifier: Operating System :: POSIX :: Linux
14
14
  Classifier: Programming Language :: Python
15
- Classifier: Programming Language :: Python :: 3.10
16
- Classifier: Programming Language :: Python :: 3.11
17
- Classifier: Programming Language :: Python :: 3.12
18
15
  Classifier: Programming Language :: Python :: 3.13
19
- Requires-Python: >=3.10
16
+ Requires-Python: >=3.13
20
17
  Requires-Dist: antlr-denter>=1.3.1
21
18
  Requires-Dist: dbrownell-common>=0.14.6
22
19
  Requires-Dist: emoji>=2.14.1
@@ -5,7 +5,7 @@ readme = "README.md"
5
5
  authors = [
6
6
  { name = "David Brownell", email = "github@DavidBrownell.com" }
7
7
  ]
8
- requires-python = ">= 3.10"
8
+ requires-python = ">= 3.13"
9
9
  dependencies = [
10
10
  "antlr-denter>=1.3.1",
11
11
  "dbrownell-common>=0.14.6",
@@ -19,9 +19,6 @@ classifiers = [
19
19
  "Operating System :: POSIX :: Linux",
20
20
  "Programming Language :: Python",
21
21
  "Programming Language :: Python :: 3.13",
22
- "Programming Language :: Python :: 3.12",
23
- "Programming Language :: Python :: 3.11",
24
- "Programming Language :: Python :: 3.10",
25
22
  ]
26
23
 
27
24
  [project.license]
@@ -70,17 +67,35 @@ extend-exclude = ["src/SimpleSchemaGenerator/Schema/Parse/ANTLR/GeneratedCode"]
70
67
  [tool.ruff.lint]
71
68
  exclude = ["tests/**"]
72
69
 
70
+ select = ["ALL"]
71
+
73
72
  ignore = [
74
73
  "ANN002", # Missing type annotation for `*args`
75
74
  "ANN003", # Missing type annotation for `**kwargs`
76
75
  "BLE001", # Do not catch blind exception: `Exception`
77
76
  "COM812", # Trailing comma missing
77
+ "D100", # Missing docstring in public module
78
+ "D101", # Missing docstring in public class
79
+ "D102", # Missing docstring in public method
80
+ "D103", # Missing docstring in public function
81
+ "D104", # Missing docstring in public package
82
+ "D105", # Missing docstring in magic method
83
+ "D106", # Missing docstring in public nested class
84
+ "D107", # Missing docstring in `__init__` method
78
85
  "D202", # No blank lines allowed after function docstring
86
+ "D400", # First line should end with a period
87
+ "D415", # First line should end with a period, question mark, or exclamation point
79
88
  "E501", # Line too long
89
+ "FIX002", # Line contains TODO, consider resolving the issue
80
90
  "I001", # Import block is un-sorted or un-formatted
81
91
  "N802", # Function name `xxx` should be lowercase
82
92
  "N999", # Invalid module name
83
93
  "S101", # Use of assert detected
94
+ "TC006", # Add quotes to type expression in `typing.cast()`
95
+ "TD002", # Missing author in TODO
96
+ "TD003", # Missing issue link for this TODO
97
+ "TRY002", # Create your own exception
98
+ "TRY300", # Consider moving this statement to an `else` block
84
99
  "UP032", # Use f-string instead of `format` call
85
100
  ]
86
101
 
@@ -22,7 +22,6 @@ from enum import Enum
22
22
  from functools import singledispatch, singledispatchmethod
23
23
  from io import StringIO
24
24
  from pathlib import Path
25
- from typing import Optional, Type as PythonType
26
25
 
27
26
  from .Location import Location
28
27
  from .Region import Region
@@ -66,10 +65,10 @@ class Error:
66
65
  # ----------------------------------------------------------------------
67
66
  @Create.register
68
67
  @classmethod
69
- def _(
68
+ def _( # noqa: ANN206
70
69
  cls,
71
70
  ex: Exception,
72
- region: Optional[Region] = None,
71
+ region: Region | None = None,
73
72
  *,
74
73
  include_callstack: bool = True,
75
74
  ): # -> "Error":
@@ -130,7 +129,7 @@ class Error:
130
129
 
131
130
  # ----------------------------------------------------------------------
132
131
  @dataclass
133
- class SimpleSchemaGeneratorException(Exception):
132
+ class SimpleSchemaGeneratorError(Exception):
134
133
  """Exception raised by functionality in SimpleSchemaGenerator."""
135
134
 
136
135
  # ----------------------------------------------------------------------
@@ -142,7 +141,7 @@ class SimpleSchemaGeneratorException(Exception):
142
141
  self,
143
142
  error: Error,
144
143
  ) -> None:
145
- super(SimpleSchemaGeneratorException, self).__init__(str(error))
144
+ super().__init__(str(error))
146
145
 
147
146
  object.__setattr__(
148
147
  self,
@@ -164,8 +163,8 @@ class SimpleSchemaGeneratorException(Exception):
164
163
  # ----------------------------------------------------------------------
165
164
  def CreateErrorType(
166
165
  message_template: str,
167
- **args: PythonType,
168
- ) -> PythonType[Error]:
166
+ **args: type,
167
+ ) -> type[Error]:
169
168
  dynamic_fields_class = make_dataclass(
170
169
  "DynamicFields",
171
170
  args.items(),
@@ -182,8 +181,8 @@ def CreateErrorType(
182
181
  message: str = field(init=False)
183
182
 
184
183
  # ----------------------------------------------------------------------
185
- def __post_init__(self, *args, **kwargs):
186
- super(NewError, self).__post_init__(*args, **kwargs)
184
+ def __post_init__(self, *args, **kwargs) -> None:
185
+ super().__post_init__(*args, **kwargs)
187
186
 
188
187
  object.__setattr__(
189
188
  self,
@@ -202,7 +201,7 @@ def CreateErrorType(
202
201
  # ----------------------------------------------------------------------
203
202
  # ----------------------------------------------------------------------
204
203
  @singledispatch
205
- def _ArgToString(value) -> str:
204
+ def _ArgToString(value: object) -> str:
206
205
  return str(value)
207
206
 
208
207
 
@@ -27,11 +27,11 @@ class Location:
27
27
  column: int
28
28
 
29
29
  # ----------------------------------------------------------------------
30
- def __post_init__(self):
30
+ def __post_init__(self) -> None:
31
31
  if self.line < 1:
32
- raise ValueError(f"Invalid line value: {self.line}")
32
+ raise ValueError(f"Invalid line value: {self.line}") # noqa: EM102, TRY003
33
33
  if self.column < 1:
34
- raise ValueError(f"Invalid column value: {self.column}")
34
+ raise ValueError(f"Invalid column value: {self.column}") # noqa: EM102, TRY003
35
35
 
36
36
  # ----------------------------------------------------------------------
37
37
  def __str__(self) -> str:
@@ -54,22 +54,22 @@ class Location:
54
54
  return 0
55
55
 
56
56
  # ----------------------------------------------------------------------
57
- def __eq__(self, other) -> bool:
57
+ def __eq__(self, other: object) -> bool:
58
58
  return isinstance(other, Location) and self.__class__.Compare(self, other) == 0
59
59
 
60
- def __ne__(self, other) -> bool:
60
+ def __ne__(self, other: object) -> bool:
61
61
  return not isinstance(other, Location) or self.__class__.Compare(self, other) != 0
62
62
 
63
- def __lt__(self, other) -> bool:
63
+ def __lt__(self, other: object) -> bool:
64
64
  return isinstance(other, Location) and self.__class__.Compare(self, other) < 0
65
65
 
66
- def __le__(self, other) -> bool:
66
+ def __le__(self, other: object) -> bool:
67
67
  return isinstance(other, Location) and self.__class__.Compare(self, other) <= 0
68
68
 
69
- def __gt__(self, other) -> bool:
69
+ def __gt__(self, other: object) -> bool:
70
70
  return isinstance(other, Location) and self.__class__.Compare(self, other) > 0
71
71
 
72
- def __ge__(self, other) -> bool:
72
+ def __ge__(self, other: object) -> bool:
73
73
  return isinstance(other, Location) and self.__class__.Compare(self, other) >= 0
74
74
 
75
75
  # ----------------------------------------------------------------------
@@ -72,8 +72,8 @@ class Region:
72
72
  # ----------------------------------------------------------------------
73
73
  @staticmethod
74
74
  def Compare(
75
- this: "Region", # type: ignore
76
- that: "Region", # type: ignore
75
+ this: "Region",
76
+ that: "Region",
77
77
  ) -> int:
78
78
  if this.filename != that.filename:
79
79
  return -1 if this.filename < that.filename else 1
@@ -89,22 +89,22 @@ class Region:
89
89
  return 0
90
90
 
91
91
  # ----------------------------------------------------------------------
92
- def __eq__(self, other) -> bool:
92
+ def __eq__(self, other: object) -> bool:
93
93
  return isinstance(other, Region) and self.__class__.Compare(self, other) == 0
94
94
 
95
- def __ne__(self, other) -> bool:
95
+ def __ne__(self, other: object) -> bool:
96
96
  return not isinstance(other, Region) or self.__class__.Compare(self, other) != 0
97
97
 
98
- def __lt__(self, other) -> bool:
98
+ def __lt__(self, other: object) -> bool:
99
99
  return isinstance(other, Region) and self.__class__.Compare(self, other) < 0
100
100
 
101
- def __le__(self, other) -> bool:
101
+ def __le__(self, other: object) -> bool:
102
102
  return isinstance(other, Region) and self.__class__.Compare(self, other) <= 0
103
103
 
104
- def __gt__(self, other) -> bool:
104
+ def __gt__(self, other: object) -> bool:
105
105
  return isinstance(other, Region) and self.__class__.Compare(self, other) > 0
106
106
 
107
- def __ge__(self, other) -> bool:
107
+ def __ge__(self, other: object) -> bool:
108
108
  return isinstance(other, Region) and self.__class__.Compare(self, other) >= 0
109
109
 
110
110
  # ----------------------------------------------------------------------
@@ -121,7 +121,7 @@ class Region:
121
121
  if isinstance(location_or_region, Location):
122
122
  return self.begin <= location_or_region <= self.end
123
123
 
124
- assert False, location_or_region # pragma: no cover
124
+ raise AssertionError(location_or_region) # pragma: no cover
125
125
 
126
126
  # ----------------------------------------------------------------------
127
127
  # ----------------------------------------------------------------------
@@ -4,7 +4,7 @@
4
4
  # | Distributed under the MIT License.
5
5
  # |
6
6
  # ----------------------------------------------------------------------
7
- """This file serves as an example of how to create scripts that can be invoked from the command line once the package is installed."""
7
+ """Example of how to create scripts that can be invoked from the command line once the package is installed."""
8
8
 
9
9
  import sys
10
10
 
@@ -19,8 +19,8 @@ from SimpleSchemaGenerator import __version__
19
19
  class NaturalOrderGrouper(TyperGroup):
20
20
  # pylint: disable=missing-class-docstring
21
21
  # ----------------------------------------------------------------------
22
- def list_commands(self, *args, **kwargs): # pylint: disable=unused-argument
23
- return self.commands.keys()
22
+ def list_commands(self, *args, **kwargs) -> list[str]: # noqa: ARG002
23
+ return list(self.commands.keys())
24
24
 
25
25
 
26
26
  # ----------------------------------------------------------------------
@@ -45,7 +45,7 @@ def EntryPoint(
45
45
  # ----------------------------------------------------------------------
46
46
  @app.command("Version")
47
47
  def Version() -> None:
48
- """Prints the version of the package."""
48
+ """Print the version of the package."""
49
49
 
50
50
  sys.stdout.write(__version__)
51
51
 
@@ -20,7 +20,7 @@ from pathlib import Path
20
20
  from .Common.Error import CreateErrorType, Region
21
21
 
22
22
  # Convenience imports
23
- from .Common.Error import SimpleSchemaGeneratorException # noqa: F401
23
+ from .Common.Error import SimpleSchemaGeneratorError # noqa: F401
24
24
 
25
25
 
26
26
  # TODO: Search for 'range' and replace with 'region'
@@ -32,8 +32,8 @@ from .Common.Error import SimpleSchemaGeneratorException # noqa: F401
32
32
  # ----------------------------------------------------------------------
33
33
  # These errors are defined as strings rather than ErrorType because they only have a beginning
34
34
  # Location and not a start and end Location as required by the Region in ErrorType.
35
- antlr_invalid_opening_token = "Triple-quote delimiters that initiate multiline strings cannot have any content on the same line as the opening token."
36
- antlr_invalid_closing_token = "Triple-quote delimiters that terminate multiline strings cannot have any content on the same line as the closing token."
35
+ antlr_invalid_opening_token = "Triple-quote delimiters that initiate multiline strings cannot have any content on the same line as the opening token." # noqa: S105
36
+ antlr_invalid_closing_token = "Triple-quote delimiters that terminate multiline strings cannot have any content on the same line as the closing token." # noqa: S105
37
37
  antlr_invalid_indentation = "Invalid multiline string indentation."
38
38
 
39
39
  ParseStructureStatementInvalidBase = CreateErrorType("Base types must be identifiers.")
@@ -15,16 +15,15 @@
15
15
 
16
16
  from dataclasses import dataclass, field, InitVar
17
17
  from functools import cached_property
18
- from typing import Any, Optional
19
18
 
20
- from dbrownell_Common.InflectEx import inflect # type: ignore[import-untyped]
21
- from dbrownell_Common.Types import override # type: ignore[import-untyped]
19
+ from dbrownell_Common.InflectEx import inflect
20
+ from dbrownell_Common.Types import override
22
21
 
23
22
  from .Element import Element
24
- from ..Expressions.Expression import Expression
25
- from ..Expressions.IntegerExpression import IntegerExpression
26
- from ....Common.Error import Error
27
- from .... import Errors
23
+ from SimpleSchemaGenerator.Schema.Elements.Expressions.Expression import Expression
24
+ from SimpleSchemaGenerator.Schema.Elements.Expressions.IntegerExpression import IntegerExpression
25
+ from SimpleSchemaGenerator.Common.Error import Error
26
+ from SimpleSchemaGenerator import Errors
28
27
 
29
28
 
30
29
  # ----------------------------------------------------------------------
@@ -32,17 +31,17 @@ from .... import Errors
32
31
  class Cardinality(Element):
33
32
  """Specifies the minimum and maximum number of times an element can appear within a collection."""
34
33
 
35
- min_param: InitVar[Optional[IntegerExpression]]
36
- max_param: InitVar[Optional[IntegerExpression]]
34
+ min_param: InitVar[IntegerExpression | None]
35
+ max_param: InitVar[IntegerExpression | None]
37
36
 
38
37
  min: IntegerExpression = field(init=False)
39
- max: Optional[IntegerExpression] = field(init=False)
38
+ max: IntegerExpression | None = field(init=False)
40
39
 
41
40
  # ----------------------------------------------------------------------
42
41
  def __post_init__(
43
42
  self,
44
- min_param: Optional[IntegerExpression],
45
- max_param: Optional[IntegerExpression],
43
+ min_param: IntegerExpression | None,
44
+ max_param: IntegerExpression | None,
46
45
  ) -> None:
47
46
  if min_param is None and max_param is None:
48
47
  min_param = IntegerExpression(self.region, 1)
@@ -56,7 +55,7 @@ class Cardinality(Element):
56
55
  assert min_param is not None
57
56
 
58
57
  if max_param is not None and max_param.value < min_param.value:
59
- raise Errors.SimpleSchemaGeneratorException(
58
+ raise Errors.SimpleSchemaGeneratorError(
60
59
  Errors.CardinalityInvalidRange.Create(
61
60
  max_param.region,
62
61
  min_param.value,
@@ -88,11 +87,11 @@ class Cardinality(Element):
88
87
  # ----------------------------------------------------------------------
89
88
  def Validate(
90
89
  self,
91
- expression_or_value: Expression | Any,
90
+ expression_or_value: Expression | object,
92
91
  ) -> None:
93
92
  # ----------------------------------------------------------------------
94
93
  def Impl(
95
- value: Any,
94
+ value: object,
96
95
  ) -> None:
97
96
  if value is None:
98
97
  if self.is_optional:
@@ -128,13 +127,13 @@ class Cardinality(Element):
128
127
 
129
128
  return
130
129
 
131
- elif self.is_optional:
130
+ if self.is_optional:
132
131
  # We don't have enough context to validate the cardinality, but it will be validated
133
132
  # at a later time.
134
133
  return
135
134
 
136
135
  if isinstance(value, list):
137
- raise Exception(Errors.cardinality_validate_list_not_expected)
136
+ raise TypeError(Errors.cardinality_validate_list_not_expected)
138
137
 
139
138
  # ----------------------------------------------------------------------
140
139
 
@@ -143,7 +142,7 @@ class Cardinality(Element):
143
142
  Impl(expression_or_value.value)
144
143
  return
145
144
  except Exception as ex:
146
- raise Errors.SimpleSchemaGeneratorException(
145
+ raise Errors.SimpleSchemaGeneratorError(
147
146
  Error.Create(
148
147
  ex,
149
148
  expression_or_value.region,
@@ -182,7 +181,7 @@ class Cardinality(Element):
182
181
  # ----------------------------------------------------------------------
183
182
  @override
184
183
  def _GenerateAcceptDetails(self) -> Element._GenerateAcceptDetailsResultType:
185
- yield Element._GenerateAcceptDetailsItem("min", self.min)
184
+ yield Element._GenerateAcceptDetailsItem("min", self.min) # noqa: SLF001
186
185
 
187
186
  if self.max is not None:
188
- yield Element._GenerateAcceptDetailsItem("max", self.max)
187
+ yield Element._GenerateAcceptDetailsItem("max", self.max) # noqa: SLF001
@@ -14,11 +14,12 @@
14
14
  """Contains the Element object"""
15
15
 
16
16
  from abc import ABC
17
+ from collections.abc import Generator
17
18
  from dataclasses import dataclass, field
18
- from typing import Generator, Optional, Union
19
+ from typing import Union
19
20
  from weakref import ReferenceType as WeakReferenceType
20
21
 
21
- from dbrownell_Common.Types import extension # type: ignore[import-untyped]
22
+ from dbrownell_Common.Types import extension
22
23
 
23
24
  from SimpleSchemaGenerator.Common.Region import Region
24
25
  from SimpleSchemaGenerator.Schema.Visitors.ElementVisitor import ElementVisitor, VisitResult
@@ -49,7 +50,7 @@ class Element(ABC):
49
50
  object.__setattr__(self, "_disabled", True)
50
51
 
51
52
  # ----------------------------------------------------------------------
52
- def Accept(
53
+ def Accept( # noqa: C901
53
54
  self,
54
55
  visitor: ElementVisitor,
55
56
  *,
@@ -144,7 +145,7 @@ class Element(ABC):
144
145
  list[WeakReferenceType["Element"]],
145
146
  ]
146
147
 
147
- _GenerateAcceptDetailsResultType = Generator[_GenerateAcceptDetailsItem, None, None]
148
+ _GenerateAcceptDetailsResultType = Generator[_GenerateAcceptDetailsItem]
148
149
 
149
150
  # ----------------------------------------------------------------------
150
151
  @dataclass(frozen=True)
@@ -152,7 +153,7 @@ class Element(ABC):
152
153
  children_name: str
153
154
  children: list["Element"]
154
155
 
155
- _GetAcceptChildrenResultType = Optional[_GetAcceptChildrenResult]
156
+ type _GetAcceptChildrenResultType = _GetAcceptChildrenResult | None
156
157
 
157
158
  # ----------------------------------------------------------------------
158
159
  # |
@@ -15,12 +15,12 @@
15
15
 
16
16
  from dataclasses import dataclass, field, InitVar
17
17
 
18
- from dbrownell_Common.Types import override # type: ignore[import-untyped]
18
+ from dbrownell_Common.Types import override
19
19
 
20
20
  from .Element import Element
21
21
  from .TerminalElement import TerminalElement
22
- from ..Expressions.Expression import Expression
23
- from .... import Errors
22
+ from SimpleSchemaGenerator.Schema.Elements.Expressions.Expression import Expression
23
+ from SimpleSchemaGenerator import Errors
24
24
 
25
25
 
26
26
  # ----------------------------------------------------------------------
@@ -37,8 +37,8 @@ class MetadataItem(Element):
37
37
  # ----------------------------------------------------------------------
38
38
  @override
39
39
  def _GenerateAcceptDetails(self) -> Element._GenerateAcceptDetailsResultType:
40
- yield Element._GenerateAcceptDetailsItem("name", self.name)
41
- yield Element._GenerateAcceptDetailsItem("expression", self.expression)
40
+ yield Element._GenerateAcceptDetailsItem("name", self.name) # noqa: SLF001
41
+ yield Element._GenerateAcceptDetailsItem("expression", self.expression) # noqa: SLF001
42
42
 
43
43
 
44
44
  # ----------------------------------------------------------------------
@@ -60,9 +60,9 @@ class Metadata(Element):
60
60
  for item in items_param:
61
61
  key = item.name.value
62
62
 
63
- prev_value = items.get(key, None)
63
+ prev_value = items.get(key)
64
64
  if prev_value is not None:
65
- raise Errors.SimpleSchemaGeneratorException(
65
+ raise Errors.SimpleSchemaGeneratorError(
66
66
  Errors.MetadataItemDuplicated.Create(
67
67
  item.name.region,
68
68
  key,
@@ -80,4 +80,4 @@ class Metadata(Element):
80
80
  # ----------------------------------------------------------------------
81
81
  @override
82
82
  def _GetAcceptChildren(self) -> Element._GetAcceptChildrenResultType:
83
- return Element._GetAcceptChildrenResult("items", list(self.items.values()))
83
+ return Element._GetAcceptChildrenResult("items", list(self.items.values())) # noqa: SLF001
@@ -14,7 +14,6 @@
14
14
  """Contains the UniqueNameTrait object."""
15
15
 
16
16
  from dataclasses import dataclass, field
17
- from typing import Union
18
17
 
19
18
 
20
19
  # ----------------------------------------------------------------------
@@ -23,10 +22,10 @@ class UniqueNameTrait:
23
22
  """Trait for Elements that are given an unique name during parsing."""
24
23
 
25
24
  # ----------------------------------------------------------------------
26
- _unique_name: Union[
27
- None, # Before NormalizeUniqueName is called
28
- str, # After NormalizeUniqueName is called
29
- ] = field(init=False, default=None)
25
+ _unique_name: (
26
+ None # Before NormalizeUniqueName is called
27
+ | str # After NormalizeUniqueName is called
28
+ ) = field(init=False, default=None)
30
29
 
31
30
  # ----------------------------------------------------------------------
32
31
  @property
@@ -16,7 +16,7 @@
16
16
  from dataclasses import dataclass
17
17
  from enum import auto, Enum
18
18
 
19
- from dbrownell_Common.Types import override # type: ignore[import-untyped]
19
+ from dbrownell_Common.Types import override
20
20
 
21
21
  from .TerminalElement import Element, TerminalElement
22
22
 
@@ -42,7 +42,7 @@ class VisibilityTrait(Element):
42
42
  # ----------------------------------------------------------------------
43
43
  @override
44
44
  def _GenerateAcceptDetails(self) -> Element._GenerateAcceptDetailsResultType:
45
- yield Element._GenerateAcceptDetailsItem( # pylint: disable=protected-access
45
+ yield Element._GenerateAcceptDetailsItem( # noqa: SLF001
46
46
  "visibility",
47
47
  self.visibility,
48
48
  )
@@ -16,7 +16,7 @@
16
16
  from dataclasses import dataclass
17
17
  from typing import Any, ClassVar
18
18
 
19
- from ..Common.Element import Element
19
+ from SimpleSchemaGenerator.Schema.Elements.Common.Element import Element
20
20
 
21
21
 
22
22
  # ----------------------------------------------------------------------
@@ -30,6 +30,6 @@ class Expression(Element):
30
30
  value: Any
31
31
 
32
32
  # ----------------------------------------------------------------------
33
- def __post_init__(self):
33
+ def __post_init__(self) -> None:
34
34
  if self.NAME == "":
35
- raise Exception(f"NAME must be defined for '{self.__class__.__name__}'.")
35
+ raise Exception(f"NAME must be defined for '{self.__class__.__name__}'.") # noqa: EM102, TRY003
@@ -16,10 +16,10 @@
16
16
  from dataclasses import dataclass
17
17
  from typing import cast, ClassVar
18
18
 
19
- from dbrownell_Common.Types import override # type: ignore[import-untyped]
19
+ from dbrownell_Common.Types import override
20
20
 
21
21
  from .Expression import Expression
22
- from ..Common.Element import Element
22
+ from SimpleSchemaGenerator.Schema.Elements.Common.Element import Element
23
23
 
24
24
 
25
25
  # ----------------------------------------------------------------------
@@ -37,6 +37,6 @@ class ListExpression(Expression):
37
37
  # ----------------------------------------------------------------------
38
38
  @override
39
39
  def _GenerateAcceptDetails(self) -> Element._GenerateAcceptDetailsResultType:
40
- yield Element._GenerateAcceptDetailsItem( # pylint: disable=protected-access
40
+ yield Element._GenerateAcceptDetailsItem( # noqa: SLF001
41
41
  "value", cast(list[Element], self.value)
42
42
  )
@@ -16,11 +16,11 @@
16
16
  from dataclasses import dataclass
17
17
  from typing import ClassVar
18
18
 
19
- from dbrownell_Common.Types import override # type: ignore[import-untyped]
19
+ from dbrownell_Common.Types import override
20
20
 
21
21
  from .Expression import Expression
22
- from ..Common.Element import Element
23
- from .... import Errors
22
+ from SimpleSchemaGenerator.Schema.Elements.Common.Element import Element
23
+ from SimpleSchemaGenerator import Errors
24
24
 
25
25
 
26
26
  # ----------------------------------------------------------------------
@@ -34,17 +34,17 @@ class TupleExpression(Expression):
34
34
  value: tuple[Expression, ...]
35
35
 
36
36
  # ----------------------------------------------------------------------
37
- def __post_init__(self):
37
+ def __post_init__(self) -> None:
38
38
  if not self.value:
39
- raise Errors.SimpleSchemaGeneratorException(Errors.TupleExpressionEmpty.Create(self.region))
39
+ raise Errors.SimpleSchemaGeneratorError(Errors.TupleExpressionEmpty.Create(self.region))
40
40
 
41
- super(TupleExpression, self).__post_init__()
41
+ super().__post_init__()
42
42
 
43
43
  # ----------------------------------------------------------------------
44
44
  # ----------------------------------------------------------------------
45
45
  # ----------------------------------------------------------------------
46
46
  @override
47
47
  def _GenerateAcceptDetails(self) -> Element._GenerateAcceptDetailsResultType:
48
- yield Element._GenerateAcceptDetailsItem( # pylint: disable=protected-access
48
+ yield Element._GenerateAcceptDetailsItem( # noqa: SLF001
49
49
  "value", list(self.value)
50
50
  )