coxbuild.extensions package

Subpackages

Submodules

coxbuild.extensions.gallery module

class coxbuild.extensions.gallery.DirectoryExtensionGallery(path: pathlib.Path)

Bases: coxbuild.extensions.gallery.UriExtensionGallery

Extension gallery by directory.

geturi(name: str, version: str = '', hashcode: str = '') → str | None
class coxbuild.extensions.gallery.ExtensionGallery

Bases: abc.ABC

Extension gallery.

abstract load(name: str, version: str = '', hashcode: str = '') → coxbuild.extensions.Extension | None
class coxbuild.extensions.gallery.GitHubExtensionGallery(repo: str = 'StardustDL/coxbuild-ext-gallery', defaultVersion: str = 'main')

Bases: coxbuild.extensions.gallery.UrlExtensionGallery

Extension gallery by GitHub repository.

geturl(name: str, version: str = '', hashcode: str = '') → str | None
class coxbuild.extensions.gallery.GiteeExtensionGallery(repo: str = 'stardustdl/coxbuild-ext-gallery', defaultVersion: str = 'main')

Bases: coxbuild.extensions.gallery.UrlExtensionGallery

Extension gallery by Gitee repository.

geturl(name: str, version: str = '', hashcode: str = '') → str | None
class coxbuild.extensions.gallery.JsDelivrExtensionGallery(repo: str = 'StardustDL/coxbuild-ext-gallery', defaultVersion: str = 'main')

Bases: coxbuild.extensions.gallery.UrlExtensionGallery

Extension gallery by GitHub repository on jsDelivr CDN.

geturl(name: str, version: str = '', hashcode: str = '') → str | None
class coxbuild.extensions.gallery.UriExtensionGallery

Bases: coxbuild.extensions.gallery.ExtensionGallery

Extension gallery by uri.

abstract geturi(name: str, version: str = '', hashcode: str = '') → str | None
load(name: str, version: str = '', hashcode: str = '') → coxbuild.extensions.Extension | None
class coxbuild.extensions.gallery.UrlExtensionGallery

Bases: coxbuild.extensions.gallery.UriExtensionGallery

Extension gallery by url.

geturi(name: str, version: str = '', hashcode: str = '') → str | None
abstract geturl(name: str, version: str = '', hashcode: str = '') → str | None
coxbuild.extensions.gallery.galleries()

Get extension galleries.

From COXBUILD_GALLERY environment variable.

GitHub provider: github@reponame Gitee provider: gitee@reponame Directory provider: directory@directory/path

coxbuild.extensions.loader module

exception coxbuild.extensions.loader.CoxbuildExtensionException(message: str, cause: Optional[Exception] = None)

Bases: coxbuild.exceptions.CoxbuildSchemaException

Exception for coxbuild extension.

coxbuild.extensions.loader.fromFile(file: pathlib.Path, hashcode: str = '') → coxbuild.extensions.Extension

Load extension from file.

file@{hashcode}://{file path}

Parameters
  • file – file to load

  • hashcode – hashcode

coxbuild.extensions.loader.fromGallery(name: str, version: str = '', hashcode: str = '') → coxbuild.extensions.Extension

Load extension from gallery.

ext@{hashcode}://{name}@{version}

Parameters
  • name – name of extension

  • version – version of extension

  • hashcode – hashcode

coxbuild.extensions.loader.fromModule(module: module, version: str = '') → coxbuild.extensions.Extension

Load extension from module.

mod@{hashcode}://{module name}@{version}

Parameters
  • module – module to load

  • hashcode – hashcode

  • version – version

coxbuild.extensions.loader.fromSource(src: str, filename: str = '<string>', hashcode: str = '') → coxbuild.extensions.Extension

Load extension from source.

src@{hashcode}://{source code in base64}

Parameters
  • src – source code

  • filename – filename

  • hashcode – hashcode

coxbuild.extensions.loader.fromUrl(url: str, hashcode: str = '') → coxbuild.extensions.Extension

Load extension from url.

url@{hashcode}://{url}

Parameters
  • url – url to load

  • hashcode – hashcode

coxbuild.extensions.loader.hashed(src: str)
coxbuild.extensions.loader.load(uri: str)

Module contents

class coxbuild.extensions.Extension(uri: str = '', name: str = '', description: str = '', version: str = '', hashcode: str = '', module: module | None = None)

Bases: object

description: str = ''
property events: Iterable[coxbuild.services.EventHandler]
hashcode: str = ''
module: module | None = None
name: str = ''
property pipelineHooks: Iterable[coxbuild.pipelines.PipelineHook]
property tasks: Iterable[coxbuild.tasks.Task]
uri: str = ''
version: str = ''
class coxbuild.extensions.ProjectSettings(config: coxbuild.configurations.Configuration)

Bases: coxbuild.configurations.ConfigurationAccessor

property author: str

Author name.

property description: str

Project description.

property docs: pathlib.Path

Path to docs source.

property name: str | None
property package: pathlib.Path

Distribution path for building.

property src: pathlib.Path

Source code path to build.

property test: pathlib.Path

Path to test code.

property version: str

Build version.

coxbuild.extensions.withProject(task: coxbuild.tasks.Task) → coxbuild.tasks.Task

Decorator to add project argument to task context.