-
Notifications
You must be signed in to change notification settings - Fork 79
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
feat: Differentiate packages #2390
base: develop
Are you sure you want to change the base?
Conversation
currently one can use the mwms.txt requirements to feed into the meta.yaml and build locally a package for MSS only with modules needed for mswms that jinja2 idea sounds interesting, to have one template for all options until we have subpackages on conda-forge For testings we need a way to base the test environment on the provided dependencies. And the development.txt for testing has for the mswms server too much packages at least pytest-qt needs to be optional. I don't know the condition for setup.py to exclude not needed console_scripts. |
@matrss if we revise the conftest, we should see that we distribute the functionalities and also the fixtures. |
I am pretty sure that all of those Also, I don't see how this splits of mswms into its own package that would be independently installable, yet. |
all tests succeeds.
yes, I think we need later more than one conftest.py if we want to test such a sub package.
I solved this locally by an own |
In CI yes, because all dependencies are installed. There these try blocks serve no purpose. If I just uninstall keyring and run the test suite I get a bunch of errors already. If I uninstall PyQt5 it will be a lot more.
Not later, that is a necessary part of the split, unless we want to split into individually-untested sub-packages (which could be fine, but then again, the test suite as is requires all of those dependencies to function and the try blocks to make them optional break a lot of stuff).
They need to become individual python packages, with their own pyproject.toml/setup.cfg/setup.py or however else you want to create those. Otherwise they aren't separate packages. |
This is for me currently only an intermediate step. I want to figure if when I use mswms.txt as a base of the sub package, if the mswms tests succeeds and I principle have all needed packages. Or when I reduce them the test still works. Besides the mssdev with all packages I have additional an mswmsdev with only these packages. |
I just commented on this because you mentioned me. I see that this is a draft, so as long as those try-blocks are not intended to be in the to-be-merged version of this PR that is fine by me, I don't really care how you do the exploratory stuff of figuring out what to do. I just wanted to say that I would not approve these try-blocks as a change, since they wouldn't make any sense on stable or develop. |
we can keep the setup.py as is and use a patch in the build process on conda-forge to remove the unrelated setup entries. |
Purpose of PR?:
This makes it possible to install mswms without all packages needed for the whole MSS
There are some steps needed to get then to something like the splitting seen for basemap
https://github.com/matplotlib/basemap
Fixes #2307
Does this PR introduce a breaking change?
splits modules
If the changes in this PR are manually verified, list down the scenarios covered::
without pytest-qt
pytest -v -n 6 --dist loadfile --max-worker-restart 4 --durations=20 tests/_test_mswms
Additional information for reviewer? :
Mention if this PR is part of any design or a continuation of previous PRs
Does this PR results in some Documentation changes?
If yes, include the list of Documentation changes
Checklist:
<type>: <subject>