Forked from
lscsoft / parallel_bilby
308 commits behind the upstream repository.
-
Avi Vajpeyi authoredAvi Vajpeyi authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
setup.py 3.54 KiB
#!/usr/bin/env python
import os
import subprocess
import sys
from pathlib import Path
from setuptools import setup
# check that python version is 3.5 or above
python_version = sys.version_info
print("Running Python version %s.%s.%s" % python_version[:3])
if python_version < (3, 5):
sys.exit("Python < 3.5 is not supported, aborting setup")
print("Confirmed Python version 3.5.0 or above")
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 (relative to the src package directory)
"""
version_file = Path("parallel_bilby") / ".version"
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")
except subprocess.CalledProcessError as exc: # git calls failed
# we already have a version file, let's use it
if version_file.is_file():
return version_file.name
# otherwise error out
exc.args = (
"unable to obtain git version information, and {} doesn't "
"exist, cannot continue ({})".format(version_file, str(exc)),
)
raise
else:
git_version = "{}: ({}) {}".format(
version, "UNCLEAN" if git_diff else "CLEAN", git_log.rstrip()
)
print("parsed git version info as: {!r}".format(git_version))
with open(version_file, "w") as f:
print(git_version, file=f)
print("created {}".format(version_file))
return version_file.name
def get_long_description():
""" Finds the README and reads in the description """
here = os.path.abspath(os.path.dirname(__file__))
with open(os.path.join(here, "README.rst")) as f:
long_description = f.read()
return long_description
VERSION = "1.0.0"
version_file = write_version_file(VERSION)
long_description = get_long_description()
setup(
name="parallel_bilby",
description="Running bilby at scale",
long_description=long_description,
url="https://git.ligo.org/gregory.ashton/parallel_bilby",
author="Gregory Ashton, Rory Smith, Avi Vajpeyi",
author_email="gregory.ashton@ligo.org",
license="MIT",
version=VERSION,
packages=["parallel_bilby"],
package_dir={"parallel_bilby": "parallel_bilby"},
package_data={"parallel_bilby": [version_file]},
install_requires=[
"future",
"bilby>=0.6.9",
"bilby_pipe>=0.3.12",
"scipy>=1.2.0",
"gwpy",
"matplotlib",
"numpy",
"tqdm",
"corner",
"dynesty>=1.0.0",
"schwimmbad",
"pandas",
"nestcheck",
"mpi4py>3.0.0",
],
entry_points={
"console_scripts": [
"parallel_bilby_generation=parallel_bilby.generation:main",
"parallel_bilby_analysis=parallel_bilby.analysis:main",
"parallel_bilby_ptemcee_analysis=parallel_bilby.ptemcee_analysis:main",
]
},
classifiers=[
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"License :: OSI Approved :: MIT License",
"Operating System :: MacOS :: MacOS X",
"Operating System :: POSIX",
],
)