Repository navigation
Conversation
|
@pllim I have just read your GSOC idea on splitting astropy test helper out into a seperate package. This is the first step in that I think. |
|
I like the concept of making things more modular. I think there was a similar request from @josePhoenix a while back. However, CIs are failing. |
|
yeah this needs some more work (it's tied to sunpy/sunpy#1983) but it's not very high on my todo list unfortunately. |
|
Okay, I'll make a note of this PR number in the GSoC idea, just in case. Thanks! |
|
@pllim We moved the ideas to the open astronomy website, I added the PR and put myself up as a mentor while I was moving it ;) |
|
Well this currently breaks all the CI builds as the split clearly hasn't been done cleanly enough. The basic idea here is to move the "plugin" code out of the |
|
Also @pllim can you please tell me any small to-do's that I can begin with to start sorting this one out? |
|
|
||
| try: | ||
| import importlib.machinery as importlib_machinery | ||
| except ImportError: # Python 2.7 |
There was a problem hiding this comment.
@mohanagr , Travis CI indicates failures for Python 2.7. I suspect this is the cause here. So this PR needs to be patched to work in Python 2. Also, fix PEP8 test failure.
There was a problem hiding this comment.
@pllim I'm looking through these modules. These are the ones which were separated from conftest.py. Can you tell me what all additions are already planned to be made?
There was a problem hiding this comment.
Can you tell me what all additions are already planned to be made?
I am not sure if I understand the question. There is no planned addition if you mean additional keywords. But one of the proposed GSoC project is to separate out these pytest add-ons into a separate installable package that does not depend on Astropy.
There was a problem hiding this comment.
@pllim yes about that, doesn't this PR do that? splitting into modules? I was working on python2 patch thing.
There was a problem hiding this comment.
This PR simply separates them into different modules. But the modules are still part of Astropy. The GSoC project is to create a separate package (something parallels to Astropy, not underneath it). Does this make sense?
There was a problem hiding this comment.
Oh. Yes. Thanks. So as of now I model the changes in this PR that work with Python2 and submit another one?
There was a problem hiding this comment.
@mohanagr , yes, if you want to take over this work from @Cadair , you need to open a new PR from your own branch in your own fork. However, if possible, please credit @Cadair for the initial work before you apply your own changes. One way is to follow guidance given at #3558 (comment) (and a few comments that followed) on how to cherry pick commits from this PR. Hope this helps.
|
@Cadair I was a little confused as to why this project was given Intermediate/Advanced tag on OpenAstro project list tag if plugin's code was already implemented? (I do understand that some of |
|
@mohanagr , the hard part is disentangling dependency and making it a viable independent package. If you find it easy, then great. Or if you find it too boring, then you are free to pick a different GSoC project to apply for. |
|
@pllim As a matter of fact I'm planning to submit for the splitting project! I have been looking into how astropy is structured and the test suites. I think there will be a lot to learn about packaging projects and making them work across different versions. |
|
@Cadair In the new standalone, are we to provide |
|
@mohanagr , that is exactly the problem that I hope the GSoC project can solve. 😅 |
|
@pllim @Cadair Currently there is also this problem of running all plugin code from This behavior was an issue with pytest. |
|
@mohanagr you mean registering the plugins in |
|
@Cadair I meant that hook calls i.e. call to Or perhaps declaring them in This is what the comment by the maintainer reads:
Also, can you tell me what did you mean by installing plugins? I mean if they are there in the code itself. Edit : Haven't tried it for this P.R. I was talking about the original code. You have already registered the plugins in |
|
I was wrong above. The current way of specifying plugins in a file via |
@mohanagr - you may want to check out other pytest plugins for the infrastructure and how-to (e.g. pytest-mpl, pytest-cov, etc). As it was said above one of the idea for the gsoc project was to factor out all the additions we have (compared to pure pytest) into an independent plugin. That means that it needs to be installed, and we don't have it any more in astropy core (pending a deprecation period of course). |
|
@bsipocz Oh all right. Until now I was assuming there'd be separate multiple plugins. Hence didn't understand why would one do |
|
@mohanagr - Users don't clone anything, but install released versions. |
|
What if users are developers? 😃 |
|
You don't need to worry about that subset. Anyway cloning and using is not the preferred way for developers either when the aim is to build a stable package rather than hacking. |
|
I think we are getting a bit too far off topic here. Questions related to the GSoC project should be discussed outside of this PR thread. As far as this PR is concerned, if you would like to take over, it is just simply splitting the current stuff into different modules, not a separate installable package. |
|
@pllim I understand. I couldn't find a way to reach you apart from GH comments! |
|
There is a developer mailing list https://groups.google.com/forum/#!forum/astropy-dev |
|
@Cadair - Any chance you have time to make this work for v2.0 (ff in 4 weeks time). I only ask as it would be a good one for deprecating, and 3.0 is to remove things. |
|
@Cadair - pinging you again, whether we need to remilestone this or you can make some progress with it to be merged this week? |
|
I will not be able to get to this before the freeze :( |
|
Superseded by #6384. |
This makes it possible for affiliated packages (SunPy) to use some of these options but not all of them.