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:
objectWrap 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.