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.1.0.tar.gz (31.9 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.1.0-cp39-abi3-win_amd64.whl (267.2 kB view details)

Uploaded CPython 3.9+Windows x86-64

graphfinder-0.1.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (414.7 kB view details)

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

graphfinder-0.1.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (392.2 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

graphfinder-0.1.0-cp39-abi3-macosx_11_0_arm64.whl (354.9 kB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

graphfinder-0.1.0-cp39-abi3-macosx_10_12_x86_64.whl (368.9 kB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for graphfinder-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a62332fb6210723d79e48e5ede7ef9c5afcfbf488756a45807a532ea98e4afea
MD5 6018dfaabcca90d16d3f02ea127c31bb
BLAKE2b-256 d094e3c2faf36978a5061f53aa55d1f195850ed3b0c54b7d90df57f41008c622

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: graphfinder-0.1.0-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 267.2 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.1.0-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 93714220e63003192cd422034b02f59573ce945b083fb29f1cfca3435d095a57
MD5 2965009ab2d8e72c5c9a6fddf6b5e687
BLAKE2b-256 00286599b6b794687069e37285ae48962ae2e010b4055a98540634594f2f13e9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for graphfinder-0.1.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6070b043835d14ecfc88862c99cc8cd6f8e2ab0476d12f0a00c05264080fded1
MD5 9f64bfd1b1ff40628a8a8eec1716ed17
BLAKE2b-256 4ec6fc76746b278e252bd9f92a9898de52da31eb0eb1191b92a7c66c59a2259e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for graphfinder-0.1.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fd7f1feb666b13a27268f49edbb93a73590cb4b44239a449b341af8de2abdad3
MD5 d1750996d462a246e107eacf18a0edcc
BLAKE2b-256 1e3029d6204478c2e35bc336cd0650fadd83490a6e39e957ba115385f10a22e2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for graphfinder-0.1.0-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f92308614ab1675f25481d242b48409e49e00524e48c1b7b4967d02bddf01648
MD5 2bfa7a8e3d80e65dfc577d3f1122afeb
BLAKE2b-256 972451212db9b3629d32c2c1f803797c907b911923fa6d2e14381dde5ae31f3f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for graphfinder-0.1.0-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 4880e97f9c40ac4b7277ab741c350ac3a08becf874fc00425ad0a18f7847a5bc
MD5 f25b29d8427932566d3572426fca862b
BLAKE2b-256 c7dc44a606f34caff0139fb4a6b7b1a2b10d868611d1ce9eea2a0c2973e64142

See more details on using hashes here.

Provenance

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