-
Notifications
You must be signed in to change notification settings - Fork 74
Expand file tree
/
Copy pathpyproject.toml
More file actions
112 lines (107 loc) · 4.06 KB
/
pyproject.toml
File metadata and controls
112 lines (107 loc) · 4.06 KB
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
[tool.poetry]
name = "stacki"
version = "0.1.0"
description = "stacki"
authors = ["stacki"]
# Some packages are pinned, others are floating.
# Version specifier syntax: https://poetry.eustace.io/docs/versions/
[tool.poetry.dependencies]
# For some reason this tool wants the python version here, so just leave it.
python = "^3.6"
django = "*"
flask = "*"
gitpython = "*"
pymysql = "*"
configparser = "*"
flake8 = "*"
jmespath = "*"
jsoncomment = "*"
# This needs to be "optional" because SLES 11 can't hang.
# This can be changed back to required when SLES 11 is
# nuked from orbit.
libvirt-python = { version = "*", optional = true }
mod-wsgi = "*"
netifaces = "*"
paramiko = "*"
pexpect = "*"
psutil = "*"
python-daemon = "*"
pyzmq = "=17.1.2"
redis = "*"
requests = "*"
testinfra = "=1.16.0"
yoyo-migrations = "*"
# There's an issue with the way ansible packages their python package such that
# poetry cannot resolve its dependencies. Therefore we have to pin the versions
# of ansible and its dependencies here so that we get the dependencies and can
# properly use ansible.
#
# See: https://github.com/python-poetry/poetry/issues/581
#
# The update process for this is to create a virtualenv and install the latest
# version of ansible using pip. I.E. `pip install ansible`. Then, take the output
# of `pip freeze` and pin the versions of packages that are output here. Finally,
# the extra packages must be added to the [stacki-metadata] section below, and have
# their metadata set to be the same as what ansible is set to.
ansible = "=2.9.2"
cffi = "=1.13.2"
cryptography = "=2.8"
jinja2 = "=2.10.3"
markupsafe = "=1.1.1"
pycparser = "=2.19"
pyyaml = "=5.2"
six = "=1.13.0"
[tool.poetry.dev-dependencies]
# Extra dependencies needed for certain OSes. These names must
# match up with the names set in the os-release file.
#
# This is currently only needed because SLES 11 has to exclude
# libvirt-python. This can be nuked when SLES 11 is nuked from
# orbit.
[tool.poetry.extras]
sles11 = []
sles12 = ["libvirt-python"]
sles15 = ["libvirt-python"]
redhat7 = ["libvirt-python"]
[build-system]
requires = ["poetry>=0.12"]
build-backend = "poetry.masonry.api"
# This is the extra metadata that pip2src uses to generate node.xml,
# graph.xml, and makefiles. The names of the packages here must match
# the names of the packages in the tool.poetry.dependencies block above.
#
# The appliance names of `server` and `client` correspond to `frontend`
# and `backend` respectively. Do not change these because the rest of
# the graph appears to assume the names are `server` and `client`.
[stacki-metadata]
django = { appliances = ["server"] }
flask = { appliances = ["server"] }
gitpython = { appliances = ["server"], bootstrap = true }
pymysql = { appliances = ["server"], bootstrap = true }
configparser = { appliances = ["server", "client"] }
flake8 = { appliances = ["server"], bootstrap = true }
jmespath = { appliances = ["server"] }
jsoncomment = { appliances = ["server"], bootstrap = true }
libvirt-python = { appliances = ["server"] }
mod-wsgi = { appliances = ["server"] }
netifaces = { appliances = ["server", "client"], bootstrap = true }
paramiko = { appliances = ["server"] }
pexpect = { appliances = ["server"] }
psutil = { appliances = ["server", "client"], bootstrap = true }
python-daemon = { appliances = ["server", "client"], bootstrap = true }
pyzmq = { appliances = ["server", "client"], bootstrap = true }
redis = { appliances = ["server"], bootstrap = true }
requests = { appliances = ["server"] }
testinfra = { appliances = ["server"], bootstrap = true }
yoyo-migrations = { appliances = ["server"] }
# The metadata for ansible and all its dependencies is below. See the
# [tool.poetry.dependencies] section above for why we have to do this
# for ansible's dependencies.
ansible = { appliances = ["server"] }
cffi = { appliances = ["server"] }
cryptography = { appliances = ["server"] }
jinja2 = { appliances = ["server"], bootstrap = true }
markupsafe = { appliances = ["server"] }
pycparser = { appliances = ["server"] }
pyyaml = { appliances = ["server", "client"], bootstrap = true }
six = { appliances = ["server"] }