Skip to main content

A command line interface for APIMatic.

Project description

# APIMatic CLI

[![PyPI version](https://badge.fury.io/py/apimatic-cli.svg)](https://badge.fury.io/py/apimatic-cli)
[![Build Status](https://travis-ci.org/apimatic/apimatic-cli.svg?branch=master)](https://travis-ci.org/apimatic/apimatic-cli)

### 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](http://docs.python-guide.org/en/latest/dev/virtualenvs/) 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
```

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.
```

### 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
```


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

apimatic-cli-2.5.tar.gz (20.0 kB view details)

Uploaded Source

Built Distribution

apimatic_cli-2.5-py3-none-any.whl (30.7 kB view details)

Uploaded Python 3

File details

Details for the file apimatic-cli-2.5.tar.gz.

File metadata

  • Download URL: apimatic-cli-2.5.tar.gz
  • Upload date:
  • Size: 20.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.5.2

File hashes

Hashes for apimatic-cli-2.5.tar.gz
Algorithm Hash digest
SHA256 2b91f3071d06d2672702351edc44d357c3f68bd2855ca38dba428a138e9447f6
MD5 c3fba45cdfeac281331c45e41dae5127
BLAKE2b-256 620dae27d93b86c49bbce10455a968f316d36b4e179a84192ad7cbd32d1189e6

See more details on using hashes here.

File details

Details for the file apimatic_cli-2.5-py3-none-any.whl.

File metadata

  • Download URL: apimatic_cli-2.5-py3-none-any.whl
  • Upload date:
  • Size: 30.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.5.2

File hashes

Hashes for apimatic_cli-2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 9a30c1287c28dd45ab15c3d186853c7ab000fa564129975b84e80e2fc13d48d4
MD5 4e07f3e81dbcda7678e69b138ce048d9
BLAKE2b-256 c22cfbe52736e003d19f3854e78bcdfa69e29433b63305782f32d4fb7c1ed1b3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page