Attention
This project is still in an early phase of development.
The python API is not yet stable, and some aspects of the schema for the blueprint and workplan will likely evolve. Therefore whilst you are welcome to try out using the package, we cannot yet guarantee backwards compatibility. We expect to reach a more stable version in 2026.
MARBLExternalCodeBase#
- class cstar.marbl.external_codebase.MARBLExternalCodeBase(source_repo: str | None = None, checkout_target: str | None = None)#
Bases:
ExternalCodeBaseAn implementation of the ExternalCodeBase class for the Marine Biogeochemistry Library.
This subclass sets unique values for ExternalCodeBase properties specific to MARBL, and overrides the get() method to compile MARBL.
Methods:#
- get()
overrides ExternalCodeBase.get() to clone the MARBL repository, set environment, and compile library.
Methods
Configure (set environment, compile, etc.) the external codebase on your local machine.
MARBLExternalCodeBase.get([target_dir])Retrieve and stage this ExternalCodeBase
MARBLExternalCodeBase.setup([target_dir])Retrieve and configure this codebase in a single call
Return this ExternalCodeBase as a dictionary of kwargs to ExternalCodeBase.__init__
Attributes
MARBLExternalCodeBase.is_configuredDetermine whether MARBL is configured locally.
MARBLExternalCodeBase.keyReturn a string that uniquely identifies ExternalCodeBase subclasses.
MARBLExternalCodeBase.logReturn the logger instance for this class.
MARBLExternalCodeBase.root_env_varEnvironment variable pointing to the location of the codebase when configured, e.g. MARBL_ROOT.
MARBLExternalCodeBase.sourceThe SourceData instance associated with this ExternalCodeBase
MARBLExternalCodeBase.working_copyStagedRepository instance describing the local clone of this codebase (if it exists)