The Open Source Community Tooling Built on API Blueprint

Last on my list of API specifications to profile is API Blueprint. Once, one of the more promising API specifications leading the API design first charge, post acquisition there isn't a whole lot of forward motion. However, API Blueprint still provides a pretty compelling view of the landscape, and is worth tuning into to understand what is happening. Here are the API Blueprint open source tools I harvested from the GitHub API and organized by stop along the API life cycle they are serving.

Specification

  • api blueprint - (forks: 2095) (stars: 7969) (watchers: 7969) - api blueprint

Generators

  • aglio - (forks: 489) (stars: 4480) (watchers: 4480) - an api blueprint renderer with theme support that outputs static html
  • laravel blueprint docs - (forks: 27) (stars: 204) (watchers: 204) - api blueprint renderer for laravel, customizable via blade templates

Toolchains

  • snowboard - (forks: 100) (stars: 641) (watchers: 641) - api blueprint toolkit

Converters

  • api spec converter - (forks: 91) (stars: 616) (watchers: 616) - convert api descriptions between popular formats such as openapi(fka swagger), raml, api blueprint, wadl, etc.
  • apiary2postman - (forks: 25) (stars: 188) (watchers: 188) - tool for generating a postman collection from blueprint api markup or the apiary api
  • blueman - (forks: 18) (stars: 143) (watchers: 143) - convert a generated api blueprint json file into a postman collection
  • swagger2blueprint - (forks: 9) (stars: 98) (watchers: 98) - convert swagger api descriptions into api blueprint
  • pmtoapib - (forks: 1) (stars: 33) (watchers: 33) - tool to convert postman collection exports to api blueprint documentation
  • postman2apiary - (forks: 10) (stars: 22) (watchers: 22) - tool for generating blueprint api markup or the apiary api from a postman collection.
  • apib2json - (forks: 10) (stars: 14) (watchers: 14) - a command-line utility for convert api blueprint to json schema
  • apib2json - (forks: 10) (stars: 14) (watchers: 14) - a command-line utility for convert api blueprint to json schema

Mocking

  • api mock - (forks: 63) (stars: 492) (watchers: 492) - creates a mock server based on an api blueprint
  • drakov - (forks: 120) (stars: 458) (watchers: 458) - mock server that implements the api blueprint specification
  • node hariko - (forks: 6) (stars: 36) (watchers: 36) - mock server that implements the api blueprint specification.
  • apish - (forks: 2) (stars: 33) (watchers: 33) - easily mock server from api blueprint or swagger

Parsers

  • snowcrash - (forks: 58) (stars: 378) (watchers: 378) - api blueprint parser
  • protagonist - (forks: 23) (stars: 335) (watchers: 335) - protagonist is node.js wrapper for the api blueprint parser
  • drafter - (forks: 56) (stars: 274) (watchers: 274) - api blueprint parser (c++)
  • drafter.js - (forks: 10) (stars: 50) (watchers: 50) - api blueprint parser in js
  • drafter php - (forks: 7) (stars: 31) (watchers: 31) - php wrapper for https://github.com/apiaryio/drafter api blueprint parser
  • drafter npm - (forks: 5) (stars: 31) (watchers: 31) - node api blueprint parser
  • phpdraft - (forks: 4) (stars: 31) (watchers: 31) - an api blueprint parser in php
  • plueprint - (forks: 9) (stars: 23) (watchers: 23) - api blueprint python parser

Formatting

  • iglo - (forks: 26) (stars: 335) (watchers: 335) - api blueprint's formatter

Documentation

  • blueprint - (forks: 87) (stars: 260) (watchers: 260) - generate valid api blueprint documentation
  • rspec_api_blueprint - (forks: 47) (stars: 120) (watchers: 120) - autogeneration of api documentation using the blueprint format from request specs.
  • blueprint docify - (forks: 7) (stars: 134) (watchers: 134) - autogenerate api blueprint documentation with ci for github pages access
  • docprint - (forks: 9) (stars: 49) (watchers: 49) - generates documentation from api-blueprint files. see
  • hiro - (forks: 4) (stars: 48) (watchers: 48) - generates html from api blueprints using the snow crash command line tool drafter and iglo.

Plugins

  • api blueprint sublime plu - (forks: 19) (stars: 170) (watchers: 170) - api blueprint sublime text plugin
  • Paw APIBlueprintGenerator - (forks: 16) (stars: 32) (watchers: 32) - paw extension providing support to export api blueprint as a code generator.

IDE

  • vscode apielements - (forks: 12) (stars: 119) (watchers: 119) - vscode extensions for api elements (aka: api blueprint and swagger)
  • atom api blueprint previe - (forks: 20) (stars: 45) (watchers: 45) - live preview api blueprint in atom

Command Line Interface

  • apiblueprint.vim - (forks: 10) (stars: 108) (watchers: 108) - this vim plugin brings syntax highlighting and linting for api blueprint.
  • hiro - (forks: 4) (stars: 48) (watchers: 48) - generates html from api blueprints using the snow crash command line tool drafter and iglo.

Testing

  • vigia - (forks: 9) (stars: 96) (watchers: 96) - adaptable api integration test suite that supports api blueprint and raml files
  • APIFuzzer - (forks: 22) (stars: 71) (watchers: 71) - fuzz test your application using your swagger, openapi or api blueprint definition without coding
  • dredd rack - (forks: 10) (stars: 47) (watchers: 47) - the dredd api blueprint testing tool for your rack applications.

Code Generation

  • api2symfony bundle - (forks: 8) (stars: 53) (watchers: 53) - not longer maintained - symfony2 bundle allowing to automatically generate controllers from standard api specifications (raml, blueprint, swagger...)
  • grape apiary - (forks: 25) (stars: 43) (watchers: 43) - allows for generating an apiary blueprint (http://apiary.io) for you grape api

Validation

  • fitting - (forks: 2) (stars: 33) (watchers: 33) - rspec matchers for controller response validation against api blueprint documentation
  • api blueprint validator - (forks: 16) (stars: 17) (watchers: 17) - apiary api blueprint validator
  • bluth - (forks: 2) (stars: 17) (watchers: 17) - validates payloads against a specified json schema within your api blueprint

The tooliing available around API Blueprint provides a minmalist view at what is needed when it comes to the APII lifecycle. It is the basics of what you need to be API-first. If the specification hadn't been acquired as part of the Oracle acquisition of Apiary, the tooling would have continued to evolve. While not a leading contender in the space, I still look back at API Blueprint with.