-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
modernized build #2070
modernized build #2070
Conversation
build packages based on metadata (pyproject.toml+setup.cfg). barebone setup.py is needed for compability, e.g. `pip install -e`
test would fail one run (stopping instead of stopped) and pass the next.
roundrobin >=0.0.2 | ||
typing-extensions >=3.7.4.3 | ||
Jinja2 <3.1.0 | ||
pywin32;platform_system=='Windows' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i was unable to get it working with pywin32
being an extras_require
as in the setup.py
case, however this should be the same(?). pywin32 only needed when running on windows.
https://setuptools.pypa.io/en/latest/userguide/dependency_management.html#platform-specific-dependencies
LGTM. Have you tested it on windows? I have a windows box somewhere, but I can't be bothered to fire it up :) |
If you mean the changed way pywin32 is included? I could've actually just tested it myself.. without writing an obscure comment like that, my bad. on "linux" (Windows 10 WSL2 with ubuntu 21.04):
on windows 10:
|
I’m gonna give Heyman a day or two to chime in, but it looks all good to me! |
Looks good to me 👍 |
i mentioned in a previous PR #2040 that there was problems adding locust as a git dependency; pip or pip-tools got confused that there was a
pyproject.toml
, but nobuild-system
section available. all it contained was settings forblack
.there have been other projects having the same problem.
the underlying problem seems to have been fixed now, so it is indeed possible to have locust as a git dependency (which I realized after implementing this...). but there are probably other benefits of moderizing the build setup to be PEP517 and PEP518 compatible.
since most stuff already was present in
setup.cfg
, it was quite an easy transition to move away fromsetup.py
, however editable installs is not yet supported bypyproject.toml
and hence a bare bonesetup.py
is needed.most work had to be done in the github workflow and tox settings.
regarding the changes of
command
topython -m <module>
intest.yml
:https://snarky.ca/why-you-should-use-python-m-pip/