---
title: "Azure Cosmos DB for Python: review, setup & limitations · Undominated.ai"
canonical: https://undominated.ai/skills/microsoft-azure-cosmos-py/
description: "Use Cosmos DB NoSQL clients for partition-aware document operations and parameterized queries."
---

# Azure Cosmos DB for Python: review, setup & limitations · Undominated.ai

> Use Cosmos DB NoSQL clients for partition-aware document operations and parameterized queries.

[← Explore all skills](/skills/)

DATABASES / microsoft

# Azure Cosmos DB for Python

Use Cosmos DB NoSQL clients for partition-aware document operations and parameterized queries.

 [See setup guidance ↓](#setup)[Original source ↗](https://github.com/microsoft/skills/tree/fc164ba1d7a0c10377dbcc1c9ac07253b9329fdb/.github/plugins/azure-sdk-python/skills/azure-cosmos-py)

SOURCE REVIEW

 Reviewed 2026-10-15
 Evidence 4 linked sources
 Publisher microsoft
 Licence [MIT ↗](https://github.com/microsoft/skills/blob/fc164ba1d7a0c10377dbcc1c9ac07253b9329fdb/LICENSE)
 Revision fc164ba1d7a0
 [Read what was—and wasn’t—checked ↓](#review)

“Azure Cosmos DB SDK for Python (NoSQL API). Use for document CRUD, queries, containers, and globally distributed data. Triggers: "cosmos db", "CosmosClient", "container", "document", "NoSQL", "partition key". ”

 [microsoft · upstream description ↗](https://github.com/microsoft/skills/blob/fc164ba1d7a0c10377dbcc1c9ac07253b9329fdb/.github/plugins/azure-sdk-python/skills/azure-cosmos-py/SKILL.md) Our analysis follows below.

01 / THE REASONING

## Why this made the selection.

 - Point reads are specified as needing both the item id and the partition key, and queries are supposed to be parameterized.
- Authentication in the samples is DefaultAzureCredential, with connection strings and account keys called out as something to avoid.
- The definition distinguishes point reads, partition-scoped queries and cross-partition queries.
- Separate sync and async client lifecycles help make transport and credential ownership explicit.

### A good fit for

 - Writing azure-cosmos Python for a container whose partition key is already chosen.
- Keeping sync and async clients out of the same call path.
- Implement document CRUD with explicit item and partition identity
- Choose projected parameterized queries and inspect throttling responses

### Weigh up before choosing

 - The skill links scripts/setup_cosmos_container.py. That path returned HTTP 404 at revision fc164ba1d7a0c10377dbcc1c9ac07253b9329fdb, so the advertised CLI is not in the tree.
- Samples talk to the Cosmos account endpoint once the user runs them. The skill does not create the Azure account.
- references/partitioning.md and references/query-patterns.md did return HTTP 200 and were not the source of these quotes.
- This review did not execute the resource.
- The primary example uses DefaultAzureCredential(require_envvar=True), which requires AZURE_TOKEN_CREDENTIALS even though prose says local defaults work as-is; reconcile this before copying.
- The listed setup_cosmos_container.py is absent from this pinned skill directory; use the SDK or verified external tooling.
- Upsert can replace an existing document and throughput/container creation can incur charges; sample throughput numbers are examples, not sizing advice.
- The Read All Items section labels the operation as a partition read before showing read_all_items() with an explicit Cross-partition comment; its partition-scoped alternative uses query_items with partition_key.

02 / THE REVIEW RECORD

## What we actually inspected.

Source review has boundaries. A clear record is more useful than a “safe” badge.

### Material inspected

 - .github/plugins/azure-sdk-python/skills/azure-cosmos-py/SKILL.md
- LICENSE
- README.md

### Our findings

 - Samples use DefaultAzureCredential against the Cosmos endpoint. The file says not to use connection strings or account keys.
- A point read without the partition key is the case the skill marks as wrong. Cross-partition queries are to be avoided, not forbidden by a checker.
- The linked setup_cosmos_container.py is not in this revision. The skill does not provision the database account.
- The pinned definition was read through CRUD, queries, partitioning, throughput and async handling; no database connection was made.

### Not established by this review

 - The resource was not executed and its tools were not called.
- The Azure SDK was not imported and no Cosmos call was made.
- No skill execution, authenticated service operation, or outcome benchmark was performed.
- Not executed: it was not installed or run.

The review applies to the material and revision named here. A newer upstream release can change its behavior.

03 / PUT IT TO WORK

## Add a skill to your workflow.

[Upstream setup instructions ↗](https://github.com/microsoft/skills/blob/fc164ba1d7a0c10377dbcc1c9ac07253b9329fdb/README.md)

DOCUMENTED COMMAND

 npx skills add microsoft/skills/.github/plugins/azure-sdk-python/skills/azure-cosmos-py Copy command ↗

Run in your terminal to choose your AI tools, project or global scope, and installation method. This short command follows the current upstream version; the review covers the revision shown above.

 Optional: install the reviewed revision

Keeps the original source and installer version where recorded, while leaving your AI tools and installation scope for you to choose.

 npx skills add https://github.com/microsoft/skills/tree/fc164ba1d7a0c10377dbcc1c9ac07253b9329fdb/.github/plugins/azure-sdk-python/skills/azure-cosmos-py Copy reviewed-revision command ↗ - Install the pinned skill directory interactively, retaining its bundled references and scripts.
- Install compatible azure-cosmos and azure-identity versions and configure Entra data-plane permissions for the required operations.
- Choose sync or async, close clients/credentials, and verify partition keys and SDK method names against installed documentation.

### Before you start

 - Python and Azure Cosmos DB NoSQL access
- A credential with the required data-plane role

### Compatibility

Agents supporting directory-based SKILL.md instructions

### Local instructions; runtime access depends on the workflow

 - Read/write/delete documents; setup paths create databases/containers and alter provisioned throughput using account permissions.

### Cost model

The skill is free; service usage and infrastructure can incur charges.

04 / FOLLOW THE EVIDENCE

## The source trail.

Our notes are separate from the original resource. Check upstream before adopting a new version.

 - [Pinned skill definition ↗](https://github.com/microsoft/skills/blob/fc164ba1d7a0c10377dbcc1c9ac07253b9329fdb/.github/plugins/azure-sdk-python/skills/azure-cosmos-py/SKILL.md) Checked 2026-10-14 https://github.com/microsoft/skills/blob/fc164ba1d7a0c10377dbcc1c9ac07253b9329fdb/.github/plugins/azure-sdk-python/skills/azure-cosmos-py/SKILL.md Supports: summary, whySelected, bestFor, limitations, install, access, review
- [Publisher repository and installation guidance ↗](https://github.com/microsoft/skills/blob/fc164ba1d7a0c10377dbcc1c9ac07253b9329fdb/README.md) Checked 2026-10-14 https://github.com/microsoft/skills/blob/fc164ba1d7a0c10377dbcc1c9ac07253b9329fdb/README.md Supports: install
- [MIT licence ↗](https://github.com/microsoft/skills/blob/fc164ba1d7a0c10377dbcc1c9ac07253b9329fdb/LICENSE) Checked 2026-10-14 https://github.com/microsoft/skills/blob/fc164ba1d7a0c10377dbcc1c9ac07253b9329fdb/LICENSE Supports: license
- [Pinned source sections reviewed in continuation W09 on 2026-10-15 ↗](https://raw.githubusercontent.com/microsoft/skills/fc164ba1d7a0c10377dbcc1c9ac07253b9329fdb/.github/plugins/azure-sdk-python/skills/azure-cosmos-py/SKILL.md) Checked 2026-10-15 https://raw.githubusercontent.com/microsoft/skills/fc164ba1d7a0c10377dbcc1c9ac07253b9329fdb/.github/plugins/azure-sdk-python/skills/azure-cosmos-py/SKILL.md Supports: upstreamDescription, limitations, review.notTested

KEEP COMPARING

## Other approaches to consider.

Related by category or shared topics. These are alternatives to inspect, not a measured quality order.

 [### dbt Documentation Maintenance ↗ Audits descriptions in a dbt manifest and drafts missing model or column documentation in the project’s existing style.](/skills/dbt-labs-maintaining-dbt-documentation/)[### MongoDB query optimizer ↗ Official MongoDB skill that limits itself to slow-query and index work and names the MCP tools it expects for explain, indexes, and Atlas Performance Advisor.](/skills/mongodb-query-optimizer/)[### MongoDB schema design ↗ Pins MongoDB's schema-design skill, which separates read checks from writes and says write tools need an explicit yes.](/skills/mongodb-schema-design/)

 [AI Tools ↗](/tools/)[Skills ↗](/skills/)[Agents ↗](/agents/)[MCP Servers ↗](/mcp-servers/)[Workflows ↗](/workflows/)

## Continue your investigation

 - [Choose a toolkit](/tools/)
- [Inspect execution hosts](/agents/)
- [Check tool access](/mcp-servers/)
- [Check project dependencies](/check-repo/)
