conda-store
conda-store copied to clipboard
Conda-Store plugin system for builds and artifacts
Conda-Store heavily uses Traitlets for allowing easy configuration. One area that has not been easily customizable is the build system and the artifacts generated. I would like to change this by having a standardized object for Conda-Store builds.
class CondaStoreBuilder:
build_artifacts = [
'ARTIFACT_1',
'ARTIFACT_2',
...
]
depends_on = [
'ARTIFACT_A'
]
def build_artifact(self, artifact_type: str, build_id: int):
pass
def delete_artifact(self, artifact_type: str, build_id: int):
pass
class CondaStore:
registered_builders = [
FilesystemBuilder,
LockfileBuilder,
PinnedYAMLBuilder,
CondaPackBuilder,
DockerBuilder,
]
This is roughly the interface that I can envision for a build extionsion system. CondaStore will then need to understand the build dependency order.