simvue-io / simvue-io/python-api

Grid.new fails if 1D array provided

Open
#883 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug wontfix
Dominant language
Python
Stars
4
Forks
1
Avg merge
5d 8h
Merged PRs (30d)
4

Description

Description of Bug

If trying to create a grid for a 2D metric by providing a 1D array of ticks, it fails validation.

Steps To Reproduce

Code to reproduce the behavior:

import simvue
import numpy

with simvue.Run() as run:
    run.init("test")
    run.assign_metric_to_grid(metric_name="test_metric_2d", axes_ticks=numpy.arange(10), axes_labels=['x'])
    for i in range(10):
        run.log_metrics({"test_metric_2d": numpy.random.rand(10)}, time=i, step=i)

Expected behavior

Grid added correctly

Actual Behaviour

Traceback (most recent call last):
  File "/home/wk9874/Documents/simvue/python-api/test_retrieval.py", line 6, in <module>
    run.assign_metric_to_grid(metric_name="test_metric_2d", axes_ticks=numpy.arange(10), axes_labels=['x'])
  File "/home/wk9874/Documents/simvue/python-api/simvue/utilities.py", line 260, in wrapper
    return class_func(self, *args, **kwargs)
  File "/home/wk9874/Documents/simvue/python-api/simvue/run.py", line 105, in _wrapper
    return _function(self, *args, **kwargs)
  File "/home/wk9874/Documents/simvue/python-api/simvue/utilities.py", line 300, in wrapper
    raise RuntimeError(error_str)
RuntimeError: `Grid.new` Validation:
╒═════════╤═════════════╤══════════════════╤══════════════════════════════╕
│   Input │ Location    │ Type             │ Message                      │
╞═════════╪═════════════╪══════════════════╪══════════════════════════════╡
│       0 │ ['grid', 0] │ int != list_type │ Input should be a valid list │
├─────────┼─────────────┼──────────────────┼──────────────────────────────┤
│       1 │ ['grid', 1] │ int != list_type │ Input should be a valid list │
├─────────┼─────────────┼──────────────────┼──────────────────────────────┤
│       2 │ ['grid', 2] │ int != list_type │ Input should be a valid list │
├─────────┼─────────────┼──────────────────┼──────────────────────────────┤
│       3 │ ['grid', 3] │ int != list_type │ Input should be a valid list │
├─────────┼─────────────┼──────────────────┼──────────────────────────────┤
│       4 │ ['grid', 4] │ int != list_type │ Input should be a valid list │
├─────────┼─────────────┼──────────────────┼──────────────────────────────┤
│       5 │ ['grid', 5] │ int != list_type │ Input should be a valid list │
├─────────┼─────────────┼──────────────────┼──────────────────────────────┤
│       6 │ ['grid', 6] │ int != list_type │ Input should be a valid list │
├─────────┼─────────────┼──────────────────┼──────────────────────────────┤
│       7 │ ['grid', 7] │ int != list_type │ Input should be a valid list │
├─────────┼─────────────┼──────────────────┼──────────────────────────────┤
│       8 │ ['grid', 8] │ int != list_type │ Input should be a valid list │
├─────────┼─────────────┼──────────────────┼──────────────────────────────┤
│       9 │ ['grid', 9] │ int != list_type │ Input should be a valid list │
╘═════════╧═════════════╧══════════════════╧══════════════════════════════╛

Screenshots

If applicable, add screenshots to help explain your problem.

Setup

  • OS: [e.g. Windows 11]
  • Python version [e.g. v3.13.3]

Additional context

Add any other context about the problem here.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the assign_metric_to_grid call in simvue/run.py and the validation wrappers in simvue/utilities.py, then reproduce the failure using the provided NumPy example. Check how Grid.new validates the grid input. Done means a 1D axes_ticks array with a single label creates the grid successfully without the reported validation error.

Written by the indexing model from the issue text.

Assessment

Tech stack
numpy, python
Domain
api
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.