Skip to main content

OpenAPI specification validator and converter to Marshmallow schemas.

Project description

Schema-First

Validate and convert OpenAPI specification via Marshmallow schemas to Marshmallow schemas.

Features

  • OpenAPI specification validate.
  • Convert OpenAPI schemas to Marshmallow schemas.

Installation

Recommended using the latest version of Python. Schema-First supports Python 3.14 and newer.

Install and update using pip:

$ pip install -U schema_first

Example

Create specification - openapi.yaml:

openapi: 3.1.1
info:
    title: Example API for testing Flask-First
    version: 1.0.1
paths:
    /endpoint:
        get:
            operationId: endpoint
            responses:
                '200':
                    content:
                        application/json:
                            schema:
                                properties:
                                    message:
                                        type: string
                                type: object
                    description: OK

Create script - main.py:

from pathlib import Path
from pprint import pprint

from schema_first.specification import Specification

spec_file = Path('openapi.yaml')
spec = Specification(spec_file)
spec.load()

pprint(spec.reassembly_spec)
print(
    'Marshmallow schema generated from OpenAPI schema',
    spec.reassembly_spec['paths']['/endpoint']['get']['responses']['200']['content'][
        'application/json'
    ]['schema'],
)

More example see to ./example folder.

Additional documentation

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

schema_first-0.11.1.tar.gz (13.0 kB view details)

Uploaded Source

Built Distribution

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

schema_first-0.11.1-py3-none-any.whl (21.3 kB view details)

Uploaded Python 3

File details

Details for the file schema_first-0.11.1.tar.gz.

File metadata

  • Download URL: schema_first-0.11.1.tar.gz
  • Upload date:
  • Size: 13.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for schema_first-0.11.1.tar.gz
Algorithm Hash digest
SHA256 7c0d618f558963d23401661ef8b533aef430f01fc8c02abf27dc6c9a824ffcfa
MD5 d436bb8a97b5f9110cb7cbe1c459eb64
BLAKE2b-256 7d86df893daa69e85afb22fdbbd76d4f10370c6ee976e062e475895f614841e8

See more details on using hashes here.

File details

Details for the file schema_first-0.11.1-py3-none-any.whl.

File metadata

  • Download URL: schema_first-0.11.1-py3-none-any.whl
  • Upload date:
  • Size: 21.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for schema_first-0.11.1-py3-none-any.whl
Algorithm Hash digest
SHA256 01bc89340f90e1c769191f96a3db6aa65a854572cb9ee42e54d7ec93557bdd56
MD5 2e5c8b9efb721abaae5c1bcab943f311
BLAKE2b-256 1d618bdde5960e487e54ad2d3b03e96ced07af7c3b17c5e718d1687fe5177bd9

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