clearml-docs/docs/integrations/click.md

51 lines
1.6 KiB
Markdown
Raw Normal View History

2023-06-22 13:08:26 +00:00
---
title: Click
---
2023-08-15 16:00:06 +00:00
:::tip
If you are not already using ClearML, see [Getting Started](../getting_started/ds/ds_first_steps.md) for setup
instructions.
:::
2023-06-22 13:08:26 +00:00
[`click`](https://click.palletsprojects.com) is a python package for creating command-line interfaces. ClearML integrates
seamlessly with `click` and automatically logs its command-line parameters.
All you have to do is add two lines of code:
```python
from clearml import Task
2024-01-10 12:40:19 +00:00
2023-06-22 13:08:26 +00:00
task = Task.init(task_name="<task_name>", project_name="<project_name>")
```
For example:
```python
import click
from clearml import Task
@click.command()
@click.option('--count', default=1, help='Number of greetings.')
@click.option('--name', prompt='Your name', help='The person to greet.')
def hello(count, name):
task = Task.init(project_name='examples', task_name='Click single command')
for x in range(count):
click.echo("Hello {}!".format(name))
if __name__ == '__main__':
hello()
```
When this code is executed, ClearML logs your command-line arguments, which you can view in the
[WebApp](../webapp/webapp_overview.md), in the experiment's **Configuration > Hyperparameters > Args** section.
![click configuration](../img/integrations_click_configs.png)
In the UI, you can clone the task multiple times and set the clones' parameter values for execution by the [ClearML Agent](../clearml_agent.md).
When the clone is executed, the executing agent will use the new parameter values as if set by the command-line.
See [code examples](https://github.com/allegroai/clearml/blob/master/examples/frameworks/click) demonstrating integrating
ClearML with code that uses `click`.