Skip to content
Azure SDK
Branch: master
Clone or download
adrianhall Rewrite of the general guidelines (#355)
* Initial rev. of general guidelines v1.0.0

* Completed rewrite first pass

* Added credentials

* Added namespace requirements

* Fixed header validation of the TOC

* Formatting fixes

* #297 Added common library requirements

* Added linter requirements

* Customer -> Consumer

* Update docs/design/general/OpenSource.mdk

Co-Authored-By: Jonathan Giles <>

* Fixes from @JonathanGiles review

* Apply suggestions from code review

Fixes from @JonathanGiles

Co-Authored-By: Jonathan Giles <>

* Fixed from KCwalina review

* Added value as property guideline per 5/15 board meeting decision

* Updates from @bterlson

* More updates from @bterlson

* Apply suggestions from code review

Updates from @JonathanGiles review

Co-Authored-By: Jonathan Giles <>

* Fixes suggested by @JeffreyRichter

* Code Review from mmacy changes

Co-Authored-By: Marsh Macy <>

* Use Sentance casing for titles

* OpenCensus was moved to OpenTelemetry

* Clarified use of common library

* Updated response downloaded policy

* Tagging with MICROSOFT INTERNAL for internal sites
Latest commit c870aaf May 22, 2019

Azure SDK

The Azure SDK delivers a platform for developers to leverage the wide variety of Azure services in their language of choice. The source for the client libraries exists for the most part in repositories for each language. This repository is meant to be a jumping off point into those language specific repositories. Issues related to a specific language should be opened in the corresponding repository but cross cutting issues can be opened in this repository.

Language Guidelines Repo
C# /.NET Link azure-sdk-for-net
Java Link azure-sdk-for-java
JavaScript Link azure-sdk-for-js
Python Link azure-sdk-for-python
Go azure-sdk-for-go

Service teams should schedule reviews of their client libraries with the ADP Review Board. See the Review Process for more information.


  • SDK: Software Development Kit. This refers to the entire Azure SDK for a single language, itself broken up into numerous Azure SDK Client Libraries (as defined below).

  • Client Library. This refers to a library (and associated tools, documentation, and samples) that customers/developers use to ease working with an Azure service. There is often one client library per service and per programming language. Sometimes a single client library will contain the ability to connect to multiple services. Each client library is published separately to the appropriate language-specific package repository. These releases are performed exclusively by the Azure SDK engineering systems team. Customers/Developers consume and use each client library separately as necessary to solve their use case.

  • Package. This refers to a client library after it has been packaged for distribution for customer-developers to consume. Examples are:

    • A Nuget package for a .NET client library
    • A Maven package for a Java library
    • An NPM package for a JavaScript library
    • A Python wheel for a Python library

Azure Service Libraries

The following is a list of Azure services and links to their open source code:

Client Libraries

Service Name .NET Java Python JavaScript Go
Azure Storage code code code code code
CosmosDB code code code
Key Vault code code code code
Service Bus code code code code
Event Hubs code code code code
IotHub, Iot Devices, IotHub Provisioning Service, IotHub Provisioning Device code code code code
Event Grid code code code code
Batch code code code code
HDInsight code code code code code
Notification Hubs
Application Insights Ingestion code code code code
Application Insights Query code code code code
Log Analytics Ingestion
Log Analytics Query code code code code
Service Fabric
Data Lake Analytics code code code code
Data Lake Store code code code
Azure Search code
Relay code code
Cognitive Services code code code code


This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

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.

Internal azure-sdk DevOps Wiki

You can’t perform that action at this time.