2019-07-17 13:44:22 +00:00
No pyproject.toml, nothing installed :
2019-08-10 12:34:24 +00:00
installed :
2019-07-17 13:44:22 +00:00
# empty
2021-07-14 15:13:34 +00:00
except : FileNotFoundError
2019-07-17 13:44:22 +00:00
Nothing installed yet :
2019-08-10 12:34:24 +00:00
installed :
2019-07-17 13:44:22 +00:00
# empty
pyproject.toml : |
# empty
expected : |
2021-02-02 22:16:59 +00:00
python3dist(setuptools) >= 40.8
python3dist(wheel)
2021-07-14 15:13:34 +00:00
except : FileNotFoundError
2019-07-17 13:44:22 +00:00
Insufficient version of setuptools :
2019-08-10 12:34:24 +00:00
installed :
setuptools : 5
wheel : 1
2023-05-26 12:21:14 +00:00
tomli : 1
2019-07-17 13:44:22 +00:00
pyproject.toml : |
# empty
2021-07-14 15:13:34 +00:00
setup.py : |
2019-07-17 13:44:22 +00:00
expected : |
python3dist(setuptools) >= 40.8
python3dist(wheel)
result : 0
2020-09-04 09:49:36 +00:00
No pyproject.toml, empty setup.py :
2019-08-10 12:34:24 +00:00
installed :
setuptools : 50
wheel : 1
2022-01-14 15:26:40 +00:00
include_runtime : false
2019-07-17 13:44:22 +00:00
setup.py : |
expected : |
python3dist(setuptools) >= 40.8
python3dist(wheel)
python3dist(wheel)
result : 0
Default build system, empty setup.py :
2019-08-10 12:34:24 +00:00
installed :
setuptools : 50
wheel : 1
2023-05-26 12:21:14 +00:00
tomli : 1
2022-01-14 15:26:40 +00:00
include_runtime : false
2019-07-17 13:44:22 +00:00
pyproject.toml : |
# empty
setup.py : |
expected : |
python3dist(setuptools) >= 40.8
python3dist(wheel)
python3dist(wheel)
result : 0
2021-07-14 15:13:34 +00:00
pyproject.toml with build-backend and setup.py :
generate_extras : true
installed :
setuptools : 50
wheel : 1
2023-05-26 12:21:14 +00:00
tomli : 1
2021-07-14 15:13:34 +00:00
setup.py : |
# empty
pyproject.toml : |
[ build-system]
requires = [
"foo" ,
]
build-backend = "foo.build"
expected : |
python3dist(foo)
result : 0
2019-07-17 13:44:22 +00:00
Erroring setup.py :
2019-08-10 12:34:24 +00:00
installed :
setuptools : 50
wheel : 1
2019-07-17 13:44:22 +00:00
setup.py : |
exit(77)
result : 77
Bad character in version :
2020-09-04 09:49:36 +00:00
installed :
2023-05-26 12:21:14 +00:00
tomli : 1
2019-07-17 13:44:22 +00:00
pyproject.toml : |
[ build-system]
requires = ["pkg == 0.$.^.*"]
except : ValueError
2021-07-12 21:24:58 +00:00
Single value version with unsupported compatible operator :
installed :
2023-05-26 12:21:14 +00:00
tomli : 1
2021-07-12 21:24:58 +00:00
pyproject.toml : |
[ build-system]
2021-07-14 15:13:34 +00:00
requires = ["pkg ~= 42", "foo"]
build-backend = "foo.build"
2021-07-20 13:21:35 +00:00
except : ValueError
2021-07-12 21:24:58 +00:00
Asterisk in version with unsupported compatible operator :
installed :
2023-05-26 12:21:14 +00:00
tomli : 1
2021-07-12 21:24:58 +00:00
pyproject.toml : |
[ build-system]
2021-07-14 15:13:34 +00:00
requires = ["pkg ~= 0.1.*", "foo"]
build-backend = "foo.build"
2021-07-20 13:21:35 +00:00
except : ValueError
Local path as requirement :
installed :
2023-05-26 12:21:14 +00:00
tomli : 1
2021-07-20 13:21:35 +00:00
pyproject.toml : |
[ build-system]
requires = ["./pkg-1.2.3.tar.gz", "foo"]
build-backend = "foo.build"
except : ValueError
Pip's egg=pkgName requirement not in requirements file :
installed :
2023-05-26 12:21:14 +00:00
tomli : 1
2021-07-20 13:21:35 +00:00
pyproject.toml : |
[ build-system]
requires = ["git+https://github.com/monty/spam.git@master#egg=spam", "foo"]
build-backend = "foo.build"
except : ValueError
URL without egg fragment as requirement :
installed :
2023-05-26 12:21:14 +00:00
tomli : 1
2021-07-20 13:21:35 +00:00
pyproject.toml : |
[ build-system]
requires = ["git+https://github.com/pkg-dev/pkg.git@96dbe5e3", "foo"]
build-backend = "foo.build"
except : ValueError
2021-07-12 21:24:58 +00:00
2020-08-14 12:57:40 +00:00
Build system dependencies in pyproject.toml with extras :
generate_extras : true
2019-08-10 12:34:24 +00:00
installed :
setuptools : 50
wheel : 1
2023-05-26 12:21:14 +00:00
tomli : 1
2019-07-17 13:44:22 +00:00
pyproject.toml : |
[ build-system]
requires = [
"foo" ,
2021-04-07 14:12:40 +00:00
"bar[bAz] > 5" ,
2019-07-17 13:44:22 +00:00
"ne!=1" ,
2021-06-29 10:36:21 +00:00
"ge>=1.2.0" ,
2019-07-17 13:44:22 +00:00
"le <= 1.2.3" ,
"lt < 1.2.3.4 " ,
" gt > 1.2.3.4.5" ,
2021-06-29 10:36:21 +00:00
"compatible ~= 0.4.0" ,
"equal == 0.5.0" ,
"arbitrary_equal === 0.6.0" ,
2021-07-12 21:24:58 +00:00
"asterisk_equal == 0.6.*" ,
2021-07-20 13:21:35 +00:00
"appdirs@https://github.com/ActiveState/appdirs/archive/8eacfa312d77aba28d483fbfb6f6fc54099622be.zip" ,
2021-04-07 14:12:40 +00:00
"multi[Extras1,Extras2] == 6.0" ,
2019-07-17 13:44:22 +00:00
"combo >2, <5, != 3.0.0" ,
"py2 ; python_version < '2.7'" ,
"py3 ; python_version > '3.0'" ,
]
2021-07-14 15:13:34 +00:00
build-backend = "foo.build"
2019-07-17 13:44:22 +00:00
expected : |
python3dist(foo)
2021-10-22 23:30:53 +00:00
python3dist(bar) > 5.0
python3dist(bar[baz]) > 5.0
2020-09-09 04:47:51 +00:00
(python3dist(ne) < 1 or python3dist(ne) > 1)
2019-07-17 13:44:22 +00:00
python3dist(ge) >= 1.2
python3dist(le) <= 1.2.3
2021-10-22 23:30:53 +00:00
python3dist(lt) < 1.2.3.4~~
python3dist(gt) > 1.2.3.4.5.0
2021-06-29 10:36:21 +00:00
(python3dist(compatible) >= 0.4 with python3dist(compatible) < 0.5)
python3dist(equal) = 0.5
python3dist(arbitrary-equal) = 0.6
2021-07-12 21:24:58 +00:00
(python3dist(asterisk-equal) >= 0.6 with python3dist(asterisk-equal) < 0.7)
2021-07-20 13:21:35 +00:00
python3dist(appdirs)
2020-09-09 04:47:51 +00:00
python3dist(multi) = 6
python3dist(multi[extras1]) = 6
python3dist(multi[extras2]) = 6
2021-10-22 23:30:53 +00:00
((python3dist(combo) < 3 or python3dist(combo) > 3) with python3dist(combo) < 5~~ with python3dist(combo) > 2.0)
2019-07-17 13:44:22 +00:00
python3dist(py3)
2021-07-20 13:21:35 +00:00
stderr_contains : "WARNING: Simplifying 'appdirs@https://github.com/ActiveState/appdirs/archive/8eacfa312d77aba28d483fbfb6f6fc54099622be.zip' to 'appdirs'."
2020-08-14 12:57:40 +00:00
result : 0
Build system dependencies in pyproject.toml without extras :
generate_extras : false
installed :
setuptools : 50
wheel : 1
2023-05-26 12:21:14 +00:00
tomli : 1
2020-08-14 12:57:40 +00:00
pyproject.toml : |
[ build-system]
requires = [
2021-04-07 14:12:40 +00:00
"bar[Baz] > 5" ,
2020-08-14 12:57:40 +00:00
"multi[extras1,extras2] == 6.0" ,
]
2021-07-14 15:13:34 +00:00
build-backend = "foo.build"
2020-08-14 12:57:40 +00:00
expected : |
2021-10-22 23:30:53 +00:00
python3dist(bar) > 5.0
2020-09-09 04:47:51 +00:00
python3dist(multi) = 6
2019-07-17 13:44:22 +00:00
result : 0
2019-07-17 16:16:16 +00:00
Default build system, build dependencies in setup.py :
2019-08-10 12:34:24 +00:00
installed :
setuptools : 50
wheel : 1
2022-01-14 15:26:40 +00:00
include_runtime : false
2019-07-17 13:44:22 +00:00
setup.py : |
from setuptools import setup
setup(
name='test',
version='0.1',
2020-09-09 04:47:51 +00:00
setup_requires=['foo', 'bar!=2', 'baz~=1.1.1'],
2019-07-17 16:16:16 +00:00
install_requires=['inst'],
2019-07-17 13:44:22 +00:00
)
expected : |
python3dist(setuptools) >= 40.8
python3dist(wheel)
python3dist(wheel)
python3dist(foo)
2020-09-09 04:47:51 +00:00
(python3dist(bar) < 2 or python3dist(bar) > 2)
(python3dist(baz) >= 1.1.1 with python3dist(baz) < 1.2)
2019-07-17 13:44:22 +00:00
result : 0
2019-07-17 16:16:16 +00:00
Default build system, run dependencies in setup.py :
2019-08-10 12:34:24 +00:00
installed :
setuptools : 50
wheel : 1
pyyaml : 1
2019-07-17 16:16:16 +00:00
setup.py : |
from setuptools import setup
setup(
name='test',
version='0.1',
setup_requires=['pyyaml'], # nb. setuptools will try to install this
install_requires=['inst > 1', 'inst2 < 3'],
)
expected : |
python3dist(setuptools) >= 40.8
python3dist(wheel)
python3dist(wheel)
python3dist(pyyaml)
2021-10-22 23:30:53 +00:00
python3dist(inst) > 1.0
python3dist(inst2) < 3~~
2019-07-17 16:16:16 +00:00
result : 0
2019-07-18 07:10:09 +00:00
2019-07-18 08:50:13 +00:00
Run dependencies with extras (not selected) :
2019-08-10 12:34:24 +00:00
installed :
setuptools : 50
wheel : 1
pyyaml : 1
2019-07-18 08:50:13 +00:00
setup.py : &pytest_setup_py |
2019-07-18 07:10:09 +00:00
# slightly abriged copy of pytest's setup.py
from setuptools import setup
INSTALL_REQUIRES = [
"py>=1.5.0" ,
"six>=1.10.0" ,
"setuptools" ,
"attrs>=17.4.0" ,
'more-itertools>=4.0.0,<6.0.0;python_version<="2.7"' ,
'more-itertools>=4.0.0;python_version>"2.7"' ,
"atomicwrites>=1.0" ,
'funcsigs>=1.0;python_version<"3.0"' ,
'pathlib2>=2.2.0;python_version<"3.6"' ,
'colorama;sys_platform=="win32"' ,
"pluggy>=0.11" ,
]
def main() :
setup(
2022-04-22 14:48:09 +00:00
name = "pytest",
version = "6.6.6",
2019-07-18 07:10:09 +00:00
setup_requires=["setuptools>=40.0"],
# fmt: off
extras_require={
"testing": [
"argcomplete" ,
"hypothesis>=3.56" ,
"nose" ,
"requests" ,
"mock;python_version=='2.7'" ,
] ,
},
# fmt: on
install_requires=INSTALL_REQUIRES,
)
if __name__ == "__main__":
main()
expected : |
python3dist(setuptools) >= 40.8
python3dist(wheel)
python3dist(wheel)
python3dist(setuptools) >= 40
python3dist(py) >= 1.5
python3dist(six) >= 1.10
python3dist(setuptools)
python3dist(attrs) >= 17.4
python3dist(atomicwrites) >= 1
python3dist(pluggy) >= 0.11
python3dist(more-itertools) >= 4
result : 0
2019-07-18 08:50:13 +00:00
Run dependencies with extras (selected) :
2019-08-10 12:34:24 +00:00
installed :
setuptools : 50
wheel : 1
pyyaml : 1
2019-07-18 08:50:13 +00:00
include_runtime : true
2020-09-30 20:31:07 +00:00
extras :
- testing
2019-07-18 08:50:13 +00:00
setup.py : *pytest_setup_py
expected : |
python3dist(setuptools) >= 40.8
python3dist(wheel)
python3dist(wheel)
python3dist(setuptools) >= 40
python3dist(py) >= 1.5
python3dist(six) >= 1.10
python3dist(setuptools)
python3dist(attrs) >= 17.4
python3dist(atomicwrites) >= 1
python3dist(pluggy) >= 0.11
python3dist(more-itertools) >= 4
python3dist(argcomplete)
python3dist(hypothesis) >= 3.56
python3dist(nose)
python3dist(requests)
result : 0
2019-07-18 09:00:23 +00:00
Run dependencies with multiple extras :
2019-08-10 12:34:24 +00:00
installed :
setuptools : 50
wheel : 1
pyyaml : 1
2019-07-18 09:00:23 +00:00
include_runtime : true
2021-04-07 14:12:40 +00:00
generate_extras : true
2020-09-30 20:31:07 +00:00
extras :
- testing,more-testing
- even-more-testing , cool-feature
2019-07-18 09:00:23 +00:00
setup.py : |
from setuptools import setup
setup(
extras_require={
'testing' : [ 'dep1' ] ,
'more-testing' : [ 'dep2' ] ,
'even-more-testing' : [ 'dep3' ] ,
2021-04-07 14:12:40 +00:00
'cool-feature' : [ 'dep4[FOO,BAR]' ] ,
2019-07-18 09:00:23 +00:00
},
)
expected : |
python3dist(setuptools) >= 40.8
python3dist(wheel)
2020-08-11 13:22:05 +00:00
python3dist(wheel)
2019-07-18 09:00:23 +00:00
python3dist(dep4)
2021-04-07 14:12:40 +00:00
python3dist(dep4[bar])
python3dist(dep4[foo])
2020-08-11 13:22:05 +00:00
python3dist(dep3)
python3dist(dep2)
python3dist(dep1)
2019-07-18 09:00:23 +00:00
result : 0
2019-07-26 12:34:21 +00:00
2022-04-22 14:48:09 +00:00
Run dependencies with extras and build wheel option :
installed :
setuptools : 50
wheel : 1
pyyaml : 1
2023-12-11 13:29:01 +00:00
pip : 20
2022-04-22 14:48:09 +00:00
include_runtime : true
build_wheel : true
extras :
- testing
setup.py : *pytest_setup_py
expected : |
python3dist(setuptools) >= 40.8
python3dist(wheel)
python3dist(wheel)
python3dist(setuptools) >= 40
2023-12-11 13:29:01 +00:00
python3dist(pip) >= 19
2022-04-22 14:48:09 +00:00
python3dist(py) >= 1.5
python3dist(six) >= 1.10
python3dist(setuptools)
python3dist(attrs) >= 17.4
python3dist(atomicwrites) >= 1
python3dist(pluggy) >= 0.11
python3dist(more-itertools) >= 4
python3dist(argcomplete)
python3dist(hypothesis) >= 3.56
python3dist(nose)
python3dist(requests)
result : 0
stderr_contains : "Reading metadata from {wheeldir}/pytest-6.6.6-py3-none-any.whl"
2023-05-23 09:02:35 +00:00
tox dependencies :
2019-08-10 12:34:24 +00:00
installed :
setuptools : 50
wheel : 1
tox : 3.5 .3
2021-03-29 11:46:30 +00:00
tox-current-env : 0.0 .6
2020-11-03 10:29:50 +00:00
toxenv :
- py3
2019-07-26 12:34:21 +00:00
setup.py : |
from setuptools import setup
setup(
name='test',
version='0.1',
install_requires=['inst'],
)
tox.ini : |
[ tox]
envlist = py36,py37,py38
[ testenv]
deps =
toxdep1
toxdep2
commands =
true
2023-01-13 10:54:47 +00:00
expected :
- | # tox 3
python3dist(setuptools) >= 40.8
python3dist(wheel)
python3dist(wheel)
python3dist(tox-current-env) >= 0.0.6
python3dist(toxdep1)
python3dist(toxdep2)
python3dist(inst)
- | # tox 4
python3dist(setuptools) >= 40.8
python3dist(wheel)
python3dist(wheel)
python3dist(tox-current-env) >= 0.0.6
python3dist(tox)
python3dist(toxdep1)
python3dist(toxdep2)
python3dist(inst)
2019-07-26 12:34:21 +00:00
result : 0
2020-09-30 20:12:03 +00:00
2023-05-23 09:02:35 +00:00
tox extras :
2020-09-30 20:12:03 +00:00
installed :
setuptools : 50
wheel : 1
tox : 3.5 .3
2021-03-29 11:46:30 +00:00
tox-current-env : 0.0 .6
2021-04-07 14:12:40 +00:00
generate_extras : true
2020-11-03 10:29:50 +00:00
toxenv :
- py3
2020-09-30 20:12:03 +00:00
setup.py : |
from setuptools import setup
setup(
name='test',
version='0.1',
install_requires=['inst'],
extras_require={
'extra1' : [ 'dep11 > 11' , 'dep12' ] ,
2021-04-07 14:12:40 +00:00
'extra2' : [ 'dep21' , 'dep22' , 'dep23' , 'extra_dep[EXTRA_DEP]' ] ,
2020-09-30 20:12:03 +00:00
'nope' : [ 'nopedep' ] ,
}
)
tox.ini : |
[ tox]
envlist = py36,py37,py38
[ testenv]
deps =
toxdep
extras =
extra2
extra1
commands =
true
2023-01-13 10:54:47 +00:00
expected :
- | # tox 3
python3dist(setuptools) >= 40.8
python3dist(wheel)
python3dist(wheel)
python3dist(tox-current-env) >= 0.0.6
python3dist(toxdep)
python3dist(inst)
python3dist(dep11) > 11.0
python3dist(dep12)
python3dist(dep21)
python3dist(dep22)
python3dist(dep23)
python3dist(extra-dep)
python3dist(extra-dep[extra_dep])
- | # tox 4
python3dist(setuptools) >= 40.8
python3dist(wheel)
python3dist(wheel)
python3dist(tox-current-env) >= 0.0.6
python3dist(tox)
python3dist(toxdep)
python3dist(inst)
python3dist(dep11) > 11.0
python3dist(dep12)
python3dist(dep21)
python3dist(dep22)
python3dist(dep23)
python3dist(extra-dep)
python3dist(extra-dep[extra_dep])
2020-09-30 20:12:03 +00:00
result : 0
2021-03-29 11:46:30 +00:00
2023-05-23 09:02:35 +00:00
tox provision unsatisfied :
2021-03-29 11:46:30 +00:00
installed :
setuptools : 50
wheel : 1
tox : 3.5 .3
tox-current-env : 0.0 .6
toxenv :
- py3
setup.py : |
from setuptools import setup
setup(
name='test',
version='0.1',
install_requires=['inst'],
)
tox.ini : |
[ tox]
minversion = 3.999
requires =
setuptools > 40
wheel > 2
[ testenv]
deps =
toxdep1
toxdep2
2023-01-13 10:54:47 +00:00
expected :
- | # tox 3
python3dist(setuptools) >= 40.8
python3dist(wheel)
python3dist(wheel)
python3dist(tox-current-env) >= 0.0.6
python3dist(tox) >= 3.999
python3dist(setuptools) > 40.0
python3dist(wheel) > 2.0
- | # tox 4
python3dist(setuptools) >= 40.8
python3dist(wheel)
python3dist(wheel)
python3dist(tox-current-env) >= 0.0.6
python3dist(tox) >= 3.999
python3dist(setuptools) > 40.0
python3dist(wheel) > 2.0
python3dist(tox) >= 3.999
2021-03-29 11:46:30 +00:00
result : 0
2023-05-23 09:02:35 +00:00
tox provision satisfied :
2021-03-29 11:46:30 +00:00
installed :
setuptools : 50
wheel : 1
tox : 3.5 .3
tox-current-env : 0.0 .6
toxenv :
- py3
setup.py : |
from setuptools import setup
setup(
name='test',
version='0.1',
install_requires=['inst'],
)
tox.ini : |
[ tox]
minversion = 3.5
requires =
setuptools > 40
[ testenv]
deps =
toxdep1
toxdep2
2023-01-13 10:54:47 +00:00
expected :
- | # tox 3
python3dist(setuptools) >= 40.8
python3dist(wheel)
python3dist(wheel)
python3dist(tox-current-env) >= 0.0.6
python3dist(tox) >= 3.5
python3dist(setuptools) > 40.0
python3dist(toxdep1)
python3dist(toxdep2)
python3dist(inst)
- | # tox 4
python3dist(setuptools) >= 40.8
python3dist(wheel)
python3dist(wheel)
python3dist(tox-current-env) >= 0.0.6
python3dist(setuptools) > 40.0
python3dist(tox) >= 3.5
python3dist(toxdep1)
python3dist(toxdep2)
python3dist(inst)
2021-03-29 11:46:30 +00:00
result : 0
2021-06-28 11:23:19 +00:00
2023-09-25 12:32:43 +00:00
tox provision no minversion :
installed :
setuptools : 50
wheel : 1
tox : 3.5 .3
tox-current-env : 0.0 .6
toxenv :
- py3
setup.py : |
from setuptools import setup
setup(
name='test',
version='0.1',
)
tox.ini : |
[ tox]
requires =
setuptools > 40
wheel > 2
expected :
- | # tox 3
python3dist(setuptools) >= 40.8
python3dist(wheel)
python3dist(wheel)
python3dist(tox-current-env) >= 0.0.6
python3dist(setuptools) > 40.0
python3dist(wheel) > 2.0
- | # tox 4
python3dist(setuptools) >= 40.8
python3dist(wheel)
python3dist(wheel)
python3dist(tox-current-env) >= 0.0.6
python3dist(setuptools) > 40.0
python3dist(wheel) > 2.0
python3dist(tox)
result : 0
2021-06-28 11:23:19 +00:00
Default build system, unmet deps in requirements file :
installed :
setuptools : 50
wheel : 1
setup.py : |
from setuptools import setup
setup(
name='test',
version='0.1',
)
requirements.txt : |
lxml
ncclient
cryptography
paramiko
SQLAlchemy
requirement_files :
- requirements.txt
expected : |
python3dist(lxml)
python3dist(ncclient)
python3dist(cryptography)
python3dist(paramiko)
python3dist(sqlalchemy)
result : 0
Default build system, met deps in requirements file :
installed :
setuptools : 50
wheel : 1
lxml : 3.9
ncclient : 1
cryptography : 2
paramiko : 1
SQLAlchemy : 1.0 .90
setup.py : |
from setuptools import setup
setup(
name='test',
version='0.1',
)
requirements.txt : |
lxml!=3.7.0,>=2.3 # OF-Config
ncclient # OF-Config
cryptography!=1.5.2 # Required by paramiko
paramiko # NETCONF, BGP speaker (SSH console)
SQLAlchemy>=1.0.10,<1.1.0 # Zebra protocol service
requirement_files :
- requirements.txt
expected : |
((python3dist(lxml) < 3.7 or python3dist(lxml) > 3.7) with python3dist(lxml) >= 2.3)
python3dist(ncclient)
(python3dist(cryptography) < 1.5.2 or python3dist(cryptography) > 1.5.2)
python3dist(paramiko)
2021-10-22 23:30:53 +00:00
(python3dist(sqlalchemy) < 1.1~~ with python3dist(sqlalchemy) >= 1.0.10)
2021-06-28 11:23:19 +00:00
python3dist(setuptools) >= 40.8
python3dist(wheel)
python3dist(wheel)
result : 0
With pyproject.toml, requirements file and with -N option :
use_build_system : false
installed :
setuptools : 50
wheel : 1
2023-05-26 12:21:14 +00:00
tomli : 1
2021-06-28 11:23:19 +00:00
lxml : 3.9
ncclient : 1
cryptography : 2
paramiko : 1
SQLAlchemy : 1.0 .90
pyproject.toml : |
[ build-system]
requires = [
"foo" ,
]
build-backend = "foo.build"
requirements.txt : |
lxml
ncclient
cryptography
paramiko
SQLAlchemy
git+https://github.com/monty/spam.git@master#egg=spam
requirement_files :
- requirements.txt
expected : |
python3dist(lxml)
python3dist(ncclient)
python3dist(cryptography)
python3dist(paramiko)
python3dist(sqlalchemy)
python3dist(spam)
2021-07-22 10:01:48 +00:00
stderr_contains : "WARNING: Simplifying 'spam@git+https://github.com/monty/spam.git@master#egg=spam' to 'spam'."
2021-06-28 11:23:19 +00:00
result : 0
With pyproject.toml, requirements file and without -N option :
use_build_system : true
installed :
setuptools : 50
wheel : 1
2023-05-26 12:21:14 +00:00
tomli : 1
2021-06-28 11:23:19 +00:00
lxml : 3.9
ncclient : 1
cryptography : 2
paramiko : 1
SQLAlchemy : 1.0 .90
argcomplete : 1
hypothesis : 1
pyproject.toml : |
[ build-system]
requires = [
"foo" ,
]
build-backend = "foo.build"
requirements.txt : |
lxml
ncclient
cryptography
paramiko
SQLAlchemy
requirements1.in : |
argcomplete
hypothesis
requirement_files :
- requirements.txt
- requirements1.in
expected : |
python3dist(lxml)
python3dist(ncclient)
python3dist(cryptography)
python3dist(paramiko)
python3dist(sqlalchemy)
python3dist(argcomplete)
python3dist(hypothesis)
python3dist(foo)
result : 0
Value error if -N and -r arguments are present :
installed :
# empty
include_runtime : true
use_build_system : false
except : ValueError
Value error if -N and -e arguments are present :
installed :
# empty
toxenv :
- py3
use_build_system : false
except : ValueError
2021-07-22 10:01:48 +00:00
Weird and complex requirements file :
installed :
setuptools : 50
wheel : 1
setup.py : |
from setuptools import setup
setup(
name='test',
version='0.1',
)
requirements.txt : |
Normal_Req ~= 1.2.0
good@git+https://github.com/monty/spam.git@master#egg=bad
git+https://github.com/monty/spam.git@master#egg=ugly
this-name-is-too-\
long-for-this-file<\
=30 # even names and operators can be split
# this is not a multi-line comment \
some-dep
other-dep # but this *is* a multi-line coment \
so any garbage can be here
dep-a # and this comment ends with the blank line below \
dep-b
-r requirements2.txt
${PACKAGE}${WANTED_VERSION}
requirements2.txt : |
dep-from-included-file
requirement_files :
- requirements.txt
environ :
PACKAGE : package
WANTED_VERSION : -from-environ >= 1.2.3
expected : |
(python3dist(normal-req) >= 1.2 with python3dist(normal-req) < 1.3)
python3dist(good)
python3dist(ugly)
python3dist(this-name-is-too-long-for-this-file) <= 30
python3dist(some-dep)
python3dist(other-dep)
python3dist(dep-a)
python3dist(dep-b)
python3dist(dep-from-included-file)
python3dist(package-from-environ) >= 1.2.3
stderr_contains :
- "WARNING: Simplifying 'good@git+https://github.com/monty/spam.git@master#egg=bad' to 'good'."
# XXX: pyproject_requirements_txt adds a prefix that's not actually in the source;
# but that's good enough:
- "WARNING: Simplifying 'ugly@git+https://github.com/monty/spam.git@master#egg=ugly' to 'ugly'."
result : 0
2021-10-16 09:16:15 +00:00
Pre-releases are accepted :
installed :
setuptools : 50
wheel : 1
2023-05-26 12:21:14 +00:00
tomli : 1
2021-10-16 09:16:15 +00:00
cffi : 1.15 .0rc2
pyproject.toml : |
[ build-system]
requires = [
"setuptools" ,
"wheel" ,
"cffi" ,
]
build-backend = "setuptools.build_meta"
expected : |
python3dist(setuptools)
python3dist(wheel)
python3dist(cffi)
python3dist(wheel)
stderr_contains : "Requirement satisfied: cffi"
result : 0
2023-02-03 12:40:27 +00:00
2023-03-31 16:57:54 +00:00
Stdout from wrapped subprocess does not appear in output :
2023-02-03 12:40:27 +00:00
installed :
setuptools : 50
wheel : 1
include_runtime : false
setup.py : |
import os
os.system('echo LEAK?')
from setuptools import setup
setup(name='test', version='0.1')
expected : |
python3dist(setuptools) >= 40.8
python3dist(wheel)
python3dist(wheel)
result : 0
2023-04-27 07:47:47 +00:00
pyproject.toml with runtime dependencies :
2023-04-27 16:11:40 +00:00
skipif : not SETUPTOOLS_60
2023-04-27 07:47:47 +00:00
installed :
setuptools : 50
wheel : 1
2023-05-26 12:21:14 +00:00
tomli : 1
2023-04-27 07:47:47 +00:00
pyproject.toml : |
[ build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"
[ project]
name = "my_package"
version = "0.1"
dependencies = [
"foo" ,
'importlib-metadata; python_version<"3.8"' ,
]
expected : |
python3dist(setuptools)
python3dist(wheel)
python3dist(foo)
result : 0
pyproject.toml with runtime dependencies and partially selected extras :
2023-04-27 16:11:40 +00:00
skipif : not SETUPTOOLS_60
2023-04-27 07:47:47 +00:00
installed :
setuptools : 50
wheel : 1
2023-05-26 12:21:14 +00:00
tomli : 1
2023-04-27 07:47:47 +00:00
extras :
- tests
2024-09-17 12:44:15 +00:00
pyproject.toml : &pyproject_with_extras |
2023-04-27 07:47:47 +00:00
[ build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"
[ project]
name = "my_package"
version = "0.1"
dependencies = [
"foo" ,
'importlib-metadata; python_version<"3.8"' ,
]
[ project.optional-dependencies]
tests = ["pytest>=5", "pytest-mock"]
docs = ["sphinx", "python-docs-theme"]
expected : |
python3dist(setuptools)
python3dist(wheel)
python3dist(foo)
python3dist(pytest) >= 5
python3dist(pytest-mock)
result : 0
2023-04-27 16:11:40 +00:00
Self-referencing extras (sooner) :
2023-04-27 07:47:47 +00:00
installed :
setuptools : 50
wheel : 1
2023-05-26 12:21:14 +00:00
tomli : 1
2023-04-27 07:47:47 +00:00
extras :
- dev # this is deliberately sooner in the alphabet than the referenced ones
pyproject.toml : |
[ build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"
2023-04-27 16:11:40 +00:00
setup.cfg : |
[ metadata]
name = my_package
version = 0.1
[ options]
install_requires =
foo
importlib-metadata; python_version<"3.8"
[ options.extras_require]
tests = pytest>=5; pytest-mock
docs = sphinx; python-docs-theme
dev = my_package[docs,tests]
2023-04-27 07:47:47 +00:00
expected : |
python3dist(setuptools)
python3dist(wheel)
python3dist(foo)
python3dist(sphinx)
python3dist(python-docs-theme)
python3dist(pytest) >= 5
python3dist(pytest-mock)
result : 0
2023-04-27 16:11:40 +00:00
Self-referencing extras (later) :
2023-04-27 07:47:47 +00:00
installed :
setuptools : 50
wheel : 1
2023-05-26 12:21:14 +00:00
tomli : 1
2023-04-27 07:47:47 +00:00
extras :
- xdev # this is deliberately later in the alphabet than the referenced ones
pyproject.toml : |
[ build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"
2023-04-27 16:11:40 +00:00
setup.cfg : |
[ metadata]
name = my_package
version = 0.1
[ options]
install_requires =
foo
importlib-metadata; python_version<"3.8"
[ options.extras_require]
tests = pytest>=5; pytest-mock
docs = sphinx; python-docs-theme
xdev = my_package[docs,tests]
2023-04-27 07:47:47 +00:00
expected : |
python3dist(setuptools)
python3dist(wheel)
python3dist(foo)
python3dist(sphinx)
python3dist(python-docs-theme)
python3dist(pytest) >= 5
python3dist(pytest-mock)
result : 0
2023-04-27 16:11:40 +00:00
Self-referencing extras (maze) :
2023-04-27 07:47:47 +00:00
installed :
setuptools : 50
wheel : 1
2023-05-26 12:21:14 +00:00
tomli : 1
2023-04-27 07:47:47 +00:00
extras :
- start
pyproject.toml : |
[ build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"
2023-04-27 16:11:40 +00:00
setup.cfg : |
[ metadata]
name = my_package
version = 0.1
[ options.extras_require]
start = my_package[left,right]; startdep
left = my_package[right,forward]; leftdep
right = my_package[left,forward]; rightdep
forward = my_package[backward]; forwarddep
backward = my_package[left,right]; backwarddep
never = my_package[forward]; neverdep
2023-04-27 07:47:47 +00:00
expected : |
python3dist(setuptools)
python3dist(wheel)
python3dist(backwarddep)
python3dist(forwarddep)
python3dist(leftdep)
python3dist(rightdep)
python3dist(startdep)
result : 0
2023-05-20 00:37:27 +00:00
config_settings_control :
include_runtime : false
config_settings :
pyproject.toml : |
[ build-system]
build-backend = "test_backend"
backend-path = ["."]
test_backend.py : |
def get_requires_for_build_wheel(config_settings=None) :
if not (config_settings is None or isinstance(config_settings, dict)) :
raise TypeError
if config_settings and "test-config-setting" in config_settings:
return ["test-config-setting"]
return ["test-no-config-setting"]
expected : |
python3dist(test-no-config-setting)
result : 0
config_settings :
include_runtime : false
config_settings :
test-config-setting : ""
pyproject.toml : |
[ build-system]
build-backend = "test_backend"
backend-path = ["."]
test_backend.py : |
def get_requires_for_build_wheel(config_settings=None) :
if not (config_settings is None or isinstance(config_settings, dict)) :
raise TypeError
if config_settings and "test-config-setting" in config_settings:
return ["test-config-setting"]
return ["test-no-config-setting"]
expected : |
python3dist(test-config-setting)
result : 0
2024-09-17 12:44:15 +00:00
pyproject.toml with runtime dependencies read from it :
skipif : not SETUPTOOLS_60
read_pyproject_dependencies : true
installed :
setuptools : 50
wheel : 1
tomli : 1
pyproject.toml : |
[ build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"
[ project]
name = "my_package"
version = "0.1"
dependencies = [
"foo" ,
'importlib-metadata; python_version<"3.8"' ,
]
expected : |
python3dist(setuptools)
python3dist(wheel)
python3dist(foo)
result : 0
pyproject.toml with extras - only runtime dependencies read from it :
skipif : not SETUPTOOLS_60
read_pyproject_dependencies : true
installed :
setuptools : 50
wheel : 1
tomli : 1
pyproject.toml : *pyproject_with_extras
expected : |
python3dist(setuptools)
python3dist(wheel)
python3dist(foo)
result : 0
pyproject.toml with runtime dependencies and partially selected extras read from it :
skipif : not SETUPTOOLS_60
read_pyproject_dependencies : true
installed :
setuptools : 50
wheel : 1
tomli : 1
extras :
- tests
pyproject.toml : *pyproject_with_extras
expected : |
python3dist(setuptools)
python3dist(wheel)
python3dist(foo)
python3dist(pytest) >= 5
python3dist(pytest-mock)
result : 0
pyproject.toml with runtime dependencies and all extras read from it :
skipif : not SETUPTOOLS_60
read_pyproject_dependencies : true
installed :
setuptools : 50
wheel : 1
tomli : 1
extras :
- tests
- docs
pyproject.toml : *pyproject_with_extras
expected : |
python3dist(setuptools)
python3dist(wheel)
python3dist(foo)
python3dist(pytest) >= 5
python3dist(pytest-mock)
python3dist(sphinx)
python3dist(python-docs-theme)
result : 0
pyproject.toml without dependencies :
skipif : not SETUPTOOLS_60
read_pyproject_dependencies : true
installed :
setuptools : 50
wheel : 1
tomli : 1
pyproject.toml : |
[ build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"
[ project]
name = "my_package"
version = "0.1"
expected : |
python3dist(setuptools)
python3dist(wheel)
result : 0
pyproject.toml without project table :
skipif : not SETUPTOOLS_60
read_pyproject_dependencies : true
installed :
setuptools : 50
wheel : 1
pyproject.toml : |
[ build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"
except : ValueError
no pyproject.toml :
read_pyproject_dependencies : true
installed :
setuptools : 50
wheel : 1
except : FileNotFoundError
pyproject.toml with dynamic dependencies :
skipif : not SETUPTOOLS_60
read_pyproject_dependencies : true
installed :
setuptools : 50
wheel : 1
tomli : 1
pyproject.toml : |
[ build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"
[ project]
name = "my_package"
version = "0.1"
dynamic = ["dependencies"]
[ tool.setuptools.dynamic]
dependencies = { file = ["deps.txt"] }
deps.txt : |
foo < 7.0
sphinx
except : ValueError
pyproject.toml with dynamic optional dependencies :
skipif : not SETUPTOOLS_60
read_pyproject_dependencies : true
installed :
setuptools : 50
wheel : 1
tomli : 1
extras :
- docs
pyproject.toml : |
[ build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"
[ project]
name = "my_package"
version = "0.1"
dynamic = ["optional-dependencies"]
[ tool.setuptools.dynamic.optional-dependencies.docs]
file = ["deps.txt"]
deps.txt : |
sphinx~=7.0.1
except : ValueError
pyproject.toml with dynamic table and no deps :
skipif : not SETUPTOOLS_60
read_pyproject_dependencies : true
installed :
setuptools : 50
wheel : 1
tomli : 1
pyproject.toml : |
[ build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"
[ project]
name = "my_package"
version = "0.1"
dynamic = ["readme"]
[ tool.setuptools.dynamic]
readme = { file = ["readme.txt"] }
readme.txt : |
nothing interesting here
expected : |
python3dist(setuptools)
python3dist(wheel)
result : 0
2024-10-03 10:22:35 +00:00
pyproject.toml with self-referencing extras :
skipif : not SETUPTOOLS_60
read_pyproject_dependencies : true
installed :
setuptools : 50
wheel : 1
tomli : 1
extras :
- test
pyproject.toml : |
[ build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"
[ project]
name = "contourpy"
version = "0.1"
dependencies = ["numpy >= 1.23"]
[ project.optional-dependencies]
bokeh = ["bokeh", "selenium"]
test = ["contourpy[test-no-images]", "matplotlib", "Pillow"]
test-no-images = ["pytest", "pytest-rerunfailures", "wurlitzer"]
expected : |
python3dist(setuptools)
python3dist(wheel)
python3dist(numpy) >= 1.23
python3dist(matplotlib)
python3dist(pillow)
python3dist(pytest)
python3dist(pytest-rerunfailures)
python3dist(wurlitzer)
result : 0