How to get the max and min value of a certain NodeSocket's slider? I'm rather new to scripting in Blender and have stumbled upon a problem I can't find a solution to. I'm trying to find the max and min value of an input of a Node.  I manage to find the input object (they're subclasses of NodeSocket) but I can't find any way to extract its max or min value. I reckon that many of them doesn't have it set, but how come then that the slider to control them seem to have a min and max? Can I extract this? 

To clarify, for a Nodes input X, a slider might be restricted to values between 0 and 10 by default. If i force it to, say -10 then the slider will adapt and range between -10 and 10. Can I extract this first range somehow? Is it manually set or somehow automatically calculated in Blender?

In the below image, Blender restricts the slider to 0.1 - 20.0.


UPDATE
The node in question is a custom Group Node node and comes from this Blende-file, maybe that has something to do with it?
These are blender properties 

https://docs.blender.org/api/current/bpy.props.html  In defining, for example a float type property bpy.props.FloatProperty can set its hard and soft minimums and maximums.  

A soft setting is the first range you force the property past up till the hard setting.

As an example using the Principled BSDF node 

&gt;&gt;&gt; node_tree = D.materials['Material'].node_tree
&gt;&gt;&gt; node = node_tree.nodes['Principled BSDF']


Each inputs default_value property settings can be found via input.bl_rna.properties["default_value"]

Loop over the enumerated inputs of the node and output the index, name, mins, and maxes of their default_value property.

&gt;&gt;&gt; for i, inp in enumerate(node.inputs):
...     i, inp.name
...     p = inp.bl_rna.properties["default_value"]
...     p.hard_min, p.soft_min, p.soft_max, p.hard_max
...     
(0, 'Base Color')
(0.0, 0.0, 1.0, 3.4028234663852886e+38)
(1, 'Subsurface')
(0.0, 0.0, 1.0, 1.0)
(2, 'Subsurface Radius')
(-3.4028234663852886e+38, -10000.0, 10000.0, 3.4028234663852886e+38)
(3, 'Subsurface Color')
(0.0, 0.0, 1.0, 3.4028234663852886e+38)
(4, 'Metallic')
(0.0, 0.0, 1.0, 1.0)
(5, 'Specular')
(0.0, 0.0, 1.0, 1.0)
(6, 'Specular Tint')
(0.0, 0.0, 1.0, 1.0)
(7, 'Roughness')
(0.0, 0.0, 1.0, 1.0)
(8, 'Anisotropic')
(0.0, 0.0, 1.0, 1.0)
(9, 'Anisotropic Rotation')
(0.0, 0.0, 1.0, 1.0)
(10, 'Sheen')
(0.0, 0.0, 1.0, 1.0)
(11, 'Sheen Tint')
(0.0, 0.0, 1.0, 1.0)
(12, 'Clearcoat')
(0.0, 0.0, 1.0, 1.0)
(13, 'Clearcoat Roughness')
(0.0, 0.0, 1.0, 1.0)
(14, 'IOR')
(-3.4028234663852886e+38, -10000.0, 10000.0, 3.4028234663852886e+38)
(15, 'Transmission')
(0.0, 0.0, 1.0, 1.0)
(16, 'Transmission Roughness')
(0.0, 0.0, 1.0, 1.0)
(17, 'Emission')
(0.0, 0.0, 1.0, 3.4028234663852886e+38)
(18, 'Alpha')
(0.0, 0.0, 1.0, 1.0)
(19, 'Normal')
(-3.4028234663852886e+38, -10000.0, 10000.0, 3.4028234663852886e+38)
(20, 'Clearcoat Normal')
(-3.4028234663852886e+38, -10000.0, 10000.0, 3.4028234663852886e+38)
(21, 'Tangent')
(-3.4028234663852886e+38, -10000.0, 10000.0, 3.4028234663852886e+38)


Note a property may not be a float type.  Autocomplete on property definition p to see options and values.