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.10.0.tar.gz (56.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.10.0-cp39-abi3-win_amd64.whl (447.6 kB view details)

Uploaded CPython 3.9+Windows x86-64

graphfinder-0.10.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (595.9 kB view details)

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

graphfinder-0.10.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (547.1 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

graphfinder-0.10.0-cp39-abi3-macosx_11_0_arm64.whl (505.2 kB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

graphfinder-0.10.0-cp39-abi3-macosx_10_12_x86_64.whl (541.6 kB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: graphfinder-0.10.0.tar.gz
  • Upload date:
  • Size: 56.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.10.0.tar.gz
Algorithm Hash digest
SHA256 c345c0f3de0e2dbe179cee707fd5c929942c05bdc2defb7b8a7b54f92feb4a6e
MD5 58b06b7f149fb91974425dd7a08f7311
BLAKE2b-256 63aea19d8e24d897116e4dd2e8707900560ebcf98248a1b1d5abb76da1849a5e

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: graphfinder-0.10.0-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 447.6 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.10.0-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 6880e14e9b45e903ac69cb1c1c983aba572e39fb6fd4ca19c57ec0c92a3868ba
MD5 2d991dc59c1b79aef1d26c114d99c66e
BLAKE2b-256 9f072e30dfe558d1f96c4fac52a6d96a8bd6db3a799a73d104182d0a40cb213c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for graphfinder-0.10.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 debfad50a661dcf170ced07f3741d593c29b33f5da912f03fd8dfbf81f929c81
MD5 5f72a5727611f3aaddfa6426f413226a
BLAKE2b-256 06faec5c809ca4ccaaa1c449dc655c1cfc529e0bc74af27e00146c77bfd88c58

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for graphfinder-0.10.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 aaa70ebd7d040f6fb7d57000f7d22bd26f5b0da5c47c6a5474624d69455e823b
MD5 2e42256df0736bd825bac93c2253abe2
BLAKE2b-256 b743a42860ef4d9b04c8daba57594aad04549f13bb6a45f41237133aa020fdb8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for graphfinder-0.10.0-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ed642758c18670ad84619f229fa552a5a8a668968c1ab8f08e44ed3429e0f96d
MD5 3d27b894b337cf4c14045f42db0a373f
BLAKE2b-256 87949808e489ece9bcfafdf3352e750cffe96224918d46a14b938317b7e06b5a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for graphfinder-0.10.0-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 eca51a50e85cb89659202d4f365c34e31f7edec4130f4525e1d07414bfd6659b
MD5 92ea1e53c8a0a582cd2e708377db091a
BLAKE2b-256 ffda6ce00f6494fc910d282170bbab01dbbcd76d3541836e57d235de73320148

See more details on using hashes here.

Provenance

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