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- Dataverse SDK for Python installed
- Access to a Dataverse environment with appropriate permissions
- Understanding of OData query syntax and Dataverse table schemas
How to use dataverse-python-advanced-patterns
- 1.Review the generated code structure and error handling patterns
- 2.Customize DataverseConfig with your environment's timeout and retry settings
- 3.Implement the batch operation pattern for your specific create/update/delete scenario
- 4.Test OData queries with filters and expansions against your table schema
- 5.Configure file upload chunk size based on your network and file sizes
- 6.Use PandasODataClient if your workflow involves DataFrame transformations
Use cases
- 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
- 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
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.
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.
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.
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.
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:
- Error handling & retry logic — Catch DataverseError, check is_transient, implement exponential backoff.
- Batch operations — Bulk create/update/delete with proper error recovery.
- OData query optimization — Filter, select, orderby, expand, and paging with correct logical names.
- Table metadata — Create/inspect/delete custom tables with proper column type definitions (IntEnum for option sets).
- Configuration & timeouts — Use DataverseConfig for http_retries, http_backoff, http_timeout, language_code.
- Cache management — Flush picklist cache when metadata changes.
- File operations — Upload large files in chunks; handle chunked vs. simple upload.
- Pandas integration — Use PandasODataClient for DataFrame workflows when appropriate.
Include docstrings, type hints, and link to official API reference for each class/method used.
Related skills
More from github/awesome-copilot and the wider catalog.
git-commit
Execute semantic git commits with conventional message analysis and intelligent staging.
excalidraw-diagram-generator
Generate Excalidraw diagrams from natural language descriptions.
documentation-writer
Create structured technical documentation using the Diátaxis framework for tutorials, how-to guides, references, and explanations.
gh-cli
GitHub CLI comprehensive reference for repositories, issues, PRs, Actions, projects, releases, and all GitHub operations from the command line.
prd
Generate comprehensive Product Requirements Documents with executive summaries, user stories, technical specs, and risk analysis.
refactor
Surgical code refactoring to improve maintainability without changing behavior.