A client package for running Dagger pipelines in Python.
Reason this release was yanked:
Mistake creating tag in forked repo
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 enviornment 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.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ff0b31cff20fc53c041cfe965a30d609a086627ac3a3ccf285d475cde1aed53c |
|
MD5 | f4eb0de629144bfa1172664fd82b01bf |
|
BLAKE2b-256 | cdc4ca6a5dd3fdd86f6de0a8f7a624890d53f03561648bc68817df4d2c02f0c8 |