NetworkX 2.5
Highlights
----------
This release is the result of 10 months of work with over 200 commits by
92 contributors. Highlights include:
- Dropped support for Python 3.5.
- add Pathlib support to work with files.
- improve performance.
- Updated docs and tests.
- Removed code designed to work with Python 2.
New Functions:
- lukes_partitioning
- triadic analysis functions
- functions for trophic levels analysis
- d_separated
- is_regular and other regular graph measures
- graph_hash using Weisfeiler Lehman methods
- common_neighbor_centrality (CCPA link prediction)
- max_weight_clique
- path_weight and is_path
- rescale_layout_dict
- junction_tree
New generators:
- paley_graph
- interval_graph
New layouts:
- multipartite_layout
Improvements
------------
- Add governance documents, developer guide and community structures
- Implement explicit deprecation policy.
- Initiate an NX Enhancement Proposal (NXEP) system
- optimize single_source_shortest_path
- improved consistent "weight" specification in shortest_path routines
- Reduce numpy.matrix usage which is discouraged by numpy.
- improved line color
- better search engine treatment of docs
- lattice and grid_graph and grid_2d_graph can use dim=tuple
- fix initializer of kamada_kawai_layout algorithm
- moral and threshold functions now included in namespace and docs
- scale arrows better when drawing
- more uniform creation of random lobster graphs
- allow editing graph during iteration over connected_components
- better column handling in coversion of pandas DataFrame
- allow simrank_similarity with directed graph input
- ensure VoteRank ability is nonnegative
- speedup kernighan_lin_bisection
- speedup negative weight cycle detection
- tree_isomorphism
- rooted_tree_isomorphism
- Gexf edge attribute "label" is available
API Changes
-----------
- enabled "copy" flag parameter in `contracted_nodes`
- allow partially periodic lattices
- return value for minimum_st_node_cut now always a set
- removed unused "has_numpy" argument from create_py_random_state
- fixed return values when drawing empty nodes and edges
- allow sets and frozensets of edges as input to nx.Graph()
- "weight" can be function for astar, directional_dijksta, all_shortest_path
- allow named key ids for GraphML edge writing
- all keywords are now checked for validity in nx.draw and friends
- EdgeDataView "in" operator checks if nodes are "in nbunch"
- remove completeness condition from minimum weight full matching
- option to sort neighbors in bfs traversal
- draw_networkx accepts numpy array for edgelist
- relabel_nodes with 2 nodes mapped to same node can now create multiedge
- steiner_tree works with MultiGraph
- Add `show` kwarg to view_pygraphviz
- Prepare for turning chordal_graph_cliques into a generator
- GraphML reader keyword force_multigraph creates MultiGraph even w/o multiedges
2.4:
This release is the result of 6 months of work with over 200 commits by
67 contributors. Highlights include:
- Remove deprecated code from 1.x
- Support for Python 3.8
- Switched to pytest for testing
- Last release to support Python 3.5
New Functions:
- barycenter functions
- Bethe Hessian matrix function
- Eulerian Path methods
- group centrality measures
- subgraph monomorphisms
- k-truss algorithms
- onion decomposition
- resistance distance
- asteroidal triples
- non-randomness measures
- linear prufing
- minimum weight bipartite matching
- Incremental closeness centrality
- ISMAGS subgraph isomorphism algorithm
- create chordal graph of a graph
New generators
- Binomial tree generator
- Directed joint degree generator
- Random internet AS graph generator
New for Layouts
- spiral node layout routine
- support for 3d layouts
Improvements
------------
- allow average shortest path to use Floyd-Warshall method
- improve read/write of GML, GEXF, GraphML
- allow string or json object as input to jit_graph
- attempt to allow numpy.array input in place of lists in more places
- faster strongly connected components
- faster Floyd-Warshall Optimization
- faster global efficiency
- faster transitive closure
- fix unionfind; betweenness_subset; lexico-topo-sort; A*;
inverse_line_graph; async label propagation; edgelist reading;
Gomory-Hu flow method; label_propagation; partial_duplication;
shell_layout with 1 node in shell; from_pandas_edgelist
- Documentation improvement and fixes
API Changes
-----------
A utility function is_list_of_ints became is_bunch_of_ints
and now tests int(item)==item instead of isinstance(_, int)
This allows e.g. floats whose values are integer.
Added utility make_list_of_ints to convert containers of
integer values to lists of integers
Deprecations
------------
Removed functions (marked as deprecated in NetworkX 2.1):
- attracting_component_subgraphs
- connected_component_subgraphs
- weakly_connected_component_subgraphs
- strongly_connected_component_subgraphs
- biconnected_component_subgraphs
- See docs for component functions for how to get subgraphs.
Graph Object methods removed (marked as deprecated 2.1)
- G.add_path
- G.add_cycle
- G.add_star
- G.nodes_with_selfloops
- G.number_of_selfloops
- G.selfloop_edges
- These are now NetworkX functions, e.g. nx.add_star(G, 5)
- G.node --> use G.nodes
- G.fresh_copy --> use G.__class__
Remove old names for graphview functions.
- ReverseView
- SubGraph
- SubMultiGraph
- SubMultiDiGraph
- SubDiGraph
- GraphView
- DiGraphView
- MultiGraphView
- MultiDiGraphView
- MultiReverseView
- Use reverse_view, subgraph_view and generic_graph_view.
pkglint --only "https instead of http" -r -F
With manual adjustments afterwards since pkglint 19.4.4 fixed a few
indentations in unrelated lines.
This mainly affects projects hosted at SourceForce, as well as
freedesktop.org, CTAN and GNU.
Announcement: NetworkX 2.3
==========================
We're happy to announce the release of NetworkX 2.3!
NetworkX is a Python package for the creation, manipulation, and study of the
structure, dynamics, and functions of complex networks.
For more information, please visit our website <http://networkx.github.io/>_
and our gallery of examples
<https://networkx.github.io/documentation/latest/auto_examples/index.html>_.
Please send comments and questions to the networkx-discuss mailing list
<http://groups.google.com/group/networkx-discuss>_.
Highlights
----------
This release is the result of 6 months of work with over 92 pull requests by
30 contributors. Highlights include:
- Dropped support for Python 2. We are no longer supporting Python 2.7 and we will
start changing code to take advantage of Python 3 features we couldn't before.
- Added some Moral Graph analysis functions.
- Enable matplotlib drawing using curved arrows via connectionstyle parameter.
- Remove ticks and axes labels from matplotlib plots.
- Two new generators of Harary Graphs.
- Added Dual Barabasi-Albert model
- Added VoteRank algorithm
- Added Equitable coloring algorithms
- Added planar layout algorithms
- Les Miserables network example
- Javascript example update
Improvements
------------
- Change default colors to be color-blind friendly
- Many bug fixes and documentation improvements
- Speed up of simple_cycles
- Improvements for reading various formats like GML, GEXF, Graphml
- Allow subclassing to access node_attr_dict_factory
API Changes
-----------
- The G.fresh_copy() mechanism for creating an empty_graph of the same
type (introduced in v2.0) does not playing nicely with pickle and others.
So, we have removed the code that caused a need for that. Instead you
should use the more natural G.__class__() syntax to get an empty_graph
of the same type as G.
Deprecations
------------
- The Graph.fresh_copy() method should now use Graph.__class__()
- ReverseView class removed in favor of reverse_view() function.
2.2:
This release is the result of 8 months of work with over 149 commits by
58 contributors. Highlights include:
- Add support for Python 3.7. This is the last release to support Python 2.
- Uniform random number generator (RNG) handling which defaults to global
RNGs but allows specification of a single RNG for all random numbers in NX.
- Improved GraphViews to ease subclassing and remove cyclic references
which caused trouble with deepcopy and pickle.
- New Graph method `G.update(H)`
NetworkX 2.1
Highlights
This release is the result of four months of work with 75 pull requests by
37 contributors. Highlights include:
- Arrows for drawing DiGraph edges are vastly improved!
And an example to show them.
- More than 12 new functions for graph generation, manipulation and/or
new graph algorithms.
- Add a large clique size heuristic function
- Add rooted product function
- Label Propagation Community Detection
- Minimum cycle basis
- Add Mycielski Operator
- Adds prefix_tree, dag_to_branching, and example.
- Add inverse_line_graph generator
- Steiner tree and metric closure.
- Add flow based node and edge disjoint paths.
- Update geometric networks with new models
- Graph edit distance
- Added function for finding a k-edge-augmentation
- G.name is no longer processed by graph operators. It remains as a
property mechanism to access ``G.graph['name']`` but the user is in
charge of updating or changing it for copies, subgraphs, unions and
other graph operations.
Improvements
- Many bug fixes, documentation changes.
- Speed improvements especially for subgraphs.
- Changed input variable names for functions using ``**kwds``
to avoid name collisions -- especially ``add_node``
- New examples for arrows and spectral embedding of the grid graph.
Update DEPENDS
Based on PR/51271 from kamelderouiche@yahoo.com
Upstream changes:
1.11
API changes
[#1930] No longer import nx_agraph and nx_pydot into the top-level namespace. They can be accessed within networkx as e.g. nx.nx_agraph.write_dot or imported as from networkx.drawing.nx_agraph import write_dot.
[#1750] Arguments center and scale are now available for all layout functions. The defaul values revert to the v1.9 values (center is the origin for circular layouts and domain is [0, scale) for others.
[#1924] Replace pydot with pydotplus for drawing with the pydot interface.
[#1888] Replace support for Python3.2 with support for Python 3.5.
Miscellaneous changes
[#1763] Set up appveyor to automatically test installation on Windows machines. Remove symbolic links in examples to help such istallation.
Change many doc_string typos to allow sphinx to build the docs without errors or warnings.
Enable the docs to be automatically built on readthedocs.org by changing requirements.txt
API changes
[#1501] connected_components, weakly_connected_components, and strongly_connected_components return now a generator of sets of nodes. Previously the generator was of lists of nodes. This PR also refactored the connected_components and weakly_connected_components implementations making them faster, especially for large graphs.
[#1547] The func_iter functions in Di/Multi/Graphs classes are slated for removal in NetworkX 2.0 release. func will behave like func_iter and return an iterator instead of list. These functions are deprecated in NetworkX 1.10 release.
New functionalities
[#823] A enumerate_all_cliques function is added in the clique package (networkx.algorithms.clique) for enumerating all cliques (including nonmaximal ones) of undirected graphs.
[#1105] A coloring package (networkx.algorithms.coloring) is created for graph coloring algorithms. Initially, a greedy_color function is provided for coloring graphs using various greedy heuristics.
[#1193] A new generator edge_dfs, added to networkx.algorithms.traversal, implements a depth-first traversal of the edges in a graph. This complements functionality provided by a depth-first traversal of the nodes in a graph. For multigraphs, it allows the user to know precisely which edges were followed in a traversal. All NetworkX graph types are supported. A traversal can also reverse edge orientations or ignore them.
[#1194] A find_cycle function is added to the networkx.algorithms.cycles package to find a cycle in a graph. Edge orientations can be optionally reversed or ignored.
[#1210] Add a random generator for the duplication-divergence model.
[#1241] A new networkx.algorithms.dominance package is added for dominance/dominator algorithms on directed graphs. It contains a immediate_dominators function for computing immediate dominators/dominator trees and a dominance_frontiers function for computing dominance frontiers.
[#1269] The GML reader/parser and writer/generator are rewritten to remove the dependence on pyparsing and enable handling of arbitrary graph data.
[#1280] The network simplex method in the networkx.algorithms.flow package is rewritten to improve its performance and support multi- and disconnected networks. For some cases, the new implementation is two or three orders of magnitude faster than the old implementation.
[#1286] Added the Margulis–Gabber–Galil graph to networkx.generators.
[#1306] Added the chordal p-cycle graph, a mildly explicit algebraic construction of a family of 3-regular expander graphs. Also, moves both the existing expander graph generator function (for the Margulis-Gabber-Galil expander) and the new chordal cycle graph function to a new module, networkx.generators.expanders.
[#1314] Allow overwriting of base class dict with dict-like: OrderedGraph, ThinGraph, LogGraph, etc.
[#1321] Added to_pandas_dataframe and from_pandas_dataframe.
[#1322] Added the Hopcroft–Karp algorithm for finding a maximum cardinality matching in bipartite graphs.
[#1336] Expanded data keyword in G.edges and added default keyword.
[#1338] Added support for finding optimum branchings and arborescences.
[#1340] Added a from_pandas_dataframe function that accepts Pandas DataFrames and returns a new graph object. At a minimum, the DataFrame must have two columns, which define the nodes that make up an edge. However, the function can also process an arbitrary number of additional columns as edge attributes, such as ‘weight’.
[#1354] Expanded layout functions to add flexibility for drawing subsets of nodes with distinct layouts and for centering each layout around given coordinates.
[#1356] Added ordered variants of default graph class.
[#1360] Added harmonic centrality to network.algorithms.centrality.
[#1390] The generators.bipartite have been moved to algorithms.bipartite.generators. The functions are not imported in the main namespace, so to use it, the bipartite package has to be imported.
[#1391] Added Kanevsky’s algorithm for finding all minimum-size separating node sets in an undirected graph. It is implemented as a generator of node cut sets.
[#1399] Added power function for simple graphs
[#1405] Added fast approximation for node connectivity based on White and Newman’s approximation algorithm for finding node independent paths between two nodes.
[#1413] Added transitive closure and antichains function for directed acyclic graphs in algorithms.dag. The antichains function was contributed by Peter Jipsen and Franco Saliola and originally developed for the SAGE project.
[#1425] Added generator function for the complete multipartite graph.
[#1427] Added nonisomorphic trees generator.
[#1436] Added a generator function for circulant graphs to the networkx.generators.classic module.
[#1437] Added function for computing quotient graphs; also created a new module, networkx.algorithms.minors.
[#1438] Added longest_path and longest_path_length for DAG.
[#1439] Added node and edge contraction functions to networkx.algorithms.minors.
[#1445] Added a new modularity matrix module to networkx.linalg, and associated spectrum functions to the networkx.linalg.spectrum module.
[#1447] Added function to generate all simple paths starting with the shortest ones based on Yen’s algorithm for finding k shortest paths at algorithms.simple_paths.
[#1455] Added the directed modularity matrix to the networkx.linalg.modularity_matrix module.
[#1474] Adds triadic_census function; also creates a new module, networkx.algorithms.triads.
[#1476] Adds functions for testing if a graph has weighted or negatively weighted edges. Also adds a function for testing if a graph is empty. These are is_weighted, is_negatively_weighted, and is_empty.
[#1481] Added Johnson’s algorithm; one more algorithm for shortest paths. It solves all pairs shortest path problem. This is johnson at algorithms.shortest_paths
[#1414] Added Moody and White algorithm for identifying k_components in a graph, which is based on Kanevsky’s algorithm for finding all minimum-size node cut-sets (implemented in all_node_cuts #1391).
[#1415] Added fast approximation for k_components to the networkx.approximation package. This is based on White and Newman approximation algorithm for finding node independent paths between two nodes (see #1405).
Removed functionalities
[#1236] The legacy ford_fulkerson maximum flow function is removed. Use edmonds_karp instead.
Miscellaneous changes
[#1192] Support for Python 2.6 is dropped.
Add missing DEPENDS
Upstream changes:
NetworkX 1.9
Release date: 21 June 2014
Support for Python 3.1 is dropped in this release.
Highlights
Completely rewritten maximum flow and flow-based connectivity algorithms with backwards incompatible interfaces
Community graph generators
Stoer-Wagner minimum cut algorithm
Linear-time Eulerian circuit algorithm
Linear algebra package changed to use SciPy sparse matrices
Algebraic connectivity, Fiedler vector, spectral ordering algorithms
Link prediction algorithms
Goldberg-Radzik shortest path algorithm
Semiconnected graph and tree recognition algorithms
Upstream changes:
Networkx-1.8.1
Release date: 4 August 2013
Bugfix release for missing files in source packaging
Networkx-1.8
Release date: 28 July 2013
Highlights
Faster (linear-time) graphicality tests and Havel-Hakimi graph generators
Directed Laplacian matrix generator
Katz centrality algorithm
Functions to generate all simple paths
Improved shapefile reader
More flexible weighted projection of bipartite graphs
Faster topological sort, decendents and ancestors of DAGs
Scaling parameter for force-directed layout
Bug Fixes
Error with average weighted connectivity for digraphs, correct normalized laplacian with self-loops, load betweenness for single node graphs, isolated nodes missing from dfs/bfs trees, normalize HITS using l1, handle density of graphs with self loops
Cleaner handling of current figure status with Matplotlib, Pajek files now don't write troublesome header line, default alpha value for GEXF files, read curved edges from yEd GraphML
either because they themselves are not ready or because a
dependency isn't. This is annotated by
PYTHON_VERSIONS_INCOMPATIBLE= 33 # not yet ported as of x.y.z
or
PYTHON_VERSIONS_INCOMPATIBLE= 33 # py-foo, py-bar
respectively, please use the same style for other packages,
and check during updates.
Use versioned_dependencies.mk where applicable.
Use REPLACE_PYTHON instead of handcoded alternatives, where applicable.
Reorder Makefile sections into standard order, where applicable.
Remove PYTHON_VERSIONS_INCLUDE_3X lines since that will be default
with the next commit.
Whitespace cleanups and other nits corrected, where necessary.
Release Log
Networkx-1.7
Release date: 4 July 2012
Highlights
New functions for k-clique community finding, flow hierarchy, union, disjoint union, compose, and intersection operators that work on lists of graphs, and creating the biadjacency matrix of a bipartite graph.
New approximation algorithms for dominating set, edge dominating set, independent set, max clique, and min-weighted vertex cover.
Many bug fixes and other improvements.
For full details of the tickets closed for this release (added features and bug fixes) see: https://networkx.lanl.gov/trac/query?status=closed&group=milestone&milestone=networkx-1.7
API Changes
See Version 1.7 notes and API changes
Based on PR 46506 by Wen Heping.
* let to register egg-info.
* marked as incompatible with python 2.5, as new features in 1.3.
but not marked as compatible with 3.x, one file will not be compiled well
both 3.1 and 3.2.
Lease Log:
Networkx-1.6
Release date: 20 November 2011
Highlights
New functions for finding articulation points, generating random bipartite
graphs, constructing adjacency matrix representations, forming graph products,
computing assortativity coefficients, measuring subgraph centrality and
communicability, finding k-clique communities, and writing JSON format output.
New examples for drawing with D3 Javascript library, and ordering matrices with
the Cuthill-McKee algorithm.
More memory efficient implementation of current-flow betweenness and new
approximation algorithms for current-flow betweenness and shortest-path
betweenness.
Simplified handling of "weight" attributes for algorithms that use
weights/costs/values. See Version 1.6 notes and API changes.
Updated all code to work with the PyPy Python implementation http://pypy.org
which produces faster performance on many algorithms.
For full details of the tickets closed for this release (added features and bug
fixes) see: https://networkx.lanl.gov/trac/query?status=closed&group=milestone&milestone=networkx-1.6
API Changes
See Version 1.6 notes and API changes:
http://networkx.lanl.gov/reference/api_1.6.html
Networkx-1.5
Release date: 4 June 2011
For full details of the tickets closed for this release see: https://networkx.lanl.gov/trac/query?status=closed&group=milestone&milestone=networkx-1.5
Highlights
New features
* Algorithms for generating and analyzing bipartite graphs
* Maximal independent set algorithm
* Erd?s-Gallai graphical degree sequence test
* Negative edge cycle test
* More memory efficient Dijkstra path length with cutoff parameter
* Weighted clustering coefficient
* Read and write version 1.2 of GEXF reader format
* Neighbor degree correlation that handle subsets of nodes
* In-place node relabeling
* Many `weighted' graph algorithms now take optional parameter to use
specified edge attribute (default=`weight') (ticket 509)
* Test for distance regular graphs
* Fast directed Erd?s-Renyi graph generator
* Fast expected degree graph generator
* Navigable small world generator
* Waxman model generator
* Geographical threshold graph generator
* Karate Club, Florentine Families, and Davis' Women's Club graphs
API Changes
See Version 1.5 notes and API changes
http://networkx.lanl.gov/reference/api_1.5.html
Bug fixes
* Fix edge handling for multigraphs in networkx/graphviz interface
(ticket 507)
* Update networkx/pydot interface for new versions of pydot
(ticket 506), (ticket 535)
* Fix negative cycle handling in Bellman-Ford (ticket 502)
* Write more attributes with GraphML and GML formats (ticket 480)
* Handle white space better in read_edgelist (ticket 513)
* Better parsing of Pajek format files (ticket 524) (ticket 542)
* Isolates functions work with directed graphs (ticket 526)
* Faster conversion to numpy matrices (ticket 529)
* Add graph[`name'] and use properties to access Graph.name (ticket 544)
* Topological sort confused None and 0 (ticket 546)
* GEXF writer mishandled weight=0 (ticket 550)
* Speedup in SciPy version of PageRank (ticket 554)
* Numpy PageRank node order incorrect + speedups (ticket 555)
Networkx-1.4
Release date: 23 January 2011
New features
* k-shell,k-crust,k-corona
* read GraphML files from yEd
* read/write GEXF format files
* find cycles in a directed graph
* DFS and BFS algorithms
* chordal graph functions
* Prim's algorithm for minimum spanning tree
* r-ary tree generator
* rich club coefficient
* NumPy matrix version of Floyd's algorithm for all-pairs shortest path
* read GIS shapefiles
* functions to get and set node and edge attributes
* and more, see https://networkx.lanl.gov/trac/query?status=closed&group=milestone&milestone=networkx-1.4
API Changes
* gnp_random_graph() now takes a directed=True|False keyword instead of
create_using
* gnm_random_graph() now takes a directed=True|False keyword instead of
create_using
Bug fixes
* see https://networkx.lanl.gov/trac/query?status=closed&group=milestone&milestone=networkx-1.4
Networkx-1.3
Release date: 28 August 2010
See: https://networkx.lanl.gov/trac/timeline
New features
* Works with Python versions 2.6, 2.7, 3.1, and 3.2 (but not 2.4 and 2.5).
* Minimum cost flow algorithms
* Bellman-Ford shortest paths
* GraphML reader and writer
* More exception/error types
* Updated many tests to unittest style. Run with:
"import networkx; networkx.test()" (requires nose testing package)
* and more, see https://networkx.lanl.gov/trac/query?status=closed&group=milestone&milestone=networkx-1.3
API Changes
* minimum_spanning_tree() now returns a NetworkX Graph (a tree or forest)
Bug fixes
* see https://networkx.lanl.gov/trac/query?status=closed&group=milestone&milestone=networkx-1.3
From PR pkg/43790 by Kamel Derouiche
pkgsrc changes:
- re-set LICENSE (modified-bsd).
upstream changes:
Networkx-1.2
Release date: 28 July 2010
See: https://networkx.lanl.gov/trac/timeline
New features
* Ford-Fulkerson max flow and min cut
* Closness vitality
* Eulerian circuits
* Functions for isolates
* Simpler s_max generator
* Compatible with IronPython-2.6
* Improved testing functionality: import networkx; networkx.test() tests
entire package and skips tests with missing optional packages
* All tests work with Python-2.4
* and more, see
https://networkx.lanl.gov/trac/query?status=closed&group=milestone&milestone=networkx-1.2
Networkx-1.1
Release date: 21 April 2010
See: https://networkx.lanl.gov/trac/timeline
New features
* Algorithm for finding a basis for graph cycles
* Blockmodeling
* Assortativity and mixing matrices
* in-degree and out-degree centrality
* Attracting components and condensation.
* Weakly connected components
* Simpler interface to shortest path algorithms
* Edgelist format to read and write data with attributes
* Attribute matrices
* GML reader for nested attributes
* Current-flow (random walk) betweenness and closeness.
* Directed configuration model, and directed random graph model.
* Improved documentation of drawing, shortest paths, and other
algorithms
* Many more tests, can be run with ?import networkx; networkx.test()?
* and much more, see
https://networkx.lanl.gov/trac/query?status=closed&group=milestone&milestone=networkx-1.1
API Changes
Returning dictionaries
Several of the algorithms and the degree() method now return dictionaries keyed
by node instead of lists. In some cases there was a with_labels keyword which is
no longer necessary. For example,
>>> G=nx.Graph()
>>> G.add_edge('a','b')
>>> G.degree() # returns dictionary of degree keyed by node
{'a': 1, 'b': 1}
Asking for the degree of a single node still returns a single number
>>> G.degree('a')
1
The following now return dictionaries by default (instead of lists) and the
with_labels keyword has been removed:
* Graph.degree(), MultiGraph.degree(), DiGraph.degree(),
DiGraph.in_degree(), DiGraph.out_degree(), MultiDiGraph.degree(),
MultiDiGraph.in_degree(), MultiDiGraph.out_degree().
* clustering(), triangles()
* node_clique_number(), number_of_cliques(), cliques_containing_node()
* eccentricity()
The following now return dictionaries by default (instead of lists)
* pagerank()
* hits()
Adding nodes
add_nodes_from now accepts (node,attrdict) two-tuples
>>> G=nx.Graph()
>>> G.add_nodes_from([(1,{'color':'red'})])
Examples
* Mayvi2 drawing
* Blockmodel
* Sampson?s monastery
* Ego graph
Bug fixes
* Support graph attributes with union, intersection, and other graph
operations
* Improve subgraph speed (and related algorithms such as
connected_components_subgraphs())
* Handle multigraphs in more operators (e.g. union)
* Handle double-quoted labels with pydot
* Normalize betweeness_centrality for undirected graphs correctly
* Normalize eigenvector_centrality by l2 norm
* read_gml() now returns multigraphs
Based on PR#42834 by Wen Heping.
Update MASTER_SITES, set LICENSE=modified-bsd, 3-caulse BSD.
======================================================================
Networkx-1.0.1
Release date: 11 Jan 2010
See: https://networkx.lanl.gov/trac/timeline
Bug fix release for missing setup.py in manifest.
======================================================================
Networkx-1.0
Release date: 8 Jan 2010
See: https://networkx.lanl.gov/trac/timeline
New features
This release has sigificant changes to parts of the graph API to allow graph, node, and edge attributes. See http://networkx.lanl.gov//reference/api_changes.html
* Update Graph, DiGraph, and MultiGraph classes to allow attributes.
* Default edge data is now an empty dictionary (was the integer 1)
* Difference and intersection operators
* Average shortest path
* A* (A-Star) algorithm
* PageRank, HITS, and eigenvector centrality
* Read Pajek files
* Line graphs
* Minimum spanning tree (Kruskal¡Çs algorithm)
* Dense and sparse Fruchterman-Reingold layout
* Random clustered graph generator
* Directed scale-free graph generator
* Faster random regular graph generator
* Improved edge color and label drawing with Matplotlib
* and much more, see https://networkx.lanl.gov/trac/query?status=closed&group=milestone&milestone=networkx-1.0
Examples
* Update to work with networkx-1.0 API
* Graph subclass example
======================================================================
Networkx-0.99
Release date: 18 November 2008
See: https://networkx.lanl.gov/trac/timeline
New features¢ù
This release has sigificant changes to parts of the graph API. See http://networkx.lanl.gov//reference/api_changes.html
* Update Graph and DiGraph classes to use weighted graphs as default Change in API for performance and code simplicity.
* New MultiGraph and MultiDiGraph classes (replace XGraph and XDiGraph)
* Update to use Sphinx documentation system http://networkx.lanl.gov/
* Developer site at https://networkx.lanl.gov/trac/
* Experimental LabeledGraph and LabeledDiGraph
* Moved package and file layout to subdirectories.
Bug fixes
* handle root= option to draw_graphviz correctly
Examples
* Update to work with networkx-0.99 API
* Drawing examples now use matplotlib.pyplot interface
* Improved drawings in many examples
* New examples - see http://networkx.lanl.gov/examples/
Pkgsrc changes:
o Change from using extension.mk to egg.mk, on hints from wiz@
o Adjust PLIST so that it matches what is then installed.
o Bump PKGREVISION