Scientific graph layout utilities.
Project description
scigraphs-utils
Utilities for scientific graph layouts.
The Python import package is scigraphs_utils.
import numpy as np
from scigraphs_utils import sfdp_layout
edges = np.array([[0, 1], [1, 2], [2, 3]], dtype=np.int32)
xy = sfdp_layout(4, edges, seed=42, overlap="false", maxiter=100)
For Graphviz parameters that are not listed explicitly, pass them as keyword arguments. They are forwarded as Graphviz graph attributes:
from scigraphs_utils import graphviz_layout
xy = graphviz_layout(4, edges, engine="sfdp", start=42, K=1.2)
Development
The current MVP builds a native extension against a local Graphviz installation:
python -m pip install -e ".[test]"
pytest
To build against a private Graphviz prefix, run:
tools/build_graphviz.sh
GRAPHVIZ_PREFIX="$PWD/build/vendor/graphviz-install" python -m pip install -e ".[test]"
Wheels
The project is configured for cibuildwheel CPython 3.13 builds. The wheel
build hook compiles a pinned Graphviz release into a private prefix and builds
the native extension against that prefix. On Linux, auditwheel then bundles
the required shared libraries into the wheel so users do not need Graphviz
installed at runtime.
python -m pip install ".[wheel]"
python -m cibuildwheel --output-dir wheelhouse
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file scigraphs_utils-0.1.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: scigraphs_utils-0.1.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 4.9 MB
- Tags: CPython 3.13, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ee8d1c397e6e5fc85e79892dadc23c121b9642d5ae33765496a2f4590e509372
|
|
| MD5 |
f98e70591d5ee7df3eda985f6dad8797
|
|
| BLAKE2b-256 |
ea1d762d911fa6bfd4e167af5bc8568fbafca915f1008c6969b4a9c5c5bd50d7
|
Provenance
The following attestation bundles were made for scigraphs_utils-0.1.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
publish.yml on josemarinfarina/scigraphs-utils
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
scigraphs_utils-0.1.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
ee8d1c397e6e5fc85e79892dadc23c121b9642d5ae33765496a2f4590e509372 - Sigstore transparency entry: 1393581174
- Sigstore integration time:
-
Permalink:
josemarinfarina/scigraphs-utils@aa1f3d6db41a48c525c0cca0301693a155d74cb7 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/josemarinfarina
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@aa1f3d6db41a48c525c0cca0301693a155d74cb7 -
Trigger Event:
workflow_dispatch
-
Statement type: