{ lib, namespace, pkgs, python3Packages, ... }: let inherit (lib.trivial) importJSON; inherit (lib.${namespace}) selectVariant mkAllSources; versionSpec = importJSON ./version.json; selected = selectVariant versionSpec null null; sources = mkAllSources pkgs selected; src-meta = selected.sources."python-nanokvm"; in python3Packages.buildPythonPackage { pname = "nanokvm"; version = if src-meta ? tag then src-meta.tag else src-meta.rev; format = "pyproject"; src = sources."python-nanokvm"; prePatch = '' rm -f pyproject.toml cat > pyproject.toml << 'EOF' [build-system] requires = ["setuptools>=61.0.0", "wheel"] build-backend = "setuptools.build_meta" [project] name = "nanokvm" version = "0.1.0" description = "Async client for NanoKVM devices." urls = {repository = "https://github.com/puddly/python-nanokvm"} authors = [ {name = "puddly", email = "puddly3@gmail.com"} ] readme = "README.md" license = {text = "Apache-2.0"} requires-python = ">=3.11" dependencies = [ "aiohttp", "cryptography", "yarl", "pillow", "pydantic", "paramiko", ] [tool.setuptools.packages.find] exclude = ["tests", "tests.*"] EOF ''; buildInputs = with python3Packages; [ setuptools ]; propagatedBuildInputs = with python3Packages; [ aiohttp cryptography yarl pillow pydantic paramiko ]; doCheck = false; }