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.8.0.tar.gz (43.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.8.0-cp39-abi3-win_amd64.whl (297.2 kB view details)

Uploaded CPython 3.9+Windows x86-64

graphfinder-0.8.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (445.7 kB view details)

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

graphfinder-0.8.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (422.7 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

graphfinder-0.8.0-cp39-abi3-macosx_11_0_arm64.whl (383.1 kB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

graphfinder-0.8.0-cp39-abi3-macosx_10_12_x86_64.whl (399.3 kB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: graphfinder-0.8.0.tar.gz
  • Upload date:
  • Size: 43.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.8.0.tar.gz
Algorithm Hash digest
SHA256 5a3a58c6bee3222ada2eae5c0fb653ed32b934386f1e09a095450d12772aaf1e
MD5 4655ffdf3a3e848d9fa7371a4219aa08
BLAKE2b-256 2a8db2d7c74af73b81ff5a55f9f1f4895778399013234c37b8ab8994ea321c0f

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: graphfinder-0.8.0-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 297.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.8.0-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 952eba10a630f815e6228ca2cc594fa34c306025fcc7f72ebd21cd3a2dfb68ff
MD5 e2f52a48a39bcbef249701f60308c072
BLAKE2b-256 127d8b5111fc109ce0137681fac4b1b4ee11430d3f2338ca0f2a565940332e89

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for graphfinder-0.8.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b5dc91a27f6f57f098261ed3a69248a65218123d0620693a1f06886a85ca9e13
MD5 ded0016cc3721ff5df970a867357cb8a
BLAKE2b-256 5d790978e2e8911ae1b082e33115455f71a75ec14862b664bf2a2f88e071516d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for graphfinder-0.8.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cb327229856e8ddc488b09c2f4467c3e5c07cc20a4d80b19a5beef3e23d861f0
MD5 6c6263dd10b348e81cdb4fea2c6f802f
BLAKE2b-256 56c4e5b82651fbb9c6379f4d95f2701dee6ec6ab83d483aaaf20d86ffcc20d4f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for graphfinder-0.8.0-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dc320d76545e277c5060da36145768c87be55fe8b7e3b934e0c809cc008c17a9
MD5 661e25822e38c2071c7b48675f432994
BLAKE2b-256 c1adc195a60e66b749fbf15c89acca96174c0bcf7b9ea10484fd4356cbc771c2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for graphfinder-0.8.0-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a51c1caca80b64421237c94e7aeb8db376f33b86ecc7000f9df998f91aee4b53
MD5 0ebd81dd2fb85fe34432de0d7cb74ece
BLAKE2b-256 dbbb736dac40e7e40ef2e389b06b155aaf1c6d393391cb68fb2f3c72a3dc0798

See more details on using hashes here.

Provenance

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