+
    )i                     X    ^ RI tRR.tRR lt]P                  ! RRR7      RR l4       tR# )	    Ncytoscape_datacytoscape_graphc                   W8X  d   \         P                  ! R4      hR\        V P                  P	                  4       4      /pV P                  4       VR&   V P                  4       VR&   R. R. /VR&   VR,          R,          pVR,          R,          pV P                  P	                  4        F  w  rgRVP                  4       /pVP                  V4      ;'       g    \        V4      VR,          R&   WhR,          R	&   VP                  V4      ;'       g    \        V4      VR,          R
&   VP                  V4       K  	  V P                  4       '       d   V P                  RR7       F  p	RV P                  V	^ ,          ,          V	^,          ,          V	^,          ,          P                  4       /pV	^ ,          VR,          R&   V	^,          VR,          R&   V	^,          VR,          R&   VP                  V4       K  	  V# V P                  4        Fr  p	RV P                  V	^ ,          ,          V	^,          ,          P                  4       /pV	^ ,          VR,          R&   V	^,          VR,          R&   VP                  V4       Kt  	  V# )a  Returns data in Cytoscape JSON format (cyjs).

Parameters
----------
G : NetworkX Graph
    The graph to convert to cytoscape format
name : string
    A string which is mapped to the 'name' node element in cyjs format.
    Must not have the same value as `ident`.
ident : string
    A string which is mapped to the 'id' node element in cyjs format.
    Must not have the same value as `name`.

Returns
-------
data: dict
    A dictionary with cyjs formatted data.

Raises
------
NetworkXError
    If the values for `name` and `ident` are identical.

See Also
--------
cytoscape_graph: convert a dictionary in cyjs format to a graph

References
----------
.. [1] Cytoscape user's manual:
   http://manual.cytoscape.org/en/stable/index.html

Examples
--------
>>> from pprint import pprint
>>> G = nx.path_graph(2)
>>> cyto_data = nx.cytoscape_data(G)
>>> pprint(cyto_data, sort_dicts=False)
{'data': [],
 'directed': False,
 'multigraph': False,
 'elements': {'nodes': [{'data': {'id': '0', 'value': 0, 'name': '0'}},
                        {'data': {'id': '1', 'value': 1, 'name': '1'}}],
              'edges': [{'data': {'source': 0, 'target': 1}}]}}

The :mod:`json` package can be used to serialize the resulting data

>>> import io, json
>>> with io.StringIO() as fh:  # replace io with `open(...)` to write to disk
...     json.dump(cyto_data, fh)
...     fh.seek(0)  # doctest: +SKIP
...     print(fh.getvalue()[:64])  # View the first 64 characters
{"data": [], "directed": false, "multigraph": false, "elements":

!name and ident must be different.datadirected
multigraphnodesedgeselementsidvaluenameT)keyssourcetargetkey)nxNetworkXErrorlistgraphitemsis_directedis_multigraphr
   copygetstrappendr   adj)
Gr   identjsondatar
   r   ijnes
   &&&       e/var/www/html/photoedit/myenv/lib/python3.14/site-packages/networkx/readwrite/json_graph/cytoscape.pyr   r      s   p }BCCQWW]]_-.H==?HZ__.H\#R"5HZZ )EZ )EQVVX%%,00#a&&	$&	'EE$K113q6&	&Q   	d#AqtQqT*1Q405578A"#A$AfIh"#A$AfIh tAfIeLLO $ O AqtQqT*//12A"#A$AfIh"#A$AfIhLLO	 
 O    T)graphsreturns_graphc                   W8X  d   \         P                  ! R4      hV P                  R4      pV P                  R4      pV'       d   \         P                  ! 4       pM\         P                  ! 4       pV'       d   VP                  4       p\        V P                  R4      4      Vn        V R,          R,           F  pVR,          P                  4       pVR,          R,          pVR,          P                  V4      '       d   VR,          P                  V4      Wq&   VR,          P                  V4      '       d   VR,          P                  V4      Wr&   VP                  V4       VP                  V,          P                  V4       K  	  V R,          R,           F  pVR,          P                  4       p	VR,          R	,          p
VR,          R
,          pV'       dS   VR,          P                  R^ 4      pVP                  WVR7       VP                  WV3,          P                  V	4       K  VP                  W4       VP                  W3,          P                  V	4       K  	  V# )a  
Create a NetworkX graph from a dictionary in cytoscape JSON format.

Parameters
----------
data : dict
    A dictionary of data conforming to cytoscape JSON format.
name : string
    A string which is mapped to the 'name' node element in cyjs format.
    Must not have the same value as `ident`.
ident : string
    A string which is mapped to the 'id' node element in cyjs format.
    Must not have the same value as `name`.

Returns
-------
graph : a NetworkX graph instance
    The `graph` can be an instance of `Graph`, `DiGraph`, `MultiGraph`, or
    `MultiDiGraph` depending on the input data.

Raises
------
NetworkXError
    If the `name` and `ident` attributes are identical.

See Also
--------
cytoscape_data: convert a NetworkX graph to a dict in cyjs format

References
----------
.. [1] Cytoscape user's manual:
   http://manual.cytoscape.org/en/stable/index.html

Examples
--------
>>> data_dict = {
...     "data": [],
...     "directed": False,
...     "multigraph": False,
...     "elements": {
...         "nodes": [
...             {"data": {"id": "0", "value": 0, "name": "0"}},
...             {"data": {"id": "1", "value": 1, "name": "1"}},
...         ],
...         "edges": [{"data": {"source": 0, "target": 1}}],
...     },
... }
>>> G = nx.cytoscape_graph(data_dict)
>>> G.name
''
>>> G.nodes()
NodeView((0, 1))
>>> G.nodes(data=True)[0]
{'id': '0', 'value': 0, 'name': '0'}
>>> G.edges(data=True)
EdgeDataView([(0, 1, {'source': 0, 'target': 1})])
r   r	   r   r   r   r
   r   r   r   r   r   )r   )r   r   r   
MultiGraphGraphto_directeddictr   r   add_noder
   updateadd_edger   )r   r   r!   r	   r   r   d	node_datanode	edge_datasourtargr   s   &&&          r'   r   r   _   s   x }BCC,'Jxx
#H
!!#txx'(EK*g&&fINN$	y!V9==immD1IOV9== y}}U3ItD  + ' *g&&fINN$	y"y"F)--q)CNN43N/KKC(//	:NN4&KK
#**95 ' Lr(   )r   r   )networkxr   __all__r   _dispatchabler    r(   r'   <module>r=      s=    .
/Vr T2^ 3^r(   