Skip to content
Merged
Show file tree
Hide file tree
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
4 changes: 3 additions & 1 deletion docs/source/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,11 @@ A new interactive terminal interface built with [Textual](https://textual.textua

Launch with:
```bash
experimaestro experiments monitor --console --workdir /path/to/workdir
experimaestro experiments --workdir /path/to/workdir monitor --console
```

with workdir one of the directories defined in the [Settings](settings.md)

#### [Resumable Tasks](experiments/task.md#resumable-tasks)

Tasks can now handle timeouts gracefully and resume from where they left off:
Expand Down
6 changes: 4 additions & 2 deletions docs/source/experiments.md
Original file line number Diff line number Diff line change
Expand Up @@ -275,9 +275,11 @@ To view the hostname for experiments:

```bash
# CLI - shows hostname in brackets
experimaestro experiments list --workdir /path/to/workspace
experimaestro experiments --workdir /path/to/workdir list
# Output: my-experiment [hostname.local] (5/10 jobs)

# TUI - hostname shown in "Host" column
experimaestro experiments monitor --console --workdir /path/to/workspace
experimaestro experiments --workdir /path/to/workdir monitor --console
```

with workdir one of the directories defined in the [Settings](settings.md)
4 changes: 3 additions & 1 deletion docs/source/settings.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Configuration
# Experimaestro configuration

This pages describes how experimaestro itself can be configured for your need.

## Settings file

Expand Down
5 changes: 4 additions & 1 deletion src/experimaestro/core/arguments.py
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,10 @@ def __repr__(self):
return "Param[{name}:{type}]".format(**self.__dict__)

def validate(self, value):
value = self.type.validate(value)
try:
value = self.type.validate(value)
except TypeError as e:
raise TypeError(f"Value {value} is not valid for argument {self.name}: {e}")
if self.checker:
if not self.checker.check(value):
raise ValueError("Value %s is not valid", value)
Expand Down
Loading