generated from FNNDSC/python-chrisapp-template
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathsetup.py
63 lines (53 loc) · 1.86 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
from setuptools import setup
import re
_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("#")
]
def readme():
with open("README.rst") as f:
return f.read()
setup(
name="spleenseg",
version=get_version("spleenseg/spleenseg.py"),
description="A ChRIS DS plugin heavily hacked off project MONAI's spleen segmenation notebook",
long_description=readme(),
author="FNNDSC",
author_email="[email protected]",
url="https://github.com/FNNDSC/pl-monai_spleenseg",
packages=[
"spleenseg",
"spleenseg/core",
"spleenseg/comms",
"spleenseg/models",
"spleenseg/plotting",
"spleenseg/transforms",
],
install_requires=requirements,
data_files=[("", ["requirements.txt"])],
license="MIT",
entry_points={"console_scripts": ["spleenseg = spleenseg.spleenseg:main"]},
classifiers=[
"License :: OSI Approved :: MIT License",
"Topic :: Scientific/Engineering",
"Topic :: Scientific/Engineering :: Bio-Informatics",
"Topic :: Scientific/Engineering :: Medical Science Apps.",
],
extras_require={"none": [], "dev": ["pytest~=7.1"]},
)