Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 33 additions & 23 deletions signac/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -1266,7 +1266,7 @@ def main():
"-c",
"--create",
action="store_true",
help="Create the job's workspace directory if necessary.",
help="Create the job directory if necessary.",
)
parser_job.set_defaults(func=main_job)

Expand Down Expand Up @@ -1468,9 +1468,14 @@ def main():

parser_find = subparsers.add_parser(
"find",
description="""All filter arguments may be provided either directly in JSON
encoding or in a simplified form, e.g., -- $ signac find a 42 --
is equivalent to -- $ signac find '{"a": 42}'.""",
formatter_class=argparse.RawDescriptionHelpFormatter,
description="All filter arguments may be provided either directly in "
"JSON encoding or in a simplified form using the query API. For "
"example, the following two bash commands are equivalent:\n\n"
"$ signac find key 42\n"
"$ signac find '{\"a\": 42}'\n\n"
"For the full syntax, see:\n"
"https://docs.signac.io/en/latest/query.html#simplified-filter",
)
parser_find.add_argument(
"filter",
Expand Down Expand Up @@ -1527,17 +1532,20 @@ def main():

parser_view = subparsers.add_parser(
"view",
description="""Generate a human readable set of paths representing
state points in the workspace, e.g.
view/param_name_1/param_value_1/param_name_2/param_value_2/job.
The leaf nodes of this directory structure are
symlinks (named "job") into the workspace directory
for that parameter combination. Note that all
positional arguments must be provided before any
keyword arguments. In particular, the prefix and
path must be specified before arguments such as the
filters, e.g. signac view $PREFIX $VIEW_PATH -f
FILTERS -d DOC_FILTERS.""", # noqa:E501
formatter_class=argparse.RawDescriptionHelpFormatter,
description="Generate a human readable set of paths representing "
"state points in the workspace, e.g. "
"view/param_name_1/param_value_1/param_name_2/param_value_2/job.\n\n"
"The leaf nodes of this directory structure are symlinks (named "
'"job") into the corresponding job directory.\n\n'
"The jobs can be filtered using the query API used by the find "
"command. For the full syntax, see:\n"
"https://docs.signac.io/en/latest/query.html#simplified-filter\n\n"
"All positional arguments must be provided before any keyword "
"arguments. In particular, the prefix and path must be "
"specified before arguments such as the filters, like in the "
"following bash command:\n\n"
"$ signac view $PREFIX $VIEW_PATH -f $FILTERS -d $DOC_FILTERS.",
)
parser_view.add_argument(
"prefix",
Expand Down Expand Up @@ -1674,14 +1682,16 @@ def main():

parser_sync = subparsers.add_parser(
"sync",
description="""Use this command to synchronize this project with another project;
similar to the synchronization of two directories with `rsync`.
Data is always copied from the source to the destination.
For example: `signac sync /path/to/other/project -u --all-keys`
means "Synchronize all jobs within this project with those in the other project; overwrite
files if the source files is newer and overwrite all conflicting keys in the project and
job documents."
""",
formatter_class=argparse.RawDescriptionHelpFormatter,
description="Use this command to synchronize this project with "
"another project, similar to the synchronization of two directories "
"with `rsync`. Data is always copied from the source to the "
"destination.\n\n"
"For example, the following bash command will synchronize all jobs "
"within this project with jobs in the other project, overwrite files "
"if the source files are newer, and overwrite all conflicting keys in "
"the project and job documents:\n\n"
"$ signac sync /path/to/other/project --update --all-keys",
)
parser_sync.add_argument(
"source",
Expand Down