Skip to content
forked from Azure/autorest

OpenAPI (f.k.a Swagger) Specification code generator. Supports C#, Go, Java, Node.js, TypeScript, Python, Ruby and PHP.

License

Notifications You must be signed in to change notification settings

markfuller/autorest

 
 

Repository files navigation

AutoRest
Repo Status

The AutoRest tool generates client libraries for accessing RESTful web services. Input to AutoRest is a spec that describes the REST API using the Open API Initiative format.

Support Policy

AutoRest is an open source tool -- if you need assistance, first check the documentation. If you find a bug or need some help, feel free to submit an issue

AutoRest will release a stable version on the second Wednesday of the month.

Using npm you can upgrade to the latest stable version of AutoRest:

# Install latest autorest package
npm install -g autorest

# Update the generator plugins to the latest stable version
autorest --reset

You can still access the nightly build of the generator plugins by using --prerelease on the autorest command line:

# install the latest nightly autorest generators 
autorest --latest --prerelease 

# revert back to the latest stable release of autorest generators:
autorest --reset 

If you're living life on the edge (and know what you're doing!) you can access the next version of the main autorest package from npm:

# install the 'next' version of the autorest package 
npm install autorest@next 

# revert to the 'stable' version of the autorest package 
npm install autorest@latest 

Features-in-progress in AutoRest will be found in the 'next' version, and use at your own risk :D

What's Next

The finishing touches on the extension model are being made right now in the @next version of autorest, which will make it possible to install and manage extensions on a fine-grained level, as well as being able to publish a plugin written in different languages.

We've already started on the path to OpenAPI 3 support, a new code modeler, which will lead to generators for some languages, and new language support!

Installing Autorest

Installing AutoRest on Windows, MacOS or Linux involves two steps:

  1. Install Node.js (7.10.0 or greater)

for more help, check out Installing Node.JS on different platforms

  1. Install AutoRest using npm
# Depending on your configuration you may need to be elevated or root to run this. (on OSX/Linux use 'sudo' )
npm install -g autorest

Updating Autorest

To update AutoRest if you have previous versions installed, please run:

autorest --latest

or

# Removes all other versions and installs the latest
autorest --reset

For more information, run autorest --help

Status on various platforms:

OS Status
Windows x64 Verified - Working
OSX 10.11 x64 Verified - Working (may have to install openssl manually?)
Ubuntu 14.04 x64 (any) Verified - Working -- use the following commands first:
sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get install libunwind8 libicu52 -y
Ubuntu 16.04 x64 (desktop) Verified - Working
Ubuntu 16.04 x64 (server or via BashForWindows/WSL) Verified - Working -- use the following commands first:
sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get install libunwind8 -y
Ubuntu 16.10 x64 Verified - Working -- use the following commands first:
sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get install libunwind8 -y && wget http://mirrors.kernel.org/ubuntu/pool/main/i/icu/libicu55_55.1-7_amd64.deb && sudo dpkg -i libicu55_55.1-7_amd64.deb

Other Linux platforms might work -- if the platform is listed https://github.com/Azure/autorest/releases/tag/dotnet-runtime-1.0.4 -- there is a fairly good chance that it'll work. As more testing is completed, we'll ensure that we update the status here.

Getting Started using AutoRest image

Start by reading the documentation for using AutoRest:

Developers image

Get yourself up and coding in AutoRest

Some information about the internal AutoRest architecture (may need updating!):


Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

About

OpenAPI (f.k.a Swagger) Specification code generator. Supports C#, Go, Java, Node.js, TypeScript, Python, Ruby and PHP.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 45.7%
  • Java 24.0%
  • JavaScript 21.1%
  • Python 6.4%
  • TypeScript 1.4%
  • Ruby 0.6%
  • Other 0.8%