GithubHelp home page GithubHelp logo

jyejare / apix Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jacobcallahan/apix

0.0 1.0 0.0 65 KB

apix (API Explorer) is a tool for discovering, learning, and using API versions.

License: Other

Python 99.76% Dockerfile 0.24%

apix's Introduction

apix

apix (API Explorer) let's you quickly discover new APIs and versions. apix can also help you generate new versions of your API interaction libraries.

note: apix currently only supports APIs that have an Apipie-based apidoc. You can extend this functionality by creating your own parser class.

Installation

Clone the APIx repository and install it with pip. pip install .

Usage

usage: apix [-h] {explore,diff,makelib,list}

API Exploration

Explore a target API, saving all entities, methods, and parameters to a version file. If you don't specify a version, apix will save the results by date.

Examples:

apix explore --help

apix explore -n satellite -u https://my.sathost.com/ -b apidoc/ -v 6.2.14 -p apipie

apix explore -n satellite -u https://my.sathost.com/

Version Diff

apix can give you a diff between previously explored versions of an API. This is more helpful than performing a linux-style diff on the file, since it retains context. By default it will use the most recently explored API and the latest known versions (with dated version sorted to the bottom).

Examples:

apix diff --help

apix diff -n satellite -l 6.3 -p 6.2.14

apix diff -n satellite -l 6.3

apix diff -n satellite

apix diff

Library Maker

You can setup apix to populate any library you may be using to interact with your API. You will have to provide template files, as well as extend apix's code base to populate those templates. apix comes with the ability to populate Nailgun, a python library used for Satellite 6. Additionally, apix comes with three pre-made general purpose templates:

  • basic: This template does little more than let you interact with an API
  • intermediate: Building on basic, this will hold on to gained information
  • advanced: Bulding on intermediate, advanced will also try to resolve dependencies By default it will use the most recently explored API and the latest known versions (with dated version sorted to the bottom).

Examples:

apix makelib --help

apix makelib -n satellite -v 6.3 -t nailgun

apix makelib -n satellite -t advanced

apix makelib -t intermediate

List

apix can also list out the APIs and versions for an API that is currently knows about.

Examples:

apix list --help

apix list apis

apix list versions -n satellite

Docker

apix is also available with automatic builds on dockerhub. You can either pull down the latest, or a specific released version. Additionally, you can build your own image locally. You will want to mount the local apix directory to keep any data apix creates.

Examples:

docker build -t apix . or docker pull jacobcallahan/apix

docker run -it apix explore --help

docker run -it -v $(pwd):/apix/:Z apix explore -n satellite -u https://my.sathost.com/ -v 6.2.14

Note

This project only explicitly supports python 3.6+.

apix's People

Contributors

jacobcallahan avatar jyejare avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.