From b669274f9418dc2b2f2917121397ec13b3ff1371 Mon Sep 17 00:00:00 2001
From: Johann Jacobsohn <j.jacobsohn@satzmedia.de>
Date: Mon, 17 Aug 2020 16:09:32 +0200
Subject: [PATCH] add --version argument and pull version from git

---
 papersurfer/papersurfer.py | 3 +++
 pyproject.toml             | 2 ++
 setup.py                   | 5 +++--
 3 files changed, 8 insertions(+), 2 deletions(-)
 create mode 100644 pyproject.toml

diff --git a/papersurfer/papersurfer.py b/papersurfer/papersurfer.py
index c09d4d0..d30cfd1 100644
--- a/papersurfer/papersurfer.py
+++ b/papersurfer/papersurfer.py
@@ -22,6 +22,7 @@ from ui_elements import PrettyButton
 from mattermost import Mattermost
 from doi import Doi
 from bibtex import Bibtex
+from setuptools_scm import get_version
 
 
 class Papersurfer:
@@ -421,6 +422,8 @@ def parse_args():
                help="Dump mattermost paper posts to stdout and exit")
     parser.add('--dump-bibtex', action='store_true',
                help="Dump mattermost paper posts to stdout and exit")
+    parser.add('--version', action='version',
+               version=get_version(root='..', relative_to=__file__))
     options = parser.parse_args()
 
     if not options.url:
diff --git a/pyproject.toml b/pyproject.toml
new file mode 100644
index 0000000..8eafb6e
--- /dev/null
+++ b/pyproject.toml
@@ -0,0 +1,2 @@
+[tool.setuptools_scm]
+write_to = "pkg/version.py"
diff --git a/setup.py b/setup.py
index b9ce06b..4d88d15 100644
--- a/setup.py
+++ b/setup.py
@@ -10,7 +10,6 @@ README = (HERE / "README.md").read_text()
 # This call to setup() does all the work
 setup(
     name="papersurfer",
-    version="0.7.0",
     description="",
     long_description=README,
     long_description_content_type="text/markdown",
@@ -25,10 +24,12 @@ setup(
     ],
     packages=["papersurfer"],
     include_package_data=True,
-    install_requires=["requests", "mattermostdriver", "urwid", "configargparse"],
+    install_requires=["requests", "mattermostdriver", "urwid", "configargparse", "setuptools_scm"],
     entry_points={
         "console_scripts": [
             "papersurfer=papersurfer.papersurfer:main",
         ]
     },
+    use_scm_version=True,
+    setup_requires=['setuptools_scm'],
 )
-- 
GitLab