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_edge(1, 2)
G.add_edge(2, 3)
G.add_edge(3, 1)
children = G.get_children(1)
print(f'{children=}')
components = alg.get_number_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_edge(1, 2)
G.add_edge(2, 3)
G.add_edge(3, 1)
cdef set children = G.get_children(1)
print(f'children={str(children)}')
cdef int components = alg.get_number_components(G)
print(f'components={components}')
For more information on the Python and Cython APIs, see the documentation
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.0.tar.gz
(742.9 kB
view hashes)
Built Distribution
Close
Hashes for cygraph-0.2.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b91f193df76bed741bb75fbb0b183099f688b439c73c44d2c059846e107f8d27 |
|
MD5 | 421ff474bce721cdf37a613f04ec15f5 |
|
BLAKE2b-256 | 14d48db8a674e06bd7dfd33d4e9c91ee65d4dcac4b6a182e8f75c13cc403139a |