[Home]

Summary:ASTERISK-22517: ARI Client Libraries
Reporter:Matt Jordan (mjordan)Labels:
Date Opened:2013-09-12 20:29:10Date Closed:2014-10-14 14:42:13
Priority:MajorRegression?No
Status:Closed/CompleteComponents:Resources/res_ari
Versions:12.0.0-alpha1 Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:After some initial investigation, the following is the proposed plan by @dlee to develop the prototype client libraries:

# Publish SwaggerPy to the GitHubz
** Submit to PyPI
# Python client development
** Refactor to use SwaggerPy
** Clean up object model
** Tie events back to source objects
** Clean up for submission to PyPI
# JavaScript client
** Refactor to use Swagger.js
** Clean up object model
** Tie events back to source objects
** npm submit
# Other clients
** Implement Mustache based code generator
** Refactor Perl API to use the Mustache codegen (or drop it)
** Refactor Asterisk code generator to use SwaggerPy

Each portion of this plan can be done relatively independently. The initial focus for the work will be to develop the Python API, as it integrates the best with the Asterisk Test Suite. JavaScript will be next; Perl may or may not be done depending on the need.
Comments:By: Matt Jordan (mjordan) 2013-09-12 20:38:13.516-0500

For now, we'll hold off on Step 4 until 1 through 3 are done or at least reasonably far enough along to gauge the amount of work it would take to do a Perl library.

By: David M. Lee (dlee) 2013-10-28 11:55:37.440-0500

A Python client library is now available.

We have [Swagger.py|https://github.com/digium/swagger-py], which is a generic Python client library for Swagger enabled API's.

And we have [ari-py|https://github.com/asterisk/ari-py], which is an ARI specific wrapper around Swagger.py, which provides some first class objects for {{Channel}}, {{Bridge}}, etc.