CLI tool
Azure/azureml-examples avatar
Azure/azureml-examples

azureml-examples: Microsoft's CI-tested Azure ML reference, what it covers and where it stops

Official community-driven Azure Machine Learning examples, tested with GitHub Actions.

2,029 stars1,664 forksJupyter NotebookMIT

At a glance

What is it?
azureml-examples is Microsoft's official examples repository for Azure Machine Learning SDK v2, tested with GitHub Actions against live Azure infrastructure. It covers Python, .NET, TypeScript and R (via CLI), but has no releases and no version pinning, so examples track whatever the main branch holds.
Who is it for?
azureml-examples suits engineers learning Azure ML SDK v2 who want CI-tested, runnable code and are willing to follow the main branch rather than pin to a specific version. Skip it if you need frozen examples for an audited environment, if you need non-Python job code outside R, or if you do not yet have an Azure subscription and workspace to run against.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 2 days ago.
What is it written in?
Mainly Jupyter Notebook, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 6, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What the repository provides and what it requires before any example runs

azureml-examples is organized as a learning resource, not a library. Its purpose, stated in the README, is to help users learn Azure ML services and features through runnable code. Every example in the repository assumes that the user already has an Azure subscription, an Azure ML workspace, and either the relevant SDK or the Azure CLI installed.

No script in the repository creates a workspace automatically. The setup/ and infra/ directories exist at the top level, and the arm-templates/ folder contains ARM templates for deploying Azure resources. 2 shell scripts, deploy-arm-templates-az-cli.sh and deploy-arm-templates-rest.sh, deploy those templates through the Azure CLI and the REST API respectively. These are infrastructure scripts, not learning materials, and they help automate what would otherwise require manual steps in the Azure portal.

The README structure divides the repository into 2 primary entry points: the sdk/ folder for SDK examples across 3 languages, and the cli/ folder for Azure CLI extension examples. Tutorials for the v2 Python SDK are in a separate tutorials/ directory. The best-practices/ directory also exists in the repository root, but the README does not describe its contents. A .devcontainer/ configuration and a .gitmodules file in the root indicate that the repository uses a development container for contributors and includes at least 1 Git submodule, though neither is documented in the README.

Python SDK v2 dominates the example set; .NET and TypeScript get their own subfolders

Inside sdk/, 3 language-specific directories hold the examples: sdk/python, sdk/dotnet and sdk/typescript. The README singles out sdk/python with the phrase "extensive collection" and gives it its own link, while sdk/dotnet and sdk/typescript are listed without that qualifier. This wording difference is the only signal in the README about relative coverage across the three SDK languages.

All three paths target SDK v2. The README links to the Azure ML Python SDK v2 Overview and the Azure CLI ML extension v2 Overview as the reference documentation that sits alongside these examples. Earlier v1 SDK examples are not mentioned in the README, and no separate v1 directory appears in the top-level file list.

For new Azure ML users, the README suggests the tutorials/ directory as a starting point rather than jumping directly into sdk/python. Tutorials tend to be sequential and self-contained, which is a different structure from a folder of individual examples that each assume familiarity with the SDK. Reaching sdk/python directly first is reasonable for engineers who already understand Azure ML concepts and want code patterns for specific tasks.

The dotnet and typescript SDK examples exist as community resources for teams that cannot use Python. How comprehensive that coverage is cannot be determined from the README alone.

R and non-Python job submissions route through the CLI folder, not the SDK folder

When job code is not in Python, the Azure CLI extension is the documented path. R job examples sit at cli/jobs/single-step/r, which the README mentions explicitly. This is a structural decision: R does not have a dedicated SDK folder, and the only way to find R examples is through the CLI job structure.

A developer running R workloads on Azure ML therefore needs two reference points: the cli/ folder in this repository and the Azure CLI documentation at learn.microsoft.com. An R user who goes to sdk/ first finds nothing relevant.

No examples for other scientific computing languages appear in the README or in the top-level file list. Julia, Scala and Java are absent. The scope of non-Python language coverage in azureml-examples is R via CLI single-step jobs, and nothing else in the documented folder structure covers additional languages.

The cli/ folder also contains all CLI-based examples for Python jobs, which gives Python users two separate paths: the SDK examples in sdk/python and the CLI-driven examples in cli/. The README does not explain when to prefer one over the other.

GitHub Actions tests every example against live Azure infrastructure, not a mock

The repository description says it is "tested with GitHub Actions." The .github/ directory in the repository root holds the workflows. For an examples repository, testing against live infrastructure means the notebooks and scripts run in an actual Azure ML workspace rather than against a local mock or a recorded HTTP fixture.

This approach has a concrete benefit: examples that break when the Azure ML service changes get caught before they reach users. The last push to the main branch was on 2026-10-06, and if the CI tests passed at that push, the examples worked against the Azure ML service on that date. The repository has no GitHub releases, so 2026-10-06 is the only freshness indicator available.

The corresponding cost is that running CI requires an active Azure subscription. Teams that fork the repository and want to maintain their own test runs need Azure credentials configured in GitHub Actions secrets. The .github/ directory is in the repository but the README does not describe the CI configuration or what credentials are required to run it.

The dev-requirements.txt file and .pre-commit-config.yaml handle the development tooling side. Pre-commit hooks enforce formatting and validation checks before new code enters the repository, which is the contributor-facing side of the same quality pipeline.

No releases and no version pinning: examples track the main branch without a stable tag

azureml-examples has no GitHub releases. All examples are on the main branch with no version tags. A clone taken today picks up whatever state main is in, and a clone from six months ago may reference a different SDK pattern, a deprecated parameter or a changed API surface.

For teams running audited environments or following change management procedures, this matters. If the Azure ML Python SDK releases a breaking change, the examples in the repository get updated on main without a separately versioned snapshot to compare against. There is no stable tag to say "these examples worked with SDK version X."

The GitHub Actions pipeline mitigates this for users who follow main: if an example breaks, CI catches it and the fix goes to main. This suits teams that update their SDK continuously and want current patterns. It does not suit teams that pin SDK versions and need matching frozen example code.

An alternative pattern would be to pin azure-ai-ml or azure-cli-ml to a specific version in a requirements file and test against that pin. azureml-examples does not follow this pattern based on the repository structure; the dev-requirements.txt exists for contributors, not for end users of the examples.

Contributing through CONTRIBUTING.md under Microsoft Open Source governance

azureml-examples invites contributions. CONTRIBUTING.md holds the guidelines, and the project uses the Microsoft Open Source Code of Conduct, published at opensource.microsoft.com/codeofconduct/. CODE_OF_CONDUCT.md is in the repository root.

Being an official Azure organization repository means pull requests go through Azure ML team review rather than only community review. The "community-driven" framing in the description indicates that contributions originate from community members, but the approval process follows the guidelines in CONTRIBUTING.md.

For a contributor adding a new example, the practical question is whether the CI pipeline will run against their pull request and what Azure resources it needs. The README does not answer this; the answer is in CONTRIBUTING.md and in the .github/ workflow configuration.

The SECURITY.md file in the repository root handles vulnerability disclosure. ADOPTERS.md lists users of the project. MAINTAINERS.md names the project maintainers. The repository root has at least 6 governance and process files: CONTRIBUTING.md, CODE_OF_CONDUCT.md, SECURITY.md, ADOPTERS.md, MAINTAINERS.md and LICENSE, following the structure common to large Microsoft Azure open source repositories. These governance files follow the pattern common to large Microsoft open source repositories under the Azure organization.

What this repository does not substitute for: documentation, SDK installation and workspace setup

azureml-examples is a code companion, not a replacement for the Azure ML documentation. Every top-level README link points outward to docs.microsoft.com or learn.microsoft.com. The README explicitly lists the Azure Machine Learning Documentation at docs.microsoft.com/azure/machine-learning as a supplementary resource, along with the SDK and CLI overview pages.

The documentation site includes inline code samples, but they may not be runnable as-is without additional context. The examples repository provides CI-tested, cloneable code, which is the concrete difference from documentation samples. An engineer who needs to run something today and verify it works against their workspace can clone the repository and start from the tutorials/ folder more directly than assembling a working example from documentation prose.

The limitation worth stating directly: the repository cannot run without Azure infrastructure. An engineer evaluating Azure ML without a subscription cannot exercise these examples at all. Local execution is not supported by the examples structure; each example assumes connectivity to an Azure ML workspace. For teams without an existing Azure commitment, SageMaker examples from AWS and Vertex AI notebooks from Google offer an equivalent structure for their respective platforms, with the same Azure account dependency replaced by their own.

Editorial conclusion

azureml-examples suits engineers learning Azure ML SDK v2 who want CI-tested, runnable code and are willing to follow the main branch rather than pin to a specific version. Skip it if you need frozen examples for an audited environment, if you need non-Python job code outside R, or if you do not yet have an Azure subscription and workspace to run against. Before cloning, confirm the Azure CLI ML extension and the relevant SDK are installed, and start with the tutorials/ folder for the v2 Python SDK.

Frequently asked questions

What is azureml-examples?

azureml-examples is Microsoft's official examples and tutorials repository for Azure Machine Learning SDK v2. It contains runnable code for the Python, .NET and TypeScript SDKs, CLI-based examples, and tutorials for the v2 Python SDK, all tested with GitHub Actions.

Does azureml-examples require an Azure subscription?

Every example assumes an Azure subscription and an Azure ML workspace. The repository provides ARM templates and deployment scripts to help create infrastructure, but it does not provision anything automatically and local execution is not supported.

How do I get started with azureml-examples?

Clone the repository and start with the tutorials/ folder, which the README recommends for users new to Azure ML. The Python SDK v2 examples in sdk/python are the most extensive part of the repository. CLI examples are in the cli/ folder.

Are azureml-examples versioned or released?

No. The repository has no GitHub releases and no version tags. All examples are on the main branch, which is updated continuously and tested with GitHub Actions against live Azure infrastructure.

Where are R job examples in azureml-examples?

R single-step job examples are at cli/jobs/single-step/r. R has no dedicated SDK folder in the repository, so the CLI extension is the only documented path for R workloads.

Official sources

  1. Azure/azureml-examples on GitHub
  2. Issues
  3. License: MIT
  4. Project website
  5. README
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/azure-azureml-examples.svg)](https://hysenlabs.com/projects/azure-azureml-examples)