Skip to content

Function parameters in the form of a set are reported unordered #277

@Zeitsperre

Description

@Zeitsperre

This is an issue coming from tests that rely on identical output evaluations seen in Jupyter Notebooks (see: bird-house/birdhouse-deploy#354)

It seems as though the parsing logic for parameter types allows for changes in the order when the type string is a set.

If we look at a docstring in finch:

    """
    Heat wave index.

    Number of days that are part of a heatwave, defined as five or more consecutive days over a threshold of 25℃.

    Parameters
    ----------
    ...
    op : {">", "gt", ">=", "ge"}
        Comparison operation. Default: ">".
    ...

Being reported in a WPSClient process as (ignore the description string):

    Number of heat waves over a given period. A heat wave is defined as an event where the minimum and maximum daily temperature both exceeds specific thresholds over a minimum number of days.

    Parameters
    ----------
    ...
    op : {'>=', '>', 'ge', 'gt'}string
        Comparison operation. Default: ">".
    ...

This order is entirely random, and different servers/services will report this string in different order.

It's not clear to me where exactly the docstring is formatted (birdy.utils.build_wps_client_doc?) but it would be great if there was a way to ensure order is always the same, even if different from the original docstring.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions