forked from PMCC-BioinformaticsCore/janis-core
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
76 lines (69 loc) · 2.7 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
from setuptools import setup, find_packages
# Version information is found in the __init__ file of `janiscore/`
DESCRIPTION = "Contains classes and helpers to build a workflow, and provide options to convert to CWL / WDL"
######## SHOULDN'T NEED EDITS BELOW THIS LINE ########
with open("./README.md") as readme:
long_description = readme.read()
# Wondering why we have to get the version like this,
# instead of simply from janis import __version__?
#
# Well, well well, let me tell you...
#
# This cost me days, but basically in `pip v19.0.0`,
# they changed the way that modules are installed with PEP517.
#
# Module installation is more isolated, and as this setup.py file called
# for janis.__version__ AND we use a pyproject.toml file, pip / setuptools
# gets confused and "From a PEP 517 perspective ..., it means it needs itself
# to build. Which is of course a bit weird." [1] This means it is essentially
# tries to import the project without resolving any of the setup.install_requires
# dependencies. Installing the project with the `--no-use-pep517` flag works as expected.
#
# I've elected to go with option (3) from [2]:
#
# Links:
# [1] https://github.com/pypa/pip/issues/6163#issuecomment-456738585
# [2] https://packaging.python.org/guides/single-sourcing-package-version/
# [3] https://github.com/pyinstaller/pyinstaller/issues/2730
# [4] https://github.com/pypa/pip/issues/6163
#
vsn = {}
with open("./janis_core/__meta__.py") as fp:
exec(fp.read(), vsn)
__version__ = vsn["__version__"]
githuburl = vsn["GITHUB_URL"]
setup(
name="janis-pipelines.core",
version=__version__,
description=DESCRIPTION,
url=githuburl,
author="Michael Franklin, Evan Thomas, Mohammad Bhuyan",
author_email="[email protected]",
license="GNU",
keywords=["janis", "workflows", "pipelines", "cwl", "wdl", "bioinformatics"],
packages=["janis_core"]
+ ["janis_core." + p for p in sorted(find_packages("./janis_core"))],
install_requires=[
"importlib-metadata",
"illusional.wdlgen >= 0.3.0",
"ruamel.yaml >= 0.12.4, <= 0.16.5",
"tabulate",
"path",
"cwlformat == 2020.5.19",
"cwl-utils == 0.11",
"graphviz",
"nose",
"miniwdl",
],
# entry_points={"janis.extension": ["core=core"]},
zip_safe=False,
long_description=long_description,
long_description_content_type="text/markdown",
classifiers=[
"Development Status :: 2 - Pre-Alpha",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"Topic :: Scientific/Engineering",
"Topic :: Scientific/Engineering :: Bio-Informatics",
],
)