Skip to main content

This package can be used to transform your openapi specs (json or yaml) to be used in the ADP1 apim repo

Project description

adp-api-transformer

A utility to transform your OpenAPI specifications (JSON or YAML) for use in the ADP1 APIM repository.
This tool ensures your API specs have required attributes and outputs a modified OpenAPI JSON file.

Features

  • Accepts OpenAPI specs in .json, .yaml, or .yml formats.
  • Adds missing operationId and summary fields to operations.
  • Ensures the info.title field is set to a template value.
  • Splits the OpenAPI spec into multiple files based on tags, with paths starting after the tag.
  • Outputs the modified spec as formatted JSON.

Usage

You can run the converter as a command-line tool:

adp-api-transformer <input_file> [output_file_or_dir] [--split-by-tag]
  • <input_file>: Path to your OpenAPI spec (YAML or JSON).
  • [output_file_or_dir]: (Optional) Path for the output JSON file, or output directory if using --split-by-tag. Defaults to openapi.json.
  • --split-by-tag: (Optional) Split the OpenAPI spec into multiple files by tag.

Examples

Convert and output a single JSON file:

adp-api-transformer api.yaml modified_api.json

Split by tag and output to a directory:

adp-api-transformer api.yaml output_dir --split-by-tag

This will create one file per tag (e.g., collection.openapi.json), with each file containing only the paths for that tag.
The paths in each split file start after the tag segment.
For example, /collection becomes /, /collection/{id} becomes /{id}.

How it works

  • Loads the OpenAPI spec from the provided file.
  • Adds or updates the following:
    • info.title is set to {{apiTitle}}.
    • Each operation gets an operationId (if missing) in the format: <method>_<path>-{consumerphase}.
    • Each operation gets a summary (if missing) in the format: <METHOD> <path>.
    • Each operation gets a tags field (if missing), using the first path segment as the tag.
  • If --split-by-tag is used:
    • The spec is split into multiple files, one per tag.
    • In each split file, the path starts after the tag segment (e.g., /collection/).
  • Saves the modified spec(s) as JSON.

Requirements

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

adp_api_transformer-1.0.3.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

adp_api_transformer-1.0.3-py3-none-any.whl (5.4 kB view details)

Uploaded Python 3

File details

Details for the file adp_api_transformer-1.0.3.tar.gz.

File metadata

  • Download URL: adp_api_transformer-1.0.3.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.11

File hashes

Hashes for adp_api_transformer-1.0.3.tar.gz
Algorithm Hash digest
SHA256 976c67d0e59c6544d36cf60e972a97347b4cb3f509a501c76c01c680ad3dcba3
MD5 0df489f45b64fc97a16f5d40693f97b4
BLAKE2b-256 fb6c8013b8396162f0c4b212c2a2de8b4437400a895e3e71f5947f2d9cdf9b13

See more details on using hashes here.

File details

Details for the file adp_api_transformer-1.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for adp_api_transformer-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a8977d21b8edc7e650abe52eef4d62824d8fa8570d02b6cba5592910cf07e237
MD5 5033191af84e40d9cde2c871dc801c5a
BLAKE2b-256 e3005ea7e6275203b4faf4c00a7f13cc6742399b983b9b08f023ad67f9bdf173

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page