1{ lib
2, argcomplete
3, buildPythonPackage
4, colorlog
5, fetchFromGitHub
6, hatchling
7, importlib-metadata
8, jinja2
9, packaging
10, pytestCheckHook
11, pythonOlder
12, tox
13, typing-extensions
14, virtualenv
15}:
16
17buildPythonPackage rec {
18 pname = "nox";
19 version = "2023.04.22";
20 format = "pyproject";
21
22 disabled = pythonOlder "3.7";
23
24 src = fetchFromGitHub {
25 owner = "wntrblm";
26 repo = pname;
27 rev = "refs/tags/${version}";
28 hash = "sha256-WuyNp3jxIktI72zbk+1CK8xflTKrYE5evn/gVdMx+cQ=";
29 };
30
31 nativeBuildInputs = [
32 hatchling
33 ];
34
35 propagatedBuildInputs = [
36 argcomplete
37 colorlog
38 packaging
39 virtualenv
40 ] ++ lib.optionals (pythonOlder "3.8") [
41 typing-extensions
42 importlib-metadata
43 ];
44
45 checkInputs = [
46 jinja2
47 tox
48 pytestCheckHook
49 ];
50
51 pythonImportsCheck = [
52 "nox"
53 ];
54
55 disabledTestPaths = [
56 # AttributeError: module 'tox.config' has...
57 "tests/test_tox_to_nox.py"
58 ];
59
60 meta = with lib; {
61 description = "Flexible test automation for Python";
62 homepage = "https://nox.thea.codes/";
63 changelog = "https://github.com/wntrblm/nox/blob/${version}/CHANGELOG.md";
64 license = licenses.asl20;
65 maintainers = with maintainers; [ doronbehar fab ];
66 };
67}