From 2ce6c19828309b7aa12daac89625d9c29b55b94b Mon Sep 17 00:00:00 2001
From: ftalpo01 <f.talpo@cineca.it>
Date: Wed, 10 Jan 2024 16:21:22 +0100
Subject: [PATCH 1/8] Update dependencies and installation

---
 .gitmodules                                   |  3 ---
 MANIFEST.in                                   |  0
 NodeManager                                   |  1 -
 pyproject.toml                                |  3 +++
 scripts/__init__.py                           |  0
 .../check_packages.py                         |  4 ++--
 check_slurm.py => scripts/check_slurm.py      |  4 ++--
 setup.cfg                                     | 23 +++++++++++++++++++
 8 files changed, 30 insertions(+), 8 deletions(-)
 delete mode 100644 .gitmodules
 create mode 100644 MANIFEST.in
 delete mode 160000 NodeManager
 create mode 100644 pyproject.toml
 create mode 100644 scripts/__init__.py
 rename check_packages.py => scripts/check_packages.py (98%)
 rename check_slurm.py => scripts/check_slurm.py (96%)
 create mode 100644 setup.cfg

diff --git a/.gitmodules b/.gitmodules
deleted file mode 100644
index 717a398..0000000
--- a/.gitmodules
+++ /dev/null
@@ -1,3 +0,0 @@
-[submodule "NodeManager"]
-	path = NodeManager
-	url = https://gitlab.hpc.cineca.it/ftalpo01/NodeManager.git
diff --git a/MANIFEST.in b/MANIFEST.in
new file mode 100644
index 0000000..e69de29
diff --git a/NodeManager b/NodeManager
deleted file mode 160000
index 20d81f4..0000000
--- a/NodeManager
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 20d81f4d10bed1588b45306048c83b84b8f5747d
diff --git a/pyproject.toml b/pyproject.toml
new file mode 100644
index 0000000..07de284
--- /dev/null
+++ b/pyproject.toml
@@ -0,0 +1,3 @@
+[build-system]
+requires = ["setuptools", "wheel"]
+build-backend = "setuptools.build_meta"
\ No newline at end of file
diff --git a/scripts/__init__.py b/scripts/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/check_packages.py b/scripts/check_packages.py
similarity index 98%
rename from check_packages.py
rename to scripts/check_packages.py
index 2ad355e..afc0f4e 100644
--- a/check_packages.py
+++ b/scripts/check_packages.py
@@ -7,7 +7,7 @@ from typing import Union, List, Tuple, Any
 import functools
 import random
 
-import nodemanager as nm
+from cinlibs.nodemanager.nodes import Nodes
 
 
 TIMEOUT = 15
@@ -159,7 +159,7 @@ def compare_lists(sample_name, sample_list: dict, pckgs: dict) -> None:
 
 
 def main():
-    nodes = nm.init_nodes()
+    nodes = Nodes.init()
     args = parse_args()
 
     if args.from_string:
diff --git a/check_slurm.py b/scripts/check_slurm.py
similarity index 96%
rename from check_slurm.py
rename to scripts/check_slurm.py
index ad36179..dd53c96 100644
--- a/check_slurm.py
+++ b/scripts/check_slurm.py
@@ -1,7 +1,7 @@
 import argparse
 from collections import Counter
 
-import nodemanager as nm
+from cinlibs.nodemanager.nodes import Nodes
 
 
 def parse_args() -> argparse.Namespace:
@@ -31,7 +31,7 @@ def print_line(line: str):
 
 
 def main():
-    nodes = nm.init_nodes()
+    nodes = Nodes.init()
     args = parse_args()
 
     if args.from_string:
diff --git a/setup.cfg b/setup.cfg
new file mode 100644
index 0000000..c25bb2f
--- /dev/null
+++ b/setup.cfg
@@ -0,0 +1,23 @@
+[metadata]
+name = check_scripts
+version = 0.1
+author = Francesco Talpo
+classifiers =
+    Development Status :: 1 - Development
+    Programming Language :: Python :: 3.8
+    Operating System :: POSIX :: Linux
+    Environment :: Console
+
+[options]
+packages = find:
+package_dir =
+    = ./
+python_requires = >=3.8
+install_requires =
+  cinlibs @ git+https://gitlab.hpc.cineca.it/ftalpo01/cinlibs
+
+[options.entry_points]
+console_scripts =
+    check_packages = scripts.check_packages:main
+    check_slurm = scripts.check_slurm:main
+
-- 
GitLab


From 9a27ccb0e7bd082d1c301f4d7b5191bb72b917be Mon Sep 17 00:00:00 2001
From: ftalpo01 <f.talpo@cineca.it>
Date: Wed, 10 Jan 2024 16:24:43 +0100
Subject: [PATCH 2/8] Update dependencies and installation

---
 scripts/check_slurm.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/check_slurm.py b/scripts/check_slurm.py
index dd53c96..3deb677 100644
--- a/scripts/check_slurm.py
+++ b/scripts/check_slurm.py
@@ -11,7 +11,7 @@ def parse_args() -> argparse.Namespace:
     return parser.parse_args()
 
 
-def get_main_version(nodes: nm.NodeGroup) -> str:
+def get_main_version(nodes: Nodes) -> str:
     count = Counter(i.slurmd_version for i in nodes.iternodes())
     s = sorted(count.items(), key=lambda x: x[1], reverse=True)
     return s[0][0]
-- 
GitLab


From d9c8362b5f208262ca434d8d950c8797567bbe16 Mon Sep 17 00:00:00 2001
From: ftalpo01 <f.talpo@cineca.it>
Date: Wed, 10 Jan 2024 16:25:38 +0100
Subject: [PATCH 3/8] Update dependencies and installation

---
 scripts/check_packages.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/check_packages.py b/scripts/check_packages.py
index afc0f4e..7a34577 100644
--- a/scripts/check_packages.py
+++ b/scripts/check_packages.py
@@ -165,7 +165,7 @@ def main():
     if args.from_string:
         nodes = nodes.from_string(args.from_string)
 
-    pckgs = get_packages([(i.name, i.hostname) for i in nodes.iternodes()])
+    pckgs = get_packages([(i.name, i.hostname) for i in nodes])
 
     sample_name = random.choice(list(pckgs))
     sample_pkg_list = pckgs[sample_name]
-- 
GitLab


From 3655843f124ad08e97655f7d043511956e2d3ab4 Mon Sep 17 00:00:00 2001
From: ftalpo01 <f.talpo@cineca.it>
Date: Wed, 10 Jan 2024 16:26:20 +0100
Subject: [PATCH 4/8] Update dependencies and installation

---
 scripts/check_slurm.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/check_slurm.py b/scripts/check_slurm.py
index 3deb677..53a5b56 100644
--- a/scripts/check_slurm.py
+++ b/scripts/check_slurm.py
@@ -12,7 +12,7 @@ def parse_args() -> argparse.Namespace:
 
 
 def get_main_version(nodes: Nodes) -> str:
-    count = Counter(i.slurmd_version for i in nodes.iternodes())
+    count = Counter(i.slurmd_version for i in nodes)
     s = sorted(count.items(), key=lambda x: x[1], reverse=True)
     return s[0][0]
 
-- 
GitLab


From 38900d39a559da7db3f70335d817720bcd17fb1c Mon Sep 17 00:00:00 2001
From: ftalpo01 <f.talpo@cineca.it>
Date: Wed, 10 Jan 2024 16:27:23 +0100
Subject: [PATCH 5/8] Update dependencies and installation

---
 scripts/check_slurm.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/check_slurm.py b/scripts/check_slurm.py
index 53a5b56..587adad 100644
--- a/scripts/check_slurm.py
+++ b/scripts/check_slurm.py
@@ -12,7 +12,7 @@ def parse_args() -> argparse.Namespace:
 
 
 def get_main_version(nodes: Nodes) -> str:
-    count = Counter(i.slurmd_version for i in nodes)
+    count = Counter(i.slurm_version for i in nodes)
     s = sorted(count.items(), key=lambda x: x[1], reverse=True)
     return s[0][0]
 
-- 
GitLab


From 031fa935d51ab21f36a0524aa618a8497c1b515a Mon Sep 17 00:00:00 2001
From: ftalpo01 <f.talpo@cineca.it>
Date: Wed, 10 Jan 2024 16:28:18 +0100
Subject: [PATCH 6/8] Update dependencies and installation

---
 scripts/check_slurm.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/scripts/check_slurm.py b/scripts/check_slurm.py
index 587adad..5f8ad7e 100644
--- a/scripts/check_slurm.py
+++ b/scripts/check_slurm.py
@@ -44,12 +44,12 @@ def main():
 
     no_results = []
     outliers = {}
-    for name, node in nodes.items():
+    for node in nodes:
         ver = node.slurmd_version
         if ver == "":
-            no_results.append(name)
+            no_results.append(node.name)
         elif ver != main_version:
-            outliers[name] = node.slurmd_version
+            outliers[node.name] = node.slurmd_version
 
     if no_results:
         print_line(
-- 
GitLab


From b0b3219ca31fbf687dd2483746af49050a5c2619 Mon Sep 17 00:00:00 2001
From: ftalpo01 <f.talpo@cineca.it>
Date: Wed, 10 Jan 2024 16:29:01 +0100
Subject: [PATCH 7/8] Update dependencies and installation

---
 scripts/check_slurm.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/scripts/check_slurm.py b/scripts/check_slurm.py
index 5f8ad7e..d2ac3cf 100644
--- a/scripts/check_slurm.py
+++ b/scripts/check_slurm.py
@@ -45,11 +45,11 @@ def main():
     no_results = []
     outliers = {}
     for node in nodes:
-        ver = node.slurmd_version
+        ver = node.slurm_version
         if ver == "":
             no_results.append(node.name)
         elif ver != main_version:
-            outliers[node.name] = node.slurmd_version
+            outliers[node.name] = node.slurm_version
 
     if no_results:
         print_line(
-- 
GitLab


From 02d98a12266323669fb3e63099f5095f6c1bab10 Mon Sep 17 00:00:00 2001
From: ftalpo01 <f.talpo@cineca.it>
Date: Wed, 10 Jan 2024 16:55:30 +0100
Subject: [PATCH 8/8] Update README.md

---
 README.md | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/README.md b/README.md
index 7fcb4d7..d93cc24 100644
--- a/README.md
+++ b/README.md
@@ -3,10 +3,11 @@
 
 ## Installation
 
-Simply clone the repo and install the dependency.
+Simply install the repo.
 
-- `git clone https://gitlab.hpc.cineca.it/ftalpo01/checkscripts.git`
-- `pip install ./NodeManager`
+- `pip install git+https://gitlab.hpc.cineca.it/ftalpo01/checkscripts.git`
+
+This will put a `check_slurm` and `check_packages` commands in the `PATH`.
 
 ## Usage
 
@@ -17,12 +18,12 @@ In order to select nodes, a selection string can be passed with the `--from-stri
 
 For example:
 ```
-python3 check_slurm.py --from-string "names:login[01-04]"
+check_slurm --from-string "names:login[01-04]"
 ```
 will perform the check on **ALL** `login` nodes from `01` to `04`.
 
 **ALWAYS ENCLOSE THE STRING IN QUOTES**
 
 The names can be passed in a comma-separated list. 
-For all the different type of selections that can be made, refer to the documentation of `NodeManager` 
-in its [repo](git@gitlab.hpc.cineca.it:ftalpo01/NodeManager.git).
\ No newline at end of file
+For all the different type of selections that can be made, refer to the (future) documentation of `cinlibs` 
+in its [repo](https://gitlab.hpc.cineca.it/ftalpo01/cinlibs).
\ No newline at end of file
-- 
GitLab