Skip to main content

Graph traversal & pathfinding (informed and uninformed search) with a Rust core

Project description

graphfinder (Python)

Graph traversal & pathfinding (informed and uninformed search) with a Rust core.

import graphfinder as gf

# A* on a maze
r = gf.search(gf.sample_maze("wall"), algorithm="astar", heuristic="manhattan")
print(r)                     # SearchResult(found=True, cost=20, expanded=25, ...)
print(r.cost, r.nodes_expanded, len(r.trace))

# Explicit weighted graph from a generator
edges = gf.gen_barabasi_albert(200, 3, seed=1)
r = gf.search_graph(200, edges, start=0, goal=199, algorithm="bidirectional")

# Implicit graph (lazy successors; states are ints or tuples of ints)
def successors(s):
    return [(s + 1, 1.0), (s * 2, 1.0)] if s < 1000 else []
r = gf.search(successors, start=1, goal=27, algorithm="bfs")

Build from source (Rust core via maturin):

pip install maturin
maturin develop --release
python examples/quickstart.py

See the top-level README and ROADMAP.md for the full feature list. A visualization layer (graphfinder.viz) is planned for Phase 4.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

graphfinder-0.2.1.tar.gz (32.8 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

graphfinder-0.2.1-cp39-abi3-win_amd64.whl (278.6 kB view details)

Uploaded CPython 3.9+Windows x86-64

graphfinder-0.2.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (425.0 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ x86-64

graphfinder-0.2.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (404.6 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

graphfinder-0.2.1-cp39-abi3-macosx_11_0_arm64.whl (364.2 kB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

graphfinder-0.2.1-cp39-abi3-macosx_10_12_x86_64.whl (380.8 kB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

Details for the file graphfinder-0.2.1.tar.gz.

File metadata

  • Download URL: graphfinder-0.2.1.tar.gz
  • Upload date:
  • Size: 32.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for graphfinder-0.2.1.tar.gz
Algorithm Hash digest
SHA256 f1d8aff0fedc3a2c0e1dd8daa0aa734bc1d480320cb90ca416c7b1a528ac8fbf
MD5 2e63fa60f220e22dbdef4b17c6b745c3
BLAKE2b-256 9a98082ac0848929a2826e8413cb6c52cd261ddad578b0e30f0de95f07a03991

See more details on using hashes here.

Provenance

The following attestation bundles were made for graphfinder-0.2.1.tar.gz:

Publisher: release-pypi.yml on graphfinder/graphfinder.github.io

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file graphfinder-0.2.1-cp39-abi3-win_amd64.whl.

File metadata

  • Download URL: graphfinder-0.2.1-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 278.6 kB
  • Tags: CPython 3.9+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for graphfinder-0.2.1-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 66d6a45058a298fa13f89b0386feff2c66eb3cea5deb0d3ebff01d474dcc6738
MD5 4a87887bfefcdfb367ee36bc5b58f4fb
BLAKE2b-256 975ca58c122d49c44a9d02427368bbc50f75653df52bb465b6b14fd21c157f16

See more details on using hashes here.

Provenance

The following attestation bundles were made for graphfinder-0.2.1-cp39-abi3-win_amd64.whl:

Publisher: release-pypi.yml on graphfinder/graphfinder.github.io

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file graphfinder-0.2.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for graphfinder-0.2.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0a28686027c4f3f4980e88db33e166059371a1e56c0b091100640145f328eb4a
MD5 6397ca2a5f766c752277977683bb916d
BLAKE2b-256 aafcfea39257cbc2acad59ca9ab59274aaafd305522160225819fa6ddff6391c

See more details on using hashes here.

Provenance

The following attestation bundles were made for graphfinder-0.2.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release-pypi.yml on graphfinder/graphfinder.github.io

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file graphfinder-0.2.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for graphfinder-0.2.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6cb911d201198e2595020ac983c00f25249ca926763ee4319383a7b0e5690531
MD5 62c822ec6f457b8b839923104fb28266
BLAKE2b-256 d91733e39ff5fd3b8aa3e6952f8ffcb804a0d50d1a107e8d6db8deb3a89c80dd

See more details on using hashes here.

Provenance

The following attestation bundles were made for graphfinder-0.2.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release-pypi.yml on graphfinder/graphfinder.github.io

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file graphfinder-0.2.1-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for graphfinder-0.2.1-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5b3a1a5d8fe23b04cc862bbce4c809de9d025b0ba0460e6c7ed77f0fa718906a
MD5 3a54fb689ddc3dc59c73c8b84af13d1a
BLAKE2b-256 40921a24a86ed3fb230ef9781b0f74a712bf23c2dd8de3cbf7885e9e84408a0c

See more details on using hashes here.

Provenance

The following attestation bundles were made for graphfinder-0.2.1-cp39-abi3-macosx_11_0_arm64.whl:

Publisher: release-pypi.yml on graphfinder/graphfinder.github.io

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file graphfinder-0.2.1-cp39-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for graphfinder-0.2.1-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 4045a512d8b4934cd7fa24986d79633fa314034463a55f45384f3d87ee83fa27
MD5 a6c1efca932586573203b7df563ea923
BLAKE2b-256 29257583e08b14c12ffaed0bfb42ded218f4bb5b87e2ec28a6bb18d0e63cb6e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for graphfinder-0.2.1-cp39-abi3-macosx_10_12_x86_64.whl:

Publisher: release-pypi.yml on graphfinder/graphfinder.github.io

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page