content: [tool.codespell]
  count = ""
  ignore-regex = '\b[A-Z]{3}\b'
  ignore-words-list = "ans,asend,deques,dout,emac,extint,hsi,iput,mis,notin,numer,ser,shft,synopsys,technic,ure,curren"
  quiet-level = 3
  skip = """
  */build*,\
  ./.git,\
  ./drivers/cc3100,\
  ./lib,\
  ./ports/cc3200/FreeRTOS,\
  ./ports/cc3200/bootmgr/sl,\
  ./ports/cc3200/hal,\
  ./ports/cc3200/simplelink,\
  ./ports/cc3200/telnet,\
  ./ports/esp32/managed_components,\
  ./ports/nrf/drivers/bluetooth/s1*,\
  ./ports/stm32/usbhost,\
  ./tests,\
  ACKNOWLEDGEMENTS,\
  """
  
  [tool.ruff]
  # Exclude third-party code from linting and formatting
  extend-exclude = ["lib"]
  line-length = 99
  target-version = "py37"
  
  [tool.ruff.lint]
  exclude = [  # Ruff finds Python SyntaxError in these files
    "tests/cmdline/repl_autocomplete.py",
    "tests/cmdline/repl_autocomplete_underscore.py",
    "tests/cmdline/repl_autoindent.py",
    "tests/cmdline/repl_basic.py",
    "tests/cmdline/repl_cont.py",
    "tests/cmdline/repl_emacs_keys.py",
    "tests/cmdline/repl_paste.py",
    "tests/cmdline/repl_words_move.py",
    "tests/feature_check/repl_emacs_check.py",
    "tests/feature_check/repl_words_move_check.py",
    "tests/micropython/viper_args.py",
  ]
  extend-select = ["C9", "PLC"]
  ignore = [
    "E401",
    "E402",
    "E722",
    "E731",
    "E741",
    "F401",
    "F403",
    "F405",
    "PLC0206",
  ]
  mccabe.max-complexity = 40
  
  [tool.ruff.lint.per-file-ignores]
  # Exclude all tests from linting.
  "tests/**/*.py" = ["ALL"]
  "ports/cc3200/tools/uniflash.py" = ["E711"]
  # manifest.py files are evaluated with some global names pre-defined
  "**/manifest.py" = ["F821"]
  "ports/**/boards/**/manifest_*.py" = ["F821"]
  
  [tool.ruff.format]
  # Exclude third-party code, and exclude the following tests:
  #   basics: needs careful attention before applying automatic formatting
  #   repl_: not real python files
  #   viper_args: uses f(*)
  exclude = ["tests/basics/*.py", "tests/*/repl_*.py", "tests/micropython/viper_args.py"]
  