oapi-profile-builder 3.6.2__tar.gz → 3.6.3__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 (20) hide show
  1. {oapi_profile_builder-3.6.2/src/oapi_profile_builder.egg-info → oapi_profile_builder-3.6.3}/PKG-INFO +1 -1
  2. {oapi_profile_builder-3.6.2 → oapi_profile_builder-3.6.3}/pyproject.toml +1 -1
  3. {oapi_profile_builder-3.6.2 → oapi_profile_builder-3.6.3}/src/oapi_profile_builder/generate.py +12 -5
  4. {oapi_profile_builder-3.6.2 → oapi_profile_builder-3.6.3/src/oapi_profile_builder.egg-info}/PKG-INFO +1 -1
  5. {oapi_profile_builder-3.6.2 → oapi_profile_builder-3.6.3}/LICENSE +0 -0
  6. {oapi_profile_builder-3.6.2 → oapi_profile_builder-3.6.3}/README.md +0 -0
  7. {oapi_profile_builder-3.6.2 → oapi_profile_builder-3.6.3}/setup.cfg +0 -0
  8. {oapi_profile_builder-3.6.2 → oapi_profile_builder-3.6.3}/src/oapi_profile_builder/__init__.py +0 -0
  9. {oapi_profile_builder-3.6.2 → oapi_profile_builder-3.6.3}/src/oapi_profile_builder/cite.py +0 -0
  10. {oapi_profile_builder-3.6.2 → oapi_profile_builder-3.6.3}/src/oapi_profile_builder/cite_features.py +0 -0
  11. {oapi_profile_builder-3.6.2 → oapi_profile_builder-3.6.3}/src/oapi_profile_builder/cli.py +0 -0
  12. {oapi_profile_builder-3.6.2 → oapi_profile_builder-3.6.3}/src/oapi_profile_builder/compile.py +0 -0
  13. {oapi_profile_builder-3.6.2 → oapi_profile_builder-3.6.3}/src/oapi_profile_builder/cover.py +0 -0
  14. {oapi_profile_builder-3.6.2 → oapi_profile_builder-3.6.3}/src/oapi_profile_builder/models.py +0 -0
  15. {oapi_profile_builder-3.6.2 → oapi_profile_builder-3.6.3}/src/oapi_profile_builder/server_validation.py +0 -0
  16. {oapi_profile_builder-3.6.2 → oapi_profile_builder-3.6.3}/src/oapi_profile_builder.egg-info/SOURCES.txt +0 -0
  17. {oapi_profile_builder-3.6.2 → oapi_profile_builder-3.6.3}/src/oapi_profile_builder.egg-info/dependency_links.txt +0 -0
  18. {oapi_profile_builder-3.6.2 → oapi_profile_builder-3.6.3}/src/oapi_profile_builder.egg-info/entry_points.txt +0 -0
  19. {oapi_profile_builder-3.6.2 → oapi_profile_builder-3.6.3}/src/oapi_profile_builder.egg-info/requires.txt +0 -0
  20. {oapi_profile_builder-3.6.2 → oapi_profile_builder-3.6.3}/src/oapi_profile_builder.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: oapi-profile-builder
3
- Version: 3.6.2
3
+ Version: 3.6.3
4
4
  Summary: Authoritative tooling for creating OGC API Service Profiles (EDR, Features)
5
5
  Author-email: Shane Mill <shane.mill@noaa.gov>
6
6
  License: Apache License
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "oapi-profile-builder"
7
- version = "3.6.2"
7
+ version = "3.6.3"
8
8
  description = "Authoritative tooling for creating OGC API Service Profiles (EDR, Features)"
9
9
  readme = "README.md"
10
10
  license = { file = "LICENSE" }
@@ -223,6 +223,7 @@ def _locations_response_schema(profile: "ServiceProfile | None") -> dict:
223
223
  properties named in ``profile.locations_feature_required_properties`` are
224
224
  marked required so the generated OpenAPI enforces them.
225
225
  """
226
+ version = profile.openapi_version if profile else "3.0.0"
226
227
  required_props = list(getattr(profile, "locations_feature_required_properties", None) or [])
227
228
  properties_schema: dict = {
228
229
  "type": "object",
@@ -1094,8 +1095,9 @@ def _collection_paths(coll: Collection, examples: dict | None = None,
1094
1095
 
1095
1096
 
1096
1097
  def _core_paths(profile: ServiceProfile) -> dict:
1098
+ version = profile.openapi_version
1097
1099
  landing_response = _landing_page_schema(
1098
- profile.req_uri, profile.openapi_version,
1100
+ profile.req_uri, version,
1099
1101
  title=profile.title,
1100
1102
  description=profile.description or "",
1101
1103
  keywords=profile.keywords or None,
@@ -1104,10 +1106,15 @@ def _core_paths(profile: ServiceProfile) -> dict:
1104
1106
  # Conformance response with required conformance classes
1105
1107
  conformance_response = _R200_CONFORMANCE.copy()
1106
1108
  if profile.required_conformance_classes:
1107
- conformance_response["content"]["application/json"]["schema"]["properties"]["conformsTo"]["items"] = {
1108
- "type": "string",
1109
- "enum": profile.required_conformance_classes
1110
- }
1109
+ if version == "3.1.0":
1110
+ conformance_response["content"]["application/json"]["schema"]["properties"]["conformsTo"]["contains"] = {
1111
+ "enum": profile.required_conformance_classes
1112
+ }
1113
+ else:
1114
+ conformance_response["content"]["application/json"]["schema"]["properties"]["conformsTo"]["items"] = {
1115
+ "type": "string",
1116
+ "enum": profile.required_conformance_classes
1117
+ }
1111
1118
 
1112
1119
  return {
1113
1120
  "/": {"get": {
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: oapi-profile-builder
3
- Version: 3.6.2
3
+ Version: 3.6.3
4
4
  Summary: Authoritative tooling for creating OGC API Service Profiles (EDR, Features)
5
5
  Author-email: Shane Mill <shane.mill@noaa.gov>
6
6
  License: Apache License