# dataverse-python-api-reference

Правило для GitHub Copilot: у агента под рукой справка по Python SDK Dataverse. Методы клиента, настройка и разбор ошибок в одном файле.

- правило · `type=rule` · GitHub Copilot · ★ 40418
- Автор: github · официальный репозиторий GitHub
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/github/awesome-copilot/tree/HEAD/instructions/dataverse-python-api-reference.instructions.md
- Обновлён: 2026-10-23
- HTML: https://affpapa.org/nevibecode/rules/dataverse-python-api-reference

## Что делает

Правило передаёт агенту краткую справку по `DataverseClient` из Python SDK Dataverse: `create`, `get`, `update`, `delete` и работа со схемой через `create_table`, `create_columns`, `delete_table`. В примерах видно, что `create` и `update` принимают и одну запись, и список. Массовая правка при этом двух видов: одинаковые изменения для всех ID или своя запись на каждый ID.

Отдельный блок отведён `DataverseConfig`: `http_timeout`, `http_retries`, `http_backoff` и `language_code`. Ошибки ловятся через `DataverseError`, у исключения есть `code`, `message` и `is_transient` — по последнему признаку решают, повторять ли запрос.

В шапке стоит `applyTo: '**'`, поэтому правило подключается ко всем файлам проекта, включая те, где Dataverse нет. Клиент инициализируют базовым URL и учётными данными Azure. Удаление таблицы через `delete_table` необратимо.

## Установка

### GitHub Copilot (родная платформа)

**Вручную: положить файлы**
- Файл: `.github/instructions/dataverse-python-api-reference.instructions.md` — Поле applyTo задаёт, к каким файлам применять

### Claude Code

**Вручную: положить файлы**
- Файл: `.claude/rules/dataverse-python-api-reference.md` — Поле paths во frontmatter ограничивает файлы: applyTo из источника → paths

### Codex

**AGENTS.md**
- Codex читает AGENTS.md: вставьте текст правила туда

### Cursor

**Вручную: положить файлы**
- Файл: `.cursor/rules/dataverse-python-api-reference.mdc` — Во frontmatter: description, globs, alwaysApply. applyTo из источника → globs, иначе правило само не подключится

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/rules/dataverse-python-api-reference.md`

### Cline

**Вручную: положить файлы**
- Файл: `.clinerules/dataverse-python-api-reference.md`

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/github/awesome-copilot/tree/HEAD/instructions/dataverse-python-api-reference.instructions.md

## Когда брать
- создать таблицу с колонками и enum-статусом из Python
- обновить пачку записей одним набором полей
- понять, повторять ли запрос после `DataverseError`
- задать таймаут и число повторов клиента
- выгрузить записи страницами с фильтром OData

## Примеры запросов агенту
- Напиши на Python скрипт, который через `create_table` создаёт таблицу `new_MyTable` с колонками `new_Title` и `new_Status`.
- Добавь в `new_MyTable` колонку `new_Notes`, а `new_Count` удали.
- Перебери записи `account` с `statecode eq 0`, выбирая только `name` и `telephone1`, страницами по 50.

Из того же набора: [github/awesome-copilot](https://affpapa.org/nevibecode/by/github/awesome-copilot.md) — 770 карточек

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
