# Package API

## Subpackages

- sbws.core package
  - Submodules
    - sbws.core.cleanup module
    - sbws.core.generate module
    - sbws.core.scanner module
    - sbws.core.stats module
  - Module contents
- sbws.lib package
  - Submodules
    - sbws.lib.circuitbuilder module
    - sbws.lib.relaylist module
    - sbws.lib.relayprioritizer module
    - sbws.lib.resultdump module
    - sbws.lib.v3bwfile module
  - Module contents
- sbws.util package
  - Submodules
    - sbws.util.config module
    - sbws.util.filelock module
    - sbws.util.parser module
    - sbws.util.state module
    - sbws.util.stem module
    - sbws.util.userquery module
  - Module contents

## Submodules

## sbws.globals module

`sbws.globals.``fail_hard`(*a, **kw)

  Log something … and then exit as fast as possible

`sbws.globals.``touch_file`(fname, times=None)

  If fname exists, update its last access and modified times to now. If fname does not exist, create it. If times are specified, pass them to os.utime for use.

  Parameters

    - fname (str) – Name of file to update or create

    - times (tuple) – 2-tuple of floats for access time and modified time respectively