Skip to content
Snippets Groups Projects
Commit ebb26369 authored by Gregory Ashton's avatar Gregory Ashton Committed by David Keitel
Browse files

Improve the version file information

parent bdb897f1
No related branches found
No related tags found
No related merge requests found
......@@ -26,3 +26,8 @@ from .grid_based_searches import (
SliceGridSearch,
TransientGridSearch,
)
from .helper_functions import get_version_information
__version__ = get_version_information()
......@@ -390,3 +390,14 @@ def match_commandlines(cl1, cl2, be_strict_about_full_executable_path=False):
cl2s[0] = os.path.basename(cl2s[0])
unmatched = np.setxor1d(cl1s, cl2s)
return len(unmatched) == 0
def get_version_information():
version_file = os.path.join(
os.path.dirname(os.path.dirname(__file__)), "pyfstat/.version"
)
try:
with open(version_file, "r") as f:
return f.readline().rstrip()
except EnvironmentError:
print("No version information file '.version' found")
......@@ -3,6 +3,47 @@
from setuptools import setup, find_packages
from os import path
import sys
import subprocess
def write_version_file(version):
""" Writes a file with version information to be used at run time
Parameters
----------
version: str
A string containing the current version information
Returns
-------
version_file: str
A path to the version file
"""
try:
git_log = subprocess.check_output(
["git", "log", "-1", "--pretty=%h %ai"]
).decode("utf-8")
git_diff = (
subprocess.check_output(["git", "diff", "."])
+ subprocess.check_output(["git", "diff", "--cached", "."])
).decode("utf-8")
if git_diff == "":
git_status = "(CLEAN) " + git_log
else:
git_status = "(UNCLEAN) " + git_log
except Exception as e:
print("Unable to obtain git version information, exception: {}".format(e))
git_status = ""
version_file = ".version"
if path.isfile(version_file) is False:
with open("pyfstat/" + version_file, "w+") as f:
f.write("{}: {}".format(version, git_status))
print("Done", version_file, version, git_status)
return version_file
# check python version
min_python_version = (3, 5, 0) # (major,minor,micro)
......@@ -21,9 +62,12 @@ here = path.abspath(path.dirname(__file__))
with open(path.join(here, "README.md"), encoding="utf-8") as f:
long_description = f.read()
VERSION = "1.3"
version_file = write_version_file(VERSION)
setup(
name="PyFstat",
version="1.3",
version=VERSION,
author="Gregory Ashton, David Keitel, Reinhard Prix",
author_email="gregory.ashton@ligo.org",
license="MIT",
......@@ -36,6 +80,7 @@ setup(
"pyfstat": [
"pyCUDAkernels/cudaTransientFstatExpWindow.cu",
"pyCUDAkernels/cudaTransientFstatRectWindow.cu",
version_file,
]
},
python_requires=">=%s.%s.%s" % min_python_version[:3],
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment