Skip to main content

A command line interface for APIMatic.

Project description

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

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.3.tar.gz (18.0 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: apimatic-cli-2.3.tar.gz
  • Upload date:
  • Size: 18.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for apimatic-cli-2.3.tar.gz
Algorithm Hash digest
SHA256 abf51be60af7d1576b21fb85c0209503939b921efe52b34fe00d62f829d12568
MD5 c19ffb0908631613930c6d45edce732d
BLAKE2b-256 c594c5368ebf719727b90ac77f81a227c9bc42b5119c9c63aa53784c3c75e8e2

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