Skip to content
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

build pybamm-base with no optional deps #70

Merged
merged 16 commits into from
Dec 9, 2024

Conversation

Saransh-cpp
Copy link
Member

Checklist

  • Used a personal fork of the feedstock to propose changes
  • Bumped the build number (if the version is unchanged)
  • Reset the build number to 0 (if the version changed)
  • Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
  • Ensured the license file is being packaged.

@Saransh-cpp
Copy link
Member Author

@conda-forge-admin, please rerender

@conda-forge-admin
Copy link
Contributor

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 (recipe/meta.yaml) and found some lint.

Here's what I've got...

For recipe/meta.yaml:

  • ❌ The outputs section contained an unexpected subsection name. run is not a valid subsection name.

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/12138356499. Examine the logs at this URL for more detail.

@conda-forge-admin
Copy link
Contributor

Hi! This is the friendly automated conda-forge-webservice.

I tried to rerender for you but ran into some issues. Please check the output logs of the GitHub Actions workflow below for more details. You can also ping conda-forge/core (using the @ notation) for further assistance or you can try rerendering locally.

The following suggestions might help debug any issues:

  • Is the recipe/{meta.yaml,recipe.yaml} file valid?
  • If there is a recipe/conda-build-config.yaml file in the feedstock make sure that it is compatible with the current global pinnnings.
  • Is the fork used for this PR on an organization or user GitHub account? Automated rerendering via the webservices admin bot only works for user GitHub accounts.

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/12138363357. Examine the logs at this URL for more detail.

@conda-forge-admin
Copy link
Contributor

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 (recipe/meta.yaml) and found it was in an excellent condition.

@agriyakhetarpal
Copy link
Member

Great idea, thanks for leading this effort, @Saransh-cpp! Please let me know if you would need help with testing this somehow. Would this approach remain possible with platform-specific recipes later on when we start on #65? Also, tagging @prady0t here from the PyBaMM issue in case he is interested in reviewing 👋

recipe/meta.yaml Outdated Show resolved Hide resolved
@Saransh-cpp
Copy link
Member Author

Tried debugging this for an hour but couldn't get it to run, and now that the hackathon is over, I would only be able to look at the error next week 😢

recipe/meta.yaml Outdated Show resolved Hide resolved
recipe/meta.yaml Outdated Show resolved Hide resolved
recipe/meta.yaml Outdated Show resolved Hide resolved
@conda-forge-admin
Copy link
Contributor

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 (recipe/meta.yaml) and found it was in an excellent condition.

I do have some suggestions for making it better though...

For recipe/meta.yaml:

  • ℹ️ Recipes should usually depend on matplotlib-base as opposed to matplotlib so that runtime environments do not require large packages like qt.

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/12240964081. Examine the logs at this URL for more detail.

recipe/meta.yaml Outdated Show resolved Hide resolved
@conda-forge-admin
Copy link
Contributor

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 (recipe/meta.yaml) and found it was in an excellent condition.

Copy link
Member Author

@Saransh-cpp Saransh-cpp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note for reviewers: please make sure that I did not miss any dependency 😬

Comment on lines +104 to +119
- {{ pin_subpackage('pybamm-base', exact=True) }}
# Battery Parameter eXchange format
- bpx
# Progress bars
- tqdm
# Plotting
- imageio >=2.3.0
- matplotlib-base >=3.6.0
# Cite
- pybtex >=0.24.0
# JAX
- jax 0.4.27
- jaxlib 0.4.27
# Other dependencies
- scikit-fem >=8.1.0
# - iree-compiler -- not available on conda
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Everything except dev, docs, and examples.

Comment on lines +29 to +41
- python >={{ python_min }},<{{ python_max }}
- anytree >=2.8.0
- casadi >=3.6.7
- posthog >=3.6.5
- numpy >=1.23.5,<2.0.0
- pandas >=1.5.0
- pooch >=1.8.1
- scipy >=1.11.4
- sympy >=1.12
- typing-extensions >=4.10.0
- xarray >=2022.6.0
- pyyaml
- platformdirs
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Required dependencies for pybamm-base.

@Saransh-cpp Saransh-cpp marked this pull request as ready for review December 9, 2024 17:56
recipe/meta.yaml Show resolved Hide resolved
recipe/meta.yaml Show resolved Hide resolved
Copy link
Member

@agriyakhetarpal agriyakhetarpal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, @Saransh-cpp! I wonder if we can document the fact that the "examples" extra isn't available in conda-forge's PyBaMM distribution and that users should run conda/mamba install -c conda-forge jupyter separately? Also, I think we should update the installation guide upstream about this change in general (and perhaps add an entry to the release notes for the next release as well).

host:
- pip
- python {{ python_min }}
- setuptools >=64
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we will also require wheel (note that setuptools injects wheel when building wheels) for setuptools <=70.1.0; we have to list it explicitly because we import it in our setup script to override the bdist_wheel class, so setuptools's injection is not enough. It doesn't fail right now because the extension module isn't being built, but it is going to fail later. Once we bump to the noted setuptools version (I'll open a PR in PyBaMM and tag you there), we will be in a better position. Not something to do here, but we could note it as a comment here for future upgrades :)

@Saransh-cpp
Copy link
Member Author

Thanks for the review!

document the fact that the "examples" extra isn't available in conda-forge's

Yes, I think this would require some work on upstream docs in general. I will open an issue in PyBaMM once this is merged.

and perhaps add an entry to the release notes for the next release as well

Will mention this on slack.

@Saransh-cpp Saransh-cpp merged commit 6db715f into conda-forge:main Dec 9, 2024
4 checks passed
@Saransh-cpp Saransh-cpp deleted the spit-deps branch December 9, 2024 18:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants