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 differentNode
s viaEdge
s. -
DirectedGraph
: Inherits fromGraph
class.
Uses directions betweenEdge
s.
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.