ifgen (4.7.3) — docs

Skip to main content
`Ctrl`+`K`

# ifgen (4.7.3)

An interface generator for distributed computing.

Consider sponsoring development.

(interface documentation)

## Python Version Support

This package is tested with the following Python minor versions:

- `python3.13`

- `python3.14`

## Platform Support

This package is tested on the following platforms:

- `ubuntu-latest`

- `macos-latest`

- `windows-latest`

# Introduction

# Command-line Options

    $ ./venv3.14/bin/ig -h

    usage: ig [-h] [--version] [-v] [-q] [--curses] [--no-uvloop] [-C DIR]
              {gen,svd,noop} ...

    An interface generator for distributed computing.

    options:
      -h, --help      show this help message and exit
      --version       show program's version number and exit
      -v, --verbose   set to increase logging verbosity
      -q, --quiet     set to reduce output
      --curses        whether or not to use curses.wrapper when starting
      --no-uvloop     whether or not to disable uvloop as event loop driver
      -C, --dir DIR   execute from a specific directory

    commands:
      {gen,svd,noop}  set of available commands
        gen           generate interfaces
        svd           process CMSIS-SVD files
        noop          command stub (does nothing)

# Internal Dependency Graph

A coarse view of the internal structure and scale of `ifgen`’s source. Generated using pydeps (via `mk python-deps`).

Interface Documentation

- ifgen package
  - Subpackages
    - ifgen.commands package
      - Submodules
      - ifgen.commands.all module
      - ifgen.commands.gen module
      - ifgen.commands.svd module
      - Module contents
    - ifgen.common package
      - Module contents
    - ifgen.config package
      - Submodules
      - ifgen.config.svd module
      - Module contents
    - ifgen.enum package
      - Subpackages
      - Submodules
      - ifgen.enum.common module
      - ifgen.enum.header module
      - ifgen.enum.map module
      - ifgen.enum.source module
      - ifgen.enum.test module
      - Module contents
    - ifgen.environment package
      - Submodules
      - ifgen.environment.field module
      - ifgen.environment.padding module
      - Module contents
    - ifgen.generation package
      - Subpackages
      - Submodules
      - ifgen.generation.interface module
      - ifgen.generation.json module
      - ifgen.generation.test module
      - Module contents
    - ifgen.plugins package
      - Subpackages
      - Module contents
    - ifgen.struct package
      - Subpackages
      - Submodules
      - ifgen.struct.header module
      - ifgen.struct.stream module
      - ifgen.struct.test module
      - ifgen.struct.util module
      - Module contents
    - ifgen.svd package
      - Subpackages
      - Submodules
      - ifgen.svd.cpu module
      - ifgen.svd.device module
      - ifgen.svd.peripherals module
      - ifgen.svd.process module
      - ifgen.svd.string module
      - ifgen.svd.task module
      - Module contents
  - Submodules
  - ifgen.app module
    - `add_app_args()`
    - `entry()`
  - ifgen.entry module
    - `main()`
  - ifgen.enums module
    - `Generator`
      - `Generator.CUSTOM`
      - `Generator.ENUMS`
      - `Generator.IFGEN`
      - `Generator.STRUCTS`
    - `Language`
      - `Language.CPP`
      - `Language.PYTHON`
      - `Language.cfg_dir_name`
      - `Language.header_suffix`
      - `Language.slug`
      - `Language.source_suffix`
  - ifgen.paths module
    - `audit_init_file()`
    - `combine_if_not_absolute()`
    - `create_formatter()`
  - ifgen.schemas module
    - `IfgenDictCodec`
      - `IfgenDictCodec.data`
      - `IfgenDictCodec.default_schemas`
  - Module contents