Files
2026-07-11 21:12:29 +00:00

72 lines
1.2 KiB
Nix

{
lib,
buildPythonPackage,
fetchFromGitHub,
# build-system
setuptools,
setuptools-scm,
# dependencies
cons,
etuples,
logical-unification,
multipledispatch,
toolz,
typing-extensions,
# tests
py,
pytest-html,
pytestCheckHook,
}:
buildPythonPackage (finalAttrs: {
pname = "minikanren";
version = "1.0.5";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "pythological";
repo = "kanren";
tag = "v${finalAttrs.version}";
hash = "sha256-lCQ0mKT99zK5A74uoo/9bP+eFdm3MC43Fh8+P2krXrs=";
};
build-system = [
setuptools
setuptools-scm
];
dependencies = [
cons
etuples
logical-unification
multipledispatch
toolz
typing-extensions
];
nativeCheckInputs = [
py
pytest-html
pytestCheckHook
];
pytestFlags = [
"--html=testing-report.html"
"--self-contained-html"
];
pythonImportsCheck = [ "kanren" ];
meta = {
description = "Relational programming in Python";
homepage = "https://github.com/pythological/kanren";
changelog = "https://github.com/pythological/kanren/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ Etjean ];
};
})