API

Package emcdproj

Project management utilities.

emcdproj.main()

Entrypoint.

Module emcdproj.website

Static website maintenance utilities for projects.

class emcdproj.website.CommandDispatcher(*, command)

Bases: CliCommand

Dispatches commands for static website maintenance.

class emcdproj.website.Locations(*, project, auxiliary, publications, archive, artifacts, website, coverage, index, versions, templates)

Bases: object

Locations associated with website maintenance.

classmethod from_project_anchor(auxdata, anchor=absence.absent)

Produces locations from project anchor, if provided.

If project anchor is not given, then attempt to discover it.

class emcdproj.website.SurveyCommand

Bases: CliCommand

Surveys release versions published in static website.

class emcdproj.website.UpdateCommand(*, version)

Bases: CliCommand

Updates static website for particular release version.

emcdproj.website.update(auxdata, version, *, project_anchor=absence.absent)

Updates project website with latest documentation and coverage.

Processes the specified version, copies documentation artifacts, updates version information, and generates coverage badges.

Module emcdproj.template

Copier template maintenance and validation.

class emcdproj.template.CommandDispatcher(*, command)

Bases: CliCommand

Dispatches commands for Copier template maintenance.

class emcdproj.template.SurveyCommand

Bases: CliCommand

Surveys available configuration variants.

class emcdproj.template.ValidateCommand(*, variant, preserve=False)

Bases: CliCommand

Validates template against configuration variant.

emcdproj.template.copy_template(answers_file, projectdir)

Copies template to target directory using answers.

emcdproj.template.survey_variants(auxdata)

Surveys available configuration variants.

emcdproj.template.validate_variant(auxdata, variant, preserve)

Validates configuration variant.

emcdproj.template.validate_variant_project(projectdir)

Validates standard project as generated from template.

Module emcdproj.filesystem

Filesystem operations and utilities.

emcdproj.filesystem.chdir(directory)

Temporarily changes working directory.

Not thread-safe or async-safe.

Module emcdproj.interfaces

Abstract bases and interfaces.

class emcdproj.interfaces.CliCommand(*args, **kwargs)

Bases: Protocol

CLI command.

class emcdproj.interfaces.ConsoleDisplay(*, silence: "__.typx.Annotated[bool, __.tyro.conf.arg(aliases=('--quiet', '--silent'), prefix_name=False)]" = False, file: "__.typx.Annotated[__.typx.Optional[__.Path], __.tyro.conf.arg(name='console-capture-file', prefix_name=False)]" = None, stream: "__.typx.Annotated[DisplayStreams, __.tyro.conf.arg(name='console-stream', prefix_name=False)]" = <DisplayStreams.Stderr: 'stderr'>)

Bases: object

async provide_stream()

Provides output stream for display.

class emcdproj.interfaces.DisplayStreams(value)

Bases: Enum

Stream upon which to place output.

Module emcdproj.exceptions

Family of exceptions for package API.

exception emcdproj.exceptions.DataAwol(source, label)

Bases: Omnierror, AssertionError

Unexpected data absence.

exception emcdproj.exceptions.FileAwol(file)

Bases: Omnierror, AssertionError

Unexpected file absence.

exception emcdproj.exceptions.FileDataAwol(file, label)

Bases: DataAwol

Unexpected data absence from file.

exception emcdproj.exceptions.FileEmpty(file)

Bases: Omnierror, AssertionError

Unexpectedly empty file.

exception emcdproj.exceptions.Omnierror(*posargs, **nomargs)

Bases: Omniexception, Exception

Base for error exceptions raised by package API.

exception emcdproj.exceptions.Omniexception(*posargs, **nomargs)

Bases: BaseException

Base for all exceptions raised by package API.