NetworkX is a very popular Python library, that handles various use-cases of the Graph Data Structure.
This project intends to provide a working alternative to the Ruby community, by closely mimicing as many features as possible.
- Clone the repository or fork
- Clone this repository with
git clone https://github.com/sciruby-jp/networkx.rb.git - or You can fork and do clone it.
- Clone this repository with
- Navigate to networkx with
cd networkx.rb - Install dependencies with
gem install bundler && bundle install
require'networkx'g=NetworkX::Graph.newg.add_edge('start','stop')You can read Document for this library.
Quite easily, any networkx user would be able to understand the number of details that have been implemented in the Python library. As a humble start towards the release of v0.1.0, the following could be the goals to achieve :
Node: This class should be capable of handling different types of nodes (not justString/Integer).
A possible complex use-case could be XML nodes.Edge: This class should be capable of handling different types of edges.
Though a basic undirected Graph doesn't store any metadata in the edges, weighted edges and parametric edges are something that need to be handled.Graph: The simplest of graphs.
This class handles just connections between differentNodes viaEdges.DirectedGraph: Inherits fromGraphclass.
Uses directions betweenEdges.
Your contributions are always welcome!
Please have a look at the contribution guidelines first. 🎉
The MIT License 2017 - Athitya Kumar.
Please have a look at the LICENSE.md for more details.