API ВЕГА
English

PyAirbyte

Важно

Ветка main предназначена только для исправлений. Активная ветка для новой разработки — release-candidate/v1.

  • Новые функции и улучшения: создавайте ветки от release-candidate/v1 и направляйте изменения в неё, а не в main. В main должны попадать только исправления ошибок и патчи для текущего релиза.

  • Исследование проблем и отладка: переключитесь на release-candidate/v1, чтобы ознакомиться с последней версией кода. Изменения, попавшие в main, автоматически синхронизируются с веткой-кандидатом на релиз с помощью рабочего процесса RC Branch: синхронизация с main.

PyAirbyte позволяет каждому разработчику на Python использовать возможности Airbyte. PyAirbyte предоставляет набор инструментов для работы с коннекторами Airbyte из Python.

Начало работы

Посмотрите видео о начале работы на Loom или выполните один из приведённых ниже кратких учебных примеров, чтобы узнать, как использовать PyAirbyte в коде на Python.

Airbyte MCP

Airbyte MCP — это сервер Model Context Protocol, который подключает AI-агентов к вашей организации Airbyte. Агент работает с теми же разрешениями, что и вы в Airbyte. Используйте его с такими клиентами, как Claude, ChatGPT и VS Code Copilot.

С помощью Airbyte MCP агент может:

  • Создавать и управлять конвейерами данных: развёртывать источники и приёмники, создавать подключения, выбирать потоки и запускать синхронизацию.

  • Находить и устранять проблемы в конвейерах: проверять статус синхронизации, просматривать журналы заданий и изучать конфигурации коннекторов.

  • Читать данные напрямую: получать актуальные записи из поддерживаемых источников и выполнять запросы к поддерживаемым приёмникам, не дожидаясь синхронизации.

  • Узнавать о возможностях коннекторов с помощью навыков коннекторов, в которых описаны поддерживаемые сущности, действия и параметры.

  • Находить ответы в документации Airbyte и других источниках знаний Airbyte.

Прямое чтение данных доступно только для чтения и работает лишь с поддерживаемыми коннекторами после того, как администратор организации включит слой контекста. Эта возможность недоступна для коннекторов, секреты которых хранятся во внешнем менеджере секретов.

Хостинговый сервер работает со всеми версиями Airbyte Cloud и Airbyte Flex. Его можно запустить локально с самостоятельно управляемой версией Airbyte Core, однако у локальных развёртываний есть известные проблемы.

Для подключения укажите https://mcp.airbyte.com/mcp и войдите через OAuth, используя свою учётную запись Airbyte Cloud. См. инструкции по установке и полный список инструментов.

Установка коннекторов

Установка декларативных источников

Чтобы установить декларативный источник, описанный в YAML, достаточно скачать YAML-файл по общедоступному URL на connectors.airbyte.com и запустить его напрямую.

Декларативные источники скачиваются быстрее всего благодаря своей простоте и лёгкости установки.

В некоторых случаях для повышения стабильности можно передать docker_image=True в get_source()/get_destination(), поскольку все зависимости зафиксированы внутри Docker-образа.

Установка на Python

Если коннектор поддерживает установку на Python, она обычно выполняется автоматически при указании его имени.

В некоторых случаях для повышения стабильности можно передать docker_image=True в get_source()/get_destination(), поскольку все зависимости зафиксированы внутри Docker-образа.

Установка коннекторов с помощью uv

Начиная с версии 0.29.0, PyAirbyte по умолчанию использует uv вместо pip для установки коннекторов на Python. По сравнению с pip, uv работает значительно быстрее. Кроме того, он позволяет указать версию Python, отличную от той, с которой работает PyAirbyte, в том числе версию, ещё не установленную на локальном компьютере.

Если вы хотите вернуться к прежнему способу установки на основе pip, задайте переменную окружения AIRBYTE_NO_UV=true.

Установка коннекторов с пользовательской версией Python

В get_source() и get_destination() можно передать аргумент use_python с нужной версией Python для выбранного коннектора. Это может быть полезно, если более старый коннектор не поддерживает версию Python, используемую самим PyAirbyte.

Например, если PyAirbyte работает на Python 3.12, следующий фрагмент кода позволит установить коннектор с помощью Python 3.10.13:

import airbyte as ab

source = ab.get_source(
    "source-faker",
    use_python="3.10.17",
)

Установка коннекторов с помощью Docker

Для любого коннектора (get_source()/get_destination()) можно указать аргумент docker_image со значением True, чтобы предпочесть Docker другим способам установки по умолчанию. Чтобы использовать для выполнения определённый тег Docker-образа, укажите docker_image=MY_IMAGE.

Участие в разработке

Инструкции по участию в разработке PyAirbyte приведены в руководстве для участников PyAirbyte.

Часто задаваемые вопросы

1. Заменяет ли PyAirbyte Airbyte?

Нет. PyAirbyte — это библиотека Python для работы с коннекторами Airbyte из Python. Она не предоставляет возможности оркестрации и планирования, а также ведения журналов, оповещений и других функций, необходимых для управления конвейерами в рабочей среде. Airbyte — это полноценная платформа интеграции данных, которая предоставляет коннекторы, средства оркестрации и планирования.

2. Что такое кэш PyAirbyte? Это приёмник данных?

И да, и нет. Его можно считать встроенной реализацией приёмника данных. Однако в документации мы избегаем термина «приёмник», чтобы не путать кэш со списком сертифицированных приёмников здесь.

3. Работает ли PyAirbyte с платформами оркестрации данных, такими как Airflow, Dagster и Snowpark?

Да, должен. Попробуйте и сообщите нам о возникших проблемах. Если всё работает, тоже расскажите нам об этом.

4. Можно ли использовать PyAirbyte для разработки или тестирования источников Airbyte?

Да. PyAirbyte упрощает тестирование коннекторов на Python и позволяет разрабатывать новые локальные коннекторы, а также работать с уже опубликованными.

5. Можно ли создавать традиционные ETL-конвейеры с помощью PyAirbyte?

Да. Достаточно выбрать тип кэша, соответствующий приёмнику, например SnowflakeCache, чтобы загружать данные в Snowflake.

6. Может ли PyAirbyte использовать коннектор из локального каталога с файлами Python-проекта или его обязательно нужно установить с помощью pip?

PyAirbyte может использовать любую локальную установку с CLI. Если коннекторы доступны через PATH, он автоматически находит их по имени.

Журнал изменений и примечания к релизам

Историю версий и полный список изменений см. на странице GitHub Releases.