How to order the parameters of a Parameterized object when displayed with Panel?

I can’t believe this question hasn’t been asked an there is no documentation to be found. It seems important.

How do I customize the order of displayed parameters?

import param as pm
import panel as pn
pn.extension()

class Protocol(pm.Parameterized):
    target_apy = pm.Number(0.15, bounds=(0,1), precedence=1)
    total_pool_tvl = pm.Number(1e7, bounds=(0,None), precedence=1)
    curve_price = pm.Number(0.664501878575914, bounds=(0,None), precedence=0)
    display_level = pm.Number(default=1, bounds=(0, 2), step=1, precedence=2)

p = Protocol()

pn.Row(p)

See image, the parameters are not displayed in order that they are defined on the class, or in alphabetical order, so what is determining their order?

Thanks!

Nevermind!

Found it in the docs here: Using Param with Panel — Panel v0.14.1

2 Likes