-
Notifications
You must be signed in to change notification settings - Fork 163
Proposal: A new user-focused client API #358
Comments
What if the api was implemented in Rust so writing wrappers in other languages is easier? The API would then become a library that can be linked to for python, ruby, etc libraries. |
@CooCooCaCha You can already do the same thing by compiling the go lib as a shared library. |
@cpuguy83 That is true, however there is a know, significant overhead with using Go shared libraries in other languages because of the translation to GC'd objects. |
In my sketch, I was trying to design a more object-orientated design, where methods for a container live on a container struct, and so on. I'm starting to think this might just be unnecessary complication/confusion. Given #379 , I think we have two other options:
The neatness of (2) is very tempting. It also means it maintains itself, because it is the canonical implementation. The downside is there's not a great entrypoint for users to discover it. We would need a good set of docs for it on docs.docker.com, and perhaps a readme in |
I like the idea (2). I think it's worth mentioning that what is currently in |
@dnephin Please do. I wish this was a precursor to shutting down engine-api project. In general, the client available in |
Looks like it's I'll have a go at writing a run method in a way that both the CLI and other people can use. |
It has been suggested that this library should just be a set of low-level types for implementing clients, but I am proposing we expand the remit of engine-api to make it easier to do things like running containers, handling events, pulling containers, and so on.
Here is a sketch of what it could look like: https://github.com/bfirsh/docker-sdk-go
Here is a similar proposal for docker-py: docker/docker-py#1086
Thoughts?
The text was updated successfully, but these errors were encountered: