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.7.0.tar.gz (41.1 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.7.0-cp39-abi3-win_amd64.whl (294.7 kB view details)

Uploaded CPython 3.9+Windows x86-64

graphfinder-0.7.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (440.7 kB view details)

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

graphfinder-0.7.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (419.0 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

graphfinder-0.7.0-cp39-abi3-macosx_11_0_arm64.whl (379.0 kB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

graphfinder-0.7.0-cp39-abi3-macosx_10_12_x86_64.whl (396.5 kB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for graphfinder-0.7.0.tar.gz
Algorithm Hash digest
SHA256 cf239f56172293b0fd52f9e34dedaf9f1a59754480b3b930716e74a2078401fd
MD5 59dd382d0df39617e75e9d6065be710e
BLAKE2b-256 c016160fd090adede38839cfde514c05e48f91e32b37432e37953d2a18233eb5

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: graphfinder-0.7.0-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 294.7 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.7.0-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 017da33ba45b6acd7477134f2056870c0083758f37826e5f5a2a172f014caf3e
MD5 c0f5e6b3db8bd9d8e05e901b4c023bef
BLAKE2b-256 a5a8dd2cb915f2f9180f8a95fcc96713eade4099ac1c28a43fdc3dba66392bc7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for graphfinder-0.7.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 02e766b18a5a16a78bc58c4e69032e196a157ef2c654a03bca61e9ed3c876d8e
MD5 9e175b09f29a5b6e6f53262ecd0a9160
BLAKE2b-256 f5bb35fb66ba7419b85de213bb1e0cabdeab3c6424c4e348d72172f50b6b399a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for graphfinder-0.7.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c5949b99ca5a5d6e2e8767bb8ff6ecc26a03465b67e5fb52fbf6979922c569bd
MD5 5c98986e5bd3c13211943ad38eef522e
BLAKE2b-256 493b1e177a7a2fda83aa1819ad36917dffeef6cfb4f6fce6682d9bb9158dfa2f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for graphfinder-0.7.0-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 aa023a7b12ccc7cc6d36aea3aafbcacbdf07c9c923e17d242c1e6208297e0f2b
MD5 cc1fb1b17080340a3b7a6565a5802f66
BLAKE2b-256 9d9290daa04986c2c243bf0080f92b066cc86d4e0e2dd2c8fe331cc7d24c6360

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for graphfinder-0.7.0-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 be65d0542cc3cec15e14f0acb01b66278fe9a2b79aa678f1789f0c39ec63c110
MD5 3a020bc9a05812e738f720b623f1e492
BLAKE2b-256 ee2593e32b7ecd37c4727bc3c500d23771dfa16dd5883f1c76fc19d42bac4284

See more details on using hashes here.

Provenance

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