Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

APIMatic CLI

PyPI version Build Status

Overview

This command line tool serves as a wrapper over APIMatic's Python SDK allowing API providers to generate deployment ready SDKs of their APIs for ten platforms using a single command. The following functions are supported:

  • Generate an SDK
  • Validate an API description
  • Transform an API description

Installation

The quickest way is to install this tool as a package from pip:

pip install --upgrade apimatic-cli

If you prefer not to use pip, you can install it manually as well:

git clone https://github.com/apimatic/apimatic-cli.git
cd apmiatic-cli
python setup.py install

Alternatively, you can run this tool without installation:

git clone https://github.com/apimatic/apimatic-cli.git
cd apmiatic-cli
pip install -r requirements.txt

It's highly recommended to use a virtual enviroment if you choose to go this way.

Usage

If you installed using pip, you can simply invoke the tool by typing:

apimatic-cli -h

Otherwise, if you chose not to install, make sure you're in the root folder of the repository and type:

python -m apimaticcli -h

Changing the APIMatic API

You can use the following option to change the base URL for the api

--api The URL of the APIMatic API e.g http://staging.apimatic.io/api.

To use this tool, you have to provide two positional arguments:

  • command (generate, validate or transform)
  • authentication type (fromapikey, fromuser or fromauthkey)

For information about further required or optional arguments, you can type -h as follows:

apimatic-cli generate fromapikey -h

Options

Here is a list of all available options. You're going to be using a subset of these depending on the positional arguments you use.

-h or --help                 Displays the help text and exists.
--api-key                    The API key of the API description obtained from APIMatic.
--platform                   The platform for which the SDK needs to be generated. It can be one of:
                             cs_portable_net_lib, java_eclipse_jre_lib, java_gradle_android_lib,
                             objc_cocoa_touch_ios_lib, angular_javascript_lib, ruby_generic_lib,
                             python_generic_lib, php_generic_lib, node_javascript_lib, go_generic_lib
--download-to                The path of the folder in which to download the file.
--name                       The name of the generated SDK.
--email                      The email address of the user's APIMatic account.
--password                   The password of the user's APIMatic account.
--auth-key                   The authentication key of the user's APIMatic account.
--url                        The URL of the API description.
--file                       The path of the API description file.
--format                     The format to convert the API description to. It can be one of:
                             APIBluePrint, Swagger10, Swagger20, SwaggerYaml, WADL2009, RAML, APIMATIC
--download-as                The name (and extension) of the downloaded file.
--skip-unzip                 Unzipping of downloaded SDKs is skipped if this option is used.

On-Premises

If you are using APIMatic On Premises only the fromuser with --file command would work. You'd need to provide the api route using the --api flag as shown in the example below.

The default password and email in the example below do not need to be changed

Example

Generate a Python SDK using user credentials and an API description file and skip unzipping on premises


apimatic-cli --api <your API url e.g http://localhost:12345/api> generate fromuser --email admin@example.com --password admin --name TestSDK --file ./data/calculator.json --platform java_eclipse_jre_lib --download-to ./SDKs --skip-unzip


Examples

Generate a C# SDK using an API integretation key:

apimatic-cli generate fromapikey --api-key <your key> --platform cs_portable_net_lib --download-to ./SDKs

Generate a Python SDK using user credentials and an API description file and skip unzipping:

apimatic-cli generate fromuser --email <your APIMatic account email> --password <your APIMatic account password> --name TestSDK --file ./data/calculator.json --platform python_generic_lib --download-to ./SDKs --skip-unzip

Generate a Ruby SDK using a user authentication key and an API description URL and rename the downloaded SDK:

apimatic-cli generate fromauthkey --auth-key <your APIMatic account authentication key> --name TestSDK --url http://www.somewebsite.com/apidescription.json --platform ruby_generic_lib --download-to ./SDKs --download-as CustomName

Validate an API description using an API integration key:

apimatic-cli validate fromapikey --api-key <your key>

Validate an API description using a user authentication key and an API description file:

apimatic-cli validate fromauthkey --auth-key <your APIMatic account authentication key> --file ./data/calculator.json

Validate an API description using user credentials and an API description URL:

apimatic-cli validate fromuser --email <your APIMatic account email> --password <your APIMatic account password> --url http://www.somewebsite.com/apidescription.json

Transform an API description to API Blueprint 1A format using an API integretation key:

apimatic-cli transform fromapikey --api-key <your key> --format APIBluePrint

Transform an API description to APIMatic format using user credentials and an API description file:

apimatic-cli transform fromuser --email <your APIMatic account email> --password <your APIMatic account password> --file ./data/calculator.raml --format APIMATIC

Transform an API description to Swagger v2.0 (YAML) format using a user authentication key and an API description URL:

apimatic-cli transform fromauthkey --auth-key <your APIMatic account authentication key> --url http://www.somewebsite.com/apidescription.json --format SwaggerYaml

About

A CLI for APIMatic to validate and transform API specs and to create client libraries.

Resources

License

Packages

No packages published

Languages

You can’t perform that action at this time.