mex.release package

Submodules

mex.release.cli module

mex.release.cli.common_setup(ctx: Context) None

This Callback runs before each command.

It looks for the root directory and puts it into the context.

mex.release.cli.find_project_root(start_path: Path) Path

Looks for pyproject.toml.

mex.release.cli.main() None

Entrypoint for cli script.

mex.release.emoji module

mex.release.emoji.get_emoji(ctx: Context) None

Pick an emoji shortcode for the unique hash of project name and version.

mex.release.release module

class mex.release.release.Releaser(project_root: Path, bump: str)

Bases: object

Wrap the release functionality in a single object.

__init__(project_root: Path, bump: str) None

Create a new releaser instance.

check_default_branch() None

Only continue if default branch is checked out.

check_version_string() None

Validate the version string to format 0.3.14.

check_working_tree() None

Only continue if working tree is empty.

get_current_version() str

Extract version from pyproject data.

release() None

Execute the release command.

run(*args: str) str

Run a command as subproccess, first print it, later print the output.

mex.release.release.release(ctx: Context, bump: Annotated[str, <typer.models.ArgumentInfo object at 0x7fb2d7bb6cf0>]='patch') None

Release a new version of the project.

mex.release.sign module

mex.release.sign._run(*args: str) None

Run command with arguments and exit in case of non-zero return.

mex.release.sign.setup_commit_signing() None

Setup commit signing.

Module contents