Skip to main content

PyPI version ReadTheDocs DOI Run Auto-Tests DOI

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)

Source distribution for paninipy 1.8
File Size Uploaded Provenance
paninipy-1.8.tar.gz 30.2 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for paninipy 1.8
File Interpreter ABI Platform
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.

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