A graph theory library written in Cython
Project description
Cygraph
A graph theory library implemented in Cython
Installation
First, try:
pip install cygraph
if that doesn't work, try:
pip install git+https://github.com/lol-cubes/cygraph
Usage
Python
Here is an example Python script that utilizes some of the features of cygraph.
import cygraph as cg
import cygraph.algorithms as alg
G = cg.graph(vertices=list(range(4)))
G.add_edges({(1, 2), (2, 3), (3, 1)})
children = G.get_children(1)
print(f'{children=}')
components = alg.get_number_connected_components(G)
print(f'{components=}')
It should output:
children={2, 3}
components=2
Cython
Here is the above script but with static typing in Cython.
#!python
#cython: language_level=3
import cygraph as cg # cg.graph function.
cimport cygraph.graph_ as gp # StaticGraph and DynamicGraph types.
cimport cygraph.algorithms as alg
cdef gp.DynamicGraph G = cg.graph(vertices=list(range(4)))
G.add_edges({(1, 2), (2, 3), (3, 1)})
cdef set children = G.get_children(1)
print(f'children={str(children)}')
cdef int components = alg.get_number_connected_components(G)
print(f'components={components}')
For more information on the Python and Cython APIs, see the documentation
NOTE
The current documentation is not up-to-date.
Contribution
I am currently not accepting any pull requests. This project is still in its very early stages and I have many things in mind to do with it. Once I get those things done, I will add contribution guidelines.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
cygraph-0.2.1.tar.gz
(743.0 kB
view hashes)
Built Distribution
Close
Hashes for cygraph-0.2.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0637bd70d961f6cc9e71d6351fc3e80efb1c0e8f6ba2f73dce048138fc4302e2 |
|
MD5 | db8209489847249e14a59a99cdf9344c |
|
BLAKE2b-256 | 5b32cfacc67a2697f176ad8d37a14ea291f8561c4a6c1d0e830a6a9ef7299c39 |