logo Netzschleuder network catalog, repository, and centrifuge

python_dependency — Python Dependency Network

Description

Network of dependencies among Python packages registered in the Python Package Index (PyPI), assembled by K. Gullikson and published in February 2016. The source distributions of the packages on PyPI were downloaded, and their dependencies were extracted with a modified version of the requirements-detector tool, by parsing the install_requires argument in setup.py, or, failing that, the requirements files of the package; packages whose setup.py could not be parsed were left out. Nodes are packages, and a directed edge $(i,j)$ indicates that package $i$ requires package $j$. Parallel edges were removed. Package names are matched as on PyPI, i.e. ignoring case and treating "-", "_" and "." as equivalent (the requirements are often spelled differently from the package names). Some packages appear in the source data with more than one version, which are merged into a single node. Packages without any detected requirement have no outgoing edges, and nodes without a version are packages that appear only as requirements.

In the source data, for some rows the package name is missing, and only the combined package and version string (as in "abook-0.2.1") is given; the name was obtained here by splitting off the version. The network contains 92 self-loops, from packages that list themselves as a requirement in the source data.

The network has the following properties:

  • (Node) name: the name of the package, as given in the source data.
  • (Node) versions: the versions of the package in the source data (empty for packages that appear only as requirements).
Tags
Technological Software Unweighted
Added
2020-08-11
Citation
Upstream URL OK
http://kgullikson88.github.io/blog/pypi-analysis.html
Networks
Tip: hover over a column header for a description.
Column legend
$\left<k\right>$
Mean degree
$\sigma_k$
Standard deviation of the degrees
$\lambda_h$
Largest eigenvalue of the Hashimoto (non-backtracking) matrix
$\tau$
Random walk mixing time
$r$
Degree assortativity
$c$
Global clustering coefficient
$\oslash$
(Pseudo-) diameter
$S$
Relative size of the largest component
NPs
Node properties
EPs
Edge properties
Name Nodes Edges $\left<k\right>$ $\sigma_k$ $\lambda_h$ $\tau$ $r$ $c$ $\oslash$ $S$ Kind Mode NPs EPs gt GraphML GML csv
python_dependency 58,743 108,399 1.85 151.32 61.27 136.90 -0.21 0.00 12 0.99 Directed Unipartite name c0 c1 1.7 MiB 2.4 MiB 2.3 MiB 2.0 MiB
Ridiculograms*
* These are automatically generated force-directed visualizations, and can be quite meaningless for networks both big and small. They should not be taken seriously as sources of scientific insight. See here for a discussion.