code: def test_params_py_tuple_status(tmp_dir, dvc):
      """https://github.com/iterative/dvc/issues/8803"""
      parameters_file = "parameters.py"
      tmp_dir.gen(parameters_file, "TUPLE = (10, 100)\n")
      dep = ParamsDependency(Stage(dvc), parameters_file, ["TUPLE"])
      # lock file uses YAML so the tuple will be loaded as a list
      dep.fill_values({"TUPLE": [10, 100]})
      assert dep.status() == {}
      dep.fill_values({"TUPLE": [11, 100]})
      assert dep.status() == {"parameters.py": {"TUPLE": "modified"}}
      dep.fill_values({"TUPLE": [10]})
      assert dep.status() == {"parameters.py": {"TUPLE": "modified"}}
      dep.fill_values({"TUPLE": {10: "foo", 100: "bar"}})
      assert dep.status() == {"parameters.py": {"TUPLE": "modified"}}
  
imports: import pytest
  from dvc.dependency import ParamsDependency, loadd_from, loads_params
  from dvc.dependency.param import BadParamFileError, MissingParamsError
  from dvc.stage import Stage
  from dvc.utils.serialize import dump_toml, dump_yaml, load_yaml
label_desc: Use image node_id 14 for calling a global function with example usage: test_params_py_tuple_status(tmp_dir, dvc) without return types