-
-
Notifications
You must be signed in to change notification settings - Fork 17
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
Create spyder-base package that does not depend on pyqt #203
base: main
Are you sure you want to change the base?
Conversation
@conda-forge-admin, please rerender |
Hi! This is the friendly automated conda-forge-linting service. I wanted to let you know that I linted all conda-recipes in your PR ( Here's what I've got... For recipe/meta.yaml:
|
@conda-forge-admin, please rerender. |
Hi! This is the friendly automated conda-forge-linting service. I just wanted to let you know that I linted all conda-recipes in your PR ( |
Hi! This is the friendly automated conda-forge-webservice. I tried to rerender for you, but it looks like there was nothing to do. This message was generated by GitHub actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/11900049814. |
Hi! This is the friendly automated conda-forge-linting service. I just wanted to let you know that I linted all conda-recipes in your PR ( I do have some suggestions for making it better though... For recipe/meta.yaml:
This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/11977420079. Examine the logs at this URL for more detail. |
@conda-forge-admin , please rerender |
@conda-forge-admin please rerender |
Hi! This is the friendly automated conda-forge-linting service. I wanted to let you know that I linted all conda-recipes in your PR ( Here's what I've got... For recipe/meta.yaml:
For recipe/meta.yaml:
This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/11980556058. Examine the logs at this URL for more detail. |
Hi! This is the friendly automated conda-forge-linting service. I just wanted to let you know that I linted all conda-recipes in your PR ( I do have some suggestions for making it better though... For recipe/meta.yaml:
This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/11980594022. Examine the logs at this URL for more detail. |
I tried to move the
|
@hmaarrfk, do you have a recommendation to satisfy |
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 looks great! i would squash all the changes and rerender in 2 commits to keep the history a little cleaner.
This is a "large" departure from previous efforts so it is good to keep things a little organized.
Thanks @hmaarrfk, I'll do that. Do you have any guidance on the concerns I listed in the PR description? |
This is generally a "Anaconda" problem. I think that for now, spyder + qtpy5 is still the recommended installation process so hopefully
Thats ok, only the "first" one will get uploaded the others will not get uploaded. so long as you don't "pin exact" it should be fine
add:
|
da63769
to
d87c91f
Compare
Thanks for working through all the challenges. Splitting a package is definitely challenging |
Thank you for your help reviewing and addressing my concerns. 👏🏼 |
bca9e10
to
a2a9e57
Compare
f6bbfaf
to
6cc32fd
Compare
Use jinja variable for build number and bump. Remove reference to python version in tests to ensure that spyder package has same hash regardless of runner.
…onda-forge-pinning 2024.12.11.09.08.10
Checklist
0
(if the version changed)conda-smithy
(Use the phrase@conda-forge-admin, please rerender
in a comment in this PR for automated rerendering)Fixes #175
Fixes #178
This PR's workflows will fail until the changes in spyder-ide/spyder#23141 are propagated to PyPi.
spyder-ide/spyder#23141 can be merged anytime, since it should only impact installer builds for PRs. This PR should be merged some time after spyder-ide/spyder#23141 is merged, but immediately following upload of the PyPi package prior to a release or release candidate. Once this PR is merged, the remaining release steps can proceed.
Summary
This PR intends to create two packages from one feedstock.
spyder-base
: contains thespyder
source code and specifies all ofspyder
's dependencies except any direct or indirect dependence onpyqt
.spyder
: only specifiesspyder
's direct and indirect dependencies onpyqt
.The intention is to provide a way for users to use
pyside6
rather thanpyqt
, e.g.Installing
spyder
in the standard fashion will still yield apyqt
-based install.Notes
spyder-base
was chosen as the "parent" package andspyder
as the "subpackage" because the post-link scripts will only be included with the parent package and not the subpackage. Spyder's shortcut (viamenuinst
) is customized conditioned on the install environment, not target platform, and therefore can only use the post-link mechanism to achieve this.spyder-base
must run the post-link scripts at install time, notspyder
, in order to provide the shortcut in the case of usingpyside6
rather thanpyqt
. If the Spyder shortcut did not require the post-link mechanism, then we could makespyder
the parent package andspyder-base
the subpackage.python {{ python_min }} # [unix]
was removed and other selectors were merged in the test environment(s) because it appears that they are not needed. Thepython
spec is not needed for the tests to pass on macOS or Linux and cannot be present on Windows, else the tests fail (the test environment cannot be solved). Removingpython
and merging selectors in thespyder
noarch package also helps ensure the build hash is the same across all platforms.Concerns
I do not know which application Anaconda Navigator will provide:
spyder-base
,spyder
, or both. Theapp
section is not allowed in an item of theoutputs
section, i.e. thespyder
package, so we cannot explicitly use it for the subpackage and remove it from the parent package. I suspect that Anaconda Navigator will recognize both packages as applications because theapp
header appears in the renderedmeta.yaml
for both packages, and this could be confusing. It may also be possible that Anaconda Navigator will only recognize the parent package as an application (i.e.spyder-base
), which would be the worst outcome since this would not run without explicitly installing the remaining dependencies.