nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 fetchpatch,
6
7 # build-system
8 setuptools,
9
10 # optional-dependencies
11 lxml,
12 matplotlib,
13 numpy,
14 pandas,
15 pydot,
16 pygraphviz,
17 scipy,
18 sympy,
19
20 # tests
21 pytest-xdist,
22 pytestCheckHook,
23
24 # reverse dependency
25 sage,
26}:
27
28buildPythonPackage rec {
29 pname = "networkx";
30 # upgrade may break sage, please test the sage build or ping @timokau on upgrade
31 version = "3.6.1";
32 pyproject = true;
33
34 src = fetchPypi {
35 inherit pname version;
36 hash = "sha256-JrfDV6zMDIzeVYrUhig3KLZbapXYXuHNZrr6tMgWhQk=";
37 };
38
39 nativeBuildInputs = [ setuptools ];
40
41 optional-dependencies = {
42 default = [
43 numpy
44 scipy
45 matplotlib
46 pandas
47 ];
48 extra = [
49 lxml
50 pygraphviz
51 pydot
52 sympy
53 ];
54 };
55
56 passthru.tests = {
57 inherit sage;
58 };
59
60 nativeCheckInputs = [
61 pytest-xdist
62 pytestCheckHook
63 ];
64
65 disabledTests = [
66 # No warnings of type (<class 'DeprecationWarning'>, <class 'PendingDeprecationWarning'>, <class 'FutureWarning'>) were emitted.
67 "test_connected_raise"
68 ];
69
70 meta = {
71 changelog = "https://github.com/networkx/networkx/blob/networkx-${version}/doc/release/release_${version}.rst";
72 homepage = "https://networkx.github.io/";
73 downloadPage = "https://github.com/networkx/networkx";
74 description = "Library for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks";
75 license = lib.licenses.bsd3;
76 };
77}