| Name | airbyte JSON |
| Version |
0.32.2
JSON |
| download |
| home_page | None |
| Summary | PyAirbyte |
| upload_time | 2025-10-24 18:53:21 |
| maintainer | None |
| docs_url | None |
| author | Airbyte |
| requires_python | <3.13,>=3.10 |
| license | None |
| keywords |
|
| VCS |
|
| bugtrack_url |
|
| requirements |
No requirements were recorded.
|
| Travis-CI |
No Travis.
|
| coveralls test coverage |
No coveralls.
|
# PyAirbyte
PyAirbyte brings the power of Airbyte to every Python developer. PyAirbyte provides a set of utilities to use Airbyte connectors in Python.
[](https://badge.fury.io/py/airbyte)
[](https://pypi.org/project/airbyte/)
[](https://pypi.org/project/airbyte/)
[](https://github.com/airbytehq/pyairbyte)
## Getting Started
Watch this [Getting Started Loom video](https://www.loom.com/share/3de81ca3ce914feca209bf83777efa3f?sid=8804e8d7-096c-4aaa-a8a4-9eb93a44e850) or run one of our Quickstart tutorials below to see how you can use PyAirbyte in your python code.
* [Basic Demo](https://github.com/airbytehq/quickstarts/blob/main/pyairbyte_notebooks/PyAirbyte_Basic_Features_Demo.ipynb)
* [CoinAPI](https://github.com/airbytehq/quickstarts/blob/main/pyairbyte_notebooks/PyAirbyte_CoinAPI_Demo.ipynb)
* [GA4](https://github.com/airbytehq/quickstarts/blob/main/pyairbyte_notebooks/PyAirbyte_GA4_Demo.ipynb)
* [Shopify](https://github.com/airbytehq/quickstarts/blob/main/pyairbyte_notebooks/PyAirbyte_Shopify_Demo.ipynb)
* [GitHub](https://github.com/airbytehq/quickstarts/blob/main/pyairbyte_notebooks/PyAirbyte_Github_Incremental_Demo.ipynb)
* [Postgres (cache)](https://github.com/airbytehq/quickstarts/blob/main/pyairbyte_notebooks/PyAirbyte_Postgres_Custom_Cache_Demo.ipynb)
## Connector Installation
### Declarative Source Installation
For Declarative Sources defined in YAML, the installation process will is to simply download the yaml file from the `connectors.airbyte.com` public URLs, and to run them directly as YAML.
Declarative sources have the fastest download times, due to the simplicity and each of install.
In some cases, you may get better stability by using `docker_image=True` in `get_source()`/`get_destination()`, due to the fact that all dependencies are locked within the docker image.
### Python Installation
Generally, when Python-based installation is possible, it will be performed automatically given a Python-based connector name.
In some cases, you may get better stability by using `docker_image=True` in `get_source()`/`get_destination()`, due to the fact that all dependencies are locked within the docker image.
#### Installing Connectors with `uv`
By default, beginning with version `0.29.0`, PyAirbyte defaults to [`uv`](https://docs.astral.sh/uv) instead of `pip` for Python connector installation. Compared with `pip`, `uv` is much faster. It also provides the unique ability of specifying different versions of Python than PyAirbyte is using, and even Python versions which are not already pre-installed on the local workstation.
If you prefer to fall back to the prior `pip`-based installation methods, set the env var `AIRBYTE_NO_UV=true`.
#### Installing Connectors With a Custom Python Version
In both `get_source()` and `get_destination()`, you can provide a `use_python` input arg that is equal to the desired version of Python that you with to use for the given connector. This can be helpful if an older connector doesn't support the version of Python that you are using for PyAirbyte itself.
For example, assuming PyAirbyte is running on Python 3.12, you can install a connector using Python 3.10.13 with the following code snippet:
```py
import airbyte as ab
source = ab.get_source(
"source-faker",
use_python="3.10.17",
)
```
### Installing Connectors with Docker
For any connector (`get_source()`/`get_destination()`), you can specify the `docker_image` argument to `True` to prefer Docker over other default installation methods or `docker_image=MY_IMAGE` to leverage a specific docker image tag for the execution.
## Contributing
To learn how you can contribute to PyAirbyte, please see our [PyAirbyte Contributors Guide](./docs/CONTRIBUTING.md).
## Frequently asked Questions
**1. Does PyAirbyte replace Airbyte?**
No. PyAirbyte is a Python library that allows you to use Airbyte connectors in Python, but it does not have orchestration
or scheduling capabilities, nor does is provide logging, alerting, or other features for managing pipelines in
production. Airbyte is a full-fledged data integration platform that provides connectors, orchestration, and scheduling capabilities.
**2. What is the PyAirbyte cache? Is it a destination?**
Yes and no. You can think of it as a built-in destination implementation, but we avoid the word "destination" in our docs to prevent confusion with our certified destinations list [here](https://docs.airbyte.com/integrations/destinations/).
**3. Does PyAirbyte work with data orchestration frameworks like Airflow, Dagster, and Snowpark,**
Yes, it should. Please give it a try and report any problems you see. Also, drop us a note if works for you!
**4. Can I use PyAirbyte to develop or test when developing Airbyte sources?**
Yes, you can. PyAirbyte makes it easy to test connectors in Python, and you can use it to develop new local connectors
as well as existing already-published ones.
**5. Can I develop traditional ETL pipelines with PyAirbyte?**
Yes. Just pick the cache type matching the destination - like SnowflakeCache for landing data in Snowflake.
**6. Can PyAirbyte import a connector from a local directory that has python project files, or does it have to be pip install**
Yes, PyAirbyte can use any local install that has a CLI - and will automatically find connectors by name if they are on PATH.
## Changelog and Release Notes
For a version history and list of all changes, please see our [GitHub Releases](https://github.com/airbytehq/PyAirbyte/releases) page.
Raw data
{
"_id": null,
"home_page": null,
"name": "airbyte",
"maintainer": null,
"docs_url": null,
"requires_python": "<3.13,>=3.10",
"maintainer_email": null,
"keywords": null,
"author": "Airbyte",
"author_email": "contact@airbyte.io",
"download_url": "https://files.pythonhosted.org/packages/10/bb/b92448192578eb6ed79dedeb30dd29f0ebb6836921a1281cf0f53176488f/airbyte-0.32.2.tar.gz",
"platform": null,
"description": "# PyAirbyte\n\nPyAirbyte brings the power of Airbyte to every Python developer. PyAirbyte provides a set of utilities to use Airbyte connectors in Python.\n\n[](https://badge.fury.io/py/airbyte)\n[](https://pypi.org/project/airbyte/)\n[](https://pypi.org/project/airbyte/)\n[](https://github.com/airbytehq/pyairbyte)\n\n## Getting Started\n\nWatch this [Getting Started Loom video](https://www.loom.com/share/3de81ca3ce914feca209bf83777efa3f?sid=8804e8d7-096c-4aaa-a8a4-9eb93a44e850) or run one of our Quickstart tutorials below to see how you can use PyAirbyte in your python code.\n\n* [Basic Demo](https://github.com/airbytehq/quickstarts/blob/main/pyairbyte_notebooks/PyAirbyte_Basic_Features_Demo.ipynb)\n* [CoinAPI](https://github.com/airbytehq/quickstarts/blob/main/pyairbyte_notebooks/PyAirbyte_CoinAPI_Demo.ipynb)\n* [GA4](https://github.com/airbytehq/quickstarts/blob/main/pyairbyte_notebooks/PyAirbyte_GA4_Demo.ipynb)\n* [Shopify](https://github.com/airbytehq/quickstarts/blob/main/pyairbyte_notebooks/PyAirbyte_Shopify_Demo.ipynb)\n* [GitHub](https://github.com/airbytehq/quickstarts/blob/main/pyairbyte_notebooks/PyAirbyte_Github_Incremental_Demo.ipynb)\n* [Postgres (cache)](https://github.com/airbytehq/quickstarts/blob/main/pyairbyte_notebooks/PyAirbyte_Postgres_Custom_Cache_Demo.ipynb)\n\n## Connector Installation\n\n### Declarative Source Installation\n\nFor Declarative Sources defined in YAML, the installation process will is to simply download the yaml file from the `connectors.airbyte.com` public URLs, and to run them directly as YAML.\n\nDeclarative sources have the fastest download times, due to the simplicity and each of install.\n\nIn some cases, you may get better stability by using `docker_image=True` in `get_source()`/`get_destination()`, due to the fact that all dependencies are locked within the docker image.\n\n### Python Installation\n\nGenerally, when Python-based installation is possible, it will be performed automatically given a Python-based connector name.\n\nIn some cases, you may get better stability by using `docker_image=True` in `get_source()`/`get_destination()`, due to the fact that all dependencies are locked within the docker image.\n\n#### Installing Connectors with `uv`\n\nBy default, beginning with version `0.29.0`, PyAirbyte defaults to [`uv`](https://docs.astral.sh/uv) instead of `pip` for Python connector installation. Compared with `pip`, `uv` is much faster. It also provides the unique ability of specifying different versions of Python than PyAirbyte is using, and even Python versions which are not already pre-installed on the local workstation.\n\nIf you prefer to fall back to the prior `pip`-based installation methods, set the env var `AIRBYTE_NO_UV=true`.\n\n#### Installing Connectors With a Custom Python Version\n\nIn both `get_source()` and `get_destination()`, you can provide a `use_python` input arg that is equal to the desired version of Python that you with to use for the given connector. This can be helpful if an older connector doesn't support the version of Python that you are using for PyAirbyte itself.\n\nFor example, assuming PyAirbyte is running on Python 3.12, you can install a connector using Python 3.10.13 with the following code snippet:\n\n```py\nimport airbyte as ab\n\nsource = ab.get_source(\n \"source-faker\",\n use_python=\"3.10.17\",\n)\n```\n\n### Installing Connectors with Docker\n\nFor any connector (`get_source()`/`get_destination()`), you can specify the `docker_image` argument to `True` to prefer Docker over other default installation methods or `docker_image=MY_IMAGE` to leverage a specific docker image tag for the execution.\n\n## Contributing\n\nTo learn how you can contribute to PyAirbyte, please see our [PyAirbyte Contributors Guide](./docs/CONTRIBUTING.md).\n\n## Frequently asked Questions\n\n**1. Does PyAirbyte replace Airbyte?**\nNo. PyAirbyte is a Python library that allows you to use Airbyte connectors in Python, but it does not have orchestration\nor scheduling capabilities, nor does is provide logging, alerting, or other features for managing pipelines in\nproduction. Airbyte is a full-fledged data integration platform that provides connectors, orchestration, and scheduling capabilities.\n\n**2. What is the PyAirbyte cache? Is it a destination?**\nYes and no. You can think of it as a built-in destination implementation, but we avoid the word \"destination\" in our docs to prevent confusion with our certified destinations list [here](https://docs.airbyte.com/integrations/destinations/).\n\n**3. Does PyAirbyte work with data orchestration frameworks like Airflow, Dagster, and Snowpark,**\nYes, it should. Please give it a try and report any problems you see. Also, drop us a note if works for you!\n\n**4. Can I use PyAirbyte to develop or test when developing Airbyte sources?**\nYes, you can. PyAirbyte makes it easy to test connectors in Python, and you can use it to develop new local connectors\nas well as existing already-published ones.\n\n**5. Can I develop traditional ETL pipelines with PyAirbyte?**\nYes. Just pick the cache type matching the destination - like SnowflakeCache for landing data in Snowflake.\n\n**6. Can PyAirbyte import a connector from a local directory that has python project files, or does it have to be pip install**\nYes, PyAirbyte can use any local install that has a CLI - and will automatically find connectors by name if they are on PATH.\n\n## Changelog and Release Notes\n\nFor a version history and list of all changes, please see our [GitHub Releases](https://github.com/airbytehq/PyAirbyte/releases) page.\n\n",
"bugtrack_url": null,
"license": null,
"summary": "PyAirbyte",
"version": "0.32.2",
"project_urls": null,
"split_keywords": [],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "ec3ecfd24b662507aaacfd7b9e5282f0fb017912695fdcf8999bb352eea3a066",
"md5": "bffc0cb9650cc90a2ab09ec2b6fe3747",
"sha256": "e2351c24182592545dba773ff0bfb21e1b1d7f6aba92c429e6a58a98d10ec51c"
},
"downloads": -1,
"filename": "airbyte-0.32.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "bffc0cb9650cc90a2ab09ec2b6fe3747",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.13,>=3.10",
"size": 229539,
"upload_time": "2025-10-24T18:53:20",
"upload_time_iso_8601": "2025-10-24T18:53:20.332465Z",
"url": "https://files.pythonhosted.org/packages/ec/3e/cfd24b662507aaacfd7b9e5282f0fb017912695fdcf8999bb352eea3a066/airbyte-0.32.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "10bbb92448192578eb6ed79dedeb30dd29f0ebb6836921a1281cf0f53176488f",
"md5": "3e3b1f1cf1e4887c9700b22b002ec8e3",
"sha256": "4689b14c16793bfe9dd8f5e8bc8be6ccd33174979cc85991a893e3cf05509247"
},
"downloads": -1,
"filename": "airbyte-0.32.2.tar.gz",
"has_sig": false,
"md5_digest": "3e3b1f1cf1e4887c9700b22b002ec8e3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.13,>=3.10",
"size": 178689,
"upload_time": "2025-10-24T18:53:21",
"upload_time_iso_8601": "2025-10-24T18:53:21.807383Z",
"url": "https://files.pythonhosted.org/packages/10/bb/b92448192578eb6ed79dedeb30dd29f0ebb6836921a1281cf0f53176488f/airbyte-0.32.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-24 18:53:21",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "airbyte"
}