1{ lib 2, buildPythonPackage 3, fetchPypi 4, graphviz 5, graphvizPkgs 6, isPyPy 7, python 8, pythonOlder 9, substituteAll 10}: 11 12buildPythonPackage rec { 13 pname = "objgraph"; 14 version = "3.6.0"; 15 format = "setuptools"; 16 17 disabled = pythonOlder "3.7" || isPyPy; 18 19 src = fetchPypi { 20 inherit pname version; 21 hash = "sha256-NpVnw3tPL5KBYLb27e3L6o/H6SmDGHf9EFbHipAMF9M="; 22 }; 23 24 patches = [ 25 (substituteAll { 26 src = ./hardcode-graphviz-path.patch; 27 graphviz = graphvizPkgs; 28 }) 29 ]; 30 31 passthru.optional-dependencies = { 32 ipython = [ 33 graphviz 34 ]; 35 }; 36 37 pythonImportsCheck = [ 38 "objgraph" 39 ]; 40 41 checkPhase = '' 42 runHook preCheck 43 ${python.interpreter} tests.py 44 runHook postCheck 45 ''; 46 47 meta = with lib; { 48 description = "Draws Python object reference graphs with graphviz"; 49 homepage = "https://mg.pov.lt/objgraph/"; 50 changelog = "https://github.com/mgedmin/objgraph/blob/${version}/CHANGES.rst"; 51 license = licenses.mit; 52 maintainers = with maintainers; [ dotlambda ]; 53 }; 54}