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.5.tar.gz (5.5 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.5-py3-none-any.whl (6.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: adp_api_transformer-1.0.5.tar.gz
  • Upload date:
  • Size: 5.5 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.5.tar.gz
Algorithm Hash digest
SHA256 9ac32af9da566f680351c59ee3cadb116711061b7e6ee6e39f568600d0baba8d
MD5 126332bc80da8a66894d5eebdd66b94f
BLAKE2b-256 3a51acfd4bfa86a6ac1225e23a63ad7b473b4fc1c53c11049037ae65dacd75e5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for adp_api_transformer-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 67753339b9d7b8254b867e573461c78296802e5d84cbbb2c1573ec5b3c5fe61f
MD5 c476d4d24f7a70ea359a7c20246725fc
BLAKE2b-256 402a90623c7588f2a1372873da7de2fbd445fc1ae415d7142ddd64aa3781fab4

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