Re: [BuildStream] API proposal - enable iterating through all elements



Hi,

On 2020-01-14 18:32, Thomas Coldrick via buildstream-list wrote:
Hi,

I'd just like to add my support to access to some sort of API that allows third parties to load bst elements and play around with them properly. This would have been useful in a few places really, not only this mirror/alias checking. For
another example, the issue asking for a `bst format`[0] would be much
more suitable
as an external tool using BuildStream API.

I understand that allowing this would likely be a bit of an avalanche
of making API
public though, and we should be careful not to make everything public.
Perhaps it
would be possible to expose a set of high level wrappers of internal
functions as
some sort of "libbuildstream", allowing people access to loading etc. to produce
linters and project analysis tools?

Opening up a python library surface has been a possibility in the cards since the beginning indeed. With BuildStream 1.0 we tried to limit as much as possible which surfaces we would guarantee stability on, and we haven't opened the API up any further since then.

I would be tempted however to avoid such a change until ironing out the already limited API surfaces which are to land in bst 2 before opening up more API surfaces in master (and possibly doing some cleanup at that point ensuring we have a minimal API before sealing it up and stablizing it).

Cheers,
    -Tristan


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]