Metadata-Version: 2.1
Name: openapi-client-generator
Version: 1.0.8
Summary: OpenAPI Client Generator
Home-page: https://github.com/avanov/openapi-client-generator
Author: Maxim Avanov
Author-email: maxim.avanov@gmail.com
License: UNKNOWN
Keywords: utils typing json yaml openapi oas swagger schema serialization deserialization structured-data
Platform: UNKNOWN
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: POSIX
Requires-Dist: openapi-type (>=0.0.19)
Requires-Dist: deepmerge (<0.2,>=0.1.1)
Requires-Dist: typeit
Requires-Dist: jinja2
Requires-Dist: pyrsistent
Requires-Dist: inflection
Requires-Dist: requests
Requires-Dist: black
Provides-Extra: third_party
Requires-Dist: PyYAML (<5.5,>=5.3.1) ; extra == 'third_party'

.. _badges:

.. image:: https://github.com/avanov/openapi-client-generator/workflows/CI/badge.svg?branch=develop
    :target: https://github.com/avanov/openapi-client-generator/actions?query=branch%3Adevelop

.. image:: https://coveralls.io/repos/github/avanov/openapi-client-generator/badge.svg?branch=develop
    :target: https://coveralls.io/github/avanov/openapi-client-generator?branch=develop

.. image:: https://requires.io/github/avanov/openapi-client-generator/requirements.svg?branch=master
    :target: https://requires.io/github/avanov/openapi-client-generator/requirements/?branch=master
    :alt: Requirements Status

.. image:: https://readthedocs.org/projects/openapi-client-generator/badge/?version=latest
    :target: https://openapi-client-generator.readthedocs.io/en/latest/
    :alt: Documentation Status

.. image:: http://img.shields.io/pypi/v/openapi-client-generator.svg
    :target: https://pypi.python.org/pypi/openapi-client-generator
    :alt: Latest PyPI Release


OpenAPI Client Generator
========================

This CLI utility allows you to generate Python client packages from OpenAPI v3 specifications.
The project aims at supporting any generic valid specification.

Features
--------

* works on Python 3.8 and above;
* generates clients with type hints to aid static analysis of higher level interfaces that would use the clients;
* supports streaming endpoints.

Installation
------------

You can install it from PyPI:

.. code-block:: bash

    pip install openapi-client-generator

Afterwards, use a CLI utility called ``openapi-client-generator``:

.. code-block:: bash

    $ openapi-client-generator --help
    usage: openapi-client-generator [-h] [-V] {gen} ...

    OpenAPI Client Generator

    optional arguments:
      -h, --help     show this help message and exit
      -V, --version  show program's version number and exit

    sub-commands:
      valid sub-commands

      {gen}          additional help
        gen          Generate client for a provided schema (JSON, YAML).


Contributing
============

Cloning this repo
-----------------

The proper way to clone this repo is:

.. code-block:: bash

    git clone --recurse-submodules <repo-url> <local-project-root>
    cd <local-project-root>

    # for showing submodule status with `git status`
    git config status.submodulesummary 1

    # for logging submodule diff with `git diff`
    git config diff.submodule log


Test framework
--------------

The project uses `Nix <https://nixos.org/>`_ for bootstrapping its dev environment.

You can run existing test suite with

.. code::

   $ nix-shell --run "make test"


Documentation
-------------

Documentation is hosted on ReadTheDocs: https://openapi-client-generator.readthedocs.io/en/develop/


Changelog
---------

See `CHANGELOG <https://github.com/avanov/openapi-client-generator/blob/master/CHANGELOG.rst>`_.

LICENSE
-------

MIT


