Skip to content

Commit eb403c4

Browse files
authored
Use PEP 440 style requirements (#5673)
* Use PEP 440 direct references in requirements This adds support for PEP 440 requirements instead of using the pip-specific VCS format. see: https://peps.python.org/pep-0440/#direct-references This facilitates using newer tooling that does not support using the legacy pip VCS format. I adjusted the dist_utils.py functions to maintain the same functionality. Note however that I plan to use pants to replace all the python packaging bits, including dist_utils.py. So the dist_utils.py changes are a stop-gap to keep things working until we get the rest of the pants changes in. * logshipper is Linux only Adding `platform_system=="Linux"` makes some development on MacOS X possible. It at least makes it possible to build a virtualenv. * standardize spacing on req markers * make fixate-requirements work with pip-19.3.1 and PEP 440 This is not needed during `make wheelhouse` in st2-packages. But, rpmbuild runs fixate-requirements again when running build_os_package.sh in a new rpmbuild venv that does not have pip-20 yet. So, this makes that corner case in our circleci workflow work like. * add changelog entry
1 parent e707f24 commit eb403c4

File tree

32 files changed

+149
-23
lines changed

32 files changed

+149
-23
lines changed

CHANGELOG.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,11 @@ Changed
7979

8080
Contributed by @LiamRiddell
8181

82+
* Use PEP 440 direct reference requirements instead of legacy PIP VCS requirements. Now, our ``*.requirements.txt`` files use
83+
``package-name@ git+https://url@version ; markers`` instead of ``git+https://url@version#egg=package-name ; markers``. #5673
84+
85+
Contributed by @cognifloyd
86+
8287
Removed
8388
~~~~~~~
8489

contrib/linux/requirements.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
# used by file watcher sensor
2-
pyinotify>=0.9.5,<=0.10
3-
-e git+https://github.com/StackStorm/logshipper.git@stackstorm_patched#egg=logshipper
2+
pyinotify>=0.9.5,<=0.10 ; platform_system=="Linux"
3+
logshipper@ git+https://github.com/StackStorm/logshipper.git@stackstorm_patched ; platform_system=="Linux"

contrib/runners/action_chain_runner/dist_utils.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,12 @@ def _get_link(line):
118118

119119
link = line.replace("-e ", "").strip()
120120
return link, req_name[0]
121+
elif vcs_prefix in line and line.count("@") == 2:
122+
# PEP 440 direct reference: <package name>@ <url>@version
123+
req_name, link = line.split("@", 1)
124+
req_name = req_name.strip()
125+
link = f"{link.strip()}#egg={req_name}"
126+
return link, req_name
121127

122128
return None, None
123129

contrib/runners/announcement_runner/dist_utils.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,12 @@ def _get_link(line):
118118

119119
link = line.replace("-e ", "").strip()
120120
return link, req_name[0]
121+
elif vcs_prefix in line and line.count("@") == 2:
122+
# PEP 440 direct reference: <package name>@ <url>@version
123+
req_name, link = line.split("@", 1)
124+
req_name = req_name.strip()
125+
link = f"{link.strip()}#egg={req_name}"
126+
return link, req_name
121127

122128
return None, None
123129

contrib/runners/http_runner/dist_utils.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,12 @@ def _get_link(line):
118118

119119
link = line.replace("-e ", "").strip()
120120
return link, req_name[0]
121+
elif vcs_prefix in line and line.count("@") == 2:
122+
# PEP 440 direct reference: <package name>@ <url>@version
123+
req_name, link = line.split("@", 1)
124+
req_name = req_name.strip()
125+
link = f"{link.strip()}#egg={req_name}"
126+
return link, req_name
121127

122128
return None, None
123129

contrib/runners/inquirer_runner/dist_utils.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,12 @@ def _get_link(line):
118118

119119
link = line.replace("-e ", "").strip()
120120
return link, req_name[0]
121+
elif vcs_prefix in line and line.count("@") == 2:
122+
# PEP 440 direct reference: <package name>@ <url>@version
123+
req_name, link = line.split("@", 1)
124+
req_name = req_name.strip()
125+
link = f"{link.strip()}#egg={req_name}"
126+
return link, req_name
121127

122128
return None, None
123129

contrib/runners/local_runner/dist_utils.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,12 @@ def _get_link(line):
118118

119119
link = line.replace("-e ", "").strip()
120120
return link, req_name[0]
121+
elif vcs_prefix in line and line.count("@") == 2:
122+
# PEP 440 direct reference: <package name>@ <url>@version
123+
req_name, link = line.split("@", 1)
124+
req_name = req_name.strip()
125+
link = f"{link.strip()}#egg={req_name}"
126+
return link, req_name
121127

122128
return None, None
123129

contrib/runners/noop_runner/dist_utils.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,12 @@ def _get_link(line):
118118

119119
link = line.replace("-e ", "").strip()
120120
return link, req_name[0]
121+
elif vcs_prefix in line and line.count("@") == 2:
122+
# PEP 440 direct reference: <package name>@ <url>@version
123+
req_name, link = line.split("@", 1)
124+
req_name = req_name.strip()
125+
link = f"{link.strip()}#egg={req_name}"
126+
return link, req_name
121127

122128
return None, None
123129

contrib/runners/orquesta_runner/dist_utils.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,12 @@ def _get_link(line):
118118

119119
link = line.replace("-e ", "").strip()
120120
return link, req_name[0]
121+
elif vcs_prefix in line and line.count("@") == 2:
122+
# PEP 440 direct reference: <package name>@ <url>@version
123+
req_name, link = line.split("@", 1)
124+
req_name = req_name.strip()
125+
link = f"{link.strip()}#egg={req_name}"
126+
return link, req_name
121127

122128
return None, None
123129

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
git+https://github.com/StackStorm/[email protected]#egg=orquesta
1+
orquesta@ git+https://github.com/StackStorm/[email protected]

0 commit comments

Comments
 (0)