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 Architecure

SDK Features Support

Component Feature .net Java JS ObjC Powershell PHP Ruby Python Go
Middleware                    
  Pipeline          
  Authorization Handler          
  Retry Handler          
  Redirect Handler          
  Compression 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                  
Graph Components                    
  Client Factory          
  Response Handling              
Tasks                    
  File Upload            
  Page Iterator          
Providers                    
  Authentication J / A          
  Logging                  

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

Supported Languages

.Net

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

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 msgraph-sdk-java-auth  
Auth msgraph-sdk-android-auth  

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
All msgraph-sdk-python  

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.