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.11.0.tar.gz (58.6 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.11.0-cp39-abi3-win_amd64.whl (457.8 kB view details)

Uploaded CPython 3.9+Windows x86-64

graphfinder-0.11.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (611.0 kB view details)

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

graphfinder-0.11.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (564.3 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

graphfinder-0.11.0-cp39-abi3-macosx_11_0_arm64.whl (519.4 kB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

graphfinder-0.11.0-cp39-abi3-macosx_10_12_x86_64.whl (542.3 kB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for graphfinder-0.11.0.tar.gz
Algorithm Hash digest
SHA256 96250d6202fc53d2c8d134560a42204215356e57cb6a701a9cb7e85055b39cfc
MD5 dcd1e230cd133798a5eea4b87182d98a
BLAKE2b-256 00c5d1d79aa44bc96eeda296c63d7e02cf8b83dafb8d56ce3ec7cd5c9da4a280

See more details on using hashes here.

Provenance

The following attestation bundles were made for graphfinder-0.11.0.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.11.0-cp39-abi3-win_amd64.whl.

File metadata

  • Download URL: graphfinder-0.11.0-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 457.8 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.11.0-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 52db539811ec93cf2fbbd5ac26cb5a3ed000f86bfa0f5f75491dea62ae897485
MD5 1b6102f3f3b181135775d64c15522f98
BLAKE2b-256 9620d2ea4ae0e9ad3edd49cb749473e24fb0c5c82972e0b4729f66a2678c9f60

See more details on using hashes here.

Provenance

The following attestation bundles were made for graphfinder-0.11.0-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.11.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for graphfinder-0.11.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 75b39dc56d670db9968521b69b1e46ec5e59bce22458551563c7a4602b1e0097
MD5 8464fe762e3225448db6505116d92cbd
BLAKE2b-256 5bba043d4abf139259059563c3eb84cea8c0bf715361241280fb21e296a3a329

See more details on using hashes here.

Provenance

The following attestation bundles were made for graphfinder-0.11.0-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.11.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for graphfinder-0.11.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c11970403872699db726b64786d851609d8caa5e736b63663d465fec64cd657c
MD5 23991342c176cd6160a7f0c0fa8f7c01
BLAKE2b-256 8e993753543e7fa5683a48a878b9b6b234bd02eea901e787aa87c992fb85796e

See more details on using hashes here.

Provenance

The following attestation bundles were made for graphfinder-0.11.0-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.11.0-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for graphfinder-0.11.0-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3c2e9c7be16cf75bcc60bc242c05ad7cac36dee38b14a78ff9d7fa855bd6a522
MD5 296bc50191b5669c4a8621b13f54148c
BLAKE2b-256 a733fce224c34aaebbcf12c24c42735fbae477afeff4949e3cb59764c98465ad

See more details on using hashes here.

Provenance

The following attestation bundles were made for graphfinder-0.11.0-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.11.0-cp39-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for graphfinder-0.11.0-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 48af2755aa1c258ba62d5e0408d2439012dbf787facc44cf77c69525c906fb1a
MD5 6c79941450f8ad5440e20a7754b3f027
BLAKE2b-256 c33b77d2ee0bd0fa17b25e11a04a5ce1c14484b1bc6291156cca1d8ff736aa1f

See more details on using hashes here.

Provenance

The following attestation bundles were made for graphfinder-0.11.0-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