Режими використання
RAPS🌼RAPSRust CLI for Autodesk Platform Services.View in glossary пропонує шість різних способів взаємодії з Autodesk Platform Services☁️APSAutodesk Platform Services - cloud APIs for CAD/BIM automation.View in glossary. Оберіть режим, що найкраще відповідає вашому робочому процесу.
Загальний огляд
| Режим | Найкраще для | Ключові можливості |
|---|---|---|
| CLI | Скрипти, автоматизація | Повний набір команд, конвеєри, коди завершення |
| Інтерактивна оболонка | Навчання, дослідження | Автодоповнення TAB, підказки, історія |
| Python Bindings | Інтеграція з Python | Нативна бібліотека, анотації типів, винятки |
| GitHub Actions | GitHub CI/CD🔁CI/CDAutomated build, test, and deployment pipelines.View in glossary | Готова дія, матричні збірки |
| Docker | Контейнеризовані процеси | Без встановлення, ізольований, мультиархітектурний |
| MCP Server | ШІ-помічники | Природна мова, Claude/Cursor |
Режим CLI
Стандартний інтерфейс командного рядка для скриптів та автоматизації.
# Однорядкові операції
raps bucket list --output json | jq '.[] | .bucketKey'
# Скрипти з кодами завершення
if raps auth test; then
raps object upload my-bucket model.rvt
fi
Ключові можливості:
- Повний набір команд (100+ команд)
- Кілька форматів виведення (JSON📋JSONStandard data interchange format.View in glossary, YAML📝YAMLHuman-readable configuration format.View in glossary, CSV📊CSVTabular data format for spreadsheets.View in glossary, table)
- Стандартизовані коди завершення для скриптів
- Автодоповнення оболонки (bash, zsh, fish, PowerShell)
Інтерактивна оболонка
REPL🐚Interactive ShellRAPS mode for executing commands interactively.View in glossary-середовище з автодоповненням TAB та підказками параметрів.
$ raps shell
Welcome to the RAPS interactive shell!
raps> bucket [TAB]
create delete get list
raps> bucket create <BUCKET_KEY>
raps> bucket create my-test --retention transient
✓ Bucket created: my-test
Ключові можливості:
- Автодоповнення TAB для команд та прапорців
- Сірі підказки параметрів з обов’язковими/необов’язковими аргументами
- Історія команд з навігацією клавішами вгору/вниз
- Вбудована команда довідки
📖 Документація інтерактивної оболонки →
Python Bindings
Нативна бібліотека Python для програмного доступу.
from raps import Client
client = Client.from_env()
# Перегляд бакетів
for bucket in client.buckets.list():
print(f"{bucket.key}: {bucket.policy}")
# Завантаження та трансляція
obj = client.objects("my-bucket").upload("model.rvt")
job = client.translate(obj.urn)
result = job.wait()
Ключові можливості:
- Нативна бібліотека Python через PyO3
- Повні анотації типів для підтримки IDE
- Структуровані винятки (AuthenticationError, NotFoundError тощо)
- Підтримка контекстних менеджерів
📖 Документація Python Bindings →
GitHub Actions
Готова дія для робочих процесів CI/CD.
# .github/workflows/aps.yml
- name: Setup RAPS
uses: dmytro-yemelianov/raps-action@v1
- name: Upload Models
run: raps object upload my-bucket models/*.rvt --batch
env:
APS_CLIENT_ID: ${{ secrets.APS_CLIENT_ID }}
APS_CLIENT_SECRET: ${{ secrets.APS_CLIENT_SECRET }}
Ключові можливості:
- Просте налаштування однією дією
- Фіксація версій для відтворюваності
- Кросплатформність (ubuntu, windows, macos)
- Матричні збірки для паралельної обробки
📖 Документація GitHub Actions →
Docker
Запуск RAPS в ізольованих контейнерах.
# Одна команда
docker run --rm \
-e APS_CLIENT_ID="$APS_CLIENT_ID" \
-e APS_CLIENT_SECRET="$APS_CLIENT_SECRET" \
ghcr.io/dmytro-yemelianov/raps:latest \
bucket list
# З завантаженням файлів
docker run --rm \
-e APS_CLIENT_ID="$APS_CLIENT_ID" \
-e APS_CLIENT_SECRET="$APS_CLIENT_SECRET" \
-v $(pwd)/models:/data \
ghcr.io/dmytro-yemelianov/raps:latest \
object upload my-bucket /data/model.rvt
Ключові можливості:
- Не потрібна установка Rust🦀RustSystems programming language known for safety.View in glossary
- Мультиархітектурність (amd64, arm64)
- Працює в будь-якій системі CI/CD
- Готовий до Kubernetes
MCP Server
Інтеграція з ШІ-помічниками через Model Context Protocol🧠MCPProtocol for AI assistant tool integration.View in glossary.
// claude_desktop_config.json
{
"mcpServers": {
"raps": {
"command": "raps",
"args": ["mcp"],
"env": {
"APS_CLIENT_ID": "your_client_id",
"APS_CLIENT_SECRET": "your_client_secret"
}
}
}
}
Потім попросіть Claude: “Покажи всі мої OSS📦OSSAPS cloud storage for files and models.View in glossary-бакети”
Ключові можливості:
- 111 MCP-інструментів для операцій APS
- Команди природною мовою
- Працює з Claude, Cursor та іншими MCP-клієнтами
- Не потрібен синтаксис команд
Матриця порівняння
| Можливість | CLI💻CLIText-based interface for running commands.View in glossary | Shell🖥️TerminalApplication for running command-line programs.View in glossary | Python | Actions | Docker🐳DockerContainer platform for consistent environments.View in glossary | MCP |
|---|---|---|---|---|---|---|
| Автодоповнення TAB | — | ✓ | IDE | — | — | — |
| Анотації типів | — | — | ✓ | — | — | — |
| Історія команд | — | ✓ | — | — | — | — |
| Скриптинг | ✓ | — | ✓ | ✓ | ✓ | — |
| Нативний CI/CD | ✓ | — | ✓ | ✓ | ✓ | — |
| Природна мова | — | — | — | — | — | ✓ |
| Без встановлення | — | — | — | ✓ | ✓ | — |
| Ізольоване середовище | — | — | — | ✓ | ✓ | — |
| Обробка помилок | коди | коди | ✓ | коди | коди | — |
Як обрати правильний режим
Як ви будете використовувати RAPS?
│
┌───────────────┬───────┼───────┬───────────────┐
▼ ▼ ▼ ▼ ▼
┌────────┐ ┌─────────┐ ┌──────┐ ┌─────────┐ ┌────────┐
│Навчання│ │ Python │ │Скрипт│ │Контейнер│ │ ШІ │
│Дослідж.│ │ Код │ │CI/CD │ │ K8s │ │ Поміч. │
└───┬────┘ └────┬────┘ └──┬───┘ └────┬────┘ └───┬────┘
│ │ │ │ │
▼ ▼ ▼ ▼ ▼
┌────────┐ ┌─────────┐ ┌──────┐ ┌─────────┐ ┌────────┐
│ Shell │ │ Python │ │ CLI │ │ Docker │ │ MCP │
│ │ │Bindings │ │Action│ │ │ │ Server │
└────────┘ └─────────┘ └──────┘ └─────────┘ └────────┘
Рекомендації
Використовуйте інтерактивну оболонку, якщо ви:
- Тільки починаєте знайомство з RAPS та вивчаєте команди
- Досліджуєте доступні можливості
- Налагоджуєте синтаксис команд
Використовуйте Python Bindings, якщо ви:
- Розробляєте застосунки на Python
- Потребуєте безпеку типів та підтримку IDE
- Інтегруєте з конвеєрами даних
- Хочете структуровану обробку винятків
Використовуйте CLI, якщо ви:
- Пишете shell-скрипти
- Передаєте вивід іншим інструментам через конвеєр
- Виконуєте разові команди
Використовуйте GitHub Actions🐙GitHub ActionsGitHub's built-in CI/CD platform.View in glossary, якщо ви:
- Автоматизуєте на GitHub
- Потребуєте просту інтеграцію CI/CD
- Запускаєте паралельні матричні збірки
Використовуйте Docker, якщо ви:
- Працюєте з контейнерами/Kubernetes
- Потребуєте ізольовані середовища
- Не хочете встановлювати Rust
Використовуйте MCP Server, якщо ви:
- Використовуєте Claude Desktop або Cursor
- Надаєте перевагу природній мові
- Швидко створюєте прототипи