getml / getml-community

Fast, high-quality forecasts on relational and multivariate time-series data powered by new feature learning algorithms and automated ML.
https://getml.com
Other
86 stars 7 forks source link

Recursion error when printing pipelines #7

Open Jogala opened 6 months ago

Jogala commented 6 months ago
import getml
getml.engine.launch()
getml.engine.set_project("test")
names_pipelines = getml.pipeline.list_pipelines()
x = getml.pipeline.load(names_pipelines[0])
print(x)

leads to the error:

Traceback (most recent call last):
  File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/home/ubuntu/.vscode-server/extensions/ms-python.python-2023.22.0/pythonFiles/lib/python/debugpy/adapter/../../debugpy/launcher/../../debugpy/__main__.py", line 39, in <module>
    cli.main()
  File "/home/ubuntu/.vscode-server/extensions/ms-python.python-2023.22.0/pythonFiles/lib/python/debugpy/adapter/../../debugpy/launcher/../../debugpy/../debugpy/server/cli.py", line 430, in main
    run()
  File "/home/ubuntu/.vscode-server/extensions/ms-python.python-2023.22.0/pythonFiles/lib/python/debugpy/adapter/../../debugpy/launcher/../../debugpy/../debugpy/server/cli.py", line 284, in run_file
    runpy.run_path(target, run_name="__main__")
  File "/home/ubuntu/.vscode-server/extensions/ms-python.python-2023.22.0/pythonFiles/lib/python/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_runpy.py", line 321, in run_path
    return _run_module_code(code, init_globals, run_name,
  File "/home/ubuntu/.vscode-server/extensions/ms-python.python-2023.22.0/pythonFiles/lib/python/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_runpy.py", line 135, in _run_module_code
    _run_code(code, mod_globals, init_globals,
  File "/home/ubuntu/.vscode-server/extensions/ms-python.python-2023.22.0/pythonFiles/lib/python/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_runpy.py", line 124, in _run_code
    exec(code, run_globals)
  File "/home/ubuntu/.../.../models/test.py", line 10, in <module>
    print(x)
  File "/home/ubuntu/.../.../.venv/lib/python3.10/site-packages/getml/pipeline/pipeline.py", line 609, in __repr__
    repr_str = sig._format()
  File "/home/ubuntu/.../.../.venv/lib/python3.10/site-packages/getml/utilities/formatting/signature_formatter.py", line 194, in _format
    return getattr(self, "_format_" + style)(suppress_none)
  File "/home/ubuntu/.../.../.venv/lib/python3.10/site-packages/getml/utilities/formatting/signature_formatter.py", line 105, in _format_pep8
    list_split = _split_value(
  File "/home/ubuntu/.../.../.venv/lib/python3.10/site-packages/getml/utilities/formatting/signature_formatter.py", line 34, in _split_value
    split.extend(_split_value(remaining, start, max_width))
  File "/home/ubuntu/.../.../.venv/lib/python3.10/site-packages/getml/utilities/formatting/signature_formatter.py", line 34, in _split_value
    split.extend(_split_value(remaining, start, max_width))
  File "/home/ubuntu/.../.../.venv/lib/python3.10/site-packages/getml/utilities/formatting/signature_formatter.py", line 34, in _split_value
    split.extend(_split_value(remaining, start, max_width))
  [Previous line repeated 977 more times]
  File "/home/ubuntu/.../.../.venv/lib/python3.10/site-packages/getml/utilities/formatting/signature_formatter.py", line 29, in _split_value
    truncated = list(_truncate_line(value, 2, max_width - start, template="{!r}"))
  File "/home/ubuntu/.../.../.venv/lib/python3.10/site-packages/getml/utilities/formatting/formatter.py", line 152, in _truncate_line
    for cell, cum_width in zip(line, cum_widths):
  File "/home/ubuntu/.../.../.venv/lib/python3.10/site-packages/getml/utilities/formatting/formatter.py", line 148, in <genexpr>
    widths = (len(template.format(cell)) + margin for cell in line)
  File "_pydevd_bundle/pydevd_cython.pyx", line 1457, in _pydevd_bundle.pydevd_cython.SafeCallWrapper.__call__
RecursionError: maximum recursion depth exceeded while calling a Python object

Problem is probably that not all strings are allowed for "tag";

"{'schema_name': 'DEMAND', 'country': 'IT', 'tables': 'w:60d', 'include_categorical': False, 'fast_prop': True, 'fast_prop_mode': 'minimal', 'relboost': False, 'mapping': False, 'share_selected_features': 1.0, 't': 'numerical', 'w': 'unused_float', 'solar_radiation': 'unused_float', 'max_depth_feature_selector': 3, 'max_depth_predictor': 3, 'max_depth_rel_boost': 3, 'columns': {'weather': ['date', 'country', 'hour', 'month', 'weekday', 't', 's', 'w']}}"