PANINIpy
PANINIpy: Package of Algorithms for Nonparametric Inference with Networks in Python is a package designed for nonparametric inference with complex network data, with methods for identifying hubs in networks, regionalizing mobility or distributional data over spatial networks, clustering network populations, and constructing hypergraphs from temporal data among other features.
Table of Contents
Installation
pip install paninipy
PyPI
Modules
Binning Temporal Hypergraphs
Identify MDL-optimal temporally contiguous partitions of event data between distinct node sets (e.g. users and products).
Utilizes method derived in “Inference of dynamic hypergraph representations in temporal interaction data” (Kirkley, 2024, https://arxiv.org/abs/2308.16546).
Clustering Network Populations
Generate synthetic network population datasets and perform clustering of observed network populations, multilayer network layers, or temporal networks.
Utilizes method derived in “Compressing network populations with modal networks reveals structural diversity” (Kirkley et al., 2023, https://arxiv.org/pdf/2209.13827).
Regionalization with Distributional Data
Perform MDL-based regionalization on distributional (e.g. census) data over space.
Utilizes method derived in “Spatial regionalization as optimal data compression” (Kirkley, 2022, https://arxiv.org/pdf/2111.01813).
Identifying Network Hubs
Identify hub nodes in a network using different information theoretic criteria.
Utilizes methods derived in “Identifying hubs in directed networks” (Kirkley, 2024, https://arxiv.org/pdf/2312.03347).
Regionalization with Community Detection
Perform community detection-based regionalization on network data.
Utilizes method derived in “Bayesian regionalization of urban mobility networks” (Morel-Balbi and Kirkley, 2024, https://journals.aps.org/prresearch/abstract/10.1103/PhysRevResearch.6.033307).
MDL Network Backbones
Infer global and local backbones of a network using the minimum description length principle.
Utilizes method derived in “Fast nonparametric inference of network backbones for graph sparsification” (Kirkley, 2024, https://arxiv.org/abs/2409.06417).
Partial Rankings
Infer partial rankings from pairwise interactions, paired comparisons are a standard method to infer a ranking between a series of players/actors. A shortcoming of many of these methods is that they lack mechanisms that allow for partial rankings –rankings where multiple nodes can have the same rank.
Utilizes method derived in “Learning when to rank: Estimation of partial rankings from sparse, noisy comparisons” (Morel-Balbi, Kirkley, 2025, https://arxiv.org/pdf/2501.02505).
Documentation
Detailed documentation for each module and function is available at the link below:
PANINIpy Documentation
Citation
If you use PANINIpy in your research or projects, please cite it as follows:
BibTeX Format
For BibTeX users, include the following entry in the bibliography file:
@article{Kirkley2024,
doi = {10.21105/joss.07312},
url = {https://doi.org/10.21105/joss.07312},
year = {2024},
publisher = {The Open Journal},
volume = {9},
number = {103},
pages = {7312},
author = {Alec Kirkley and Baiyue He},
title = {PANINIpy: Package of Algorithms for Nonparametric Inference with Networks In Python},
journal = {Journal of Open Source Software}
}
APA Format
For APA users, cite as:
Kirkley, A., & He, B. (2024). PANINIpy: Package of Algorithms for Nonparametric Inference with Networks In Python. Journal of Open Source Software, 9(103), 7312, https://doi.org/10.21105/joss.07312
How to Cite
To reference PANINIpy, one can use either the BibTeX or APA format provided above. Please ensure that the citation includes the DOI and the link to the official article for clarity and accessibility.
For more details, visit the official article published in the Journal of Open Source Software.
License
Distributed under the MIT License. See LICENSE for more information.
Attribution
The logo for this package was enhanced using Stable Diffusion model, an AI-based generative model created by Robin Rombach, Patrick Esser and contributors.
The model is released under the CreativeML Open RAIL-M License. For more details on the model and its licensing, refer to the following:
Metadata
Release files for paninipy 1.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| paninipy-1.8.tar.gz | 30.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| paninipy-1.8-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 62.6 kB
Release files / paninipy-1.8.tar.gz
| Download URL | paninipy-1.8.tar.gz |
|---|---|
| Size | 30.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2d6f0bd2635f0b9e22cdd90909e7204e1b075c0209c4a050b78d0c9a36d28b50
|
|
BLAKE2b-256 checksum How to use checksums |
1ccb217730aecb9794dcd171482d69134678dc50a003fc63c45b2605429a901a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.23
|
Release files / paninipy-1.8-py3-none-any.whl
| Download URL | paninipy-1.8-py3-none-any.whl |
|---|---|
| Size | 32.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
dccbab48b06cca7f63a6bf3b8960eb20b0c6070665ef605dafdc13f6cd364971
|
|
BLAKE2b-256 checksum How to use checksums |
fc0115783e3044ade5d2efdaa8e833089f3ba14713d4cad6eff40518a3a8fe00
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.23
|
Security for paninipy 1.8
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
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.
To learn more about protecting yourself from malicious actors, visit our package security documentation.