Skip to the content.

Microsoft Graph SDKs - Requirements and Design

This repository holds documents related to current and on-going work on Microsoft Graph SDKs. The following diagram shows a high level view of the SDK component architecture. The goal is to enable developers to opt-into functionality that they wish to use. Over time all the SDKs will be adapted to follow this pattern.

Component Architecture

SDK Features Support

Component Feature .net Java JS ObjC Powershell PHP Ruby Python Go
Middleware                    
  Pipeline    
  Authorization Handler     N/A
  Retry Handler    
  Redirect Handler    
  Request compression Handler                  
  Response decompression Handler N N N        
  Logging Handler O              
  Telemetry Handler    
  Connection Management                  
  Long Running Operations                  
  Chaos Handler   O            
  Service Discovery Handler                  
Content                    
  Batch Request Content          
  Batch Response Content          
  Multipart Content              
  Error Content         N        
Graph Components                    
  Client Factory    
  Response Handling            
Tasks                    
  File Upload          
  Page Iterator          
Providers                    
  Authentication      
  Logging         N        

✓ - Completed
O - In progress N - Native library support

Supported Languages

.NET

Role Repo Packages
Service+Models msgraph-sdk-dotnet Nuget
Core msgraph-sdk-dotnet-core Nuget
Auth msgraph-sdk-dotnet-auth Nuget
Beta msgraph-beta-sdk-dotnet Nuget

Go

Role Repo Packages
Service+Models msgraph-sdk-go pkg.go.dev
Core msgraph-sdk-go-core pkg.go.dev
Auth azure-identity pkg.go.dev
beta msgraph-beta-sdk-go pkg.go.dev

Javascript

Role Repo Packages
Service+Core msgraph-sdk-javascript  
Models msgraph-typescript-typings  

Java

Role Repo Packages
Service+Models msgraph-sdk-java  
Core msgraph-sdk-java-core  
Auth azure-identity  
beta msgraph-beta-sdk-java  

Java Core is based on the OkHttp.

Objective C

Role Repo Packages
Core msgraph-sdk-objc  
Auth msgraph-sdk-objc-auth  
Models msgraph-sdk-objc-models  

PHP

Role Repo Packages
Service+Models msgraph-sdk-php  

Ruby

Role Repo Packages
All msgraph-sdk-ruby  

Python

Role Repo Packages
Core msgraph-sdk-python-core PyPI

Issues

View or log issues on the Issues tab in the repo.

Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT license.

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.