-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsetup.py
74 lines (63 loc) · 1.92 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
import sys
import re
from setuptools import setup
_version_re = re.compile(r"(?<=^__version__ = (\"|'))(.+)(?=\"|')")
def get_version(rel_path: str) -> str:
"""
Searches for the ``__version__ = `` line in a source code file.
https://packaging.python.org/en/latest/guides/single-sourcing-package-version/
"""
with open(rel_path, "r") as f:
matches = map(_version_re.search, f)
filtered = filter(lambda m: m is not None, matches)
version = next(filtered, None)
if version is None:
raise RuntimeError(f"Could not find __version__ in {rel_path}")
return version.group(0)
requirements = []
with open("requirements.txt") as f:
requirements = [
line.strip()
for line in f.readlines()
if line.strip() and not line.strip().startswith("#")
]
# Make sure we are running python3.5+
if 10 * sys.version_info[0] + sys.version_info[1] < 35:
sys.exit("Sorry, only Python 3.5+ is supported.")
def readme():
with open("README.rst") as f:
return f.read()
setup(
name="pfmongo",
version=get_version("pfmongo/__main__.py"),
description='A mongodb (portable) "pf" client',
long_description=readme(),
author="FNNDSC",
author_email="[email protected]",
url="https://github.com/FNNDSC/pfmongo",
packages=[
"pfmongo",
"pfmongo/commands",
"pfmongo/commands/fop",
"pfmongo/commands/dbop",
"pfmongo/commands/clop",
"pfmongo/commands/docop",
"pfmongo/commands/stateop",
"pfmongo/commands/slib",
"pfmongo/db",
"pfmongo/config",
"pfmongo/models",
],
install_requires=requirements,
data_files=[
("", ["requirements.txt"]),
],
entry_points={
"console_scripts": [
"pfmongo = pfmongo.__main__:main",
"smashes = pfmongo.smashes:main",
]
},
license="MIT",
zip_safe=False,
)