# {py:mod}`haniwers.v1.daq.sampler._base`

```{py:module} haniwers.v1.daq.sampler._base
```

```{autodoc2-docstring} haniwers.v1.daq.sampler._base
:allowtitles:
```

## Module Contents

### Classes

````{list-table}
:class: autosummary longtable
:align: left

* - {py:obj}`Sampler <haniwers.v1.daq.sampler._base.Sampler>`
  - ```{autodoc2-docstring} haniwers.v1.daq.sampler._base.Sampler
    :summary:
    ```
````

### Functions

````{list-table}
:class: autosummary longtable
:align: left

* - {py:obj}`run_session <haniwers.v1.daq.sampler._base.run_session>`
  - ```{autodoc2-docstring} haniwers.v1.daq.sampler._base.run_session
    :summary:
    ```
````

### API

`````{py:class} Sampler(device: typing.Union[haniwers.v1.daq.device.Device, haniwers.v1.daq.mocker.Mocker, haniwers.v1.daq.mocker.RandomMocker], config: typing.Union[haniwers.v1.config.model.DaqConfig, haniwers.v1.config.model.ScanConfig, haniwers.v1.config.model.SamplerConfig], output_dir: typing.Optional[pathlib.Path] = None, show_progress: bool = True, mac_address: str = 'unknown')
:canonical: haniwers.v1.daq.sampler._base.Sampler

```{autodoc2-docstring} haniwers.v1.daq.sampler._base.Sampler
```

```{rubric} Initialization
```

```{autodoc2-docstring} haniwers.v1.daq.sampler._base.Sampler.__init__
```

````{py:method} timestamped_filename(fid: int, mac_address: str = 'unknown') -> pathlib.Path
:canonical: haniwers.v1.daq.sampler._base.Sampler.timestamped_filename

```{autodoc2-docstring} haniwers.v1.daq.sampler._base.Sampler.timestamped_filename
```

````

````{py:method} acquire_by_count(file_path: pathlib.Path, event_count: int)
:canonical: haniwers.v1.daq.sampler._base.Sampler.acquire_by_count

```{autodoc2-docstring} haniwers.v1.daq.sampler._base.Sampler.acquire_by_count
```

````

````{py:method} acquire_by_time(file_path: pathlib.Path, duration: float, sleep_interval: float)
:canonical: haniwers.v1.daq.sampler._base.Sampler.acquire_by_time

```{autodoc2-docstring} haniwers.v1.daq.sampler._base.Sampler.acquire_by_time
```

````

````{py:method} run(mode: str = None, files: int = None)
:canonical: haniwers.v1.daq.sampler._base.Sampler.run

```{autodoc2-docstring} haniwers.v1.daq.sampler._base.Sampler.run
```

````

`````

````{py:function} run_session(device, config, output_dir, mac_address='unknown', show_progress=True)
:canonical: haniwers.v1.daq.sampler._base.run_session

```{autodoc2-docstring} haniwers.v1.daq.sampler._base.run_session
```
````
