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.3.0.tar.gz (35.3 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.3.0-cp39-abi3-win_amd64.whl (283.1 kB view details)

Uploaded CPython 3.9+Windows x86-64

graphfinder-0.3.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (432.1 kB view details)

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

graphfinder-0.3.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (410.1 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

graphfinder-0.3.0-cp39-abi3-macosx_11_0_arm64.whl (370.0 kB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

graphfinder-0.3.0-cp39-abi3-macosx_10_12_x86_64.whl (388.1 kB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for graphfinder-0.3.0.tar.gz
Algorithm Hash digest
SHA256 a3a37550fc0c60a56d9dff742e290a11f8484a2505a66155d36e536e72503964
MD5 57beacd69aa1861ce0dd84d1c398f290
BLAKE2b-256 a8d9494e55d01b6631029cb0a88af03dc77275e7d99ab755068cf9780c2d89dc

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: graphfinder-0.3.0-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 283.1 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.3.0-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 45b56871618c84dff2b7498c91b80d26d517728b976626574626930eef3bc2a2
MD5 2f9f80c2542eb809c768ee140bf676b7
BLAKE2b-256 be0dc4f6e1eb353608ae5df8567d5ed876682d001678b272d98d2e70fc834dff

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for graphfinder-0.3.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fdd7a6076af2a222db9e8edf394bce76938f7ac83906b317f39863bee1f8cdf2
MD5 29e43f814b831fafb8630cf2b6b61b31
BLAKE2b-256 7d9eca3ea390efe0f4232632def537fd6bc171464ec71149c21ac1abc14b87ef

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for graphfinder-0.3.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8893c5e420b97f644a4f6e81165e2822887628cbd76f101e4726c9beddd5588b
MD5 ab6be4fee7929139e5c2f8e4fc6824e7
BLAKE2b-256 af47344aab9fe6d886be6b13c1a253d699687795f66992a7dd83185b7e32b70b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for graphfinder-0.3.0-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8587c357174e5858750a5f8ba1454a16524cf8c0cfd5c3c71c0f3d0e91e31d1d
MD5 2b3eb3061ea399909a813779bf822220
BLAKE2b-256 99a826135830d479475699fd91379621a7db3d5869fca16a0522e4c18cd36eb9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for graphfinder-0.3.0-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 49232abbba61b9c3a10d45b248503d660515e327f243bc31fe7bb06d32cb7de5
MD5 b064abd02ef52dec890bda04d77a4810
BLAKE2b-256 2470ab169f83cae7c54e157d8c23b54a0e20a64197b33785692c75d471aedf6e

See more details on using hashes here.

Provenance

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