<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def circular(self,EdgeAttribute=None,leftEdge=None,network=None,\ 	NodeAttribute=None,nodeHorizontalSpacing=None,nodeList=None,\ 	nodeVerticalSpacing=None,rightMargin=None,singlePartition=None,topEdge=None,\ 	verbose=None):
 		""" 		Execute the Circular Layout on a network 		:param EdgeAttribute (string, optional):
 The name of the edge column contai 			ning numeric values that will be used as weights in the layout algor 			ithm. Only columns containing numeric values are shown 		:param leftEdge (string, optional):
 Left edge margin, in numeric value 		:param network (string, optional):
 Specifies a network by name, or by SUID 			if the prefix SUID: is used. The keyword CURRENT, or a blank value c 			an also be used to specify the current network. 		:param NodeAttribute (string, optional):
 The name of the node column contai 			ning numeric values that will be used as weights in the layout algor 			ithm. Only columns containing numeric values are shown 		:param nodeHorizontalSpacing (string, optional):
 Horizontal spacing between 				nodes, in numeric value 		:param nodeList (string, optional):
 Specifies a list of nodes. The keywords 				all, selected, or unselected can be used to specify nodes by their 			selection state. The pattern COLUMN:VALUE sets this parameter to any 				rows that contain the specified column value; if the COLUMN prefix 			is not used, the NAME column is matched by default. A list of COLUMN 			used to match multiple values. 		:param nodeVerticalSpacing (string, optional):
 Vertical spacing between nod 			es, in numeric value 		:param rightMargin (string, optional):
 Right edge margin, in numeric value 		:param singlePartition (string, optional):
 Don't partition graph before lay 			out; only boolean values are allowed: true or false 		:param topEdge (string, optional):
 Top edge margin, in numeric value 		"""

		network=check_network(self,network,verbose=verbose)
		PARAMS=set_param(['EdgeAttribute','leftEdge','network','NodeAttribute',\
		'nodeHorizontalSpacing','nodeList','nodeVerticalSpacing','rightMargin',\
		'singlePartition','topEdge'],[EdgeAttribute,leftEdge,network,NodeAttribute,\
		nodeHorizontalSpacing,nodeList,nodeVerticalSpacing,rightMargin,\
		singlePartition,topEdge])
		response=api(url=self.__url+"/circular", PARAMS=PARAMS, method="POST", verbose=verbose)
		return response