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-converter

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:

python -m adp_api_converter <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:

python -m adp_api_converter api.yaml modified_api.json

Split by tag and output to a directory:

python -m adp_api_converter 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.1.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.1-py3-none-any.whl (5.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for adp_api_transformer-1.0.1.tar.gz
Algorithm Hash digest
SHA256 f40bbea0aef63f1691c4ca0bdebdb0dc432fd31dcc6ed33e790f8710e292058c
MD5 9e67746250221601cfca6120278cc843
BLAKE2b-256 ae9744336ec5838eed9ce8dde3c7f5fd751f28460e433a3d836bac6628edf0aa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for adp_api_transformer-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 705316698095aaaff71d85e5105ae4164a00cf840e104977f4bfc4b05b1525b6
MD5 52741c0ba9ebecdaa39f8916375c2589
BLAKE2b-256 debb9e459733ae9961df0399abea8095078d1f8848bf7af92b5cabe2160a4dc5

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