oapi-profile-builder 3.4.0__tar.gz → 3.4.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.
- {oapi_profile_builder-3.4.0/src/oapi_profile_builder.egg-info → oapi_profile_builder-3.4.1}/PKG-INFO +49 -2
- {oapi_profile_builder-3.4.0 → oapi_profile_builder-3.4.1}/README.md +48 -1
- {oapi_profile_builder-3.4.0 → oapi_profile_builder-3.4.1}/pyproject.toml +1 -1
- {oapi_profile_builder-3.4.0 → oapi_profile_builder-3.4.1/src/oapi_profile_builder.egg-info}/PKG-INFO +49 -2
- {oapi_profile_builder-3.4.0 → oapi_profile_builder-3.4.1}/LICENSE +0 -0
- {oapi_profile_builder-3.4.0 → oapi_profile_builder-3.4.1}/setup.cfg +0 -0
- {oapi_profile_builder-3.4.0 → oapi_profile_builder-3.4.1}/src/oapi_profile_builder/__init__.py +0 -0
- {oapi_profile_builder-3.4.0 → oapi_profile_builder-3.4.1}/src/oapi_profile_builder/cite.py +0 -0
- {oapi_profile_builder-3.4.0 → oapi_profile_builder-3.4.1}/src/oapi_profile_builder/cite_features.py +0 -0
- {oapi_profile_builder-3.4.0 → oapi_profile_builder-3.4.1}/src/oapi_profile_builder/cli.py +0 -0
- {oapi_profile_builder-3.4.0 → oapi_profile_builder-3.4.1}/src/oapi_profile_builder/compile.py +0 -0
- {oapi_profile_builder-3.4.0 → oapi_profile_builder-3.4.1}/src/oapi_profile_builder/cover.py +0 -0
- {oapi_profile_builder-3.4.0 → oapi_profile_builder-3.4.1}/src/oapi_profile_builder/generate.py +0 -0
- {oapi_profile_builder-3.4.0 → oapi_profile_builder-3.4.1}/src/oapi_profile_builder/models.py +0 -0
- {oapi_profile_builder-3.4.0 → oapi_profile_builder-3.4.1}/src/oapi_profile_builder/server_validation.py +0 -0
- {oapi_profile_builder-3.4.0 → oapi_profile_builder-3.4.1}/src/oapi_profile_builder.egg-info/SOURCES.txt +0 -0
- {oapi_profile_builder-3.4.0 → oapi_profile_builder-3.4.1}/src/oapi_profile_builder.egg-info/dependency_links.txt +0 -0
- {oapi_profile_builder-3.4.0 → oapi_profile_builder-3.4.1}/src/oapi_profile_builder.egg-info/entry_points.txt +0 -0
- {oapi_profile_builder-3.4.0 → oapi_profile_builder-3.4.1}/src/oapi_profile_builder.egg-info/requires.txt +0 -0
- {oapi_profile_builder-3.4.0 → oapi_profile_builder-3.4.1}/src/oapi_profile_builder.egg-info/top_level.txt +0 -0
{oapi_profile_builder-3.4.0/src/oapi_profile_builder.egg-info → oapi_profile_builder-3.4.1}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: oapi-profile-builder
|
|
3
|
-
Version: 3.4.
|
|
3
|
+
Version: 3.4.1
|
|
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
|
|
@@ -239,15 +239,21 @@ Everything about the document — cover, title-page metadata, legal page, footer
|
|
|
239
239
|
| PDF colours (titles, tables, cover, backgrounds) | `document_metadata.colors` | `:presentation-metadata-color-*:` |
|
|
240
240
|
| Page-ii legal text (copyright / license / notice) | `document_metadata.boilerplate` | `:boilerplate-authority:` |
|
|
241
241
|
| Footer organisation name | `document_metadata.copyright_holder` | `:copyright-holder:` |
|
|
242
|
+
| Cover layout (logo size/position, tagline/title size, bold edition) | `document_metadata.cover.{logo_width, logo_y, tagline_font_size, title_font_size, bold_edition}` | Generated cover image |
|
|
243
|
+
| Cover date | `document_metadata.doc_pub_date` | Long-format date on the generated cover + `:published-date:` |
|
|
242
244
|
| Remove the OGC logo from the legal page | `document_metadata.suppress_flavor_logo` | targeted `:pdf-stylesheet-override:` |
|
|
243
245
|
| Remove OGC design (crossing lines, circled numbers, rules, navy divider pages) | `document_metadata.suppress_design_elements` (or the individual `suppress_crossing_lines` / `plain_section_numbers` / `suppress_title_underlines`) | `:pdf-stylesheet-override:` + colour attributes |
|
|
246
|
+
| Remove the standalone section-divider pages | `document_metadata.suppress_section_divider_pages` | `:pdf-stylesheet-override:` |
|
|
247
|
+
| Inline section headings (`1 Scope` in one line, no circle) | `document_metadata.inline_section_headers` | `:pdf-stylesheet-override:` |
|
|
248
|
+
| Flatten reference hanging indent (title under authors) | `document_metadata.suppress_bibliography_indent` | `:pdf-stylesheet-override:` |
|
|
244
249
|
| Every-page DRAFT-style watermark (over content) | `document_metadata.page_watermark` | `:pdf-stylesheet-override:` (footer overlay) |
|
|
245
250
|
| Requirement / conformance identifier namespace | `spec_uri_base` | derives `req_uri` / `conf_uri` |
|
|
246
251
|
| Submitter table, notice paragraph, normative refs, extra terms | `document_metadata.{submitters, notice, normative_references, terms}` | Metanorma attributes / sections |
|
|
252
|
+
| Features `/items` paging (`limit` parameter) | `paging.{enabled, default_limit, max_limit}` | OpenAPI query parameter |
|
|
247
253
|
|
|
248
254
|
Custom branding requires Pillow for the cover image: `pip install 'oapi-profile-builder[pdf]'`. Field-by-field detail is in the [`document_metadata`](#document_metadata) reference below; [`examples/nwp_radar.yaml`](examples/nwp_radar.yaml) is a complete DGIWG-branded example. Omit all of these fields and the output keeps the standard OGC house style.
|
|
249
255
|
|
|
250
|
-
> The `suppress_flavor_logo`, `suppress_design_elements`/`suppress_*`, and `page_watermark` overrides reach into the OGC Metanorma flavor's XSL templates (e.g. `insertLogoPreface`, `insertCrossingLines`, `insertSectionNumInCircle`, `insertFooter`) and are coupled to that flavor. Everything else uses documented Metanorma attributes. mn2pdf merges our same-named templates over the flavor's at equal precedence (via `merge_override.xsl`), which is what makes these work; a future metanorma-ogc release could require refreshing the template names. For long-term SDO adoption, a dedicated Metanorma "taste"/flavor is the most durable path.
|
|
256
|
+
> The `suppress_flavor_logo`, `suppress_design_elements`/`suppress_*`, `suppress_section_divider_pages`, `inline_section_headers`, `suppress_bibliography_indent`, and `page_watermark` overrides reach into the OGC Metanorma flavor's XSL templates (e.g. `insertLogoPreface`, `insertCrossingLines`, `insertSectionNumInCircle`, `insertFooter`, the `sections` mode, `fmt-title`, and `bibitem-normative-style`) and are coupled to that flavor. Everything else uses documented Metanorma attributes. mn2pdf merges our same-named templates over the flavor's at equal precedence (via `merge_override.xsl`), which is what makes these work; a future metanorma-ogc release could require refreshing the template names. For long-term SDO adoption, a dedicated Metanorma "taste"/flavor is the most durable path.
|
|
251
257
|
|
|
252
258
|
---
|
|
253
259
|
|
|
@@ -341,6 +347,7 @@ abstract_tests: []
|
|
|
341
347
|
| `abstract_tests` | list | no | Conformance tests — each must reference a valid requirement `id` |
|
|
342
348
|
| `pubsub` | object | no | OGC API - EDR Part 2 PubSub config — generates `asyncapi.yaml` |
|
|
343
349
|
| `collection_examples` | object | no | `{collectionId: {instanceId: "..."}}` — used by `validate-server` |
|
|
350
|
+
| `paging` | object | no | Features `/items` paging — adds a validated `limit` query parameter to the generated OpenAPI (see below) |
|
|
344
351
|
| `document_metadata` | object | no | Metanorma PDF header — doc number/type/subtype, status, editors, submitters, dates, notice, normative references (see below) |
|
|
345
352
|
|
|
346
353
|
---
|
|
@@ -624,6 +631,21 @@ Generates: `/processes/compute-difference`, `/processes/compute-difference/execu
|
|
|
624
631
|
|
|
625
632
|
---
|
|
626
633
|
|
|
634
|
+
### `paging`
|
|
635
|
+
|
|
636
|
+
Controls Features `/items` paging in the generated OpenAPI. When enabled (the default), a validated `limit` query parameter is added to every `/items` endpoint (collection-level and instance-level).
|
|
637
|
+
|
|
638
|
+
```yaml
|
|
639
|
+
paging:
|
|
640
|
+
enabled: true # default true; set false to omit the limit parameter
|
|
641
|
+
default_limit: 10 # OpenAPI schema default for limit (default 10)
|
|
642
|
+
max_limit: 100 # OpenAPI schema maximum for limit (default 10000)
|
|
643
|
+
```
|
|
644
|
+
|
|
645
|
+
The emitted parameter is `limit` (`in: query`, `type: integer`, `minimum: 1`, `maximum: <max_limit>`, `default: <default_limit>`).
|
|
646
|
+
|
|
647
|
+
---
|
|
648
|
+
|
|
627
649
|
### `pubsub`
|
|
628
650
|
|
|
629
651
|
When present, generates `asyncapi.yaml` alongside `openapi.yaml`.
|
|
@@ -669,6 +691,8 @@ document_metadata:
|
|
|
669
691
|
submission_date: "2026-05-01" # → :received-date:
|
|
670
692
|
approval_date: "2026-06-15" # → :issued-date:
|
|
671
693
|
publication_date: "2026-07-01" # → :published-date:
|
|
694
|
+
doc_pub_date: "2026-07-16" # optional; overrides publication_date for the cover
|
|
695
|
+
# (long-format "16 July 2026") and :published-date:
|
|
672
696
|
# Custom notice paragraph rendered in the front matter. Note: the OGC cover-page
|
|
673
697
|
# legal notice itself is generated by Metanorma from doc_type/status.
|
|
674
698
|
notice: >
|
|
@@ -707,6 +731,12 @@ document_metadata:
|
|
|
707
731
|
font_bold: "Source Sans Pro" # optional bold face; derived from font_regular when unset
|
|
708
732
|
font_italic: "Source Sans Pro" # optional italic face for the tagline
|
|
709
733
|
watermark: "DRAFT" # optional diagonal watermark stamped on the cover
|
|
734
|
+
# --- cover layout (all optional) ---
|
|
735
|
+
logo_width: 200 # target logo width in px (default 420)
|
|
736
|
+
logo_y: 100 # logo vertical offset from top in px (default 180)
|
|
737
|
+
tagline_font_size: 20 # tagline point size (default 30)
|
|
738
|
+
title_font_size: 40 # title point size (default 54)
|
|
739
|
+
bold_edition: true # render the "Edition X" line in bold (default false)
|
|
710
740
|
colors:
|
|
711
741
|
text: "#000000" # body text
|
|
712
742
|
cover_text: "#1F3864" # cover text / section numbers / ToC
|
|
@@ -763,6 +793,23 @@ With `cover` + `colors` + `copyright_holder` + `boilerplate` + `suppress_flavor_
|
|
|
763
793
|
|
|
764
794
|
> These design-element overrides (and the `page_watermark` footer overlay) reach into the OGC Metanorma flavor's XSL template names and are coupled to that flavor; a future metanorma-ogc release could require refreshing them.
|
|
765
795
|
|
|
796
|
+
#### Structural layout changes (divider pages, inline headers, references)
|
|
797
|
+
|
|
798
|
+
`suppress_design_elements` only changes *decorative* styling — it keeps the document's structure (standalone section-divider pages, the standard heading layout, and the reference hanging indent) intact. The following are **independent, opt-in** structural changes, so the default OGC output is unaffected unless you set them:
|
|
799
|
+
|
|
800
|
+
- **`suppress_section_divider_pages: true`** — removes the standalone full-page section dividers, so each section's content follows its heading directly.
|
|
801
|
+
- **`inline_section_headers: true`** — renders Level 1/2 headings inline with the title (e.g. `1 Scope`, `i Abstract`) rather than the OGC circled-number layout.
|
|
802
|
+
- **`suppress_bibliography_indent: true`** — flattens both the Normative References and the Bibliography so each entry is a single flush paragraph, removing the hanging indent that placed the title under the authors.
|
|
803
|
+
|
|
804
|
+
```yaml
|
|
805
|
+
document_metadata:
|
|
806
|
+
suppress_section_divider_pages: true
|
|
807
|
+
inline_section_headers: true
|
|
808
|
+
suppress_bibliography_indent: true
|
|
809
|
+
```
|
|
810
|
+
|
|
811
|
+
Additionally, when `copyright_holder` is set to a non-OGC organisation, the flavor's auto-generated "Submitting Organizations" sentence ("…submitted this Document to the Open Geospatial Consortium (OGC)") is rebranded to name that organisation instead, so no residual OGC text remains in the preface.
|
|
812
|
+
|
|
766
813
|
#### Extending Terms and Definitions
|
|
767
814
|
|
|
768
815
|
Add profile-specific terms (e.g. EDR Part 3 or Pub/Sub terms) appended after the base terms in the Terms and Definitions section:
|
|
@@ -192,15 +192,21 @@ Everything about the document — cover, title-page metadata, legal page, footer
|
|
|
192
192
|
| PDF colours (titles, tables, cover, backgrounds) | `document_metadata.colors` | `:presentation-metadata-color-*:` |
|
|
193
193
|
| Page-ii legal text (copyright / license / notice) | `document_metadata.boilerplate` | `:boilerplate-authority:` |
|
|
194
194
|
| Footer organisation name | `document_metadata.copyright_holder` | `:copyright-holder:` |
|
|
195
|
+
| Cover layout (logo size/position, tagline/title size, bold edition) | `document_metadata.cover.{logo_width, logo_y, tagline_font_size, title_font_size, bold_edition}` | Generated cover image |
|
|
196
|
+
| Cover date | `document_metadata.doc_pub_date` | Long-format date on the generated cover + `:published-date:` |
|
|
195
197
|
| Remove the OGC logo from the legal page | `document_metadata.suppress_flavor_logo` | targeted `:pdf-stylesheet-override:` |
|
|
196
198
|
| Remove OGC design (crossing lines, circled numbers, rules, navy divider pages) | `document_metadata.suppress_design_elements` (or the individual `suppress_crossing_lines` / `plain_section_numbers` / `suppress_title_underlines`) | `:pdf-stylesheet-override:` + colour attributes |
|
|
199
|
+
| Remove the standalone section-divider pages | `document_metadata.suppress_section_divider_pages` | `:pdf-stylesheet-override:` |
|
|
200
|
+
| Inline section headings (`1 Scope` in one line, no circle) | `document_metadata.inline_section_headers` | `:pdf-stylesheet-override:` |
|
|
201
|
+
| Flatten reference hanging indent (title under authors) | `document_metadata.suppress_bibliography_indent` | `:pdf-stylesheet-override:` |
|
|
197
202
|
| Every-page DRAFT-style watermark (over content) | `document_metadata.page_watermark` | `:pdf-stylesheet-override:` (footer overlay) |
|
|
198
203
|
| Requirement / conformance identifier namespace | `spec_uri_base` | derives `req_uri` / `conf_uri` |
|
|
199
204
|
| Submitter table, notice paragraph, normative refs, extra terms | `document_metadata.{submitters, notice, normative_references, terms}` | Metanorma attributes / sections |
|
|
205
|
+
| Features `/items` paging (`limit` parameter) | `paging.{enabled, default_limit, max_limit}` | OpenAPI query parameter |
|
|
200
206
|
|
|
201
207
|
Custom branding requires Pillow for the cover image: `pip install 'oapi-profile-builder[pdf]'`. Field-by-field detail is in the [`document_metadata`](#document_metadata) reference below; [`examples/nwp_radar.yaml`](examples/nwp_radar.yaml) is a complete DGIWG-branded example. Omit all of these fields and the output keeps the standard OGC house style.
|
|
202
208
|
|
|
203
|
-
> The `suppress_flavor_logo`, `suppress_design_elements`/`suppress_*`, and `page_watermark` overrides reach into the OGC Metanorma flavor's XSL templates (e.g. `insertLogoPreface`, `insertCrossingLines`, `insertSectionNumInCircle`, `insertFooter`) and are coupled to that flavor. Everything else uses documented Metanorma attributes. mn2pdf merges our same-named templates over the flavor's at equal precedence (via `merge_override.xsl`), which is what makes these work; a future metanorma-ogc release could require refreshing the template names. For long-term SDO adoption, a dedicated Metanorma "taste"/flavor is the most durable path.
|
|
209
|
+
> The `suppress_flavor_logo`, `suppress_design_elements`/`suppress_*`, `suppress_section_divider_pages`, `inline_section_headers`, `suppress_bibliography_indent`, and `page_watermark` overrides reach into the OGC Metanorma flavor's XSL templates (e.g. `insertLogoPreface`, `insertCrossingLines`, `insertSectionNumInCircle`, `insertFooter`, the `sections` mode, `fmt-title`, and `bibitem-normative-style`) and are coupled to that flavor. Everything else uses documented Metanorma attributes. mn2pdf merges our same-named templates over the flavor's at equal precedence (via `merge_override.xsl`), which is what makes these work; a future metanorma-ogc release could require refreshing the template names. For long-term SDO adoption, a dedicated Metanorma "taste"/flavor is the most durable path.
|
|
204
210
|
|
|
205
211
|
---
|
|
206
212
|
|
|
@@ -294,6 +300,7 @@ abstract_tests: []
|
|
|
294
300
|
| `abstract_tests` | list | no | Conformance tests — each must reference a valid requirement `id` |
|
|
295
301
|
| `pubsub` | object | no | OGC API - EDR Part 2 PubSub config — generates `asyncapi.yaml` |
|
|
296
302
|
| `collection_examples` | object | no | `{collectionId: {instanceId: "..."}}` — used by `validate-server` |
|
|
303
|
+
| `paging` | object | no | Features `/items` paging — adds a validated `limit` query parameter to the generated OpenAPI (see below) |
|
|
297
304
|
| `document_metadata` | object | no | Metanorma PDF header — doc number/type/subtype, status, editors, submitters, dates, notice, normative references (see below) |
|
|
298
305
|
|
|
299
306
|
---
|
|
@@ -577,6 +584,21 @@ Generates: `/processes/compute-difference`, `/processes/compute-difference/execu
|
|
|
577
584
|
|
|
578
585
|
---
|
|
579
586
|
|
|
587
|
+
### `paging`
|
|
588
|
+
|
|
589
|
+
Controls Features `/items` paging in the generated OpenAPI. When enabled (the default), a validated `limit` query parameter is added to every `/items` endpoint (collection-level and instance-level).
|
|
590
|
+
|
|
591
|
+
```yaml
|
|
592
|
+
paging:
|
|
593
|
+
enabled: true # default true; set false to omit the limit parameter
|
|
594
|
+
default_limit: 10 # OpenAPI schema default for limit (default 10)
|
|
595
|
+
max_limit: 100 # OpenAPI schema maximum for limit (default 10000)
|
|
596
|
+
```
|
|
597
|
+
|
|
598
|
+
The emitted parameter is `limit` (`in: query`, `type: integer`, `minimum: 1`, `maximum: <max_limit>`, `default: <default_limit>`).
|
|
599
|
+
|
|
600
|
+
---
|
|
601
|
+
|
|
580
602
|
### `pubsub`
|
|
581
603
|
|
|
582
604
|
When present, generates `asyncapi.yaml` alongside `openapi.yaml`.
|
|
@@ -622,6 +644,8 @@ document_metadata:
|
|
|
622
644
|
submission_date: "2026-05-01" # → :received-date:
|
|
623
645
|
approval_date: "2026-06-15" # → :issued-date:
|
|
624
646
|
publication_date: "2026-07-01" # → :published-date:
|
|
647
|
+
doc_pub_date: "2026-07-16" # optional; overrides publication_date for the cover
|
|
648
|
+
# (long-format "16 July 2026") and :published-date:
|
|
625
649
|
# Custom notice paragraph rendered in the front matter. Note: the OGC cover-page
|
|
626
650
|
# legal notice itself is generated by Metanorma from doc_type/status.
|
|
627
651
|
notice: >
|
|
@@ -660,6 +684,12 @@ document_metadata:
|
|
|
660
684
|
font_bold: "Source Sans Pro" # optional bold face; derived from font_regular when unset
|
|
661
685
|
font_italic: "Source Sans Pro" # optional italic face for the tagline
|
|
662
686
|
watermark: "DRAFT" # optional diagonal watermark stamped on the cover
|
|
687
|
+
# --- cover layout (all optional) ---
|
|
688
|
+
logo_width: 200 # target logo width in px (default 420)
|
|
689
|
+
logo_y: 100 # logo vertical offset from top in px (default 180)
|
|
690
|
+
tagline_font_size: 20 # tagline point size (default 30)
|
|
691
|
+
title_font_size: 40 # title point size (default 54)
|
|
692
|
+
bold_edition: true # render the "Edition X" line in bold (default false)
|
|
663
693
|
colors:
|
|
664
694
|
text: "#000000" # body text
|
|
665
695
|
cover_text: "#1F3864" # cover text / section numbers / ToC
|
|
@@ -716,6 +746,23 @@ With `cover` + `colors` + `copyright_holder` + `boilerplate` + `suppress_flavor_
|
|
|
716
746
|
|
|
717
747
|
> These design-element overrides (and the `page_watermark` footer overlay) reach into the OGC Metanorma flavor's XSL template names and are coupled to that flavor; a future metanorma-ogc release could require refreshing them.
|
|
718
748
|
|
|
749
|
+
#### Structural layout changes (divider pages, inline headers, references)
|
|
750
|
+
|
|
751
|
+
`suppress_design_elements` only changes *decorative* styling — it keeps the document's structure (standalone section-divider pages, the standard heading layout, and the reference hanging indent) intact. The following are **independent, opt-in** structural changes, so the default OGC output is unaffected unless you set them:
|
|
752
|
+
|
|
753
|
+
- **`suppress_section_divider_pages: true`** — removes the standalone full-page section dividers, so each section's content follows its heading directly.
|
|
754
|
+
- **`inline_section_headers: true`** — renders Level 1/2 headings inline with the title (e.g. `1 Scope`, `i Abstract`) rather than the OGC circled-number layout.
|
|
755
|
+
- **`suppress_bibliography_indent: true`** — flattens both the Normative References and the Bibliography so each entry is a single flush paragraph, removing the hanging indent that placed the title under the authors.
|
|
756
|
+
|
|
757
|
+
```yaml
|
|
758
|
+
document_metadata:
|
|
759
|
+
suppress_section_divider_pages: true
|
|
760
|
+
inline_section_headers: true
|
|
761
|
+
suppress_bibliography_indent: true
|
|
762
|
+
```
|
|
763
|
+
|
|
764
|
+
Additionally, when `copyright_holder` is set to a non-OGC organisation, the flavor's auto-generated "Submitting Organizations" sentence ("…submitted this Document to the Open Geospatial Consortium (OGC)") is rebranded to name that organisation instead, so no residual OGC text remains in the preface.
|
|
765
|
+
|
|
719
766
|
#### Extending Terms and Definitions
|
|
720
767
|
|
|
721
768
|
Add profile-specific terms (e.g. EDR Part 3 or Pub/Sub terms) appended after the base terms in the Terms and Definitions section:
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "oapi-profile-builder"
|
|
7
|
-
version = "3.4.
|
|
7
|
+
version = "3.4.1"
|
|
8
8
|
description = "Authoritative tooling for creating OGC API Service Profiles (EDR, Features)"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = { file = "LICENSE" }
|
{oapi_profile_builder-3.4.0 → oapi_profile_builder-3.4.1/src/oapi_profile_builder.egg-info}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: oapi-profile-builder
|
|
3
|
-
Version: 3.4.
|
|
3
|
+
Version: 3.4.1
|
|
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
|
|
@@ -239,15 +239,21 @@ Everything about the document — cover, title-page metadata, legal page, footer
|
|
|
239
239
|
| PDF colours (titles, tables, cover, backgrounds) | `document_metadata.colors` | `:presentation-metadata-color-*:` |
|
|
240
240
|
| Page-ii legal text (copyright / license / notice) | `document_metadata.boilerplate` | `:boilerplate-authority:` |
|
|
241
241
|
| Footer organisation name | `document_metadata.copyright_holder` | `:copyright-holder:` |
|
|
242
|
+
| Cover layout (logo size/position, tagline/title size, bold edition) | `document_metadata.cover.{logo_width, logo_y, tagline_font_size, title_font_size, bold_edition}` | Generated cover image |
|
|
243
|
+
| Cover date | `document_metadata.doc_pub_date` | Long-format date on the generated cover + `:published-date:` |
|
|
242
244
|
| Remove the OGC logo from the legal page | `document_metadata.suppress_flavor_logo` | targeted `:pdf-stylesheet-override:` |
|
|
243
245
|
| Remove OGC design (crossing lines, circled numbers, rules, navy divider pages) | `document_metadata.suppress_design_elements` (or the individual `suppress_crossing_lines` / `plain_section_numbers` / `suppress_title_underlines`) | `:pdf-stylesheet-override:` + colour attributes |
|
|
246
|
+
| Remove the standalone section-divider pages | `document_metadata.suppress_section_divider_pages` | `:pdf-stylesheet-override:` |
|
|
247
|
+
| Inline section headings (`1 Scope` in one line, no circle) | `document_metadata.inline_section_headers` | `:pdf-stylesheet-override:` |
|
|
248
|
+
| Flatten reference hanging indent (title under authors) | `document_metadata.suppress_bibliography_indent` | `:pdf-stylesheet-override:` |
|
|
244
249
|
| Every-page DRAFT-style watermark (over content) | `document_metadata.page_watermark` | `:pdf-stylesheet-override:` (footer overlay) |
|
|
245
250
|
| Requirement / conformance identifier namespace | `spec_uri_base` | derives `req_uri` / `conf_uri` |
|
|
246
251
|
| Submitter table, notice paragraph, normative refs, extra terms | `document_metadata.{submitters, notice, normative_references, terms}` | Metanorma attributes / sections |
|
|
252
|
+
| Features `/items` paging (`limit` parameter) | `paging.{enabled, default_limit, max_limit}` | OpenAPI query parameter |
|
|
247
253
|
|
|
248
254
|
Custom branding requires Pillow for the cover image: `pip install 'oapi-profile-builder[pdf]'`. Field-by-field detail is in the [`document_metadata`](#document_metadata) reference below; [`examples/nwp_radar.yaml`](examples/nwp_radar.yaml) is a complete DGIWG-branded example. Omit all of these fields and the output keeps the standard OGC house style.
|
|
249
255
|
|
|
250
|
-
> The `suppress_flavor_logo`, `suppress_design_elements`/`suppress_*`, and `page_watermark` overrides reach into the OGC Metanorma flavor's XSL templates (e.g. `insertLogoPreface`, `insertCrossingLines`, `insertSectionNumInCircle`, `insertFooter`) and are coupled to that flavor. Everything else uses documented Metanorma attributes. mn2pdf merges our same-named templates over the flavor's at equal precedence (via `merge_override.xsl`), which is what makes these work; a future metanorma-ogc release could require refreshing the template names. For long-term SDO adoption, a dedicated Metanorma "taste"/flavor is the most durable path.
|
|
256
|
+
> The `suppress_flavor_logo`, `suppress_design_elements`/`suppress_*`, `suppress_section_divider_pages`, `inline_section_headers`, `suppress_bibliography_indent`, and `page_watermark` overrides reach into the OGC Metanorma flavor's XSL templates (e.g. `insertLogoPreface`, `insertCrossingLines`, `insertSectionNumInCircle`, `insertFooter`, the `sections` mode, `fmt-title`, and `bibitem-normative-style`) and are coupled to that flavor. Everything else uses documented Metanorma attributes. mn2pdf merges our same-named templates over the flavor's at equal precedence (via `merge_override.xsl`), which is what makes these work; a future metanorma-ogc release could require refreshing the template names. For long-term SDO adoption, a dedicated Metanorma "taste"/flavor is the most durable path.
|
|
251
257
|
|
|
252
258
|
---
|
|
253
259
|
|
|
@@ -341,6 +347,7 @@ abstract_tests: []
|
|
|
341
347
|
| `abstract_tests` | list | no | Conformance tests — each must reference a valid requirement `id` |
|
|
342
348
|
| `pubsub` | object | no | OGC API - EDR Part 2 PubSub config — generates `asyncapi.yaml` |
|
|
343
349
|
| `collection_examples` | object | no | `{collectionId: {instanceId: "..."}}` — used by `validate-server` |
|
|
350
|
+
| `paging` | object | no | Features `/items` paging — adds a validated `limit` query parameter to the generated OpenAPI (see below) |
|
|
344
351
|
| `document_metadata` | object | no | Metanorma PDF header — doc number/type/subtype, status, editors, submitters, dates, notice, normative references (see below) |
|
|
345
352
|
|
|
346
353
|
---
|
|
@@ -624,6 +631,21 @@ Generates: `/processes/compute-difference`, `/processes/compute-difference/execu
|
|
|
624
631
|
|
|
625
632
|
---
|
|
626
633
|
|
|
634
|
+
### `paging`
|
|
635
|
+
|
|
636
|
+
Controls Features `/items` paging in the generated OpenAPI. When enabled (the default), a validated `limit` query parameter is added to every `/items` endpoint (collection-level and instance-level).
|
|
637
|
+
|
|
638
|
+
```yaml
|
|
639
|
+
paging:
|
|
640
|
+
enabled: true # default true; set false to omit the limit parameter
|
|
641
|
+
default_limit: 10 # OpenAPI schema default for limit (default 10)
|
|
642
|
+
max_limit: 100 # OpenAPI schema maximum for limit (default 10000)
|
|
643
|
+
```
|
|
644
|
+
|
|
645
|
+
The emitted parameter is `limit` (`in: query`, `type: integer`, `minimum: 1`, `maximum: <max_limit>`, `default: <default_limit>`).
|
|
646
|
+
|
|
647
|
+
---
|
|
648
|
+
|
|
627
649
|
### `pubsub`
|
|
628
650
|
|
|
629
651
|
When present, generates `asyncapi.yaml` alongside `openapi.yaml`.
|
|
@@ -669,6 +691,8 @@ document_metadata:
|
|
|
669
691
|
submission_date: "2026-05-01" # → :received-date:
|
|
670
692
|
approval_date: "2026-06-15" # → :issued-date:
|
|
671
693
|
publication_date: "2026-07-01" # → :published-date:
|
|
694
|
+
doc_pub_date: "2026-07-16" # optional; overrides publication_date for the cover
|
|
695
|
+
# (long-format "16 July 2026") and :published-date:
|
|
672
696
|
# Custom notice paragraph rendered in the front matter. Note: the OGC cover-page
|
|
673
697
|
# legal notice itself is generated by Metanorma from doc_type/status.
|
|
674
698
|
notice: >
|
|
@@ -707,6 +731,12 @@ document_metadata:
|
|
|
707
731
|
font_bold: "Source Sans Pro" # optional bold face; derived from font_regular when unset
|
|
708
732
|
font_italic: "Source Sans Pro" # optional italic face for the tagline
|
|
709
733
|
watermark: "DRAFT" # optional diagonal watermark stamped on the cover
|
|
734
|
+
# --- cover layout (all optional) ---
|
|
735
|
+
logo_width: 200 # target logo width in px (default 420)
|
|
736
|
+
logo_y: 100 # logo vertical offset from top in px (default 180)
|
|
737
|
+
tagline_font_size: 20 # tagline point size (default 30)
|
|
738
|
+
title_font_size: 40 # title point size (default 54)
|
|
739
|
+
bold_edition: true # render the "Edition X" line in bold (default false)
|
|
710
740
|
colors:
|
|
711
741
|
text: "#000000" # body text
|
|
712
742
|
cover_text: "#1F3864" # cover text / section numbers / ToC
|
|
@@ -763,6 +793,23 @@ With `cover` + `colors` + `copyright_holder` + `boilerplate` + `suppress_flavor_
|
|
|
763
793
|
|
|
764
794
|
> These design-element overrides (and the `page_watermark` footer overlay) reach into the OGC Metanorma flavor's XSL template names and are coupled to that flavor; a future metanorma-ogc release could require refreshing them.
|
|
765
795
|
|
|
796
|
+
#### Structural layout changes (divider pages, inline headers, references)
|
|
797
|
+
|
|
798
|
+
`suppress_design_elements` only changes *decorative* styling — it keeps the document's structure (standalone section-divider pages, the standard heading layout, and the reference hanging indent) intact. The following are **independent, opt-in** structural changes, so the default OGC output is unaffected unless you set them:
|
|
799
|
+
|
|
800
|
+
- **`suppress_section_divider_pages: true`** — removes the standalone full-page section dividers, so each section's content follows its heading directly.
|
|
801
|
+
- **`inline_section_headers: true`** — renders Level 1/2 headings inline with the title (e.g. `1 Scope`, `i Abstract`) rather than the OGC circled-number layout.
|
|
802
|
+
- **`suppress_bibliography_indent: true`** — flattens both the Normative References and the Bibliography so each entry is a single flush paragraph, removing the hanging indent that placed the title under the authors.
|
|
803
|
+
|
|
804
|
+
```yaml
|
|
805
|
+
document_metadata:
|
|
806
|
+
suppress_section_divider_pages: true
|
|
807
|
+
inline_section_headers: true
|
|
808
|
+
suppress_bibliography_indent: true
|
|
809
|
+
```
|
|
810
|
+
|
|
811
|
+
Additionally, when `copyright_holder` is set to a non-OGC organisation, the flavor's auto-generated "Submitting Organizations" sentence ("…submitted this Document to the Open Geospatial Consortium (OGC)") is rebranded to name that organisation instead, so no residual OGC text remains in the preface.
|
|
812
|
+
|
|
766
813
|
#### Extending Terms and Definitions
|
|
767
814
|
|
|
768
815
|
Add profile-specific terms (e.g. EDR Part 3 or Pub/Sub terms) appended after the base terms in the Terms and Definitions section:
|
|
File without changes
|
|
File without changes
|
{oapi_profile_builder-3.4.0 → oapi_profile_builder-3.4.1}/src/oapi_profile_builder/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{oapi_profile_builder-3.4.0 → oapi_profile_builder-3.4.1}/src/oapi_profile_builder/cite_features.py
RENAMED
|
File without changes
|
|
File without changes
|
{oapi_profile_builder-3.4.0 → oapi_profile_builder-3.4.1}/src/oapi_profile_builder/compile.py
RENAMED
|
File without changes
|
|
File without changes
|
{oapi_profile_builder-3.4.0 → oapi_profile_builder-3.4.1}/src/oapi_profile_builder/generate.py
RENAMED
|
File without changes
|
{oapi_profile_builder-3.4.0 → oapi_profile_builder-3.4.1}/src/oapi_profile_builder/models.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|