# GF180 Technology Variants Demo Repo

GF180 technology development Shared Repo

## Generating SVG for all unit tests

To generate all the svg files for the unit tests run the following commands;
```bash
make env
make svg
```

This will run the [`./scripts/generate_svg.py`](./scripts/generate_svg.py) to
generate the SVG files.

# Development

All Python scripts should be `pep8` and `pylint` clean. This is checked by CI
and can be checked locally by doing the following;

 * `make pep8` or `make pycodestyle` - Run the `pycodestyle` script (new name
   for the pep8 script) on all Python files in the repository.

 * `make lint` - Run the `pylint` script on all Python files in the
   repository.

 * `make format` - Run the `yapf` Python autoformatter on all the Python files
   in the repository.
