Command line utilities for managing mobile app builds, code signing, and deployment. These power mobile app builds at codemagic.io.
Install and update using pip:
pip3 install codemagic-cli-tools
Package installs the following executables to your path:
Online documentation for all installed executables can be found under
docs
.
Alternatively, you could see the documentation by using --help
option from command line:
<command> --help
to see general description and subcommands for the tool, or
<command> <subcommand> --help
to get detailed information of the subcommand.
For example:
$ keychain create --help
usage: keychain create [-h] [-s] [-v] [--no-color] [--log-stream {stderr,stdout}] [-pw PASSWORD] [-p PATH]
Create a macOS keychain, add it to the search list.
optional arguments:
-h, --help show this help message and exit
Options:
-s, --silent Disable log output for commands
-v, --verbose Enable verbose logging for commands
--no-color Do not use ANSI colors to format terminal output
--log-stream {stderr,stdout}
Log output stream. [Default: stderr]
Optional arguments for command create:
-pw PASSWORD, --password PASSWORD
Keychain password. Alternatively to entering PASSWORD in plaintext, it may also be specified using a "@env:" prefix followed by a environment variable name, or "@file:" prefix followed by a path to the file containing the value.
Example: "@env:<variable>" uses the value in the environment variable named "<variable>", and "@file:<file_path>" uses the value from file at "<file_path>". [Default: '']
Optional arguments for keychain:
-p PATH, --path PATH Keychain path. If not provided, the system default keychain will be used instead
In addition to the command line interface, the package provides a mirroring Python API too:
>>> from pathlib import Path
>>> from codemagic.tools import AppStoreConnect
>>> from codemagic.tools import GitChangelog
>>> from codemagic.tools import Keychain
>>> from codemagic.tools import UniversalApkGenerator
>>> from codemagic.tools import XcodeProject
>>> Keychain().get_default()
PosixPath('/Users/priit/Library/Keychains/login.keychain-db')
>>> keychain = Keychain(Path('/tmp/new.keychain'))
>>> keychain.create()
PosixPath('/tmp/new.keychain')
>>> keychain.make_default()
>>> Keychain().get_default()
PosixPath('/private/tmp/new.keychain')
...