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.9.0.tar.gz (49.5 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.9.0-cp39-abi3-win_amd64.whl (309.3 kB view details)

Uploaded CPython 3.9+Windows x86-64

graphfinder-0.9.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (460.2 kB view details)

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

graphfinder-0.9.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (438.0 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

graphfinder-0.9.0-cp39-abi3-macosx_11_0_arm64.whl (396.2 kB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

graphfinder-0.9.0-cp39-abi3-macosx_10_12_x86_64.whl (412.8 kB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for graphfinder-0.9.0.tar.gz
Algorithm Hash digest
SHA256 fe1e52b5cb869ff284212142eb6c95ffc93961dc721922df5e6777ac2137cfc9
MD5 a53c945a51583dd3f4a423687dbf9d1a
BLAKE2b-256 0c965615680e19250c9a09cb149655733a5121de90f7011ed6e41fa878e763d0

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: graphfinder-0.9.0-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 309.3 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.9.0-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 a60ceb3b92ab6d0e95642a098ca0cb4f5be9628f7fc9ef2719c17b1e19116364
MD5 2d4cb9cdd9d0a00c7ee5a376c0c4cb72
BLAKE2b-256 6f052e9d93a761a2ef71bfee712ca2909a897927a707615cabf8d89d2824e39e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for graphfinder-0.9.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8c06afa9bc4c06c66a471b20e15ee739de5262a234c9f440a44f3b0d0a40a496
MD5 4b8159c1ad433e06fb2ab86d2b721370
BLAKE2b-256 c4f3a60da8e104d5af07ea0b5c4fb8aa5d07d1cc467d814624ad4941bc573371

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for graphfinder-0.9.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ddfc0b2ecb8453837eebc440d49f1348f217b9ab2754ad27b8188d39de4ce03a
MD5 0f18f4877fd7da51a8386704a438c29a
BLAKE2b-256 701069f616cc197b12e0adff119ed044bf5b88ca1ff7b7e35fdba495f1905a0f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for graphfinder-0.9.0-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fb93e164d89d487893f11387dc3921ec0352482e7bcd0ac982699ef4d788c649
MD5 5aaf22721a7dc2a633091823888d8cf6
BLAKE2b-256 7c4548e5ab00399c45c6149fbd60382d8927b6d26e802f1d0f63353f738af2fb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for graphfinder-0.9.0-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 8adcbd401a190f148b2a15ed368d5e5c7ac01f4b5f0468cedaccadf3ad20d6eb
MD5 a4707dc7ba05cefeba0317aac62d6eb8
BLAKE2b-256 2d2f63820761c41f1f5c43752f9f703ccb6acb26a760bf301b5b6add25818e35

See more details on using hashes here.

Provenance

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