SLRIC package 
SLRIC is a Python package for influence assessment in networks using short-range interaction centrality (SRIC) and long-range interaction centrality (LRIC) indices.
SRIC and LRIC indices take into account:
- Individual attributes of nodes: threshold of influence (quota), nodes size, etc.;
- Possiblity of the group influence;
- Indirect connections between nodes.
- Nodes 2 and 4 have different thresholds of influence (q);
- Nodes 1 and 2 influence node 4 as a group. Even though node 3 is connected to node 4, it does not influence it directly as node 3 is not a pivotal member in any group;
- Node 3 influences node 4 via node 2.
Website: https://github.com/SergSHV/slric
Authors: Fuad Aleskerov, Natalia Meshcheryakova, Sergey Shvydun (HSE University, ICS RAS)
Reference: Aleskerov, F., Shvydun, S., & Meshcheryakova, N. (2021). New Centrality Measures in Networks: How to Take into Account the Parameters of the Nodes and Group Influence of Nodes to Nodes (1st ed.). Chapman and Hall/CRC. https://doi.org/10.1201/9781003203421
Installation
Install the package from PyPI:
$ pip install slric
You can also install the latest version from GitHub:
$ pip install git+https://github.com/SergSHV/slric.git
Load SLRIC package:
>>> import slric
SRIC/LRIC Calculation for Simple Example
Generate a network using NetworkX package
>>> import networkx as nx
>>> G = nx.DiGraph()
>>> G.add_edge(1, 4, weight=7)
>>> G.add_edge(2, 4, weight=5)
>>> G.add_edge(3, 4, weight=2)
>>> G.add_edge(3, 2, weight=6)
Case 1
- q=60% of weighted in-degree (in percentage);
- nodes have the same size (size = 1).
>>> slric.sric(G, q=60, size=1) # SRIC
{1: 0.36363636363636365, 4: 0.0, 2: 0.09740259740259741, 3: 0.538961038961039}
>>> slric.lric(G, q=60, size=1, models='max') # LRIC (Max)
{1: 0.27450980392156865, 4: 0.0, 2: 0.1470588235294118, 3: 0.5784313725490197}
>>> slric.lric(G, q=60, size=1, models='maxmin') # LRIC (MaxMin)
{1: 0.27450980392156865, 4: 0.0, 2: 0.1470588235294118, 3: 0.5784313725490197}
>>> slric.lric(G, q=60, size=1, models='pagerank') # LRIC (PageRank)
{1: 0.32165639923246203, 4: 0.0, 2: 0.18808528619697315, 3: 0.49025831457056473}
Case 2
- q=5 for each node (defined quota, dq);
- nodes have the same size (size = 1).
>>> slric.sric(G, dq=5, size=1) # SRIC
{1: 0.21153846153846154, 4: 0.0, 2: 0.28846153846153844, 3: 0.5}
>>> slric.lric(G, dq=5, size=1, models='max') # LRIC (Max)
{1: 0.25, 4: 0.0, 2: 0.25, 3: 0.5}
Case 3
- q=5 for node 2, q=10 for node 4;
- nodes have the same size (size = 1).
>>> d = dict()
>>> d[2] = 5
>>> d[4] = 10
>>> slric.sric(G, dq=d, size=1) # SRIC
{1: 0.2916666666666667, 4: 0.0, 2: 0.20833333333333337, 3: 0.5}
>>> slric.lric(G, dq=d, size=1, models='max') # LRIC (Max)
{1: 0.24137931034482757, 4: 0.0, 2: 0.17241379310344826, 3: 0.5862068965517241}
Write LRIC results to file
>>> from slric import lric, GraphQW
>>> ranking, lric_graph = lric(G, q=60, size=1, models=['max', 'maxmin'], data=TRUE)
>>> GraphQW.write_centrality(lric_graph, 'output.txt', separator=';', mode='w')
Additional features
- If nodes size (size) is not defined, then size = weighted out-degree;
- Similarly to threshold of influence (q), nodes size can be of dict() type;
- Maximal group size can be limited using 'group_size' parameter (by default, group_size=4);
- Maximal indirect influence limit can be defined using 'limpath' parameter (by default, limpath=3);
- If LRIC version (models) is not defined, then LRIC (Max) is calculated by default (models='max' ).
License
BSD 3-Clause License
Copyright (c) 2019. Fuad Aleskerov, Natalia Meshcheryakova, Sergey Shvydun.
All rights reserved.
Metadata
Release files for slric 1.1.6
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 | Actions |
|---|---|---|---|---|
| slric-1.1.6.tar.gz | 16.4 kB | Without provenance | Details for slric-1.1.6.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| slric-1.1.6-py3-none-any.whl | Python 3 | none | any | Details for slric-1.1.6-py3-none-any.whl |
Total release size: 33.2 kB
Release files / slric-1.1.6.tar.gz
| Download URL | slric-1.1.6.tar.gz |
|---|---|
| Size | 16.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5d39a6a63834f776797e2d89b1b00710f3265d64c954ffeb0dafbb6f885f1b77
|
|
BLAKE2b-256 checksum How to use checksums |
7e12881205d955c7118dc8a4b9c4b8f707ca559a8e85c68094317592d067655d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.13
|
Release files / slric-1.1.6-py3-none-any.whl
| Download URL | slric-1.1.6-py3-none-any.whl |
|---|---|
| Size | 16.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
941995cf99fb30a649908732704e8ef53b5c05200080075ba781eb3df9f5ca73
|
|
BLAKE2b-256 checksum How to use checksums |
755ffc76b95847e093497994daa845a337127f60731ac6b1ec670304d5242bed
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.13
|
Security for slric 1.1.6
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.