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.new
g.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.