Metadata-Version: 1.1
Name: sonnet
Version: 0.1.3
Summary: UNKNOWN
Home-page: myurl
Author: David Michael Brown
Author-email: davidmichaelbrown1@gmail.com
License: MIT
Description: ========================
        Sonnet J(SON + Net)workX
        ========================
        
        Sonnet wraps a NetworkX graph and produces detailed JSON output for use with JavaScript to produce detailed graph visualizations in the browser.
        
        Getting Started
        ===============
        
        Install Sonnet::
        
        	pip install sonnet
        
        Build a NetworkX graph::
        	
        	import networkx as nx
        
        	g = nx.gnp_random_graph(20, 0.5)
        
        Wrap it with Sonnet:: 
        
        	import sonnet as sn
        
        	s = sn.Sonnet(g, name='An Awesome Graph')
        
        Build stats directly into node directory using modified NetworkX algorithms. Currently available: degree, degree_centrality, in_degree_centrality, out_degree_centrality, closeness_centrality, betweenness_centrality, eigenvector_centrality::
        
        	s.betweenness_centrality()
        
        Find communities and assign nodes to group based on community::
        
        	s.find_communities()
        
        Rank node size by nodes by attribute::
        
        	s.rank_nodes(rank_by='betweenness_centrality')
        
        Now we have a nodes with lots of relevant data::
        
        Produce JSON data (example data reduced for readability)::
        
        	s.jsonify()
        
        	'{
        	    "directed": false,
        	    "name": "An Awesome Graph",
        	    "links": [
        	        {
        	            "source": 4,
        	            "target": 8
        	        },
        	        {
        	            "source": 5,
        	            "target": 7
        	        },
        	        {
        	            "source": 6,
        	            "target": 8
        	        },
        	    ],
        	    "multigraph": false,
        	    "graph": [
        	        [
        	            "name",
        	            "gnp_random_graph(10,0.5)"
        	        ]
        	    ],
        	    "nodes": [
        	        {
        	            "betweenness_centrality_ranking": 2.7258064516129035,
        	            "community": 2,
        	            "id": 0,
        	            "betweenness_centrality": 0.04953703703703703
        	        },
        	        {
        	            "betweenness_centrality_ranking": 1,
        	            "community": 1,
        	            "id": 1,
        	            "betweenness_centrality": 0.0
        	        },
        	        {
        	            "betweenness_centrality_ranking": 4.580645161290322,
        	            "community": 1,
        	            "id": 2,
        	            "betweenness_centrality": 0.10277777777777775
        	        },
        	        {
        	            "betweenness_centrality_ranking": 6.0,
        	            "community": 2,
        	            "id": 3,
        	            "betweenness_centrality": 0.1435185185185185
        	        },
        	    ]
        	}'
        
        
        D3Graph
        =======
        
        D3Graph is designed to produce JSON output for D3.js graphs. It works just like Sonnet, but it has extra attributes set at during init.
        
        Compare::
        
        	s = sn.Sonnet(g)
        
        	vars(s)
        
        	{'color_by': 'community',
        	 'graph': <networkx.classes.graph.Graph at 0x1726210>,
        	 'max_node_size': 6,
        	 'min_node_size': 1,
        	 'name': None,
        	 'rank_by': 'degree_centrality'}
        
        	d = ns.D3Graph()
        
        	vars(d)
        
        	{'charge': -150,
        	 'color_by': 'community',
        	 'graph': <networkx.classes.graph.Graph at 0x1726210>,
        	 'gravity': 0.06,
        	 'height': 800,
        	 'link_distance': 40,
        	 'max_node_size': 6,
        	 'min_node_size': 1,
        	 'name': None,
        	 'rank_by': 'degree_centrality',
        	 'width': 1280}
        
Keywords: networkx json graph javascript D3
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python
