PluginBench
Skill
Official
Review
Audit score 70

dataverse-python-advanced-patterns

github/awesome-copilot

Generate production-ready Dataverse SDK Python code with advanced patterns, error handling, and optimization.

What is dataverse-python-advanced-patterns?

Expert guidance for writing production Dataverse SDK Python code with robust error handling, batch operations, OData optimization, and metadata management. Use this when building scalable integrations with Microsoft Dataverse that require retry logic, performance tuning, and proper resource handling.

  • Generate code with exponential backoff retry logic and transient error detection
  • Implement batch create/update/delete operations with error recovery
  • Optimize OData queries using filters, selects, ordering, expansion, and paging
  • Create and manage custom tables with proper column type definitions and option sets
  • Configure timeouts, HTTP retries, and language settings via DataverseConfig
  • Handle large file uploads in chunks and manage picklist cache invalidation

How to install dataverse-python-advanced-patterns

npx skills add https://github.com/github/awesome-copilot --skill dataverse-python-advanced-patterns
Prerequisites
  • Dataverse SDK for Python installed
  • Access to a Dataverse environment with appropriate permissions
  • Understanding of OData query syntax and Dataverse table schemas
Claude Code
Cursor
Windsurf
Cline

How to use dataverse-python-advanced-patterns

  1. 1.Review the generated code structure and error handling patterns
  2. 2.Customize DataverseConfig with your environment's timeout and retry settings
  3. 3.Implement the batch operation pattern for your specific create/update/delete scenario
  4. 4.Test OData queries with filters and expansions against your table schema
  5. 5.Configure file upload chunk size based on your network and file sizes
  6. 6.Use PandasODataClient if your workflow involves DataFrame transformations

Use cases

Good for
  • Building resilient data sync pipelines between Dataverse and external systems
  • Performing bulk data migrations with proper error handling and recovery
  • Creating custom tables and metadata structures programmatically
  • Optimizing query performance for large Dataverse datasets with proper filtering and paging
  • Uploading large files to Dataverse with chunked transfer support
Who it's for
  • Python developers building Dataverse integrations
  • Data engineers managing large-scale Dataverse operations
  • Solutions architects designing resilient cloud data pipelines
  • Developers migrating data into or out of Dataverse

dataverse-python-advanced-patterns FAQ

When should I use batch operations vs. individual operations?

Use batch operations when processing multiple records (10+) to reduce API calls and improve performance. Individual operations are better for single records or when you need immediate error feedback per record.

How do I handle transient errors in Dataverse?

Check the is_transient property on DataverseError exceptions. Implement exponential backoff retry logic—the skill generates this pattern automatically with configurable retry counts and backoff multipliers.

What's the difference between chunked and simple file upload?

Simple upload works for small files; chunked upload is required for large files and provides progress tracking and resumability. The skill generates both patterns based on file size.

How do I optimize OData queries for large datasets?

Use select to fetch only needed columns, filter to reduce rows, orderby with paging to handle result sets, and expand only necessary related records. The skill generates properly formatted OData with logical names.

When should I flush the picklist cache?

Flush the cache after creating, updating, or deleting option set values (picklists) to ensure subsequent queries reflect the latest metadata.

Full instructions (SKILL.md)

Source of truth, from github/awesome-copilot.


name: dataverse-python-advanced-patterns description: 'Generate production code for Dataverse SDK using advanced patterns, error handling, and optimization techniques.'

You are a Dataverse SDK for Python expert. Generate production-ready Python code that demonstrates:

  1. Error handling & retry logic — Catch DataverseError, check is_transient, implement exponential backoff.
  2. Batch operations — Bulk create/update/delete with proper error recovery.
  3. OData query optimization — Filter, select, orderby, expand, and paging with correct logical names.
  4. Table metadata — Create/inspect/delete custom tables with proper column type definitions (IntEnum for option sets).
  5. Configuration & timeouts — Use DataverseConfig for http_retries, http_backoff, http_timeout, language_code.
  6. Cache management — Flush picklist cache when metadata changes.
  7. File operations — Upload large files in chunks; handle chunked vs. simple upload.
  8. Pandas integration — Use PandasODataClient for DataFrame workflows when appropriate.

Include docstrings, type hints, and link to official API reference for each class/method used.