1{ stdenv, buildPythonPackage, fetchFromGitHub, pytest }:
2
3buildPythonPackage rec {
4 pname = "boltons";
5 version = "19.1.0";
6
7 # No tests in PyPi Tarball
8 src = fetchFromGitHub {
9 owner = "mahmoud";
10 repo = "boltons";
11 rev = version;
12 sha256 = "0b55wly0ksviyl3a4dmih9vzd7bj3p10gr6la4722cs9cx4128q5";
13 };
14
15 checkInputs = [ pytest ];
16 checkPhase = "pytest tests";
17
18 meta = with stdenv.lib; {
19 homepage = https://github.com/mahmoud/boltons;
20 description = "220+ constructs, recipes, and snippets extending (and relying on nothing but) the Python standard library";
21 longDescription = ''
22 Boltons is a set of over 220 BSD-licensed, pure-Python utilities
23 in the same spirit as — and yet conspicuously missing from — the
24 standard library, including:
25
26 - Atomic file saving, bolted on with fileutils
27 - A highly-optimized OrderedMultiDict, in dictutils
28 - Two types of PriorityQueue, in queueutils
29 - Chunked and windowed iteration, in iterutils
30 - Recursive data structure iteration and merging, with iterutils.remap
31 - Exponential backoff functionality, including jitter, through
32 iterutils.backoff
33 - A full-featured TracebackInfo type, for representing stack
34 traces, in tbutils
35 '';
36 license = licenses.bsd3;
37 maintainers = with maintainers; [ twey ];
38 };
39}