ato-version

The compiler version with which the project was developed.

This is used by the compiler to ensure the code in this project is compatible with the compiler version.

Default value: current compiler version

Type: str

Example usage:

title="ato.yaml"
ato-version: 0.3.0

paths.src

Project source code directory

Default value: elec/src

Type: str

Example usage:

title="ato.yaml"
paths:
  src: "./"

paths.layout

Project layout directory where KiCAD projects are stored and searched for

Default value: elec/layout

Type: str

Example usage:

title="ato.yaml"
paths:
  layout: "./"

dependencies

List of dependencies for the project

Default value: [] or no dependencies

Type:

FieldTypeDescriptionDefault
namestrThe name of the dependencyNo default and required
version_specstrThe version specifier for the dependencyLatest tagged version or commit on main
link_brokenboolWhether the link to the upstream version is maintained / brokenfalse
pathstrThe path to the dependency within this project.ato/modules/<name>

Example usage:

title="ato.yaml"
dependencies:
  - name: rp2040
    version_spec: ">=3.0.0,<4.0.0"

builds

Build targets for the project

Default value: {} or no build targets

Type: dict (see “builds.name” etc… below for details)

builds.entry

Entry point for the build

Default value: Required, no default

Type: str

Example usage:

title="ato.yaml"
builds:
    default:
        entry: some_file.ato:App

builds.targets

Build targets for the project

Default value: ["__default__"], which is a special value.

Type: list[str]

Example usage:

title="ato.yaml"
builds:
    default:
        targets:
          - bom
          - mfg-data

builds.exclude_targets

Excluding the mfg-data target is useful, for example, for CI build targets that represent a module, but not a board you’d manufacture.

Default value: [], don’t actively exclude any targets

Type: list[str]

Example usage:

title="ato.yaml"
builds:
    default:
        exclude_targets:
          - bom
          - mfg-data