-
Notifications
You must be signed in to change notification settings - Fork 11
Implement a new loop-based approach to parametrizations. #229
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
Conversation
Codecov Report
@@ Coverage Diff @@
## main #229 +/- ##
==========================================
+ Coverage 94.30% 94.37% +0.07%
==========================================
Files 77 79 +2
Lines 6843 6956 +113
==========================================
+ Hits 6453 6565 +112
- Misses 390 391 +1
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report at Codecov.
|
Hi @janosg, @hmgaudecker, I ping you for some intermediate feedback on the implementation before I start polishing it and writing some documentation. You can review the new interface in the test module |
Thanks, just on my way to trying things out... Needed to add Any ideas? |
Yes, platforms have different limits on how many file handlers can be opened. Every Increase the limit with something like |
Spot on, as always! Thanks! |
a.m.a.z.i.n.g. Nothing else to add. Other than, perhaps, you'll need to be careful in the documentation not to publish all the different ways how to use that. I'd be all for the Re |
What I mean is: There should be one-- and preferably only one --obvious way to do it. In general, I am a little scared of a (large) proliferation of ways how you can specify tasks. At least tutorials should focus on one sensible way that scales well IMHO, if power users want to do something else for whatever reason, fine. |
That was quick! Very nice test cases and very nice new interface! |
…the how to guides.
…ytask-dev/pytask into implement-new-parametrizations
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.
Looks great, thanks!
One semantic thing: Assuming you want to continue supporting "old" parametrizations, I would call it "the pytest way". Just briefly mention that for experienced pytest users, that may be the most natural approach. But don't add it as the very first thing in the tutorial, or only for a transition period while trying to make the current user base switch.
Thanks for your comments. Yes, it was meant for people who are looking for the previous docs and are confused. So, I think it makes sense to have it close to the top of the file for some time. I think about deprecating pytest's way in the next minor or major version change. Whatever comes first. Removing it now would just annoy everyone. I think I will add a deprecation warning in v0.2.0 saying either to fix pytask<=0.2 or refactor the syntax. And I will add a flag to the configuration which disables the warning for v0.2. |
Great. Then just say now that this is the pytest way and that until 0.19,
it was the only way?
Tobias Raabe ***@***.***> schrieb am Do., 3. März 2022, 16:41:
… Looks great, thanks!
One semantic thing: Assuming you want to continue supporting "old"
parametrizations, I would call it "the pytest way". Just briefly mention
that for experienced pytest users, that may be the most natural approach.
But don't add it as the very first thing in the tutorial, or only for a
transition period while trying to make the current user base switch.
Thanks for your comments. Yes, it was meant for people who are looking for
the previous docs and are confused. So, I think it makes sense to have it
close to the top of the file for some time.
I think about deprecating pytest's way in the next minor or major version
change. Whatever comes first. Removing it now would just annoy everyone. I
think I will add a deprecation warning in v0.2.0 saying either to fix
pytask<=0.2 or refactor the syntax. And I will add a flag to the
configuration which disables the warning for v0.2.
—
Reply to this email directly, view it on GitHub
<#229 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AABGV6A32XYR5E22ATB6LMLU6DMTJANCNFSM5PSQA35A>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
@hmgaudecker and @janosg, this PR is ready for a final review if you like. No need to do it actually. |
Thanks, indeed I don't think I could provide anything useful at this stage
anymore 😊.
Amazing stuff.
Tobias Raabe ***@***.***> schrieb am Do., 3. März 2022, 19:16:
… @hmgaudecker <https://github.com/hmgaudecker> and @janosg
<https://github.com/janosg>, this PR is ready for a final review if you
like. No need to do it actually.
—
Reply to this email directly, view it on GitHub
<#229 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AABGV6HGYQB2HZ7ZOOBB5JLU6D6X5ANCNFSM5PSQA35A>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
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.
This is an amazing change and a very clean implementation!
When you remove "the pytest way" I think it would be good to leave in an error message that tells you the last version of pytask supporting the pytest way. Otherwise people who do not follow pytask closely and need to re-run an old project for a revision might be lost.
With these and some other changes, pytask has stopped being a pytest clone for tasks. You might want to adjust the documentation, readme and short descriptions in that direction.
Closes #206, resolves #132.
Changes
This PR implements a new loop-based approach to parametrizations.
Todo
Maybes interesting for typing:
https://github.com/python/mypy/issues/2087#issuecomment-432963659
.