Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
if 'defaults' in manifest:
print('manifest defaults', manifest['defaults'])
if self.builder == '':
self.builder = manifest['defaults'].get('builder', '')
if self.runner == '':
self.runner = manifest['defaults'].get('runner', '')
class Resources(Base):
memory = param.String(allow_None=True)
cpu = param.String(allow_None=True)
class Instances(Base):
count = param.Integer(allow_None=True)
percentage = param.Number(allow_None=True)
class Dependency(Base):
module = param.String()
version = param.String()
class Build(Base):
selectors = param.List(class_=str, allow_None=True)
dependencies = param.List(allow_None=True)
class Run(Base):
artifact = param.String(allow_None=True)
test_params = param.Parameter(instantiate=True)
the chords connecting them. The amount of radial angle devoted to
each node and the number of chords are scaled by the value
dimension of the Chord element. If the values are integers then
the number of chords is directly scaled by the value, if the
values are floats then the number of chords are apportioned such
that the lowest value edge is given one chord and all other nodes
are given nodes proportional to their weight. The max_chords
parameter scales the number of chords to be assigned to an edge.
The chords are computed by interpolating a cubic spline from the
source to the target node in the graph, the number of samples to
interpolate the spline with is given by the chord_samples
parameter.
"""
chord_samples = param.Integer(default=50, bounds=(0, None), doc="""
Number of samples per chord for the spline interpolation.""")
max_chords = param.Integer(default=500, doc="""
Maximum number of chords to render.""")
def _process(self, element, key=None):
nodes_el = element._nodes
if nodes_el:
idx_dim = nodes_el.kdims[-1]
nodes = nodes_el.dimension_values(idx_dim, expanded=False)
else:
source = element.dimension_values(0, expanded=False)
target = element.dimension_values(1, expanded=False)
nodes = np.unique(np.concatenate([source, target]))
# Compute indices and values for connectivity matrix
# Set magnitudes, angles and colors if supplied.
quiver = self.handles['artist']
quiver.set_offsets(np.column_stack(args[:2]))
quiver.U = args[2]
quiver.angles = style['angles']
if self.color_index:
quiver.set_array(args[-1])
quiver.set_clim(style['clim'])
return axis_kwargs
class BarPlot(LegendPlot):
group_index = param.Integer(default=0, doc="""
Index of the dimension in the supplied Bars
Element, which will be laid out into groups.""")
category_index = param.Integer(default=1, doc="""
Index of the dimension in the supplied Bars
Element, which will be laid out into categories.""")
stack_index = param.Integer(default=2, doc="""
Index of the dimension in the supplied Bars
Element, which will stacked.""")
padding = param.Number(default=0.2, doc="""
Defines the padding between groups.""")
color_by = param.List(default=['category'], doc="""
Defines how the Bar elements colored. Valid options include
frame_width = param.Integer(default=None, allow_None=True, bounds=(0, None), doc="""
The width of the component (in pixels). This can be either
fixed or preferred width, depending on width sizing policy.""")
frame_height = param.Integer(default=None, allow_None=True, bounds=(0, None), doc="""
The height of the component (in pixels). This can be either
fixed or preferred height, depending on height sizing policy.""")
min_width = param.Integer(default=None, bounds=(0, None), doc="""
Minimal width of the component (in pixels) if width is adjustable.""")
min_height = param.Integer(default=None, bounds=(0, None), doc="""
Minimal height of the component (in pixels) if height is adjustable.""")
max_width = param.Integer(default=None, bounds=(0, None), doc="""
Minimal width of the component (in pixels) if width is adjustable.""")
max_height = param.Integer(default=None, bounds=(0, None), doc="""
Minimal height of the component (in pixels) if height is adjustable.""")
margin = param.Parameter(default=None, doc="""
Allows to create additional space around the component. May
be specified as a two-tuple of the form (vertical, horizontal)
or a four-tuple (top, right, bottom, left).""")
responsive = param.ObjectSelector(default=False, objects=[False, True, 'width', 'height'])
finalize_hooks = param.HookList(default=[], doc="""
Deprecated; use hooks options instead.""")
hooks = param.HookList(default=[], doc="""
class TablePlot(ElementPlot):
"""
A TablePlot can plot both TableViews and ViewMaps which display
as either a single static table or as an animated table
respectively.
"""
border = param.Number(default=0.05, bounds=(0.0, 0.5), doc="""
The fraction of the plot that should be empty around the
edges.""")
float_precision = param.Integer(default=3, doc="""
The floating point precision to use when printing float
numeric data types.""")
max_value_len = param.Integer(default=20, doc="""
The maximum allowable string length of a value shown in any
table cell. Any strings longer than this length will be
truncated.""")
max_font_size = param.Integer(default=12, doc="""
The largest allowable font size for the text in each table
cell.""")
max_rows = param.Integer(default=15, doc="""
The maximum number of Table rows before the table is
summarized.""")
font_types = param.Dict(default={'heading': FontProperties(weight='bold',
family='DejaVu Sans')}, doc="""
The font style used for heading labels used for emphasis.""")
def function(self, p):
gens = [Wedge(size=1.0/p.parts,smoothing=p.smoothing/p.parts,
orientation=i*2*np.pi/p.parts) for i in range(p.parts)]
return Composite(generators=gens, bounds=p.bounds, orientation=p.orientation,
xdensity=p.xdensity, ydensity=p.ydensity)()
class Asterisk(Composite):
"""
Asterisk-like object composed of radial rectangular lines.
Also makes crosses and tripods.
"""
parts = param.Integer(default=3,bounds=(1,None),softbounds=(0.0,2.0),
precedence=0.31,doc="Number of parts in the asterisk.")
thickness = param.Number(default=0.05,bounds=(0.0,None),softbounds=(0.0,0.5),
precedence=0.60,doc="Thickness of the rectangle.")
smoothing = param.Number(default=0.015,bounds=(0.0,None),softbounds=(0.0,0.5),
precedence=0.61,doc="Width of the Gaussian fall-off around the rectangles.")
size = param.Number(default=0.5,bounds=(0.01,None),softbounds=(0.1,2.0),
precedence=0.62,doc="Overall diameter of the pattern.")
def function(self, p):
o=2*np.pi/p.parts
gens = [Rectangle(orientation=i*o,smoothing=p.smoothing,
aspect_ratio=2*p.thickness/p.size,
size=p.size/2,
Whether the bars should be stacked or grouped.""")
show_legend = param.Boolean(default=True, doc="""
Whether to show legend for the plot.""")
# Deprecated parameters
group_index = param.Integer(default=1, doc="""
Index of the dimension in the supplied Bars
Element, which will be laid out into groups.""")
category_index = param.Integer(default=None, doc="""
Index of the dimension in the supplied Bars
Element, which will be laid out into categories.""")
stack_index = param.Integer(default=None, doc="""
Index of the dimension in the supplied Bars
Element, which will stacked.""")
stacked = param.Boolean(default=False)
style_opts = ['visible']
trace_kwargs = {'type': 'bar'}
selection_display = PlotlyOverlaySelectionDisplay()
def get_extents(self, element, ranges, range_type='combined'):
"""
Make adjustments to plot extents by computing
stacked bar heights, adjusting the bar baseline
and forcing the x-axis to be categorical.
edit the element and the `editor`, which contains a list of tables,
which make it possible to annotate each object in the element with
additional properties defined in the `annotations`.
"""
annotations = param.ClassSelector(default=[], class_=(dict, list), doc="""
Annotations to associate with each object.""")
default_opts = param.Dict(default={'responsive': True, 'min_height': 400,
'padding': 0.1}, doc="""
Opts to apply to the element.""")
object = param.ClassSelector(class_=Element, doc="""
The Element to edit and annotate.""")
num_objects = param.Integer(default=None, bounds=(0, None), doc="""
The maximum number of objects to draw.""")
table_transforms = param.HookList(default=[], doc="""
Transform(s) to apply to element when converting data to Table.
The functions should accept the Annotator and the transformed
element as input.""")
table_opts = param.Dict(default={'editable': True, 'width': 400}, doc="""
Opts to apply to the editor table(s).""")
# Once generic editing tools are merged into bokeh this could
# include snapshot, restore and clear tools
_tools = []
# Allows patching on custom behavior
_extra_opts = {}
class vectorfield(ViewOperation):
"""
Given a SheetView with a single channel, convert it to a
VectorField object at a given spatial sampling interval. The
values in the SheetView are assumed to correspond to the vector
angle in radians and the value is assumed to be cyclic.
If supplied with an overlay, the second sheetview in the overlay
will be interpreted as the third vector dimension.
"""
rows = param.Integer(default=10, doc="""
Number of rows in the vector field.""")
cols = param.Integer(default=10, doc="""
Number of columns in the vector field.""")
label = param.String(default='Vectors', doc="""
The label suffix used to label the resulting vector field
where the suffix is added to the label of the input SheetView""")
def _process(self, view, key=None):
if isinstance(view, Overlay) and len(view) >= 2:
radians, lengths = view[0], view[1]
else:
radians, lengths = view, None
if not radians.value.cyclic:
raise Exception("First input SheetView must be declared cyclic")
Legends add to much clutter in a grid and are disabled by default.""")
xaxis = param.ObjectSelector(default='bottom',
objects=['bottom', 'top', None], doc="""
Whether and where to display the xaxis, supported options are
'bottom', 'top' and None.""")
yaxis = param.ObjectSelector(default='left',
objects=['left', 'right', None], doc="""
Whether and where to display the yaxis, supported options are
'left', 'right' and None.""")
xrotation = param.Integer(default=0, bounds=(0, 360), doc="""
Rotation angle of the xticks.""")
yrotation = param.Integer(default=0, bounds=(0, 360), doc="""
Rotation angle of the yticks.""")
def __init__(self, layout, axis=None, create_axes=True, ranges=None,
layout_num=1, keys=None, **params):
if not isinstance(layout, GridSpace):
raise Exception("GridPlot only accepts GridSpace.")
super(GridPlot, self).__init__(layout, layout_num=layout_num,
ranges=ranges, keys=keys, **params)
# Compute ranges layoutwise
grid_kwargs = {}
if axis is not None:
bbox = axis.get_position()
l, b, w, h = bbox.x0, bbox.y0, bbox.width, bbox.height
grid_kwargs = {'left': l, 'right': l+w, 'bottom': b, 'top': b+h}
self.position = (l, b, w, h)