Tools

robotpy-build has some useful command line tools that can be executed via python3 -m robotpy_build TOOLNAME. On OSX/Linux, it is also installed as the robotpy-build script which can be executed directly.

scan-headers

This tool is designed to make it easy to populate the generate key for your python package.

This will scan all of your defined includes directories (including those of downloaded artifacts) and output something you can paste into the generate key of pyproject.toml. By default it will only show files that are not present in pyproject.toml – to show all files use the --all argument.

Often there are files that you don’t want to wrap. You can add them to the pyproject.toml file and they will be ignored. The list accepts glob patterns supported by the fnmatch module.

[tool.robotpy-build]
scan_headers_ignore = [
    "ignored_header.h",
    "ignore_dir/*",
]

create-gen

This will parse your defined generate items (generate key of pyproject.toml) and output yaml for them in the directory defined by generation_data. By default it will just print the file contents to stdout.

Use the --write argument to write the files, but it won’t overwrite existing files.

create-imports

Given a base package and a compiled module within that package, this will generate contents that contain all of the things exported by the compiled module. Often it is useful to put this in the __init__.py of your python package.

$ python -m robotpy_build create-imports rpydemo rpydemo._rpydemo

Use the --write argument to write the file.

To write a list of __init__.py files, you can specify them in the pyproject.toml file like so:

[tool.robotpy-build]
update_init = ["rpydemo rpydemo._rpydemo"]

To actually update the files, run python setup.py update_init.