From bdc15b2c419ff3df20dc4cad2156cce5da02c6c5 Mon Sep 17 00:00:00 2001 From: ahuston-0 Date: Sun, 4 Aug 2024 10:40:00 -0400 Subject: [PATCH] add rad_development_python, remove common functions Signed-off-by: ahuston-0 --- .poetry-git-overlay.nix | 14 ++++++++++++++ README.md | 3 ++- checks.nix | 3 ++- flake.nix | 2 +- flupdt/common.py | 38 -------------------------------------- flupdt/flake_eval.py | 2 +- flupdt/flake_show.py | 2 +- flupdt/main.py | 1 - poetry-git-overlay.nix | 12 ------------ poetry.lock | 2 +- 10 files changed, 22 insertions(+), 57 deletions(-) create mode 100644 .poetry-git-overlay.nix delete mode 100644 poetry-git-overlay.nix diff --git a/.poetry-git-overlay.nix b/.poetry-git-overlay.nix new file mode 100644 index 0000000..ca4d5ef --- /dev/null +++ b/.poetry-git-overlay.nix @@ -0,0 +1,14 @@ +{ pkgs }: +final: prev: { + + rad-development-python = prev.rad-development-python.overridePythonAttrs ( + _: { + src = pkgs.fetchgit { + url = "https://github.com/RAD-Development/rad-development-python"; + rev = "f919535e1eb39b78f77c3c2b8ccee9244fd7fc92"; + sha256 = "0vba1d184ks4r78d9z252paxpfwvwq4h9fvhmsavby1rr2dr1976"; + }; + } + ); + +} diff --git a/README.md b/README.md index bb2c829..8c22265 100644 --- a/README.md +++ b/README.md @@ -34,5 +34,6 @@ Until `rad_development_python` (`rdp`) is in PyPI, we use the below steps to update the lock file when there is an update to `rdp`. 1. Run `poetry lock` to update the poetry reference to GitHub -1. Run `poetry2nix lock` to update the overlay which Poetry2Nix uses +1. Run `poetry2nix lock --out .poetry-git-overlay.nix` to update the overlay + which Poetry2Nix uses 1. Run `nix flake check` to verify that all is building as expected diff --git a/checks.nix b/checks.nix index b7824b6..4b61cc9 100644 --- a/checks.nix +++ b/checks.nix @@ -22,14 +22,15 @@ in # The pattern of files to run on (default: "" (all)) # see also https://pre-commit.com/#hooks-files files = "\\.nix$"; + # exclude = [".poetry-git-overlay.nix"]; }; ## static analysis checks for nix nil.enable = true; statix.enable = true; deadnix = { enable = true; + # exclude = [".poetry-git-overlay.nix"]; settings = { - exclude = [ "poetry-git-overlay.nix" ]; noUnderscore = true; # ignore variables starting with underscore # ignore lambda patterns (useful for passing args from ({}@args) # to other functions) diff --git a/flake.nix b/flake.nix index 7a29e47..e163b3e 100644 --- a/flake.nix +++ b/flake.nix @@ -61,7 +61,7 @@ }; overlay = pkgs.lib.composeExtensions pyOverrides ( - import ./poetry-git-overlay.nix { inherit pkgs; } + import ./.poetry-git-overlay.nix { inherit pkgs; } ); overrides = pkgs.poetry2nix.overrides.withDefaults overlay; diff --git a/flupdt/common.py b/flupdt/common.py index ce8ebef..e5a0d9b 100644 --- a/flupdt/common.py +++ b/flupdt/common.py @@ -1,39 +1 @@ #!/usr/bin/env python3 - -"""common.""" - -import logging -import sys -from subprocess import PIPE, Popen - - -def configure_logger(level: str = "INFO") -> None: - """Configure the logger. - - Args: - level (str, optional): The logging level. Defaults to "INFO". - """ - logging.basicConfig( - level=level, - datefmt="%Y-%m-%dT%H:%M:%S%z", - format="%(asctime)s %(levelname)s %(filename)s:%(lineno)d - %(message)s", - handlers=[logging.StreamHandler(sys.stdout)], - ) - - -def bash_wrapper(command: str, path: str = ".") -> tuple[str, str, int]: - """Execute a bash command and capture the output. - - Args: - command (str): The bash command to be executed. - path (str): The current working directory, '.' by default - - Returns: - Tuple[str, int]: A tuple containing the output of the command (stdout) as a string, - the error output (stderr) as a string (optional), and the return code as an integer. - """ - # This is a acceptable risk - process = Popen(command.split(), stdout=PIPE, stderr=PIPE, cwd=path) # noqa: S603 - output, error = process.communicate() - - return output.decode(), error.decode(), process.returncode diff --git a/flupdt/flake_eval.py b/flupdt/flake_eval.py index b5cb8b6..7203e99 100644 --- a/flupdt/flake_eval.py +++ b/flupdt/flake_eval.py @@ -2,7 +2,7 @@ import logging from typing import Optional -from flupdt.common import bash_wrapper +from rad_development_python import bash_wrapper import re drv_re = re.compile(r".*(/nix/store/.*\.drv).*") diff --git a/flupdt/flake_show.py b/flupdt/flake_show.py index 412f319..b9113ce 100644 --- a/flupdt/flake_show.py +++ b/flupdt/flake_show.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 import json -from flupdt.common import bash_wrapper +from rad_development_python import bash_wrapper import shutil import logging import re diff --git a/flupdt/main.py b/flupdt/main.py index f3c7ce1..ecd6217 100644 --- a/flupdt/main.py +++ b/flupdt/main.py @@ -3,7 +3,6 @@ from flupdt.flake_show import get_derivations from flupdt.cli import parse_inputs from flupdt.flake_eval import evaluate_output -from flupdt.common import configure_logger import logging import rad_development_python as rd diff --git a/poetry-git-overlay.nix b/poetry-git-overlay.nix deleted file mode 100644 index 9fcd53f..0000000 --- a/poetry-git-overlay.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ pkgs }: -final: prev: { - - rad-development-python = prev.rad-development-python.overridePythonAttrs (_: { - src = pkgs.fetchgit { - url = "https://github.com/RAD-Development/rad-development-python"; - rev = "4ee897ab983234eda6f12dfcfd822bffab01f740"; - sha256 = "1hxdqnjrznx0c07qn5cdx7p7f7sz2ysydx5l82w0r7rdadj69ik2"; - }; - }); - -} diff --git a/poetry.lock b/poetry.lock index 85cf5c5..f1eff1e 100644 --- a/poetry.lock +++ b/poetry.lock @@ -852,7 +852,7 @@ poetry = "^1.8.3" type = "git" url = "https://github.com/RAD-Development/rad-development-python" reference = "feature/nix" -resolved_reference = "4ee897ab983234eda6f12dfcfd822bffab01f740" +resolved_reference = "f919535e1eb39b78f77c3c2b8ccee9244fd7fc92" [[package]] name = "rapidfuzz"