Skip to main content

Leafy Graph Library

Leafy is a python graph library written in cython. This mix gives the speed of writing the library in c with the benefit of python bindings.

Usage

Graph Objects

Leafy supports Sparse Graphs, these create Adjacencey lists underneath.

To instantiate a graph object we need to know the number of nodes (verticies) in the graph, and if the graph is directed. Graphs defualt to undirected.

from leafy import Graph
g = Graph(4, True)
g.add_edge(0, 1)
g.add_edge(2, 3)
g.add_edge(2, 1)
g.list

Leafy can run Depth First Search (DFS) and Breadth First Search (BFS) on a graph and return the graph search properties.

To run a search we need to define the graph to search and the node to start from. Before you can view the properties we must call .run().

from leafy.search import DFS
dfs = DFS(g, 0)
dfs.run()
dfs.simple_path(12)
dfs.bridges

Digraphs

For diagraphs leafy supports DFS which can be imported from leafy.digraph

from leafy.digraph import DFS
dfs = DFS(g, 0)
dfs.run()
dfs.is_dag
dfs.topological_order()

Shortest Distance

For network shortest path leafy supports single source Dijkstra which can be imported from leafy.shortest_path

from leafy.shortest_path import Dijkstra
dij = Dijkstra(g, 0)
dij.run()
dij.path(3)

Metadata

Release files for leafy 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for leafy 1.0.0
File
leafy-1.0.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
leafy-1.0.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.5+ x86-64, Linux glibc 2.28+ x86-64 Details
leafy-1.0.0-cp311-cp311-macosx_10_9_universal2.whl CPython 3.11 CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64) Details
leafy-1.0.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
leafy-1.0.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.5+ x86-64, Linux glibc 2.28+ x86-64 Details
leafy-1.0.0-cp310-cp310-macosx_11_0_x86_64.whl CPython 3.10 CPython 3.10 macOS 11.0+ x86-64 Details
leafy-1.0.0-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
leafy-1.0.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.5+ x86-64, Linux glibc 2.28+ x86-64 Details
leafy-1.0.0-cp39-cp39-macosx_11_0_x86_64.whl CPython 3.9 CPython 3.9 macOS 11.0+ x86-64 Details
leafy-1.0.0-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
leafy-1.0.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.5+ x86-64, Linux glibc 2.28+ x86-64 Details
leafy-1.0.0-cp38-cp38-macosx_11_0_x86_64.whl CPython 3.8 CPython 3.8 macOS 11.0+ x86-64 Details
leafy-1.0.0-cp37-cp37m-win_amd64.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-64 Details
leafy-1.0.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.28+ x86-64, Linux glibc 2.5+ x86-64 Details
leafy-1.0.0-cp37-cp37m-macosx_11_0_x86_64.whl CPython 3.7 CPython 3.7 pymalloc macOS 11.0+ x86-64 Details

Total release size: 6.8 MB

Release files / leafy-1.0.0-cp311-cp311-win_amd64.whl

Download URL leafy-1.0.0-cp311-cp311-win_amd64.whl
Size 164.1 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
d1a67c8ecfdf06a0d72dfc8a35eb5451435dea9ba439989f1413b883a4c93d06
BLAKE2b-256 checksum
How to use checksums
96779009169b63cf6f18f9a9f21a02f0f76e90124f6afd08f0c99a15ce1a1661
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.6

Release files / leafy-1.0.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl

Download URL leafy-1.0.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl
Size 1.0 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
a0b8ce228d00f8ce7f410a82ba620dbf721cf94e963de63b567f3fa9dbb3653b
BLAKE2b-256 checksum
How to use checksums
b48dfa52381e1f5285189d73db9bd0e6a93a4be60616b1094ad351ed54b83412
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.6

Release files / leafy-1.0.0-cp311-cp311-macosx_10_9_universal2.whl

Download URL leafy-1.0.0-cp311-cp311-macosx_10_9_universal2.whl
Size 354.4 kB
Tags CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
66c2a1b79b5b0d35372fb17d8f85e6170393fdf2b4311c7e40ecdb1777e9351b
BLAKE2b-256 checksum
How to use checksums
05249bcf80d6b83e9fbd6acce6c4345f6803476817a16092792713954512fecd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.6

Release files / leafy-1.0.0-cp310-cp310-win_amd64.whl

Download URL leafy-1.0.0-cp310-cp310-win_amd64.whl
Size 163.4 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
34f3bd3b7b5933602cc73179cc055ec63e21ece0c4d01171ca4f518b8aa889d1
BLAKE2b-256 checksum
How to use checksums
e7cd44e0c7a658f9597ef5beca55655e3d146b69cfa6e4671a01e523a1288043
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.6

Release files / leafy-1.0.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl

Download URL leafy-1.0.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl
Size 957.9 kB
Tags CPython 3.10 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
8a791dc1abdb3e746c2222b0e2c6ade387b57b56c8ef8a17702d1da9e85b0314
BLAKE2b-256 checksum
How to use checksums
94778f684282db679f4554b9a12deb7a43e292ba8ffb9387ee4146af0201cf33
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.6

Release files / leafy-1.0.0-cp310-cp310-macosx_11_0_x86_64.whl

Download URL leafy-1.0.0-cp310-cp310-macosx_11_0_x86_64.whl
Size 176.0 kB
Tags CPython 3.10 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
1967e1f019a3ed1d1d107ae31ce957d5cdf8d0264b078ed625643610efaf87e7
BLAKE2b-256 checksum
How to use checksums
8d88612efc203693452a04e5b0139551967e3f53f878e2f5b2fc807393f85bbd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.6

Release files / leafy-1.0.0-cp39-cp39-win_amd64.whl

Download URL leafy-1.0.0-cp39-cp39-win_amd64.whl
Size 195.9 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
72facfd2b769c93ba6c04287961433411ed6bb4b9ba3e09bf476c73f84926f7b
BLAKE2b-256 checksum
How to use checksums
b7a859ad7be4a2e4a97c75f395720f0f9a0df6912fd574cfb8983ade8f09a31b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.6

Release files / leafy-1.0.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl

Download URL leafy-1.0.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl
Size 973.7 kB
Tags CPython 3.9 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
d60f723a87b88ece7c9de85085fe571569afec77e54781ddbb6279ac6eb9af86
BLAKE2b-256 checksum
How to use checksums
e00b3d47549e80beb4a899dabb1ed0c12d824d6ba6cb08cf7e7080eb44b015af
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.6

Release files / leafy-1.0.0-cp39-cp39-macosx_11_0_x86_64.whl

Download URL leafy-1.0.0-cp39-cp39-macosx_11_0_x86_64.whl
Size 178.8 kB
Tags CPython 3.9 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
692c45d53616a069468c2d21ff199bad9d29d92b23d4a6e46fb2c24e4267d4e9
BLAKE2b-256 checksum
How to use checksums
314446e5068efd4c2ad965028741d634f2fe058363beacd1ce299eecad2d1a83
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.6

Release files / leafy-1.0.0-cp38-cp38-win_amd64.whl

Download URL leafy-1.0.0-cp38-cp38-win_amd64.whl
Size 195.9 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
d13debef0a074713efb7ab380dba69ecd0ab0a6e59db2573ad6a8f514064abf2
BLAKE2b-256 checksum
How to use checksums
32416abc2ab2a2049f08e2a85d58c929cad7b3e0a8c7a7e394d33cd43eb7a350
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.6

Release files / leafy-1.0.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl

Download URL leafy-1.0.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl
Size 965.6 kB
Tags CPython 3.8 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
8d10803b3bb19aa4ae37620aefe04e039c759b2d405944a87edce11458728468
BLAKE2b-256 checksum
How to use checksums
de06a3276c07819fffc849b6c0ffc3224d02d20cd1207259fcab5fde134ca121
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.6

Release files / leafy-1.0.0-cp38-cp38-macosx_11_0_x86_64.whl

Download URL leafy-1.0.0-cp38-cp38-macosx_11_0_x86_64.whl
Size 180.5 kB
Tags CPython 3.8 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
afd8776d8c24a3d3c2d6982d5d1a290137f63e06aa7d3abbb8a061a87b914d97
BLAKE2b-256 checksum
How to use checksums
a9f3c3b1a6c9ccd2c6f876d1bd5a1587352d6387a3f52a7d11bfa909fdcb6d58
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.6

Release files / leafy-1.0.0-cp37-cp37m-win_amd64.whl

Download URL leafy-1.0.0-cp37-cp37m-win_amd64.whl
Size 196.2 kB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
61d10c7f26b2d7b9a09c3719e2bc96da675a3c502aeb0e27903cccd0fe2d5d6d
BLAKE2b-256 checksum
How to use checksums
5a096418af08eaa0fa170674981b9a697b7144a9674c6222a6ab9c0174c69587
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.6

Release files / leafy-1.0.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl

Download URL leafy-1.0.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl
Size 893.4 kB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
5763999916687da14f430d2fd4375f0135b1c812b1191f08528765d8551bedac
BLAKE2b-256 checksum
How to use checksums
7be455d82e97d44ad50f0b45a6d1713f4eb2ba3e225c10149f66d6a9e5f4c302
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.6

Release files / leafy-1.0.0-cp37-cp37m-macosx_11_0_x86_64.whl

Download URL leafy-1.0.0-cp37-cp37m-macosx_11_0_x86_64.whl
Size 180.1 kB
Tags CPython 3.7 CPython 3.7 pymalloc macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
8e7c901e14355a2e9a7298c2a83c23cec2accd719b8e85be7b90080178b51d48
BLAKE2b-256 checksum
How to use checksums
b185613fe44acea55f3cec5c53cfc4518901d2fe23d1afd0324fef12f901f69d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.6
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page