at master 1.6 kB view raw
1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 flit-core, 6 pytestCheckHook, 7 pythonOlder, 8}: 9 10buildPythonPackage rec { 11 pname = "boltons"; 12 version = "25.0.0"; 13 pyproject = true; 14 15 disabled = pythonOlder "3.7"; 16 17 src = fetchFromGitHub { 18 owner = "mahmoud"; 19 repo = "boltons"; 20 tag = version; 21 hash = "sha256-kBOU17/jRRAGb4MGawY0PY31OJf5arVz+J7xGBoMBkg="; 22 }; 23 24 build-system = [ flit-core ]; 25 26 nativeCheckInputs = [ pytestCheckHook ]; 27 28 # Tests bind to localhost 29 __darwinAllowLocalNetworking = true; 30 31 pythonImportsCheck = [ "boltons" ]; 32 33 meta = with lib; { 34 description = "Constructs, recipes, and snippets extending the Python standard library"; 35 longDescription = '' 36 Boltons is a set of over 200 BSD-licensed, pure-Python utilities 37 in the same spirit as - and yet conspicuously missing from - the 38 standard library, including: 39 40 - Atomic file saving, bolted on with fileutils 41 - A highly-optimized OrderedMultiDict, in dictutils 42 - Two types of PriorityQueue, in queueutils 43 - Chunked and windowed iteration, in iterutils 44 - Recursive data structure iteration and merging, with iterutils.remap 45 - Exponential backoff functionality, including jitter, through 46 iterutils.backoff 47 - A full-featured TracebackInfo type, for representing stack 48 traces, in tbutils 49 ''; 50 homepage = "https://github.com/mahmoud/boltons"; 51 changelog = "https://github.com/mahmoud/boltons/blob/${version}/CHANGELOG.md"; 52 license = licenses.bsd3; 53 maintainers = with maintainers; [ twey ]; 54 }; 55}