This release is a pre-release and may not be stable for production use.
prefect-airbyte
Welcome!
prefect-airbyte is a collections of prebuilt Prefect tasks that can be used to quickly construct Prefect flows.
Getting Started
Python setup
Requires an installation of Python 3.7+
We recommend using a Python virtual environment manager such as pipenv, conda or virtualenv.
These tasks are designed to work with Prefect 2.0. For more information about how to use Prefect, please refer to the Prefect documentation.
Installation
Install prefect-airbyte
pip install prefect-airbyte
Airbyte setup
See the airbyte documention on how to get your own instance.
Examples
Trigger a defined connection sync
from prefect import flow
from prefect_airbyte.connections import trigger_sync
@flow
def example_trigger_sync_flow():
# Run other tasks and subflows here
trigger_sync(
connection_id="your-connection-id-to-sync",
poll_interval_s=3,
status_updates=True
)
example_trigger_sync_flow()
❯ python airbyte_syncs.py
03:46:03 | prefect.engine - Created flow run 'thick-seahorse' for flow 'example_trigger_sync_flow'
03:46:03 | Flow run 'thick-seahorse' - Using task runner 'ConcurrentTaskRunner'
03:46:03 | Flow run 'thick-seahorse' - Created task run 'trigger_sync-35f0e9c2-0' for task 'trigger_sync'
03:46:03 | prefect - trigger airbyte connection: e1b2078f-882a-4f50-9942-cfe34b2d825b, poll interval 3 seconds
03:46:03 | prefect - pending
03:46:06 | prefect - running
03:46:09 | prefect - running
03:46:12 | prefect - running
03:46:16 | prefect - running
03:46:19 | prefect - running
03:46:22 | prefect - Job 26 succeeded.
03:46:22 | Task run 'trigger_sync-35f0e9c2-0' - Finished in state Completed(None)
03:46:22 | Flow run 'thick-seahorse' - Finished in state Completed('All states completed.')
Export an Airbyte instance's configuration
import gzip
from prefect import flow, task
from prefect_airbyte.configuration import export_configuration
@task
def zip_and_write_somewhere(
airbyte_config: bytearray,
somewhere: str,
):
with gzip.open(somewhere, 'wb') as f:
f.write(airbyte_config)
@flow
def example_export_configuration_flow(filepath: str):
# Run other tasks and subflows here
airbyte_config = export_configuration(
airbyte_server_host="localhost",
airbyte_server_port="8000",
airbyte_api_version="v1",
)
zip_and_write_somewhere(
somewhere=filepath,
airbyte_config=airbyte_config
)
if __name__ == "__main__":
example_export_configuration_flow('*://**/my_destination.gz')
Resources
If you encounter and bugs while using prefect-airbyte, feel free to open an issue in the prefect-airbyte repository.
If you have any questions or issues while using prefect-airbyte, you can find help in either the Prefect Discourse forum or the Prefect Slack community
Development
If you'd like to install a version of prefect-airbyte for development, first clone the repository and then perform an editable install with pip:
git clone https://github.com/PrefectHQ/prefect-airbyte.git
cd prefect-airbyte/
pip install -e ".[dev]"
Metadata
Release files for prefect-airbyte 0b2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| prefect-airbyte-0b2.tar.gz | 28.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| prefect_airbyte-0b2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 41.5 kB
Release files / prefect-airbyte-0b2.tar.gz
| Download URL | prefect-airbyte-0b2.tar.gz |
|---|---|
| Size | 28.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
90d6a509c3cae5dcc9ca643e986c49b18237b190100d233b1a0abc7371b87ea9
|
|
BLAKE2b-256 checksum How to use checksums |
35e242ea0935f1a30de70f6c6b3fd3da07ca6775f72174e5633469e4b48ac1e5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.0 CPython/3.9.13
|
Release files / prefect_airbyte-0b2-py3-none-any.whl
| Download URL | prefect_airbyte-0b2-py3-none-any.whl |
|---|---|
| Size | 13.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f3b0308095946a0c176ec64d7e39ee13eaf3d81a46e757c76b6debc0c9206e77
|
|
BLAKE2b-256 checksum How to use checksums |
6c90d8fce7b33fc7d7c3ffa0cbfbc926ef3be15a30d0bef3b10a48679b70a19e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.0 CPython/3.9.13
|