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 | 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
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 | 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 |
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.
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 opencode@microsoft.com with any additional questions or comments.