Installation
Use the Python SDK to define workflows in your application, test them locally, and package them for a dagy.io workspace. The dagy command is installed with the SDK. Python 3.10 or later is required.
On this page
Install in your projectInstall from a source checkoutAdd integration dependenciesResolve installation problemsInstall in your project
Create and activate a virtual environment, then install dagy from the package source approved for your workspace:
python -m venv .venv
source .venv/bin/activate
python -m pip install dagyOn Windows, activate with .venv\Scripts\activate. If your package index does not contain dagy, obtain the SDK wheel or source distribution from your workspace administrator and install that distribution. A package name in these examples does not establish public release availability.
Check the installation:
python -c "from dagy import flow, task; print('SDK ready')"
dagy --version
dagy --helpLocal execution does not require a dagy.io account. Continue with your first workflow. To deploy or call the hosted API, connect to your workspace.
Install from a source checkout
If you have been given access to the dagy.io source distribution, run this from its root:
python -m pip install -e .For contributors using uv, uv sync installs the core package. uv sync --extra dev adds development tools; uv sync --extra docs adds the documentation tooling. These commands are for a source checkout, not prerequisites for a customer integration.
Add integration dependencies
The base SDK does not include every third-party client used by built-in nodes. Install the dependencies for the nodes you use. The connector bundle is:
python -m pip install 'dagy[nodes]'This adds clients for MySQL, Snowflake, Redshift, Google Cloud Storage, Azure Blob Storage, MongoDB, SFTP, Qdrant, pgvector, and OpenSearch. Other nodes need their own packages; for example:
python -m pip install aiohttp asyncpg openaiSee the node catalog for each integration's credentials, ports, configuration, dependency, and current limitations. Installing a dependency locally does not install it in a deployed runtime. Use dependency packages when your deployment needs additional libraries.
Resolve installation problems
| Symptom | Resolution |
|---|---|
dagy: command not found | Activate the environment in which you installed the package. Run python -m pip show dagy to confirm the interpreter and installation location. |
ModuleNotFoundError: dagy | Install into the Python environment running your application. Avoid mixing system Python with a project virtual environment. |
No matching distribution found | Confirm Python 3.10+, your configured package source, and access to the SDK distribution. |
| A node reports a missing dependency | Install the package listed for that node into its execution environment. The base SDK and the nodes extra have different dependency sets. |
| Local execution starts a hosted run unexpectedly | Use flow.run_local() explicitly. flow.run() and dagy run choose hosted execution when an API URL is configured. |
Pin the SDK and integration-client versions in your application's dependency file after testing them together. Consult release information before upgrading.