Skip to main content

Jentic Apitools Pipelines - Orchestrate score, repair, and storage into workflow pipelines

Project description

Jentic API Tools - Pipelines

High-level workflows that orchestrate analyze, score, repair, and storage operations for OpenAPI specifications.

Key Features

The pipelines package provides three main workflow functions: import_openapi runs the full import pipeline (fetch, parse, validate, convert, bundle, repair, score, store), score_openapi runs a lighter scoring pipeline (fetch, parse, bundle, validate, score), and improve_openapi orchestrates the apply-overlays-and/or-replace-spec, score, and lay-out-per-run-snapshot flow used behind /public-apis/improve and the jentic-apitools improve CLI command. The first two accept an OASJsonRequest with processing configuration and an optional progress callback for real-time updates. By default, import_openapi rejects specs with invalid server URLs and invalid security definitions; these are controlled by reject_invalid_server_urls and reject_invalid_security in OASProcessConfiguration. The improve orchestrator depends on the repair.overlay backend to apply overlays and to verify the cumulative-overlays invariant, raising CumulativeInvariantError (with a structured diff) when applying cumulative + per_run overlays to the immutable bundled input does not reproduce the produced spec. The package handles format conversion from Swagger 2.0 and Google Discovery to OpenAPI 3.x, reference bundling via Redocly, and artifact management through configurable storage contexts. The repo_tools module provides rebuild_scores_json and rebuild_apis_json for rebuilding the root scores.json and apis.json catalog files from all API specs in a local repository clone.

Dependencies

Internal: common, llm, analyze, score, repair, storage. External: jentic-openapi-transformer (with redocly), datadog. Note: repair is a hard dependency (used by both the import flow and the new improve orchestrator).

Installation

pip install jentic-apitools-pipelines

Quick Start

from jentic.apitools.common.models import OASJsonRequest, OASRequestMeta, OASProcessConfiguration
from jentic.apitools.pipelines import score_openapi

request = OASJsonRequest(meta=OASRequestMeta(oas_process_configuration=OASProcessConfiguration()))
result = score_openapi(request, spec_url="https://petstore3.swagger.io/api/v3/openapi.json")
print(f"Success: {result.success}")

Testing

pytest tests -v

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

jentic_apitools_pipelines-1.0.0a22.tar.gz (44.0 kB view details)

Uploaded Source

Built Distribution

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

jentic_apitools_pipelines-1.0.0a22-py3-none-any.whl (53.4 kB view details)

Uploaded Python 3

File details

Details for the file jentic_apitools_pipelines-1.0.0a22.tar.gz.

File metadata

File hashes

Hashes for jentic_apitools_pipelines-1.0.0a22.tar.gz
Algorithm Hash digest
SHA256 608e20817a03141143b14f518b30484431f30b11973b9cf4066840b89c19b57a
MD5 b6ab6c22071fbf3a07c65d4a58269629
BLAKE2b-256 ffb7e5f3b1211dfedb13ebd7f77d767df14b9a315a2daaab75c9fb2aa73140d1

See more details on using hashes here.

File details

Details for the file jentic_apitools_pipelines-1.0.0a22-py3-none-any.whl.

File metadata

File hashes

Hashes for jentic_apitools_pipelines-1.0.0a22-py3-none-any.whl
Algorithm Hash digest
SHA256 fd368c2f088bbc14e6033d4a8bf014dc988b46c442a7a3477dad78a49c235f6d
MD5 b1a03a6f30ed1c6cc3efc00acdfeccc3
BLAKE2b-256 99e1004c2a6373607762e50b654b2af5e4bca98c74fe4e2784fe7a79d40e73cd

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