1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 setuptools,
6 hypothesis,
7 pytest-xdist,
8 pytestCheckHook,
9 typing-extensions,
10 pythonOlder,
11 wheel,
12}:
13
14buildPythonPackage rec {
15 pname = "bidict";
16 version = "0.23.1";
17 pyproject = true;
18
19 disabled = pythonOlder "3.8";
20
21 src = fetchFromGitHub {
22 owner = "jab";
23 repo = "bidict";
24 tag = "v${version}";
25 hash = "sha256-WE0YaRT4a/byvU2pzcByuf1DfMlOpYA9i0PPrKXsS+M=";
26 };
27
28 build-system = [
29 setuptools
30 wheel
31 ];
32
33 nativeCheckInputs = [
34 hypothesis
35 pytest-xdist
36 pytestCheckHook
37 typing-extensions
38 ];
39
40 # Remove the bundled pytest.ini, which adds options to run additional integration
41 # tests that are overkill for our purposes.
42 preCheck = ''
43 rm pytest.ini
44 '';
45
46 pythonImportsCheck = [ "bidict" ];
47
48 meta = with lib; {
49 homepage = "https://bidict.readthedocs.io";
50 changelog = "https://bidict.readthedocs.io/changelog.html";
51 description = "Bidirectional mapping library for Python";
52 license = licenses.mpl20;
53 maintainers = with maintainers; [
54 jab
55 jakewaksbaum
56 ];
57 };
58}