nixpkgs/pkgs/development/python-modules/nox/default.nix
2024-10-10 11:08:23 +02:00

84 lines
1.5 KiB
Nix

{
lib,
argcomplete,
buildPythonPackage,
colorlog,
fetchFromGitHub,
hatchling,
jinja2,
packaging,
pytestCheckHook,
pythonOlder,
tomli,
tox,
uv,
virtualenv,
}:
buildPythonPackage rec {
pname = "nox";
version = "2024.10.09";
pyproject = true;
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "wntrblm";
repo = "nox";
rev = "refs/tags/${version}";
hash = "sha256-GdNz34A8IKwPG/270sY5t3SoggGCZMWfDq/Wyhk0ez8=";
};
build-system = [ hatchling ];
dependencies =
[
argcomplete
colorlog
packaging
virtualenv
]
++ lib.optionals (pythonOlder "3.11") [
tomli
];
optional-dependencies = {
tox_to_nox = [
jinja2
tox
];
uv = [ uv ];
};
nativeCheckInputs = [ pytestCheckHook ] ++ lib.flatten (builtins.attrValues optional-dependencies);
preCheck = ''
export HOME=$(mktemp -d)
'';
pythonImportsCheck = [ "nox" ];
disabledTests = [
# our conda is not available on 3.11
"test__create_venv_options"
# Assertion errors
"test_uv"
];
disabledTestPaths = [
# AttributeError: module 'tox.config' has...
"tests/test_tox_to_nox.py"
];
meta = with lib; {
description = "Flexible test automation for Python";
homepage = "https://nox.thea.codes/";
changelog = "https://github.com/wntrblm/nox/blob/${version}/CHANGELOG.md";
license = licenses.asl20;
maintainers = with maintainers; [
doronbehar
fab
];
};
}