-
Notifications
You must be signed in to change notification settings - Fork 1
/
setup.py
84 lines (75 loc) · 2.76 KB
/
setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
"""Install the slalom.dataops library."""
import os
from pathlib import Path
from setuptools import setup
DETECTED_VERSION = None
VERSION_FILEPATH = "VERSION"
def _get_build_number():
return os.environ.get("BUILD_NUMBER", os.environ.get("GITHUB_RUN_NUMBER", None))
if "VERSION" in os.environ:
DETECTED_VERSION = os.environ["VERSION"]
if "/" in DETECTED_VERSION:
DETECTED_VERSION = DETECTED_VERSION.split("/")[-1]
if not DETECTED_VERSION and os.path.exists(VERSION_FILEPATH):
DETECTED_VERSION = Path(VERSION_FILEPATH).read_text()
if len(DETECTED_VERSION.split(".")) <= 3:
build_num = _get_build_number()
if build_num:
DETECTED_VERSION = f"{DETECTED_VERSION}.{build_num}"
if not DETECTED_VERSION:
raise RuntimeError("Error. Could not detect version.")
DETECTED_VERSION = DETECTED_VERSION.replace(".dev0", "")
if os.environ.get("BRANCH_NAME", "unknown") not in ["master", "refs/heads/master"]:
DETECTED_VERSION = f"{DETECTED_VERSION}.dev0"
DETECTED_VERSION = DETECTED_VERSION.lstrip("v")
print(f"Detected version: {DETECTED_VERSION}")
Path(VERSION_FILEPATH).write_text(f"v{DETECTED_VERSION}")
setup(
name="slalom.dataops",
packages=["slalom.dataops"],
version=DETECTED_VERSION,
license="MIT",
description="Slalom GGP libary for DataOps automation",
author="Aaron (AJ) Steers",
author_email="[email protected]",
url="https://bitbucket.org/slalom-consulting/dataops-tools/",
download_url="https://github.com/slalom-ggp/dataops-tools/archive/v_0.1.tar.gz",
keywords=["DATAOPS", "SLALOM", "DATA", "AUTOMATION", "CI/CD", "DEVOPS"],
package_data={"": [VERSION_FILEPATH]},
entry_points={
"console_scripts": [
# Register CLI commands:
"s-infra = slalom.dataops.infra:main",
"s-spark = slalom.dataops.sparkutils:main",
"s-anon = slalom.dataops.anon:main",
]
},
include_package_data=True,
install_requires=[
"docker",
"dock-r",
"fire",
"joblib",
"junit-xml",
"logless",
"tqdm",
"uio",
"xmlrunner",
],
extras_require={
"AWS": ["boto3", "s3fs"],
"S3": ["boto3", "s3fs"],
"Azure": ["azure-storage-blob", "azure-storage-file-datalake"],
"Pandas": ["pandas", "xlrd", "openpyxl"],
"Spark": ["pyspark"],
},
classifiers=[
"Development Status :: 4 - Beta", # "4 - Beta" or "5 - Production/Stable"
"Intended Audience :: Developers",
"Topic :: Software Development :: Build Tools",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3.7",
],
)
# Revert `.dev0` suffix
# Path(VERSION_FILEPATH).write_text(f"v{DETECTED_VERSION.replace('.dev0', '')}")