getavalon / core

The safe post-production pipeline - https://getavalon.github.io/2.0
MIT License
214 stars 48 forks source link

Avalon Convenience Library #425

Open mottosso opened 4 years ago

mottosso commented 4 years ago

Goal

Facilitate high-level functionality that can be shared between configs, but isn't low-level enough for inclusion into the API.

Motivation

Starting at #382, it's become clear that some functionality is suitable for more than one config, but not necessarily by all or to be on-by-default. We could either create a new repository, e.g. avalon/util, but there's value in having a shared issue tracker, commit history and one less version to control on PyPI and in a given pipeline. Less like Pyblish, and more like a monorepo.

Implementation

Wrap the public API in a higher-level avalon/util.py module.

tokejepsen commented 4 years ago

util.py are allowed to access only the API, much like a client

Unless we expose the tools to the API, how would we implement #382 only using the API?

mottosso commented 4 years ago

Tools don't open files, the API does. The tools expose the API to the end-user.

If there's something needed in the API to open files, we'll need to add this. E.g. api.open_file()? I think there's already a maya.open() from workio.py we could maybe use.