A client package for running Dagger pipelines in Python.
Project description
Dagger Python SDK
A client package for running Dagger pipelines.
What is the Dagger Python SDK?
The Dagger Python SDK contains everything you need to develop CI/CD pipelines in Python, and run them on any OCI-compatible container runtime.
Example
# say.py
import sys
import anyio
import dagger
async def main(args: list[str]):
async with dagger.Connection() as client:
# build container with cowsay entrypoint
# note: this is reusable, no request is made to the server
ctr = (
client.container()
.from_("python:alpine")
.exec(["pip", "install", "cowsay"])
.with_entrypoint(["cowsay"])
)
# run cowsay with requested message
# note: methods that return a coroutine with a Result need to
# await query execution
result = await ctr.exec(args).stdout().contents()
print(result)
if __name__ == "__main__":
anyio.run(main, sys.argv[1:])
Run with:
$ python say.py "Simple is better than complex"
_____________________________
| Simple is better than complex |
=============================
\
\
^__^
(oo)\_______
(__)\ )\/\
||----w |
|| ||
Learn more
Development
Requirements:
Start environment with poetry install
.
Run tests with poetry run poe test
.
Reformat code with poetry run poe fmt
or just check with poetry run poe lint
.
Re-regenerate client with poetry run poe generate
.
Build reference docs with poetry run poe docs
.
Tip: You don't need to prefix the previous commands with poetry run
if you activate the virtualenv with poetry shell
.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for dagger_io-0.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dcd4e11a40f09124425d0f593b82cc1f6796dd1eb63c9b6450bd2012c6b515ef |
|
MD5 | c687f5ff23ec05a198e900f9c60e5b7f |
|
BLAKE2b-256 | 5e3b49d3bdf3b5186d4681a19b964cd59a679d03c62e03bb7bccd433b622316a |