From 562131868227c326a357669d659d12e76bb58d53 Mon Sep 17 00:00:00 2001
From: Thomas Schneider <thomas@fsmpi.rwth-aachen.de>
Date: Sun, 9 Apr 2023 19:18:16 +0200
Subject: [PATCH] Restructure: make a proper package and entrypoint

---
 pyproject.toml                 | 3 +++
 src/nctool/__init__.py         | 0
 src/nctool/__main__.py         | 9 +++++++++
 nctool.py => src/nctool/cli.py | 3 +--
 4 files changed, 13 insertions(+), 2 deletions(-)
 create mode 100644 src/nctool/__init__.py
 create mode 100644 src/nctool/__main__.py
 rename nctool.py => src/nctool/cli.py (98%)

diff --git a/pyproject.toml b/pyproject.toml
index 5131073..ca7d28a 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -15,6 +15,9 @@ dependencies = [
     "tqdm>=4.65.0",
 ]
 
+[project.scripts]
+nctool = "nctool.__main__:main"
+
 [tool.pdm.dev-dependencies]
 dev = [
     "ruff>=0.0.261",
diff --git a/src/nctool/__init__.py b/src/nctool/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/src/nctool/__main__.py b/src/nctool/__main__.py
new file mode 100644
index 0000000..f77c446
--- /dev/null
+++ b/src/nctool/__main__.py
@@ -0,0 +1,9 @@
+from . import cli
+
+
+def main():
+    cli.main()
+
+
+if __name__ == "__main__":
+    main()
diff --git a/nctool.py b/src/nctool/cli.py
similarity index 98%
rename from nctool.py
rename to src/nctool/cli.py
index d8c5b52..90b0649 100644
--- a/nctool.py
+++ b/src/nctool/cli.py
@@ -1,4 +1,3 @@
-#! /usr/bin/env python
 import argparse
 from getpass import getpass
 import os
@@ -69,7 +68,7 @@ def get_models(args):
                 fp.write(r.data)
 
 
-if __name__ == "__main__":
+def main():
     parser = argparse.ArgumentParser()
 
     parser.add_argument(
-- 
GitLab