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
  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                  
  Batch Request Content          
  Batch Response Content          
  Multipart Content              
  Error Content         N        
Graph Components                    
  Client Factory    
  Response Handling            
  File Upload          
  Page Iterator          
  Logging         N        

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

Supported Languages


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


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


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


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  


Role Repo Packages
Service+Models msgraph-sdk-php  


Role Repo Packages
All msgraph-sdk-ruby  


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


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 with any additional questions or comments.