Skip to content

Add VMEX (renamed from vmec-jax) - #34465

Merged
matthewfeickert merged 8 commits into
conda-forge:mainfrom
RKHashmani:add-vmex
Aug 9, 2026
Merged

Add VMEX (renamed from vmec-jax)#34465
matthewfeickert merged 8 commits into
conda-forge:mainfrom
RKHashmani:add-vmex

Conversation

@RKHashmani

Copy link
Copy Markdown
Contributor

This adds a recipe for vmex, the renamed continuation of vmec-jax (existing feedstock: https://github.com/conda-forge/vmec-jax-feedstock). Upstream renamed the project from vmec_jax to VMEX and now develops it at https://github.com/uwplasma/vmex. PyPI vmec-jax stops at 0.1.0 and PyPI vmex continues from 0.2.0 (currently 0.4.0), so conda-forge currently has no path forward for this package under the old name.

The recipe is carried over from vmec-jax-feedstock's recipe/recipe.yaml, which is already in the v1 format. The changes are:

  • package name vmec-jax -> vmex, version 0.1.0 -> 0.4.0, and the matching PyPI source URL and sha256
  • entry points: upstream replaced vmec + vmec-jax with vmex + vmec, both pointing at vmex.core.cli:main (vmec is kept as an alias)
  • setuptools >=77 in host, because upstream's pyproject.toml now uses PEP 639 (license = "MIT" plus license-files) and older setuptools does not emit that metadata
  • packaging added to host, since upstream's [build-system] requires it and the recipe builds with --no-build-isolation (it stays in run as before, where upstream also declares it)
  • jaxlib added to run, since upstream declares it directly and pip_check reads the distribution metadata
  • solvax >=0.8.8, matching the bound upstream's metadata declares; booz-xform-jax is now unbounded, also matching upstream, which dropped the >=0.1.1 floor the old recipe carried
  • import tests cover both vmex and vmec_jax — upstream ships a vmec_jax deprecation shim for one release so old imports keep working
  • about URLs retargeted at the renamed project: homepage and repository point at uwplasma/vmex, documentation at vmex.readthedocs.io

noarch: python, the matplotlib-base dependency, the unconditional tomli, and the pip_check plus CLI smoke tests are unchanged from the reviewed vmec-jax recipe.

Once this merges I will open an issue on conda-forge/vmec-jax-feedstock and follow it with an archive request in conda-forge/admin-requests, so the old feedstock stops presenting 0.1.0 as current.

Built and tested locally with rattler-build build --recipe recipes/vmex/recipe.yaml --variant-config <python_min pinning> -c conda-forge before submitting.

Checklist

  • Title of this PR is meaningful: e.g. "Adding my_nifty_package", not "updated recipe".
  • Recipe uses the v1 recipe.yaml format, or this PR explains the exceptional requirement for deprecated v0.
  • License file is packaged (see the v1 example recipe for an example).
  • Source is from official source.
  • Package does not vendor other packages. (If a package uses the source of another package, they should be separate packages or the licenses of all packages need to be packaged).
  • If static libraries are linked in, the license of the static library is packaged.
  • Package does not ship static libraries. If static libraries are needed, follow CFEP-18.
  • Build number is 0.
  • A tarball (url) rather than a repo (e.g. git_url) is used in your recipe (see here for more details).
  • GitHub users listed in the maintainer section have posted a comment confirming they are willing to be listed there.
  • When in trouble, please check our knowledge base documentation before pinging a team.

@conda-forge-admin

Copy link
Copy Markdown
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 (recipes/vmex/recipe.yaml) and found it was in an excellent condition.

@RKHashmani

Copy link
Copy Markdown
Contributor Author

Windows fails because there are currently no jaxlib builds for win-64.

@RKHashmani

Copy link
Copy Markdown
Contributor Author

@conda-forge/help-python, ready for review!

@matthewfeickert matthewfeickert left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Looks pretty good beyond some small revisions and needing all maintainers to sign off.

Comment thread recipes/vmex/recipe.yaml Outdated
Comment thread recipes/vmex/recipe.yaml Outdated
Comment thread recipes/vmex/recipe.yaml Outdated
Comment thread recipes/vmex/recipe.yaml
Comment thread recipes/vmex/recipe.yaml Outdated
@matthewfeickert

Copy link
Copy Markdown
Member

@RKHashmani this is v0.4.0 but there were other releases between v0.1.0 (https://github.com/conda-forge/vmec-jax-feedstock/tree/599e9704be4de522d75a552901331974fff2aef7) and v0.4.0. Are those releases needed in any part of https://github.com/driftless-star/driftless-star/?

RKHashmani and others added 5 commits August 8, 2026 10:53
Co-authored-by: Matthew Feickert <matthew.feickert@cern.ch>
Co-authored-by: Matthew Feickert <matthew.feickert@cern.ch>
Co-authored-by: Matthew Feickert <matthew.feickert@cern.ch>
Co-authored-by: Matthew Feickert <matthew.feickert@cern.ch>
@RKHashmani

Copy link
Copy Markdown
Contributor Author

@RKHashmani this is v0.4.0 but there were other releases between v0.1.0 (https://github.com/conda-forge/vmec-jax-feedstock/tree/599e9704be4de522d75a552901331974fff2aef7) and v0.4.0. Are those releases needed in any part of https://github.com/driftless-star/driftless-star/?

To my knowledge, no. Nothing in driftless-star needs anything prior, since v0.4.0 is a strict superset.

@matthewfeickert matthewfeickert left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM

@matthewfeickert
matthewfeickert merged commit e3605f7 into conda-forge:main Aug 9, 2026
9 of 11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants