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.6.0.tar.gz (41.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.6.0-cp39-abi3-win_amd64.whl (294.4 kB view details)

Uploaded CPython 3.9+Windows x86-64

graphfinder-0.6.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (442.9 kB view details)

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

graphfinder-0.6.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (420.0 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

graphfinder-0.6.0-cp39-abi3-macosx_11_0_arm64.whl (380.0 kB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

graphfinder-0.6.0-cp39-abi3-macosx_10_12_x86_64.whl (397.1 kB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: graphfinder-0.6.0.tar.gz
  • Upload date:
  • Size: 41.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.6.0.tar.gz
Algorithm Hash digest
SHA256 c37e32eadd02f5f2f1e19e3464422a78711e4c541e5daccaf7178b5e8178a9be
MD5 94a53acfb9e1b472a4231b8eff14c7ca
BLAKE2b-256 99fa1aea0a4da7df8c3532bf67b57d120f1ec4c3b3875f8c7e0e040421939342

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: graphfinder-0.6.0-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 294.4 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.6.0-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 c12e5b9a91d4fcfaf6a959c67f8e9dc49b5be18ab7cd3e2802dcd53f35f1df20
MD5 8069e547334b312fa039febadc882d76
BLAKE2b-256 ae6d3e106695b7db513b49e6e0fcebd5904783f62a45dfe9dfbf726ca7caffb0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for graphfinder-0.6.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a666c05e7ff78be653bbd743cc093b5a35435866d472953a0bb778814dee29e2
MD5 0996934e3b48071acf432eb15a473fce
BLAKE2b-256 0b0f254d3cf3731511b1084800d5a6c2bfba49d3dcd0e2064e7cfcae20fce3dc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for graphfinder-0.6.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4834868843f13522d624aeeb4a499a3568b1e1211ea10c04a1e095ba3e93ec0d
MD5 cb8f0c519eb68ade2f65c67bba1875fe
BLAKE2b-256 1256111ae12b5b8dce268eb2c53f9f197a171e14a78ca1a14151bade24df11af

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for graphfinder-0.6.0-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 606b618f195d6becfc0d0bd469fac928c4559dfd0aeb6af54ae652e862e6d381
MD5 70827000594203007b4951cff13f87ce
BLAKE2b-256 fe0a26f5aa93336bee71fb4915ccae531dfd7fa442063cc3da2b082c1516d6ba

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for graphfinder-0.6.0-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f48b510f314515b439a671c8ff84a54522777d72ae2c941d041be1889bc85e7e
MD5 4fb56f63fd8ad7b6f696fdbc6d719c90
BLAKE2b-256 c701ff02b137eecf6c5a77a1d56aa0bd26de75ef9f5fbc12a919d24ea1baab97

See more details on using hashes here.

Provenance

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