From d14a59ef3e90401753a7bea71f7c737358692ccf Mon Sep 17 00:00:00 2001
From: Adar Nimrod <nimrod@shore.co.il>
Date: Wed, 9 Feb 2022 21:35:51 +0200
Subject: [PATCH] CLI and package scaffolding.

Should be installable and the CLI should be there but do nothing.
---
 .gitlab-ci.yml        |  7 +++++++
 MANIFEST.in           |  5 +++++
 deepclean/__init__.py |  3 +++
 deepclean/__main__.py | 16 ++++++++++++++++
 setup.cfg             |  9 +++++++++
 setup.py              | 43 +++++++++++++++++++++++++++++++++++++++++++
 6 files changed, 83 insertions(+)
 create mode 100644 MANIFEST.in
 create mode 100644 deepclean/__init__.py
 create mode 100644 deepclean/__main__.py
 create mode 100644 setup.cfg
 create mode 100644 setup.py

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 833e902..779c6af 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -2,3 +2,10 @@
 include:
   - project: shore/ci-stuff
     file: templates/pre-commit.yml
+  - project: shore/ci-stuff
+    file: templates/python.yml
+
+install-wheel:
+  extends: .install-wheel
+  script:
+    - deepclean -h
diff --git a/MANIFEST.in b/MANIFEST.in
new file mode 100644
index 0000000..3db6801
--- /dev/null
+++ b/MANIFEST.in
@@ -0,0 +1,5 @@
+include *.rst
+include *.txt
+exclude .pre-commit-config.yaml
+exclude .gitlab-ci.yml
+exclude .gitignore
diff --git a/deepclean/__init__.py b/deepclean/__init__.py
new file mode 100644
index 0000000..bba01bd
--- /dev/null
+++ b/deepclean/__init__.py
@@ -0,0 +1,3 @@
+"""Clean old versions of Docker images."""
+
+__version__ = "0.0.1"
diff --git a/deepclean/__main__.py b/deepclean/__main__.py
new file mode 100644
index 0000000..9935e96
--- /dev/null
+++ b/deepclean/__main__.py
@@ -0,0 +1,16 @@
+"""Clean old versions of Docker images."""
+
+import argparse
+
+
+def main():
+    """Main entrypoint."""
+    parser = argparse.ArgumentParser(
+        description=__doc__,
+    )
+    args = parser.parse_args()
+    print(args)
+
+
+if __name__ == "__main__":
+    main()
diff --git a/setup.cfg b/setup.cfg
new file mode 100644
index 0000000..fc90c0d
--- /dev/null
+++ b/setup.cfg
@@ -0,0 +1,9 @@
+[bumpversion]
+current_version = 0.0.1
+commit = True
+tag = True
+
+[bdist_wheel]
+universal = 1
+
+[bumpversion:glob:*/__init__.py]
diff --git a/setup.py b/setup.py
new file mode 100644
index 0000000..8ce5515
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,43 @@
+from setuptools import find_packages, setup
+
+import deepclean
+
+with open("README.rst", "r", encoding="utf-8") as readme:
+    long_description = readme.read()
+
+setup(
+    name="deepclean",
+    version=deepclean.__version__,
+    description=deepclean.__doc__.splitlines()[0],
+    long_description=long_description,
+    long_description_content_type="text/x-rst",
+    url="https://git.shore.co.il/nimrod/deepclean",
+    author="Nimrod Adar",
+    author_email="nimrod@shore.co.il",
+    license="MIT",
+    classifiers=[
+        "Development Status :: 3 - Alpha",
+        "Environment :: Console",
+        "Intended Audience :: Information Technology",
+        "Intended Audience :: System Administrators",
+        "License :: OSI Approved :: MIT License",
+        "Operating System :: POSIX :: Linux",
+        "Programming Language :: Python :: 3",
+        "Programming Language :: Python :: 3 :: Only",
+        "Programming Language :: Python :: 3.6",
+        "Programming Language :: Python :: 3.7",
+        "Programming Language :: Python :: 3.8",
+        "Programming Language :: Python :: 3.9",
+        "Programming Language :: Python :: 3.10",
+        "Topic :: System :: Systems Administration",
+        "Topic :: Utilities",
+    ],
+    keywords=[
+        "docker",
+    ],
+    packages=find_packages(),
+    install_requires=[
+        "docker",
+    ],
+    entry_points={"console_scripts": ["deepclean=deepclean.__main__:main"]},
+)
-- 
GitLab