graphyte_utils: Guard current working directory

Currently in Graphyte, all plugins run on the same process. It is
possible that the current working directory is changed by other
plugins. One way to solve this is running each plugins on a different
process. However, it needs a lot of work. Another approach is using
decorator. This CL adds a decorater which can guard the current working
directory and uses it on dummy_dut and dummy_inst for example.

TEST=make test PYTHON=python2; manually test on devices

Change-Id: I16c7f25826d93cf77cbc64c41ee1941789f93523
Reviewed-by: Yong Hong <>
Commit-Queue: Cheng Yueh <>
Tested-by: Cheng Yueh <>
4 files changed
tree: 3f4cc1937d9265126a405f39d7abff654605866c
  1. .gitignore
  2. .local.vimrc
  4. Makefile
  7. devtools/
  8. doc/
  9. graphyte/
  10. pylintrc

Google Radio Phy Test Framework


Graphyte (Google RAdio PHY TEst) is a Python based software framework for the calibration and verification of wireless connectivity radios in design and manufacturing. It is designed with an open, extensible architecture enabling wireless silicon and instrumentation vendors to develop their own plugins for PHY calibration and verification. The initial focus is on Wi-Fi and Bluetooth with 802.15.4 on the horizon.

Please refer to the user manual for more details.

Flow chart


No build step is required.


Two options:

$ (sudo) make install


$ (sudo) pip install .


$ (sudo) pip uninstall graphyte


  1. Create a tarball by: make dist The tarball can be found under the folder ‘dist’

  2. Copy the tarball to target machine

  3. Extract the tarball

  4. Inside the extracted folder, type the command to install:

     $ (sudo) pip install

User manual

Please find the user manual here for more details.

Interactive shell

An interactive shell is also implemented to analyze the interactions between a DUT and an instrument step by step.

Follow these steps to start the interactive shell:

  1. Install the graphyte framework and necessary plugins.

  2. Follow the user manual to create a valid config file.

  3. Run the interactive shell by:

    $ python -m graphyte.plugin_shell path/to/config/file