#I put my vote for Python

1 messages ยท Page 1 of 1 (latest)

restive radish
#

Hey @fervent hinge can you share your use cases? I may be able to work on an example which helps me test the SDK as well. I was thinking on packaging a Poetry library and running tests for example.

fervent hinge
#

Sure I have some need to interact with some tools that have python libraries. A lot of them are fairly internal here but some examples might be interacting with DefectDojo to submit Trivy scan results

#

So I think an example of calling an API maybe with the requests library would be cool

#

Since that is a fairly standard thing. Maybe using boto to connect to AWS?

#

I'm really interested in writing extensions in python I think

#

So I could call that from cue or other sdks. Is that feasible?

restive radish
#

Yes, that's the plan ๐Ÿ™‚

fervent hinge
#

Awesome! Unfortunately a lot of things are internal and I can't really discuss those too much

#

Some internal tools mostly that do things like manage our specific buisness process around oss

#

A lot of my focus for this is on secure software supply chains

#

I want pipelines to process incoming oss and to be able to do things like blackduck analysis, trivy scans, license checking, sboms..

#

I may also want to use this to support some pipelines that need to run on constrained and air-gapped environments

#

To me that is another good use case for this tool

#

So things like pipelines for what would be called iot/edge computing

restive radish
#

Awesome ๐Ÿ™‚

#

If you were to start today, do you have an idea what you would work on first?

#

If you want an early start it's usable already:

import dagger
from dagger.client.api.gen import Query

with dagger.Client() as session:
    api = Query.from_session(session)
    alpine = api.container().from_("python:3.10.8-alpine")
    version = alpine.exec(["python", "-V"]).stdout().contents()
    assert version == "Python 3.10.8\n"

You may encounter some bugs because of the low test coverage at the moment. I'm also working on making the client simpler to instantiate and defaulting to async:

import dagger

async with dagger.Client() as api:
  ...