jentic-openapi-validator 1.0.0a32__tar.gz → 1.0.0a33__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 (17) hide show
  1. {jentic_openapi_validator-1.0.0a32 → jentic_openapi_validator-1.0.0a33}/PKG-INFO +4 -4
  2. {jentic_openapi_validator-1.0.0a32 → jentic_openapi_validator-1.0.0a33}/pyproject.toml +4 -4
  3. {jentic_openapi_validator-1.0.0a32 → jentic_openapi_validator-1.0.0a33}/src/jentic/apitools/openapi/validator/backends/openapi_spec.py +18 -1
  4. {jentic_openapi_validator-1.0.0a32 → jentic_openapi_validator-1.0.0a33}/LICENSE +0 -0
  5. {jentic_openapi_validator-1.0.0a32 → jentic_openapi_validator-1.0.0a33}/NOTICE +0 -0
  6. {jentic_openapi_validator-1.0.0a32 → jentic_openapi_validator-1.0.0a33}/README.md +0 -0
  7. {jentic_openapi_validator-1.0.0a32 → jentic_openapi_validator-1.0.0a33}/src/jentic/apitools/openapi/validator/backends/base.py +0 -0
  8. {jentic_openapi_validator-1.0.0a32 → jentic_openapi_validator-1.0.0a33}/src/jentic/apitools/openapi/validator/backends/default/__init__.py +0 -0
  9. {jentic_openapi_validator-1.0.0a32 → jentic_openapi_validator-1.0.0a33}/src/jentic/apitools/openapi/validator/backends/default/rules/__init__.py +0 -0
  10. {jentic_openapi_validator-1.0.0a32 → jentic_openapi_validator-1.0.0a33}/src/jentic/apitools/openapi/validator/backends/default/rules/security.py +0 -0
  11. {jentic_openapi_validator-1.0.0a32 → jentic_openapi_validator-1.0.0a33}/src/jentic/apitools/openapi/validator/backends/default/rules/server.py +0 -0
  12. {jentic_openapi_validator-1.0.0a32 → jentic_openapi_validator-1.0.0a33}/src/jentic/apitools/openapi/validator/backends/default/rules/structural.py +0 -0
  13. {jentic_openapi_validator-1.0.0a32 → jentic_openapi_validator-1.0.0a33}/src/jentic/apitools/openapi/validator/backends/py.typed +0 -0
  14. {jentic_openapi_validator-1.0.0a32 → jentic_openapi_validator-1.0.0a33}/src/jentic/apitools/openapi/validator/core/__init__.py +0 -0
  15. {jentic_openapi_validator-1.0.0a32 → jentic_openapi_validator-1.0.0a33}/src/jentic/apitools/openapi/validator/core/diagnostics.py +0 -0
  16. {jentic_openapi_validator-1.0.0a32 → jentic_openapi_validator-1.0.0a33}/src/jentic/apitools/openapi/validator/core/openapi_validator.py +0 -0
  17. {jentic_openapi_validator-1.0.0a32 → jentic_openapi_validator-1.0.0a33}/src/jentic/apitools/openapi/validator/core/py.typed +0 -0
@@ -1,17 +1,17 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jentic-openapi-validator
3
- Version: 1.0.0a32
3
+ Version: 1.0.0a33
4
4
  Summary: Jentic OpenAPI Validator
5
5
  Author: Jentic
6
6
  Author-email: Jentic <hello@jentic.com>
7
7
  License-Expression: Apache-2.0
8
8
  License-File: LICENSE
9
9
  License-File: NOTICE
10
- Requires-Dist: jentic-openapi-parser~=1.0.0a32
10
+ Requires-Dist: jentic-openapi-parser~=1.0.0a33
11
11
  Requires-Dist: openapi-spec-validator~=0.7.2
12
12
  Requires-Dist: lsprotocol~=2025.0.0
13
- Requires-Dist: jentic-openapi-validator-redocly~=1.0.0a32 ; extra == 'redocly'
14
- Requires-Dist: jentic-openapi-validator-spectral~=1.0.0a32 ; extra == 'spectral'
13
+ Requires-Dist: jentic-openapi-validator-redocly~=1.0.0a33 ; extra == 'redocly'
14
+ Requires-Dist: jentic-openapi-validator-spectral~=1.0.0a33 ; extra == 'spectral'
15
15
  Requires-Python: >=3.11
16
16
  Project-URL: Homepage, https://github.com/jentic/jentic-openapi-tools
17
17
  Provides-Extra: redocly
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "jentic-openapi-validator"
3
- version = "1.0.0-alpha.32"
3
+ version = "1.0.0-alpha.33"
4
4
  description = "Jentic OpenAPI Validator"
5
5
  readme = "README.md"
6
6
  authors = [{ name = "Jentic", email = "hello@jentic.com" }]
@@ -8,14 +8,14 @@ license = "Apache-2.0"
8
8
  license-files = ["LICENSE", "NOTICE"]
9
9
  requires-python = ">=3.11"
10
10
  dependencies = [
11
- "jentic-openapi-parser~=1.0.0-alpha.32",
11
+ "jentic-openapi-parser~=1.0.0-alpha.33",
12
12
  "openapi-spec-validator~=0.7.2",
13
13
  "lsprotocol~=2025.0.0"
14
14
  ]
15
15
 
16
16
  [project.optional-dependencies]
17
- spectral = ["jentic-openapi-validator-spectral~=1.0.0-alpha.32"]
18
- redocly = ["jentic-openapi-validator-redocly~=1.0.0-alpha.32"]
17
+ spectral = ["jentic-openapi-validator-spectral~=1.0.0-alpha.33"]
18
+ redocly = ["jentic-openapi-validator-redocly~=1.0.0-alpha.33"]
19
19
 
20
20
  [project.urls]
21
21
  Homepage = "https://github.com/jentic/jentic-openapi-tools"
@@ -52,13 +52,30 @@ class OpenAPISpecValidatorBackend(BaseValidatorBackend):
52
52
  diagnostics: list[JenticDiagnostic] = []
53
53
  try:
54
54
  for error in validator.iter_errors():
55
+ # Determine a meaningful code for the diagnostic.
56
+ # Note: error.validator and error.validator_value can be <unset> sentinel
57
+ # objects that are truthy but stringify to '<unset>'. We must check the
58
+ # string representation to detect this.
59
+ code: str
60
+ validator_str = str(error.validator) if error.validator is not None else ""
61
+ validator_value_str = (
62
+ str(error.validator_value) if error.validator_value is not None else ""
63
+ )
64
+
65
+ if validator_str and validator_str != "<unset>":
66
+ code = validator_str
67
+ elif validator_value_str and validator_value_str != "<unset>":
68
+ code = validator_value_str
69
+ else:
70
+ code = "osv-validation-error"
71
+
55
72
  diagnostic = JenticDiagnostic(
56
73
  range=lsp.Range(
57
74
  start=lsp.Position(line=0, character=0),
58
75
  end=lsp.Position(line=0, character=0),
59
76
  ),
60
77
  severity=lsp.DiagnosticSeverity.Error,
61
- code=f"{error.validator or str(error.validator_value)}",
78
+ code=code,
62
79
  source="openapi-spec-validator",
63
80
  message=error.message,
64
81
  )