pjkm.core.models¶
Submodules¶
Attributes¶
Classes¶
Describes .env / .env.example variables to scaffold. |
|
Describes .secrets / .secrets.example variables to scaffold. |
|
Describes a tool config file in .config/ directory. |
|
A curated bundle of dependencies and scaffolded code/config. |
|
A template fragment to render when a group is selected. |
|
Current platform details, used for OS-dependent group filtering. |
|
Supported project archetypes. |
|
Central configuration describing what the user wants to build. |
|
Execution phases in strict order. |
|
Metadata describing a registered task. |
|
Outcome of executing a single task. |
Package Contents¶
- class pjkm.core.models.EnvConfig(/, **data)[source]¶
Bases:
pydantic.BaseModelDescribes .env / .env.example variables to scaffold.
- Parameters:
data (Any)
- class pjkm.core.models.SecretsConfig(/, **data)[source]¶
Bases:
pydantic.BaseModelDescribes .secrets / .secrets.example variables to scaffold.
- Parameters:
data (Any)
- class pjkm.core.models.ToolConfig(/, **data)[source]¶
Bases:
pydantic.BaseModelDescribes a tool config file in .config/ directory.
- Parameters:
data (Any)
- class pjkm.core.models.PackageGroup(/, **data)[source]¶
Bases:
pydantic.BaseModelA curated bundle of dependencies and scaffolded code/config.
- Parameters:
data (Any)
- scaffolded_files: list[ScaffoldedFile] = None¶
- class pjkm.core.models.ScaffoldedFile(/, **data)[source]¶
Bases:
pydantic.BaseModelA template fragment to render when a group is selected.
- Parameters:
data (Any)
- class pjkm.core.models.PlatformInfo(/, **data)[source]¶
Bases:
pydantic.BaseModelCurrent platform details, used for OS-dependent group filtering.
- Parameters:
data (Any)
- class pjkm.core.models.Archetype[source]¶
Bases:
enum.StrEnumSupported project archetypes.
- SINGLE_PACKAGE = 'single_package'¶
- SERVICE = 'service'¶
- POLY_REPO = 'poly_repo'¶
- SCRIPT_TOOL = 'script_tool'¶
- class pjkm.core.models.ProjectConfig(/, **data)[source]¶
Bases:
pydantic.BaseModelCentral configuration describing what the user wants to build.
- Parameters:
data (Any)
- target_dir: pathlib.Path = None¶
- property project_dir: pathlib.Path¶
Full path to the project directory that will be created.
- Return type:
- class pjkm.core.models.Phase[source]¶
Bases:
enum.IntEnumExecution phases in strict order.
- SCAFFOLD = 1¶
- CONFIGURE = 2¶
- INSTALL = 3¶
- VERIFY = 4¶
- class pjkm.core.models.TaskDefinition(/, **data)[source]¶
Bases:
pydantic.BaseModelMetadata describing a registered task.
- Parameters:
data (Any)