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.2.0.tar.gz (32.8 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.2.0-cp39-abi3-win_amd64.whl (278.7 kB view details)

Uploaded CPython 3.9+Windows x86-64

graphfinder-0.2.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (425.5 kB view details)

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

graphfinder-0.2.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (404.2 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

graphfinder-0.2.0-cp39-abi3-macosx_11_0_arm64.whl (364.6 kB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

graphfinder-0.2.0-cp39-abi3-macosx_10_12_x86_64.whl (381.3 kB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for graphfinder-0.2.0.tar.gz
Algorithm Hash digest
SHA256 70e225e45507066370a177cfeac4d420905931b456b82a10eda489b4c4f4d5b2
MD5 d17ed7c527f0913f1d923941baec5983
BLAKE2b-256 d240afbec79014d73cae7e02f56e2b91314d39d6100e557720d9f22a1233581d

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: graphfinder-0.2.0-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 278.7 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.2.0-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 16edf74b2b7f26aef5f888d16d70fc796f9c1a586cd546769fab78b2064993f2
MD5 7d54fa4e361ebce2e5cc02398224ade1
BLAKE2b-256 1cdf5ce694e0d6c10159fa6712600fb7e09575955b8bc90b9103bdb4c0c8ea80

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for graphfinder-0.2.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9195b65b803499ee3de0393ff8508af8df8d221f41f5a509c531c4b2b34840c8
MD5 6e95ceaa0b8cabb42c89980fd92f1ffb
BLAKE2b-256 0673e2402c585326b670a165b5cd49941e2cb2b15daa66fa5ad6efb7bb669137

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for graphfinder-0.2.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 371ce983d0feb606959583e2b850d10b39d16e15e646bbdaf7ee3d4b16853b25
MD5 f7bbd2c6ea192872e35acccd586e7bc1
BLAKE2b-256 9aae82499c4f9ecc7fe21fde9832dab8531982eff30938873adf4146397a7eb6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for graphfinder-0.2.0-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 12f54f5657182e7a3dad8a664aa64439b2a9418563263a3329202be95bd5127c
MD5 6351d9ca7fbfc44f84ef0bcef6de4376
BLAKE2b-256 de44b1ec1c401b0e48f4a597c6de13bc7e2d872d71ae8d50c6533c117dfd32fc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for graphfinder-0.2.0-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 952ae55d4c9d83aa7c13aa046e95c51d2e6b70ce0f052eda6d29f67586b43c2c
MD5 59f62d6d563ca3abeaf9e9d93cd4b04e
BLAKE2b-256 27faad329b56c4f2f498190e97b5da2e140dc54cceadc7f8c3ef6aa62145d763

See more details on using hashes here.

Provenance

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