Skip to main content

directedstructure

Documentation Status PyPI version PyPI platforms

Infer communities, hierarchies, and their connection in directed graphs

Maximilian Jerdee, Elizabeth Bruch, Mark Newman

This Python package uses Bayesian inference to identify communities and hierarchies of nodes in a directed network, as well as measure the interaction between those structures.

We model community structure using a stochastic block model, hierarchy structure with a Bradley-Terry model, and their interaction according to our work (link forthcoming).

Installation

pip install directedstructure

Or build locally by cloning this repository and running

pip install .

in the base directory (requires a C++ compiler).

Usage

The public API has three objects: Config, fit, and Result.

Load a network

import directedstructure as ds
import networkx as nx

G = nx.read_gml("examples/data/networks/friends.gml")

Edges may carry a type attribute ('dominant' or 'neutral') to distinguish directed pairwise comparisons from symmetric ties. If no type information is provided all edges are treated as dominant.

Configure the model

config = ds.Config(
    groups_model="general_canonical",   # community structure preset
    hierarchy_model="bradley_terry_ties",  # auto-selected if omitted
    interaction="coupled",              # coupling between communities and hierarchy
)

Config is a frozen dataclass — see the API docs for the full list of parameters (mixing variation, degree correction, individual/group depth, etc.).

Run inference

result = ds.fit(
    config, G,
    num_samples=1000,       # posterior samples to collect
    sweeps_per_sample=10,   # MCMC sweeps between samples
    timeout=60.0,           # wall-clock limit in seconds
    seed=42,
)

Inspect results

# A concise summary is printed by the result itself
print(result)
# directedstructure.Result(n=62, samples=1000, mean_groups=3.2, mdl=412.100)

# Network-level posterior summary: columns parameter, mean, std, hdi_lo, hdi_hi
# Includes ICC (intraclass correlation) and sigma_T.
# Computed in C++ without materialising the full samples DataFrame.
npdf = result.network_properties_df()          # default 90% HDI
npdf90 = result.network_properties_df(prob=0.90)

icc_row = npdf[npdf["parameter"] == "ICC"].iloc[0]
print(f"ICC = {icc_row['mean']:.3f}  90% HDI [{icc_row['hdi_lo']:.3f}, {icc_row['hdi_hi']:.3f}]")

# Per-node posterior summary: columns node, score_mean, score_std, group, group_score_mean
# For n ≤ 3000 uses the consensus partition (posterior summary);
# for larger networks falls back to the MDL partition with a warning.
node_df = result.node_properties_df()                    # auto
node_df = result.node_properties_df(partition="consensus")  # always consensus
node_df = result.node_properties_df(partition="mdl")        # always MDL (free)

print(node_df.sort_values("score_mean", ascending=False).head())

# Minimum description length value (model comparison)
print(result.mdl_value)

# n×n co-assignment frequency matrix (posterior)
comatrix = result.coincidence_matrix()

# Full posterior samples DataFrame (all parameters + per-node groups/scores)
samples_df = result.samples_df()

# Posterior-predictive probability of each directed outcome between two nodes.
# Returns {"a_to_b": ..., "tie": ..., "b_to_a": ...}, values sum to 1.
p = result.direction_probabilities("Spain", "Morocco")

# Set ties_allowed=False for standard Bradley-Terry (no tie term).
p = result.direction_probabilities("Spain", "Morocco", ties_allowed=False)
# {"a_to_b": ..., "b_to_a": ...}

Visualization

import matplotlib.pyplot as plt

# Node scores ranked within each inferred community (±1 std error bars,
# group mean line, communities labeled G1/G2/…)
fig, ax = ds.plot_node_properties(result)
plt.savefig("node_scores.png")

# Adjacency matrix of G reordered by inferred community, with colored
# community strips on the top and left edges.
# G can be any graph — it does not have to be the graph used in fit().
fig, ax = ds.plot_adjacency_matrix(result, G, cmap="Greens", title="Network")
plt.savefig("adjacency.png")

# Compose both panels side by side
fig, axes = plt.subplots(1, 2, figsize=(12, 5))
ds.plot_node_properties(result, ax=axes[0])
ds.plot_adjacency_matrix(result, G, ax=axes[1])
fig.tight_layout()
plt.savefig("combined.png")

fig, ax = ds.plot_MCMC_entropy(result)   # convergence diagnostic

Export the graph with inferred attributes for use in Gephi or other tools:

ds.write_gml_with_inferences(G, "output.gml", result)

Fixing model components

Pass fixed values in Config to test submodels. For example, to fix group structure from node attributes and infer hierarchy only:

config = ds.Config(group_attribute="department", interaction="independent")
result = ds.fit(config, G)

Or fix the number of groups:

config = ds.Config(num_groups=4)
result = ds.fit(config, G)

Parallel tempering

For complex posteriors, enable parallel tempering:

result = ds.fit(config, G, num_tempering_chains=4, beta=1.0)

Further usage examples can be found in the examples/python/ directory of the repository and the package documentation.

Metadata

Release files for directedstructure 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for directedstructure 0.3.0
File Size Uploaded Provenance
directedstructure-0.3.0.tar.gz 397.4 kB With provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for directedstructure 0.3.0
File
directedstructure-0.3.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
directedstructure-0.3.0-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
directedstructure-0.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
directedstructure-0.3.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
directedstructure-0.3.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
directedstructure-0.3.0-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
directedstructure-0.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
directedstructure-0.3.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
directedstructure-0.3.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
directedstructure-0.3.0-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
directedstructure-0.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
directedstructure-0.3.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
directedstructure-0.3.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
directedstructure-0.3.0-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details
directedstructure-0.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
directedstructure-0.3.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details

Total release size: 8.8 MB

Release files / directedstructure-0.3.0.tar.gz

Download URL directedstructure-0.3.0.tar.gz
Size 397.4 kB
Tags Source
SHA-256 checksum
How to use checksums
c953535d95bc76941707e52a7018020e604b6b2dcc4d0cb10987874af6457f05
BLAKE2b-256 checksum
How to use checksums
afd3e5497c21bae5b3a3e8ee6b13391ee01156f3b49fa9abb3f9beca1b7ebb7d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release files / directedstructure-0.3.0-cp313-cp313-win_amd64.whl

Download URL directedstructure-0.3.0-cp313-cp313-win_amd64.whl
Size 264.8 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
025075e7320a51f29436cb6149dc2ad8fdce4f0e274506bfde4ca7d54f3f3bfb
BLAKE2b-256 checksum
How to use checksums
62ad1bc48e5554807835edf948b94ba4ea14265dfb602b6c03957592f780334d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release files / directedstructure-0.3.0-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL directedstructure-0.3.0-cp313-cp313-musllinux_1_2_x86_64.whl
Size 1.3 MB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
a53f5324a31eab66b3b5b55c1a0ca9d6fa6052c1268a443590b1420a3baef7f8
BLAKE2b-256 checksum
How to use checksums
21d232c29bb8ff5053357865f02ef1df57029e510a2b5453e118ef3693b8bc80
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release files / directedstructure-0.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL directedstructure-0.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 302.9 kB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
8b28ab8d066e9b84d304a8788d13b86b4e376f5cfaab590cd4e017e4caa65816
BLAKE2b-256 checksum
How to use checksums
160573596115ecd93cf0e448403e71fae8dbba0d7e5d412c61c6dc6143d84347
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release files / directedstructure-0.3.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL directedstructure-0.3.0-cp313-cp313-macosx_11_0_arm64.whl
Size 236.3 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1299c55034aab95a1139aaaa9d88a13fd4b27eeaaf5058314dcfaa3b22bbbb76
BLAKE2b-256 checksum
How to use checksums
763070691461d0bde8653ed06dacf037136f2d885f7b88d3d7e6b985434ff2e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release files / directedstructure-0.3.0-cp312-cp312-win_amd64.whl

Download URL directedstructure-0.3.0-cp312-cp312-win_amd64.whl
Size 264.7 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
195e736ae9cdc74fbf8086a2fabce0f5e392287670074f40a093b3f93533f8de
BLAKE2b-256 checksum
How to use checksums
69104d784867130a3165ca4d12071a94851a4cb223a5f94bc14958df24bfcf07
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release files / directedstructure-0.3.0-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL directedstructure-0.3.0-cp312-cp312-musllinux_1_2_x86_64.whl
Size 1.3 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
8a3bfbc78cd9882a066138c6af37e2dd2d676f1235e128b074ac3ac061182da1
BLAKE2b-256 checksum
How to use checksums
3cfcd81f65c9080dd64806120f53b68f7cff1dd2cde23b4520a1a703319a7e4b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release files / directedstructure-0.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL directedstructure-0.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 302.9 kB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
694f4396e50ca921717d99cbe52e97a6309de79e2ee946e60428d93a1e6a4620
BLAKE2b-256 checksum
How to use checksums
34b450378c24d0234b94f43335377c883199d26f251b3ce3290f1540d4da1a51
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release files / directedstructure-0.3.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL directedstructure-0.3.0-cp312-cp312-macosx_11_0_arm64.whl
Size 236.2 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
fd4417ce78534a909f2a86a28bcd53993242384b43e2f6c47f6558e757b4e0cf
BLAKE2b-256 checksum
How to use checksums
522d7c6f89eea5b8c3c4a053bf5629fcf378a2debae232a376d1798e9ab7bc99
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release files / directedstructure-0.3.0-cp311-cp311-win_amd64.whl

Download URL directedstructure-0.3.0-cp311-cp311-win_amd64.whl
Size 259.1 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
f8e2bc3245ec580ecefe960ea2e0c30a20022150b83862fbac034e066fd4fa9e
BLAKE2b-256 checksum
How to use checksums
ce2930f5524029e86cfee8a19910a356d5e73d0db677cf1177103877750dfb22
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release files / directedstructure-0.3.0-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL directedstructure-0.3.0-cp311-cp311-musllinux_1_2_x86_64.whl
Size 1.3 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
931d4a07bcf47c2cabaabe7d1fe795735dd59dc4617d649dd06fb30fd537ce91
BLAKE2b-256 checksum
How to use checksums
39904765d19011d821ef9fabeaa5890fcc7a15857287726e2a00600d6bd92418
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release files / directedstructure-0.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL directedstructure-0.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 302.0 kB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
0c5f1e5f13068f5dd892f222dac8338fce545efd62bf64d89121aec3b4ad320c
BLAKE2b-256 checksum
How to use checksums
aa5d7f73fe5ce24b3c86d83d87c59570b630e87e2042b2c3f8d9487bbb88fe64
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release files / directedstructure-0.3.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL directedstructure-0.3.0-cp311-cp311-macosx_11_0_arm64.whl
Size 234.7 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
8cbfb494eebf1d0d21c0060ed2874d7ff28283d1f940d9fc2bf2abb4bea26ff0
BLAKE2b-256 checksum
How to use checksums
724ba31d588e183f61548de35f15943329bb7904567888301bfb8eab187b137d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release files / directedstructure-0.3.0-cp310-cp310-win_amd64.whl

Download URL directedstructure-0.3.0-cp310-cp310-win_amd64.whl
Size 258.2 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
0a3baa609a52811c62ffe37171e1e19da923b49388cb68a05d9ca3d6d5617e35
BLAKE2b-256 checksum
How to use checksums
e162679080aa716f1563f735ef855c085a1f0ff78e2d29f652afccf5e4b77e4a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release files / directedstructure-0.3.0-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL directedstructure-0.3.0-cp310-cp310-musllinux_1_2_x86_64.whl
Size 1.3 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
935ef883348160fa663aaa51123c4724ad63a4f2c945e45290dbc97d9ce466af
BLAKE2b-256 checksum
How to use checksums
0d695bcb7424da1616ab300348bd86b2884ce314fb3a9bb3ffff96ede0ab61a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release files / directedstructure-0.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL directedstructure-0.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 300.5 kB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
f9712e278512e180a1188eadf5c30d29fb9c849ec53a7692737b2fc6436f63f2
BLAKE2b-256 checksum
How to use checksums
388be374a6bd4fa92de1817cdb5eff1337f7e5f846ea0e8535a5ef1c50f695d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release files / directedstructure-0.3.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL directedstructure-0.3.0-cp310-cp310-macosx_11_0_arm64.whl
Size 233.7 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a0697957e8ae0cf775dd4c2a219900ab9ee9c531d2e35b9d6d940a861bc9e89f
BLAKE2b-256 checksum
How to use checksums
68c8a8719e173dddf7560b7f42de9a62428d07e64a68098fafe106d50550155f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Security for directedstructure 0.3.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 17 files in this release have been uploaded with provenance metadata.

Select from 17 files

Attestation for directedstructure-0.3.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page