Skip to content

microsoftgraph/msgraph-sdk-design

Repository files navigation

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

ComponentFeature.netJavaJSPowershellPHPRubyPythonGoTS
Middleware
Pipeline
Authorization Handler
Retry Handler
Redirect Handler
Request compression Handler
Response decompression HandlerNNNN
Logging Handler (PowerShell only since other languages implement Observability/OTEL )N/AN/AN/AN/AN/AN/AN/A
Telemetry Handler
Connection Management
Long Running Operations
Chaos HandlerO
Sunset Handler
Headers Inspection Handler
Parameters Name Decoding HandlerN/A
Service Discovery Handler
Content
Batch Request Content
Batch Response Content
Multipart Content
Error ContentN
Graph Components
Client Factory
Response Handling
Tasks
File Upload
Page Iterator
Providers
Authentication
LoggingN

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

NOTE: additionally all handler should provide observability and tracing support through Open Telemetry. More information

Supported Languages

.NET

RoleRepoPackages
Service+Modelsmsgraph-sdk-dotnetNuget
Coremsgraph-sdk-dotnet-coreNuget
AuthAzure IdentityNuget
Betamsgraph-beta-sdk-dotnetNuget

Go

RoleRepoPackages
Service+Modelsmsgraph-sdk-gopkg.go.dev
Coremsgraph-sdk-go-corepkg.go.dev
Authazure-identitypkg.go.dev
betamsgraph-beta-sdk-gopkg.go.dev

Javascript

RoleRepoPackages
Service+Coremsgraph-sdk-javascript
Modelsmsgraph-typescript-typings

Java

RoleRepoPackages
Service+Modelsmsgraph-sdk-javaMaven Central
Coremsgraph-sdk-java-coreMaven Central
Authazure-identityMaven Central
betamsgraph-beta-sdk-javaMaven Central

Java Core is based on the OkHttp.

PHP

RoleRepoPackages
Service+Modelsmsgraph-sdk-php
Coremsgraph-sdk-php-core
betamsgraph-sdk-php-beta

Ruby

RoleRepoPackages
Allmsgraph-sdk-ruby

Python

RoleRepoPackages
Service+Modelsmsgraph-sdk-pythonPyPI
Coremsgraph-sdk-python-corePyPI
betamsgraph-beta-sdk-pythonPyPI

Issues

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

Copyright and license

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.

About

Requirements and design documents for Microsoft Graph SDKs

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

close