SdkGenerator 1.1.9

There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global SdkGenerator --version 1.1.9                
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest # if you are setting up this repo
dotnet tool install --local SdkGenerator --version 1.1.9                
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=SdkGenerator&version=1.1.9                
nuke :add-package SdkGenerator --version 1.1.9                

NuGet

Swashbuckle SDK Generator

This program allows you to generate a hand-optimized software development kit for different programming languages for your REST API.

This opinionated software makes assumptions about your API and attempts to create a SDK that matches good practices in each programming language. The OpenAPI / Swagger spec permits lots of different ways of doing things; this tool is intended to work only with commonly seen use cases.

Using this program

Here's how to use this program.

  1. Install the program using NuGet
> dotnet tool install --global SdkGenerator
  1. Create a project file, then fill out all the values you want to use in it
> sdkgenerator create -p .\myapi.json
  1. Run the program and build a single language OR build all languages
> sdkgenerator build -p .\myapi.json

You can automate these steps in a Github workflow to execute this program automatically on new releases.

Supported Languages

Language Supported Github Workflows Notes
C# Yes Automated Most complete support
Dart In Progress No In development
Java Yes No
Python Yes No
Ruby In Progress No Somewhat supported
TypeScript Yes No

Supported Tools

Language Supported Notes
Readme Yes Markdown-formatted documentation can upload to Guide pages
Workato Partially Somewhat supported

OpenAPI assumptions

Examples of assumptions about OpenAPI made by this program:

  • Only supports OpenAPI 3.0
  • Your server supports GZIP encoding and HTTPS connection pooling
  • An endpoint returns only a single data type and a single error type
  • Each API has a single-word category, a four-word title, and a long remarks section that is a description
  • You have a list of public environments (e.g. production, sandbox) that are documented in the SDK
  • For test environments or dedicated servers, an SDK user must define a custom environment URL
  • Enums are sometimes unsafe for SDK usage; all enums are converted to integers or strings
  • Nobody intentionally adds HttpStatusCode to their swagger file; if it appears, ignore it
  • Each API has a unique summary value in the swagger file which will be used as method names for the SDK

Attribution

Puzzle icons created by Freepik - Flaticon

Product Compatible and additional computed target framework versions.
.NET net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last updated
1.3.8 93 10/30/2024
1.3.7 130 10/20/2024
1.3.6 117 10/18/2024
1.3.5 105 10/5/2024
1.3.4 80 9/30/2024
1.3.3 104 9/13/2024
1.3.2 106 9/3/2024
1.3.1 134 8/18/2024
1.3.0 125 8/13/2024
1.2.9 114 8/13/2024
1.2.8 116 8/13/2024
1.2.7 124 8/13/2024 1.2.7 is deprecated because it has critical bugs.
1.2.6 110 7/25/2024 1.2.6 is deprecated because it has critical bugs.
1.2.5 194 3/14/2024
1.2.4 191 2/10/2024
1.2.3 210 1/29/2024
1.2.2 201 1/12/2024
1.2.1 319 10/22/2023
1.2.0 268 10/11/2023
1.1.9 246 10/9/2023
1.1.8 219 9/14/2023
1.1.7 226 9/10/2023
1.1.6 315 8/22/2023
1.1.5 263 8/22/2023
1.1.4 269 8/22/2023
1.1.3 275 8/22/2023
1.1.2 184 8/22/2023
1.1.2-beta 186 8/22/2023
1.1.1 171 8/19/2023
1.1.0 146 8/18/2023
1.0.0 194 7/28/2023

# 1.1.9
     October 9, 2023

     * Improvements for patch notes generation
     * Cleaned up the Python export to use the latest idioms and to work with single-result-object